- Joined
- Nov 17, 2011
- Messages
- 13,461
FFT (Fast Fourier Transform) is a mathematical tool to analyze the spectrum of a signal in the digital domain It delivers the relative amplitude of each frequency band within the spectrum.
Using filters (be it analog or digital) can deliver an equivalent output. But you need one filter for each frequency band (aka channel).
The difference here is that the FFT takes a number of samples (e.g. 1024) and computes the spectrum from these samples whereas the filters work all in parallel and you get an updated output with every sample.
Thus FFT involves a certain latency (aka delay) between the input and the output of the FFT whereas the filter approach works (almost) instantaneously.
Assuming 1024 samples for each FFT pass and a sampling rate of 44 kHz, you get an output from the FFT approx. every 25 ms:
[math]gain = \frac{1024 samples}{44000 \frac{samples}{second}}= 23.27 ms[/math]This should be good enough for an LED display.
However, the number of output bands (aka channels) is 1/2 times the number of samples, in this example the FFT from 1024 sampoles would give 512 bands. You could combine multiple bands into one (simply add the outputs from the FFT) or reduce the number of samples. But the number of samples should be a power of 2. The nearest power of 2 in your case id 64 which leads to 32 bands...
@Maglatron : Please don't be offended, but:
I dare say that if you have to ask about the difference between filters and FFT this tool is much too advanced for your current level of understanding.
You'll be imho best off following one of the many complete instructions for LED spectrum analyzers that you can find on the internet.
Or start with a DIY kit like e.g. this one.
Using filters (be it analog or digital) can deliver an equivalent output. But you need one filter for each frequency band (aka channel).
The difference here is that the FFT takes a number of samples (e.g. 1024) and computes the spectrum from these samples whereas the filters work all in parallel and you get an updated output with every sample.
Thus FFT involves a certain latency (aka delay) between the input and the output of the FFT whereas the filter approach works (almost) instantaneously.
Assuming 1024 samples for each FFT pass and a sampling rate of 44 kHz, you get an output from the FFT approx. every 25 ms:
[math]gain = \frac{1024 samples}{44000 \frac{samples}{second}}= 23.27 ms[/math]This should be good enough for an LED display.
However, the number of output bands (aka channels) is 1/2 times the number of samples, in this example the FFT from 1024 sampoles would give 512 bands. You could combine multiple bands into one (simply add the outputs from the FFT) or reduce the number of samples. But the number of samples should be a power of 2. The nearest power of 2 in your case id 64 which leads to 32 bands...
@Maglatron : Please don't be offended, but:
I dare say that if you have to ask about the difference between filters and FFT this tool is much too advanced for your current level of understanding.
You'll be imho best off following one of the many complete instructions for LED spectrum analyzers that you can find on the internet.
Or start with a DIY kit like e.g. this one.