# Discrete Fourier style transform with non-sinusoidal/arbitrary waveform components

A discrete Fourier transform will produce frequency samples sufficient to recreate the original time sampled signal from sinusoidal waveforms.

That works great as long as the original signal is actually composed of sinusoidal waveforms. Let's assume that we know a signal is composed of non-sinusoidal waveforms, under which assumption its decomposition may be simpler, such as triangular waveforms. Does a discrete Fourier style transform exist which will decompose the sampled signal into triangular, rectangular or other waveforms? Does such a transform exist for any arbitrary waveform?

For example, here is the FFT response of a 150 Hz pure sin wave sampled at 1024 Hz (courtesy numpy and matplotlib):

Here is the FFT of a 150 Hz pure sawtooth, again sampled at 1024 Hz:

It's desirable here to have a similarly "clean" transform using the assumption that the signal is composed of sawtooth waveforms. So my question, does a transform exist that would decompose the signal into some non-sinusoidal waveforms?

• If by "works great" you mean the transform is lossless and permits reconstruction, there is no assumption on the input besides being finite; see here. If you seek a more sparse or meaningful in context representation, then yes, DFT isn't universal, but it's among the few with a very fast implementation (FFT). Sure we can do triangles and sawtooths, just unsure if quickly. Oct 26, 2020 at 5:13