DSPRelated.com
Forums

FFT vs number of points

Started by Bruno DAJIN December 3, 2006
Hi All,

I've been surprised by my last plots.

I've design a CW detection algorithm on matlab.
I use a Welch periodogram (FFT:8192 Signal:4096 Overlap 0.5)
I normalize my fft by the square root of the signal length.

On the dsp, the CW power lost 3dB when I multiply the number of points by 2.
For me all the power of a CW is  in 1Hz.

Where is my mistake please ?


Bruno








Bruno DAJIN skrev:
> Hi All, > > I've been surprised by my last plots. > > I've design a CW detection algorithm on matlab. > I use a Welch periodogram (FFT:8192 Signal:4096 Overlap 0.5) > I normalize my fft by the square root of the signal length. > > On the dsp, the CW power lost 3dB when I multiply the number of points by 2. > For me all the power of a CW is in 1Hz. > > Where is my mistake please ?
Your signal is 4096 samples and you use a 8192 pt FFT? If so, half the samples in the data that are fed to the Welch algorithm are zeros. That could easily account for the missing half of signal power. Rune
hi,

 I've the follwing tests :
(FFT:4096 Signal:2048 Overlap 0.5)  CW power -46dbm
(FFT:8192 Signal:4096 Overlap 0.5) CW power  -49dbm
(FFT:16384 Signal:8192 Overlap 0.5) CW power -52dbm

i think my problem stay without a padded FFT with my normalization.

"Rune Allnor" <allnor@tele.ntnu.no> a &#4294967295;crit dans le message de news: 
1165183304.202423.177450@l12g2000cwl.googlegroups.com...
> > Bruno DAJIN skrev: >> Hi All, >> >> I've been surprised by my last plots. >> >> I've design a CW detection algorithm on matlab. >> I use a Welch periodogram (FFT:8192 Signal:4096 Overlap 0.5) >> I normalize my fft by the square root of the signal length. >> >> On the dsp, the CW power lost 3dB when I multiply the number of points by >> 2. >> For me all the power of a CW is in 1Hz. >> >> Where is my mistake please ? > > Your signal is 4096 samples and you use a 8192 pt FFT? > If so, half the samples in the data that are fed to the Welch > algorithm are zeros. That could easily account for the missing > half of signal power. > > Rune >
Bruno DAJIN skrev:
> hi, > > I've the follwing tests : > (FFT:4096 Signal:2048 Overlap 0.5) CW power -46dbm > (FFT:8192 Signal:4096 Overlap 0.5) CW power -49dbm > (FFT:16384 Signal:8192 Overlap 0.5) CW power -52dbm > > i think my problem stay without a padded FFT with my normalization.
Is this matlab's Welch's method or did you implement it yourself? The idea behind Welch's method is that certain problems with large variance in the periodogram should be reduced by averaging the power spectrum. Welch proposed to do that in two ways simultaneously: - Split the total time domain data sequence in a number of subframes and compute the periodogram for each frame, and then average all periodograms - In each sub frame, multiply the time domain data with a window function in order to obtain some averaging between frequency bins These details have a number of concequences: - The frame length (FFT length) should be shorter than the signal length - Since there are window functions involved, there are no guarantees that power are preserved - If the periodograms are computed "properly" (i.e. first computing a autocorrelation sequence, then windowing, last FFT'ing), there are even less guarantees for power being preserved. The PSD estimate has nothing to do with estimating total power -- you can do that from the time series. The PSD estimate has to do with spectrum shape: What is the general spectral structure of the signal? In what bands is the power large, and where is it not? What are the bandwidths involved? To what extent one is interested in numbers, one is usally only interested in general orders of magitude rather than very detailed results. Rune
hi

in fact i wish find the same spectrum like an ASA.
I've implemented the welsh algorithm.

my signal is complex. = the sign of the sum of QPSK carriers and CW.
i've 64000 points.

i don't understand (computing a autocorrelation sequence, then windowing, 
last FFT'ing)
for me ift x[n] be a stationary random signal and v[n] = x[n]. h[n] where be 
h[n] is a window
PSD(w)=|V(e(jw))|&#4294967295;/LU where L is the signal length and U the window factor

I've the real C/N of the carriers and the CW. but i wish the absolut power 
to


