Disadvantages of using large NFFT value in pwelch/spectrogram

조회 수: 7 (최근 30일)
Jack Latham
Jack Latham 2016년 11월 30일
답변: Greg Dionne 2016년 11월 30일
I'm using the pwelch function to analyse power spectrums of an audio signal:
w = 512;
nfft = 4096;
fs = 48.1e3;
[px1,px2] = pwelch(data,w,round(0.7*w),nfft,fs);
I'm trying to understand the disadvantage (apart from computing time) of using large values of nfft, in online examples the window length is often used. I understand the length of nfft determines the frequency resolution used, and that this is to do with zero-padding the signal.
If someone could give insight into how this zero padding works (considering the window length is << nfft length), and how increasing NFFt (as computing time is not a constraint) could be a disadvantage that would be great!.

답변 (1개)

Greg Dionne
Greg Dionne 2016년 11월 30일
You can mean one of two things by frequency resolution:
  1. The frequency spacing between computed estimates (sometimes called the "bin width")
  2. The ability to resolve frequencies of the sampled signal independently.
When you zero-pad an FFT you essentially perform (periodic) interpolation between data points in the Fourier space. You can think of it as taking a long signal and convolving it (in the frequency domain) with the Fourier transform of the shorter window. If your window is rectangular, then you are essentially performing sin(x)/x interpolation in the frequency domain. You get a lot more estimates in the sense of #1, but they're very smoothed out.
You don't actually gain any frequency resolution in the sense of #2. You just get finer interpolation between points. The only way to gain resolution is to actually have more sample points of the original signal.

카테고리

Help CenterFile Exchange에서 Spectral Estimation에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by