Help with pwelch function (windowing)
9 次查看(过去 30 天)
显示 更早的评论
Hello,
I am trying to use the pwelch command to calculate energy spectra of a 2D boundary profile which consists of 61 points. (with uniform spatial distribution). I zero-pad and detrend the data to remove any mean and extend it to 64 points. We take repeated scans of the boundary,and plan to calculate the spectrum as above, and then average the spectrum over the number of scans.
I am confused with respect to the actual workings of the pwelch function - can someone tell me what the difference in the output would be if either of these commands are used? (Spac = spacing between corresponding points.)
[pxx,f1]= pwelch(upadded,64,0,64,(1/spac));
[pxx, f1] = pwelch(upadded,ones(1,64),0,64,(1/spac));
Am I right in saying that the second line implies that there is essentially no windowing being performed? The results don't vary a lot when I use either, and that is leading to some confusion. Any help is appreciated.
0 个评论
采纳的回答
Wayne King
2013-3-27
编辑:Wayne King
2013-3-27
You are essentially correct, but a few points here:
pwelch() is used for overlapped segment averaging. Here you have a data vector of 61 points, so by using a window of 61 points (you actually use a window longer than your input signal, which you shouldn't do. You don't base your window length on the NFFT), you're not getting any overlapped averaging here, so just use periodogram.
[pxx,f] = periodogram(upadded,hamming(length(upadded)),64,1/spac);
[pxx1,f] = periodogram(upadded,[],64,1/spac);
The first periodogram is a modified periodogram using a Hamming window. The second uses a rectangular window.
This is very short data record, so you may want to increase your padding out to 128.
0 个评论
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spectral Estimation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!