DSPRelated.com
Forums

noise reduction with long fft's

Started by apchar1 April 24, 2015
There's a statement in Smiths The Scientist and Engineer's Guide to
Digital Signal Processing about the effect of fft length on noise. In
arguing the virtues of averaging multiple short fft's instead of one long
fft he says "Longer DFTs provide better frequency
resolution, but the same noise level." 
But thats not true is it? The noise level of an fft rises with the
sqrt(N). The signal grows with N. So the SNR rises with N/sqrt(N) =
sqrt(N). Longer fft's do buy you noise reduction. Dont they?


---------------------------------------
Posted through http://www.DSPRelated.com
>There's a statement in Smiths The Scientist and Engineer's Guide to >Digital Signal Processing about the effect of fft length on noise. In >arguing the virtues of averaging multiple short fft's instead of one >long >fft he says "Longer DFTs provide better frequency >resolution, but the same noise level." >But thats not true is it? The noise level of an fft rises with the >sqrt(N). The signal grows with N. So the SNR rises with N/sqrt(N)
sqrt(N). Longer fft's do buy you noise reduction. Dont they?
> > >--------------------------------------- >Posted through http://www.DSPRelated.com
Noise is what is present in the signal and fft floor reflects that but with an artefact as follows: 1) Single tone, if it occupies single bin,remove false 10*log10(fft res/2) since noise is thinned out across bins but not tone which occupies one bin. 2) Band limited signal: remove false 10*log10(Nyquist/bw) Kaz --------------------------------------- Posted through http://www.DSPRelated.com
On Friday, April 24, 2015 at 3:11:06 PM UTC-7, apchar1 wrote:
> There's a statement in Smiths The Scientist and Engineer's Guide to > Digital Signal Processing about the effect of fft length on noise. In > arguing the virtues of averaging multiple short fft's instead of one long > fft he says "Longer DFTs provide better frequency > resolution, but the same noise level." > But thats not true is it? The noise level of an fft rises with the > sqrt(N). The signal grows with N. So the SNR rises with N/sqrt(N) = > sqrt(N). Longer fft's do buy you noise reduction. Dont they? > ...
See the section from page 29 on in: http://www.bksv.com/doc/bv0031.pdf Noise is measured in power spectral density. You need to convert the dft coefficients to power spectral density before you make claims. Stationary tones are measured in power. Put your dft coefficients for tones in the correct units for power. This may depend on how your fft implementation scales coefficients as transform size changes. In proper units, fft size does not alter noise level. For additive white Gaussian noise, fft size doesn't alter the variance of the PSD estimate. Averaging does. That is why increasing fft size doesn't make finite discrete PSD simulations behave more like continuous infinite PSDs, but averaging does. Dale B. Dalrymple
"apchar1" <105381@DSPRelated> writes:
> [...] > But thats not true is it?
Yes, it is true. It is not intuitive. I first learned about it in an old book from Mischa Schwartz on estimation: @book{schwartz, title = "Signal Processing: Discrete Spectral Analysis, Detection, and Estimation", author = "{Mischa~Schwartz and Leonard~Shaw}", publisher = "McGraw-Hill", year = "1975"} The variance of spectral estimates is not reduced by taking longer DFTs, but by averaging multiple DFTs. -- Randy Yates Digital Signal Labs http://www.digitalsignallabs.com
On Fri, 24 Apr 2015 17:11:04 -0500, "apchar1" <105381@DSPRelated>
wrote:

>There's a statement in Smiths The Scientist and Engineer's Guide to >Digital Signal Processing about the effect of fft length on noise. In >arguing the virtues of averaging multiple short fft's instead of one long >fft he says "Longer DFTs provide better frequency >resolution, but the same noise level." >But thats not true is it? The noise level of an fft rises with the >sqrt(N). The signal grows with N. So the SNR rises with N/sqrt(N) = >sqrt(N). Longer fft's do buy you noise reduction. Dont they? > > >--------------------------------------- >Posted through http://www.DSPRelated.com
Think of it this way: Parseval's theorem tells us that power is preserved across the transform, so whatever the noise power was going in, will also be the noise power coming out. This is to Dale's point that the PSD on the transform output does, and should, always reflect the PSD of the noise power that is present. This is independent of the length of the DFT. That is not to be confused with the fact that as the length of the DFT increases the amount of the total noise present PER BIN decreases. This is pretty much where the SNR gain with a DFT for tones/spurs comes from, since the BW reduction of a bin affects the noise per bin, but not the signal if the signal is isolated to a single bin. The total noise power in the DFT output remains the same, and the PSD, regardless of N. The apparent increase in SNR happens when the noise is spread over more bins as N increases. I hope that's not confusing, but it is an important distinction and very important in interpreting DFT outputs. Averaging, on the other hand, adds correlated energy but not uncorrelated energy. This provides a true increase in SNR since the correlated signals will add but the noise won't. This is different than increasing N in a DFT, which just stretches the same noise out over more bins. Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
On Sat, 25 Apr 2015 16:35:29 GMT, eric.jacobsen@ieee.org
(Eric Jacobsen) wrote:

