blog:2019:0225_fft_scaling_factor
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
blog:2019:0225_fft_scaling_factor [2019/02/26 02:14] – davek | blog:2019:0225_fft_scaling_factor [2021/09/08 17:02] – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== FFT scaling factor ====== | ====== FFT scaling factor ====== | ||
- | What's often confusing about the FFT is that the transform seems to have numbers that are too big. Let's call this the "FFT scale factor" | + | What's often confusing about the [[https:// |
- | When trying to understand this, the uninitiated user will google something like "FFT scale factor" | + | When trying to understand this, the uninitiated user will google something like "FFT scale factor" |
- | But really, these users are trying to figure out *why*, not how. I'm mean, isn't that wrong? Why is it N times larger? Shouldn' | + | But really, these users are trying to figure out **why**, not how. I'm mean, isn't that wrong? |
- | The answer is yes, sort of. First off, remember what the first F in FFT standards for: Fast. Maybe users of standard FFT libraries don't care about the absolute scale, they care about the spectral shape or changes in the spectral shape. If the standard library divided by N, it would be less fast for everyone. The point being, if you want to take the hit caused by dividing N frequency bins by N, you do it. | + | ====== ====== |
- | If you really do care about the absolute power in the frequency-domain bins, you might want to divide by N. Maybe you care about the total energy. Oh wait, you should sum the bins, then divide one time by N! Maybe you only care about the energy of the strongest bin. Just divide that one and ignore the others! | ||
- | As you may realize, even people who do care about the absolute power, don't care about it to the degrees | + | The answer is yes, sort of. First off, remember what the first " |
+ | |||
+ | If you really do care about the absolute power in the frequency-domain bins, you might want to divide by N. Maybe you care about the total energy. Oh wait, you should sum the bins, then divide by N one time! Now it's faster for you, too. Maybe you only care about the energy of the strongest bin. Just divide that one bin by N and ignore the others! | ||
+ | |||
+ | As you may realize, even many people who do care about the absolute power, don't care about it to the degree | ||
So *why* do FFT implementations seem to be off by a factor of N? It's for performance - the FFT is an intermediate result and you should divide by N if and when you need it. | So *why* do FFT implementations seem to be off by a factor of N? It's for performance - the FFT is an intermediate result and you should divide by N if and when you need it. | ||
- | How is an FFT implementation off by N? Google "FFT scale factor" | + | How is an FFT implementation off by N? Google "FFT scale factor" |
{{tag>}} | {{tag>}} | ||
Line 21: | Line 24: | ||
~~LINKBACK~~ | ~~LINKBACK~~ | ||
~~DISCUSSION~~ | ~~DISCUSSION~~ | ||
- | ~~DRAFT~~ | ||
blog/2019/0225_fft_scaling_factor.txt · Last modified: 2022/10/20 16:17 by davek