"Rune Allnor" <allnor@tele.ntnu.no> a &#4294967295;crit dans le message de news: 
1165184330.361244.233350@l12g2000cwl.googlegroups.com...
> > Bruno DAJIN skrev: >> hi, >> >> I've the follwing tests : >> (FFT:4096 Signal:2048 Overlap 0.5) CW power -46dbm >> (FFT:8192 Signal:4096 Overlap 0.5) CW power -49dbm >> (FFT:16384 Signal:8192 Overlap 0.5) CW power -52dbm >> >> i think my problem stay without a padded FFT with my normalization. > > Is this matlab's Welch's method or did you implement it yourself? > > The idea behind Welch's method is that certain problems with large > variance in the periodogram should be reduced by averaging the > power spectrum. Welch proposed to do that in two ways > simultaneously: > > - Split the total time domain data sequence in a number of > subframes and compute the periodogram for each frame, > and then average all periodograms > - In each sub frame, multiply the time domain data with a > window function in order to obtain some averaging between > frequency bins > > These details have a number of concequences: > > - The frame length (FFT length) should be shorter than the > signal length > - Since there are window functions involved, there are no > guarantees that power are preserved > - If the periodograms are computed "properly" (i.e. first > computing a autocorrelation sequence, then windowing, > last FFT'ing), there are even less guarantees for power > being preserved. > > The PSD estimate has nothing to do with estimating total > power -- you can do that from the time series. The PSD > estimate has to do with spectrum shape: What is the > general spectral structure of the signal? In what bands > is the power large, and where is it not? What are the > bandwidths involved? To what extent one is interested > in numbers, one is usally only interested in general > orders of magitude rather than very detailed results. > > Rune >
Bruno DAJIN skrev:
> hi > > in fact i wish find the same spectrum like an ASA.
ASA means...?
> I've implemented the welsh algorithm. > > my signal is complex. =3D the sign of the sum of QPSK carriers and CW. > i've 64000 points. > > i don't understand (computing a autocorrelation sequence, then windowing, > last FFT'ing) > for me ift x[n] be a stationary random signal and v[n] =3D x[n]. h[n] whe=
re be
> h[n] is a window > PSD(w)=3D|V(e(jw))|=B2/LU where L is the signal length and U the window f=
actor No averaging of spectrograms of sub-frames? As for the comment about computing the periodogram, the formal definition is that the periodogram is the DFT of the autocorrelation sequence: S(k) =3D DFT{w(m)E[x(n)x(n-m)]} where, in the formal definition, the window function w(m) is the rectangular window. In practical estimation problems, different window functouns may be used. Note also that different estimators may be used for computing the estimate for the autocorrelation sequence E[x(n)x(n-m)]. This is not the same as what you compute. This has been discussed here on several occations, see e.g. http://groups.google.no/group/comp.dsp/browse_frm/thread/ad2b0337ceb7c670/2= b015a3de3a8c01b?lnk=3Dgst&q=3Dperiodogram&rnum=3D7#2b015a3de3a8c01b
> I've the real C/N of the carriers and the CW. but i wish the absolut power > to
Then compute it from the time series, P =3D sum_n x(n)^2. Rune
hi Rune

oups ASA = analog spectrum analyzer

Thanks for your answer. I will try it



"Rune Allnor" <allnor@tele.ntnu.no> a &#4294967295;crit dans le message de news: 
1165336613.881734.270500@f1g2000cwa.googlegroups.com...

Bruno DAJIN skrev:
> hi > > in fact i wish find the same spectrum like an ASA.
ASA means...?
> I've implemented the welsh algorithm. > > my signal is complex. = the sign of the sum of QPSK carriers and CW. > i've 64000 points. > > i don't understand (computing a autocorrelation sequence, then windowing, > last FFT'ing) > for me ift x[n] be a stationary random signal and v[n] = x[n]. h[n] where > be > h[n] is a window > PSD(w)=|V(e(jw))|&#4294967295;/LU where L is the signal length and U the window factor
No averaging of spectrograms of sub-frames? As for the comment about computing the periodogram, the formal definition is that the periodogram is the DFT of the autocorrelation sequence: S(k) = DFT{w(m)E[x(n)x(n-m)]} where, in the formal definition, the window function w(m) is the rectangular window. In practical estimation problems, different window functouns may be used. Note also that different estimators may be used for computing the estimate for the autocorrelation sequence E[x(n)x(n-m)]. This is not the same as what you compute. This has been discussed here on several occations, see e.g. http://groups.google.no/group/comp.dsp/browse_frm/thread/ad2b0337ceb7c670/2b015a3de3a8c01b?lnk=gst&q=periodogram&rnum=7#2b015a3de3a8c01b
> I've the real C/N of the carriers and the CW. but i wish the absolut power > to
Then compute it from the time series, P = sum_n x(n)^2. Rune