<snip>

>Averaging, on the other hand, adds correlated energy but not >uncorrelated energy. This provides a true increase in SNR since the >correlated signals will add but the noise won't. This is different >than increasing N in a DFT, which just stretches the same noise out >over more bins.
I think it's important to point out that this needs to be *vector* averaging, where the DFT is synchronous with the desired signal of interest. That's equivalent to performing synchronous waveform averaging on multiple frames, then taking a single DFT of the average. Either way, you typically need a sync or trigger signal. If you just average a bunch of (untriggered) spectra, you'll find the average noise. This is often still worth doing, but doesn't really provide S/N improvement. Best regards, Bob Masta DAQARTA v7.60 Data AcQuisition And Real-Time Analysis www.daqarta.com Scope, Spectrum, Spectrogram, Sound Level Meter Frequency Counter, Pitch Track, Pitch-to-MIDI FREE Signal Generator, DaqMusiq generator Science with your sound card!
On Sun, 26 Apr 2015 12:38:17 GMT, N0Spam@daqarta.com (Bob Masta)
wrote:

>On Sat, 25 Apr 2015 16:35:29 GMT, eric.jacobsen@ieee.org >(Eric Jacobsen) wrote: > ><snip> > >>Averaging, on the other hand, adds correlated energy but not >>uncorrelated energy. This provides a true increase in SNR since the >>correlated signals will add but the noise won't. This is different >>than increasing N in a DFT, which just stretches the same noise out >>over more bins. > >I think it's important to point out that this needs to be >*vector* averaging, where the DFT is synchronous with the >desired signal of interest. That's equivalent to performing >synchronous waveform averaging on multiple frames, then >taking a single DFT of the average. Either way, you >typically need a sync or trigger signal. > >If you just average a bunch of (untriggered) spectra, you'll >find the average noise. This is often still worth doing, >but doesn't really provide S/N improvement. > >Best regards, > > >Bob Masta
You can do a pretty good job of it without an external trigger by phase aligning the largest bins or largest bins of interest, or aligning the average phase of a group, etc., prior to addition. Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
On 4/26/15 10:33 PM, Eric Jacobsen wrote:
> On Sun, 26 Apr 2015 12:38:17 GMT, N0Spam@daqarta.com (Bob Masta) > wrote: > >> On Sat, 25 Apr 2015 16:35:29 GMT, eric.jacobsen@ieee.org >> (Eric Jacobsen) wrote: >> >> <snip> >> >>> Averaging, on the other hand, adds correlated energy but not >>> uncorrelated energy. This provides a true increase in SNR since the >>> correlated signals will add but the noise won't. This is different >>> than increasing N in a DFT, which just stretches the same noise out >>> over more bins. >> >> I think it's important to point out that this needs to be >> *vector* averaging, where the DFT is synchronous with the >> desired signal of interest. That's equivalent to performing >> synchronous waveform averaging on multiple frames, then >> taking a single DFT of the average. Either way, you >> typically need a sync or trigger signal.
and you have to assume that there is something repeating enough to infer a sync signal.
>> >> If you just average a bunch of (untriggered) spectra, you'll >> find the average noise. This is often still worth doing, >> but doesn't really provide S/N improvement. >> > > You can do a pretty good job of it without an external trigger by > phase aligning the largest bins or largest bins of interest, or > aligning the average phase of a group, etc., prior to addition. >
or you can do what the speech and audio and music folks do with pitch detection and marking onsets of each period of quasi-periodic data. line it up, window it, DFT it, average each bin with what you had previously. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
On Sun, 26 Apr 2015 12:38:17 GMT, N0Spam@daqarta.com (Bob Masta)
wrote:

