sssssxxxxx921 发表于 2007-6-21 15:03

求MATLAB做傅立叶频谱图的实例

在MATLAB的帮助中看了半天也没看懂如何画频谱图,哪位能发一个带注释的实例啊

无水1324 发表于 2007-6-21 18:14

在matlab help--〉search--〉FFT
在那里面出来一个实例:
t = 0:0.001:0.6;
x = sin(2*pi*50*t)+sin(2*pi*120*t);
y = x + 2*randn(size(t));
plot(1000*t(1:50),y(1:50))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('time (milliseconds)')

Y = fft(y,512);% FFT变换

Pyy = Y.* conj(Y) / 512;

f = 1000*(0:256)/512;
plot(f,Pyy(1:257))
title('Frequency content of y')
xlabel('frequency (Hz)')



再看不懂,你就把头伸过来!:lol :lol :lol :lol

wenzihui 发表于 2007-6-21 19:30

2楼给的信号是定周期采集的FFT,敢问,如果是变周期采集的数据如何进行FFT

wy558558558 发表于 2007-6-22 15:39

无水1324给的程序幅值的物理意义是什么?

wy558558558 发表于 2007-6-22 15:48

本帖最后由 VibInfo 于 2016-5-17 13:17 编辑

原帖由 无水1324 于 2007-6-21 18:14 发表
在matlab help--〉search--〉FFT
在那里面出来一个实例:
t = 0:0.001:0.6;
x = sin(2*pi*50*t)+sin(2*pi*120*t);
y = x + 2*randn(size(t));
plot(1000*t(1:50),y(1:50))
title('Signal Corrupted with...
本人觉得稍微改下要好点点
y=abs(fft(y,n)*2/n);
要不然幅值太大.

sssssxxxxx921 发表于 2007-6-22 20:20

改动和不改动有什么区别呀,它们分别代表什么意思啊

sssssxxxxx921 发表于 2007-6-24 20:57

回复 #5 wy558558558 的帖子

在用数值算法(如龙格库塔法)计算得出:时间tc=;
位移 yc=;
我用以下MATLAB语句怎么显示不出来啊  帮忙看看
Y = fft(yc,1024);
Pyy = Y.* conj(Y) / 1024;
f = 1000*(0:1023)/1024;
plot(f(1:512),Pyy(1:512))

liyaohua522 发表于 2007-6-25 16:34

wy558558558的意思可能是改成:abs(fft(y,n)).^2/n; 这样算出来和 Pyy = Y.* conj(Y) /n;其实是一样的,都是周期图法求功率谱密度,没有谁大谁小的问题。
至于sssssxxxxx921在若干个帖子里问的显示不出来的几条语句,从fft那条开始的四句没有问题,如果显示不出来肯定有出错信息,自己多分析一下吧。


个人看法。

sssssxxxxx921 发表于 2007-6-26 08:05

回复 #8 liyaohua522 的帖子

我已经知道了 但是出来的总感觉到不太对  

请问:这样出来的是不是功率谱  而不是所谓的幅值谱啊

wy558558558 发表于 2007-6-28 12:55

这个出来的必然是功率谱密度,决不是幅值.看数值也能看出.

sssssxxxxx921 发表于 2007-6-28 17:08

回复 #10 wy558558558 的帖子

那你说幅值谱该怎么得出呢  请大虾指点

swk_sun 发表于 2007-7-1 10:43

不懂,等待高手指点,学习! 期待中!!!!!!!!!!!!!!!!

中原 发表于 2007-7-1 16:37

受不了这类似的问题了,我干脆推荐一本书,里面例子多的是
电子工业出版社 吴新余 周井泉 沈元隆<信号与系统——时域、频域分析及matlab软件的应用>的第三章 信号的频谱分析与傅立叶变换,绝对管用:handshake

zhangnan3509 发表于 2007-7-2 12:12

回复 #13 中原 的帖子

这个在信号版和MATLAB版的例子有很多,可以搜索一下就到手了
页: [1]
查看完整版本: 求MATLAB做傅立叶频谱图的实例