Input file: Time domain or frequency domain signal. Generally the Fourier
transform is defined for complex signals, i.e. those represented by complex numbers. Complex numbers are made
of a socalled real and a socalled imaginary part. Because ordinary sound file formats do not support complex
numbers, I decided to use separate files for real and imag parts. Usually you start from a real time signal
(uncheck "imag" in the input) and do a forward transform resulting in the complex spectrum (check "imag" in
the output). Then you manipulate the spectrum (e.g. crop a portion) and translate it backward again (here
you supply both real and imag so you should check "imag" for the input) to get a time signal (often real so
uncheck "imag" for output).
Output: Time domain or frequency domain depending on the direction chosen.
Note that this module always assumes complex signals independant of the checkboxes. Therefore a "complete"
spectrum is calculated: It starts at 0 Hz (DC) and goes up to half the sampling rate (the nyquest frequency,
for 44.1 kHz sounds this is equal to 22050 Hz) followed by descending negative frequencies until we finally
reach 0 Hz again.
Direction: Forward for time input/ fourier output; backward for fourier
input/ time output.
Spectral format: Complex numbers can not only be represented by a sum of
a real and an imag part (rect) but also as a 2D vector with a length and an angle. At the moment only the
rect format is supported!
FFT length: The discrete fourier transform is carried out via a speed
optimized algorithm called the fast fourier transform (FFT). In the most simple form it required the signal
vector to be of the size of a power of 2 (i.e. 2 samples, 4 samples, 8 samples, 16, 32, 64 etc.). If the input
sound's frame number is not a power of 2 you can choose to either truncate the sound to the next lower power of 2
or expand it by adding a certain amount of silence.
Frequency scale: This was just a test. Don't try to change the default
value, you will almost certainly get stupid results...
Toolbar: Popup menus for loading and saving settings, presets and
options. Refer to a the basic chapter on process windows.
Processbar: Buttons for closing the module, starting and stopping
processing. Process gauge. Refer to a the basic chapter on process windows.
Known bugs: None
To be done: Optimize for real transforms. Allow signal sizes other than 2^n. Implement the spectral
format modes.
|