matlab如何绘制功率谱

2024-12-14 08:45:06
推荐回答(2个)
回答1:

N=1024;
wn=randn(1,N);
Pxx=10*log10(abs(fft(wn).^2)/N);
f=(0:length(Pxx)-1)/length(Pxx)
figure(1);
plot(f,Pxx);
xlabel('频率');
ylabel('功率(dB)');
title('周期图法N=256')
grid on;

回答2:

t=a(:,1);%%%%t是时间;
yt=a(:,2);%%%%yt是数据;
dt=t(2)-t(1);%%%%dt是点距;
lt=length(t);%%%%是数据的长度;
f0=2*pi/lt;%%%%f0是基频;
fy=fft(yt);%%%%fy是fft变换得到的波谱;
for i=1:1:lt
f(i)=f0*(i-1);%%%%f是频率;
P(i)=abs(fy(i))^2;%%%P是功率谱;
end
plot(f,P); %%%%画图;