discrete fourier transform
working discrete fourier transform, but more to study dsp theory than to use for effect
DESCRIPTION
so this is how i think you would do a discrete fourier transform in reaktor 4. i use calculation in polyphony for the bins [two sine oscillators thats make the e^(-j*omega*t) term from fouriers equation] and polyphony again for each bin to sum up the last N samples [using sample+hold module and a ramp osc]. this unfortunately means, that you can't change the number of bins without reproducing parts of the structure. anyway, you see the cpu load: you wanna stay at 8 bins anyway. also keep reaktors sample rate at 88200 to work in 44100 hz range and study effects above nyquist frequency.
the test signal generator produces sines of 0, 1, 2, 3 (first row) and 4, 5, 6, 7 (second row) times 5512.5 Hz (44100/8). 0 means constant signal (dc offset), hence no phase.
what it does: you change the amplitudes and phases of components 0, 1, 2, 3 and 4 (these are the components until the nyquist frequency 22050 Hz). (A) you hear the resulting signal on the output and (B) it's connected to the dft macro. this macro analyzes just from the signal the amplitudes and phases again. it works 100%, as you can see in the 8 xy-controls (bins 0, 1, 2, 3 in upper row, bins 4, 5, 6, 7 in lower row) in the dft result viewer, amplitudes and phases are reconstructed.
it's just a theory thing. i just wanted to show, that you can do the DFT in reaktor. if you need something more practical, get gabriel mulzers Helioclast RTT, it's built for usable CPU performance, but can't reconstruct your signal 100%.
maybe reaktor 5 can help on my approach. but a fourier transform without a hardcoded FFT algorithm will always be waaay slower.
but perhaps it can help some of you to understand the DFT by watching the signals in the wires with the oscilloscope instrument (use the 'from voice' module to see single signals).
COMMENTS (1)