sssssxxxxx921 发表于 2007-9-22 15:08

clc
clear all
x0=;
=ode45('duffing',,x0);
%频谱图
N=50;         %采样点数
x=y(9950:10000,1);%生成信号(Y轴方向的位移)
Y=fft(x,N);
Pyy = Y.* conj(Y) /N;
df=fs/(N-1);          %频率分辨率Hz
Y(1)=[];
f=(1:N-1)*df;    %频域序列
figure
% plot(f,Pyy);
% figure
plot(f(1:fix(N/2)),Pyy(1:fix(N/2)));
xlabel('Frequency(HZ)');
ylabel('Magnitude');
title('功率谱图');
hold on

sssssxxxxx921 发表于 2007-9-22 15:16

上边的是个功率谱图   功率谱和幅值谱我在上边已经说了
功率谱在很多书上都会讲到我就不多说了,表达能力有限,不过提醒的一点是功率谱和功率谱密度是不一样的,但是一般人很少区分,它们也不是一种固定的做法,不过相同的一点是都经过傅立叶变换后平方(也就是表达功率的概念吧)
对于幅值谱与功率谱的区别是它不进行平方

秋月 发表于 2007-9-23 08:44

回复 #16 sssssxxxxx921 的帖子

谢谢指点!
采样频率应该取多少啊?
画出的图怎么会是那样啊?
和书上的一点都不一样啊!
是那有问题啊???

sssssxxxxx921 发表于 2007-9-23 09:33

clc
clear all
x0=;
=ode45('duffing',,x0);
%频谱图
N=1024;         %采样点数
x=y(10000-1024:10000,1);%生成信号(Y轴方向的位移)
Y=fft(x,N);
Y(1)=[];
Pyy = Y.* conj(Y) /N;%或者改变为Pyy = Y.* conj(Y) ;
df=100;          %频率分辨率Hz

f=(1:N/2)*df/N;    %频域序列   
figure
% plot(f,Pyy);
% figure
plot(f,Pyy(1:N/2));    %幅值谱改变为plot(f,Y(1:N/2));   
xlabel('Frequency(HZ)');
ylabel('Magnitude');
title('功率谱图');

sssssxxxxx921 发表于 2007-9-23 09:34

我这都没有运行,不过这个程序应该没问题了呵呵

秋月 发表于 2007-9-23 16:03

回复 #20 sssssxxxxx921 的帖子

非常感谢!
sssssxxxxx921谢谢你的指点!
还望多指点!
页: 1 [2]
查看完整版本: 求助幅值谱图