与窗口FFT振幅校正

180(30天)
CduP
CduP 2020年4月9日
我想计算一个压力信号的FFT与正确的振幅,正如我想从FFT计算产生的声压级。
基本上,我当我能正确地计算FFT振幅不使用一个窗口,但我想用一个汉宁窗,我不知道如何规范化的窗口。在下面的代码中,这篇文章 //www.tianjin-qmedu.com/matlabcentral/answers/33653-psd-estimation-fft-vs-welch, FFT是由窗口规范化权力通过FFT /(窗口‘*窗口)。然而,FFT长度除以Nx从来没有规范化的信号。但是,正确的PSD是发现。我能理解,结果从pwelch之前也应该扩展可用于获得正确的声压水平。
Fs = 1024;
t = (0:1 / Fs: 1 - 1 / Fs)。”;
x =罪(2 *π* t * 200);
Nx =长度(x);
%窗口数据
w =汉宁(Nx);
xw = x。* w;
%计算能力
nfft = Nx;
X = fft (xw nfft);
mx = abs (X) ^ 2;
%正常化的窗口。乘以2 (DC &尼奎斯特除外)
%计算片面的频谱。除以Fs计算
%谱密度。
mx = mx / (w * w);
NumUniquePts = nfft / 2 + 1;
mx = mx (1: NumUniquePts);
mx (2: end-1) = mx (2: end-1) * 2;
Pxx1 = mx / Fs;
Fx1 = (0: NumUniquePts-1) * Fs / nfft;
[Pxx2, Fx2] = pwelch (x, w, 0 nfft Fs);
情节(Fx1 10 * log10 (Pxx1) Fx2, 10 * log10 (Pxx2),“:”);
传奇(“通过FFT PSD”,“通过pwelch PSD”)
如果有人可以请澄清如何计算窗口FFT信号振幅的正确比例的长度和窗口,将不胜感激。Matlab的文档不是很清楚。
1评论
艾略特马丁森
艾略特马丁森 2021年5月17日
你是平方后正常化。
应该正常化前广场fft结果。否则你可以(我想)广场正常化的因素,但这似乎是愚蠢的

登录置评。

答案(0)

s manbetx 845


释放

R2019a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!