>On Sat, 25 Apr 2015 16:35:29 GMT, eric.jacobsen@ieee.org >(Eric Jacobsen) wrote: > ><snip> > >>Averaging, on the other hand, adds correlated energy but not >>uncorrelated energy. This provides a true increase in SNR since the >>correlated signals will add but the noise won't. This is different >>than increasing N in a DFT, which just stretches the same noise out >>over more bins. > >I think it's important to point out that this needs to be >*vector* averaging, where the DFT is synchronous with the >desired signal of interest. That's equivalent to performing >synchronous waveform averaging on multiple frames, then >taking a single DFT of the average. Either way, you >typically need a sync or trigger signal. > >If you just average a bunch of (untriggered) spectra, you'll >find the average noise. This is often still worth doing, >but doesn't really provide S/N improvement. > >Best regards, >Bob Masta
Hi Bob, If by "vector averaging" you mean separately averaging the real and imaginary parts of the corresponding DFT bins of multiple DFTs, I thought that process is only useful if two conditions are satisfied: [1] The signal of interest is periodic, and [2] The onset of A/D conversion is synchronized with the periodic signal of interest. It seems to me that such a process is rarely useful because "typical" signals of interest are usually not periodic. (Except, maybe, radar signals.) [-Rick-]
On Tue, 28 Apr 2015 05:47:01 -0700, Rick Lyons
<R.Lyons@_BOGUS_ieee.org> wrote:

>On Sun, 26 Apr 2015 12:38:17 GMT, N0Spam@daqarta.com (Bob Masta) >wrote: > >>On Sat, 25 Apr 2015 16:35:29 GMT, eric.jacobsen@ieee.org >>(Eric Jacobsen) wrote: >> >><snip> >> >>>Averaging, on the other hand, adds correlated energy but not >>>uncorrelated energy. This provides a true increase in SNR since the >>>correlated signals will add but the noise won't. This is different >>>than increasing N in a DFT, which just stretches the same noise out >>>over more bins. >> >>I think it's important to point out that this needs to be >>*vector* averaging, where the DFT is synchronous with the >>desired signal of interest. That's equivalent to performing >>synchronous waveform averaging on multiple frames, then >>taking a single DFT of the average. Either way, you >>typically need a sync or trigger signal. >> >>If you just average a bunch of (untriggered) spectra, you'll >>find the average noise. This is often still worth doing, >>but doesn't really provide S/N improvement. >> >>Best regards, >>Bob Masta > >Hi Bob, > If by "vector averaging" you mean separately averaging >the real and imaginary parts of the corresponding DFT bins >of multiple DFTs, I thought that process is only useful >if two conditions are satisfied: > >[1] The signal of interest is periodic, and >[2] The onset of A/D conversion is synchronized > with the periodic signal of interest.
That's what I meant by "where the DFT is synchronous with the desired signal of interest."
>It seems to me that such a process is rarely useful >because "typical" signals of interest are usually >not periodic. (Except, maybe, radar signals.)
I guess "typical" depends on your area of interest. <g> Synchronous signals are standard for "stimulus - response" systems (like radar). A big area is "evoked potentials" in biological systems, for example in hearing research. You present the subject with repeating tone bursts (typically in one ear, at some specified frequency of interest) while recording EEG signals from scalp electrodes. The brain's response to that tone is totally buried in the EEG due to all the other neural processes that are going on, but synchronous averaging (1000s of frames) can extract it. It's true, however, that with neural evoked potentials the waveform is typically of more interest than the spectrum, since the latency of each response peak indicates what part of the system contributed it: Longer latencies are due to processes farther up the neural chain from the ear to the brain. Maybe some other procedures would use the spectrum. Something like non-destructive impact testing maybe, where you repeatedly tap the bridge or dam or whatever with a little solenoid hammer and look at responses from distant sensors while the structure is still in daily use (traffic noise, etc). I first encountered vector averaging on a benchtop spectrum analyzer many years ago. (I think a Stanford Research unit.) It only showed the spectrum, not the (averaged) waveform, which limited its utility. Dunno why they didn't want to average the waveform before taking the FFT, but it might have had something to do with their Zoom FFT scheme. Best regards, Bob Masta DAQARTA v7.60 Data AcQuisition And Real-Time Analysis www.daqarta.com Scope, Spectrum, Spectrogram, Sound Level Meter Frequency Counter, Pitch Track, Pitch-to-MIDI FREE Signal Generator, DaqMusiq generator Science with your sound card!