声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 31120|回复: 27

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

[复制链接]
发表于 2006-10-20 11:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
怎么用matlab画出正弦函数的频谱图?比如函数x=5*sin(2*pi*10t);怎么画出这个函数的频谱图?

t=-2*pi:pi/8:2*pi;
x=5*sin(2*pi*10*t);
fx=fft(x);
plot(t,abs(fx))

这是我用的编程的语句,但是频率应该为10,幅值因该是5,但是出来的图形不是这样。请问我怎样确定纵、横坐标画出正确的图形?
回复
分享到:

使用道具 举报

发表于 2006-10-23 21:53 | 显示全部楼层
把程序作了修改:
t=-1:0.01:1;
x=5*sin(2*pi*10*t);
N=length(x);
fx=fft(x);
df=100/N;
n=0:N/2;
f=n*df;
plot(f,abs(fx(n+1))*2/N); grid;
发表于 2006-10-25 21:49 | 显示全部楼层
如果把原始信号也画出来就更好对比了。
% 正旋信号的fft程序
t=-1:0.01:1;
x=5*sin(2*pi*10*t);
N=length(x);
fx=fft(x);
df=100/N;
n=0:N/2;
f=n*df;
subplot(211);
plot(t,x);grid;
subplot(212);
plot(f,abs(fx(n+1))*2/N); grid;
发表于 2006-11-28 21:01 | 显示全部楼层
N是采样率?df是频率分辨率?df=100/N;中的100是什莫?
发表于 2006-11-28 21:45 | 显示全部楼层
原帖由 vib 于 2006-11-28 21:01 发表
N是采样率?df是频率分辨率?df=100/N;中的100是什莫?

N是样点的个数,df是频率分辨率,df=fs/N,fs=100。fs=100是从那儿看出来的呢?是从t=-1:0.01:1中的0.01得到的。
发表于 2006-11-29 20:44 | 显示全部楼层
采样率我弄明白了,可是把采样率再分点,我就不懂是怎末回事!你的点数是什末?频率分辨率弄不明白,只只道是频域图中两个点的最小间隔,如果在时域内横坐标的最小间隔是采样时间,但频域内是什末?
发表于 2006-11-30 15:15 | 显示全部楼层
原帖由 vib 于 2006-11-29 20:44 发表
采样率我弄明白了,可是把采样率再分点,我就不懂是怎末回事!你的点数是什末?频率分辨率弄不明白,只只道是频域图中两个点的最小间隔,如果在时域内横坐标的最小间隔是采样时间,但频域内是什末?

频率分辨率在这里是表示谱图上一条谱线与下一条谱线之间的频率间隔,也是频域上横坐标的间隔。
发表于 2006-11-30 17:27 | 显示全部楼层
呵呵,很基本的问题,但很重要
发表于 2006-12-2 14:09 | 显示全部楼层
我正在找呢,歇息
发表于 2006-12-4 12:44 | 显示全部楼层
原帖由 god-xe 于 2006-10-25 21:49 发表
如果把原始信号也画出来就更好对比了。
% 正旋信号的fft程序
t=-1:0.01:1;
x=5*sin(2*pi*10*t);
N=length(x);
fx=fft(x);
df=100/N;
n=0:N/2;
f=n*df;
subplot(211);
plot(t,x);grid;
subplot(212);
...

这里边的N=length(x);好象不太常用吧,我们通常的采样点数都是1024这样的2的幂数,然后由于对称性,所以只取采样点数的一半n=0:N/2;就可以了。
如果按照以上的程序,那么得出的df=1了。
发这些没其他什么意思,只是让楼主对这个更清晰点,大家一起讨论嘛
发表于 2006-12-4 18:28 | 显示全部楼层
plot(f,abs(fx(n+1))*2/N) 中的abs(fx(n+1))*2/N是取变换后的幅度,为什么要乘以2/N呢?
发表于 2006-12-5 14:14 | 显示全部楼层
原帖由 lwm 于 2006-12-4 18:28 发表
plot(f,abs(fx(n+1))*2/N) 中的abs(fx(n+1))*2/N是取变换后的幅度,为什么要乘以2/N呢?

请参看:
http://forum.vibunion.com/forum/thread-23665-1-8.html
其中给了说明。
发表于 2006-12-5 16:51 | 显示全部楼层
已看,解释的很详细,谢谢songzy41!
发表于 2006-12-5 17:48 | 显示全部楼层
功率谱密度的物理意义是什么呢?是在不同频率下信号强度的大小吗?功率谱等于幅度频谱的平方吗?
发表于 2006-12-5 21:09 | 显示全部楼层
觉得应该让负频率也显示出来
Ts=0.02;
t=-1:Ts:1;
%采样信号频率是fs=50;
fs=1/Ts;
%原信号频率是10;
x=5*sin(2*pi*10*t);
%N是总共的采样点数,N=101;
N=length(x);
fx=fft(x);
%N个点有N-1个间隔;
df=fs/(N-1);
%让负频率也显示出来;
n=-(N-1)/2:(N-1)/2;
f=n*df;
subplot(211);
plot(t,x);grid;
subplot(212);
plot(f,abs(fx)); grid;



abs(fx(n+1))*2/N)钟fx(n+1)=fx(是吗?),也可以这样写吗?如果有了负频率ms这个2就不用乘了吧。我再回去看看书关于N的,看了你链接的帖子,很感谢!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-15 03:47 , Processed in 0.053342 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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