%% 内置函数psd
Nseg=256; %分段间隔为256
window=hanning(Nseg); %汉宁窗
noverlap=Nseg/2; %重叠点数为128
f=(0:Nseg/2)*fs/Nseg; %频率轴坐标
Sx2=psd(xn,Nseg,fs,window,noverlap,'none'); %psd函数估计功率谱
运行下来显示
错误使用 psd (第 3 行)
PSD 已弃用。请改用 PERIODOGRAM 或 PWELCH。
说psd函数已经弃用,但是老师上课就是要用内置函数psd来写,有什么解决方法吗
在新版本下参考说明,把老师的语句改写,实现结果,建议老师升级版本和教学课件。
如果必须只能使用旧版的,你就卸载新版的,安装老师的版本算了。
pxx,f] = pwelch(x,window,noverlap,NFFT,fs)
x 是一维的信号数据;
window 是计算功率谱每个窗口的信号长度,关于窗函数的长度选择可以参考公式,选择的窗口越长,越能分辨低频的信号,x_length/fren;谱分析中窗的选取
noverlap 是每个窗口之间重叠的长度,通常取33%~50%。窗口之间重叠得越多,图像越平滑(blurred);反之则更粗糙(blocky);
NFFT,即FFT数据点的个数,可以变化。但是最大长度不能超过每一段的点数。当然,通常设置NFFT为大于每一段的点数的最小2次幂,这样可以得到最高的频域分辨率。NFFT越小,最终会越粗糙;
fs是采样频率,最终的结果,横坐标的最大值为采样频率的一半;
pxx 为计算得到的功率谱数值;
f 为功率谱数值对于频率的位置;
参考例子: