psd法绘制信号功率谱.m

来自「matlab,功率谱估计」· M 代码 · 共 36 行

M
36
字号
%Welch's Method(绘制自功率谱,互功率谱用csd函数)
N=1024;
Nfft=256;
Fs=1000;
n=0:N-1;
t=n/Fs;
window=hanning(Nfft);
overlap=128;
dflag='none';
xn=sin(2*pi*50*t)+2*sin(2*pi*120*t)+randn(1,N);
Pxx=psd(xn,Nfft,Fs,window,overlap,dflag);
%Create frequency vector
f=(0:Nfft/2)*Fs/Nfft;
subplot(211)
plot(f,10*log10(Pxx));
xlabel('Frequency (Hz)');ylabel('Power Spectrum (dB)');
title('PSD--Welch Method')
grid
%此部分中f的创建方法:它与函数psd的输出Pxx的长度有关。若x为实序列,当Nfft为奇数时f=(0:(Nfft+1)/2-1)/Nfft;
%当Nfft为偶数时f=(0:Nfft/2)/Nfft。

N=1024;
Nfft=256;
Fs=1000;
n=0:N-1;
t=n/Fs;
window=hanning(Nfft);
overlap=128;
dflag='none';
xn=sin(2*pi*50*t)+2*sin(2*pi*120*t)+randn(1,N);
[Pxx,f]=psd(xn,Nfft,Fs,window,overlap,dflag);
subplot(212)
plot(f,10*log10(Pxx));
xlabel('Frequency (Hz)');ylabel('Power Spectrum (dB)');
title('PSD--Welch Method')
grid

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?