huanglingyan 发表于 2007-5-29 16:59

急急急!!!

通过FFT变换的功率谱怎样转换为幅值谱,下面是我的程序,转换后的幅值和理论值相差很大,而且相位也相差较大.下面是我的程序和数据,请帮忙指点,万分感激!!

close all
clear all
A=load('wave1_1.txt');
A=A(:,1);
ttt=mean(A);
for i=1:512
    A(i)=A(i)-ttt;
end
Y=A;
subplot(311);
plot(Y);
xlabel('t');
ylabel('振幅');
title('原始信号');
Y6=fft(Y,512);
Pyy=Y6.*conj(Y6)/512;
c=sqrt(2*0.16*Y6);
f=1000*(0:255)/160;
subplot(312);
plot(f,c(1:256));
%plot(f,Pyy(1:256));
xlabel('频率');
ylabel('幅值');
title('功率谱');
p=angle(Y6);
g=p(1:256);
subplot(313);
plot(f,180*g/pi);
xlabel('频率');
ylabel('角度');
title('相频图');

yangzj 发表于 2007-5-29 18:28

幅值不是c=sqrt(2*0.16*Y6);
而是c=abs(Y6)/512*2;

马社 发表于 2007-5-29 22:21

功率谱=(幅值谱)^2/2

huanglingyan 发表于 2007-5-30 08:23

谢谢各位,我来试下
页: [1]
查看完整版本: 急急急!!!