声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: mengke316

[FFT] 怎么用matlab画出正弦函数的频谱图?

[复制链接]
发表于 2006-12-7 09:27 | 显示全部楼层
在vib的程序中,fx=fft(x)语句后应增加一句:fx=fftshift(fx),这样才能得到正负频率的正确谱图。
我们实际处理中大部分信号是实数,频率也只存在正频率,负频率只是数学处理中需要,实际中并不存在。因此谈负频率的幅值没有实际意义。
回复 支持 反对
分享到:

使用道具 举报

发表于 2007-1-23 09:31 | 显示全部楼层
很基本的东西那!呵呵 好好学学!
发表于 2007-1-23 10:34 | 显示全部楼层
songzy41  先生 发的网页联接怎么打不开那!谁能告知里面的内容?谢谢!
发表于 2007-1-23 19:19 | 显示全部楼层
原帖由 sjh821 于 2007-1-23 10:34 发表
songzy41  先生 发的网页联接怎么打不开那!谁能告知里面的内容?谢谢!

同样想知道
发表于 2007-1-25 06:57 | 显示全部楼层
这网页确打不开了。
http://forum.vibunion.com/forum/thread-23665-1-8.html
我在该帖中主要给出了从谱值中求正弦信号的幅值,现重新贴上:

正弦信号幅值A的计算

正弦信号幅值A的计算
发表于 2007-4-5 11:16 | 显示全部楼层
谢谢ls的分享!
发表于 2007-4-5 12:02 | 显示全部楼层
原帖由 songzy41 于 2007-1-25 06:57 发表
这网页确打不开了。
http://forum.vibunion.com/forum/thread-23665-1-8.html
我在该帖中主要给出了从谱值中求正弦信号的幅值,现重新贴上:



用以下地址:http://forum.vibunion.com/forum/viewthread.php?tid=23665
发表于 2007-7-9 23:20 | 显示全部楼层

回复 #2 songzy41 的帖子

请问 songzy41:
fx=fft(x);
abs(fx(n+1)) 中   fx(n+1)是什么意思 在workspace中他改变了数据的长度 但是我不理解他到底是怎么工作的
谢谢
发表于 2007-7-10 10:05 | 显示全部楼层

回复 #23 ddww 的帖子

如果是MATLAB使用上的问题,我建议您到MATLAB专区搜索一下。FFT的做法,咱们版里面有很多例子,也可以搜索一下
发表于 2007-7-10 16:25 | 显示全部楼层
原帖由 ddww 于 2007-7-9 23:20 发表
请问 songzy41:
fx=fft(x);
abs(fx(n+1)) 中   fx(n+1)是什么意思 在workspace中他改变了数据的长度 但是我不理解他到底是怎么工作的
谢谢

我的程序中有
N=length(x);
fx=fft(x);
n=0:N/2;
plot(f,abs(fx(n+1))*2/N); grid;
可看到n是从0开始,但在MATLAB中数组的下标从1开始(下标不能用0),故用 fx(n+1),同时并不改变了数据的长度。

评分

1

查看全部评分

发表于 2007-7-11 09:40 | 显示全部楼层
谢谢songzy41 !
发表于 2010-4-30 10:49 | 显示全部楼层
老师要求我们把横坐标归一化,或者直接用频率表示,这程序要怎么改,求大神指点
发表于 2011-5-7 09:15 | 显示全部楼层
感谢讨论
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-25 22:33 , Processed in 0.116039 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表