声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1906|回复: 6

[求助]fft的matlab程序

[复制链接]
发表于 2006-5-17 08:33 | 显示全部楼层 |阅读模式

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

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

x
求快速傅里叶变换的matlab程序

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2006-5-17 09:57 | 显示全部楼层
y=fft(x)
发表于 2006-5-17 20:10 | 显示全部楼层
这个是最简单的,你看看有没有用。<BR>
<P 0cm 0cm 0pt"><FONT face="Times New Roman">N=16,</FONT>分析<FONT face="Times New Roman">16</FONT>点频谱:</P>
<P 0cm 0cm 0pt"><B>程序:</B></P>
<P 0cm 0cm 0pt"><FONT face="Times New Roman">fs=5</FONT></P>
<P 0cm 0cm 0pt"><FONT face="Times New Roman">N=16;</FONT></P>
<P 0cm 0cm 0pt"><FONT face="Times New Roman">t=1/fs;</FONT></P>
<P 0cm 0cm 0pt"><FONT face="Times New Roman">f1=0.24;f2=0.26;</FONT></P>
<P 0cm 0cm 0pt"><FONT face="Times New Roman">n=0:N-1;</FONT></P>
<P 0cm 0cm 0pt"><FONT face="Times New Roman">x=cos(2*pi*t*f1*n)+cos(2*pi*t*f2*n);</FONT></P>
<P 0cm 0cm 0pt"><FONT face="Times New Roman">figure,stem(x);</FONT></P>
<P 0cm 0cm 0pt"><FONT face="Times New Roman">y=t*abs(fft(x,N));</FONT></P>
<P 0cm 0cm 0pt"><FONT face="Times New Roman">figure;</FONT></P>
<P 0cm 0cm 0pt"><FONT face="Times New Roman">plot(y,'*')<BR></P>
<P 0cm 0cm 0pt">N=16,分析64点频谱:</P>
<P 0cm 0cm 0pt"><B>程序:<p></p></B></P>
<P 0cm 0cm 0pt">fs=5;</P>
<P 0cm 0cm 0pt">N=64;</P>
<P 0cm 0cm 0pt">t=1/fs;</P>
<P 0cm 0cm 0pt">f1=0.24;f2=0.26;</P>
<P 0cm 0cm 0pt">n=0:15;</P>
<P 0cm 0cm 0pt">x=cos(2*pi*t*f1*n)+cos(2*pi*t*f2*n);</P>
<P 0cm 0cm 0pt">figure,stem(x);</P>
<P 0cm 0cm 0pt">y=t*abs(fft(x,64));</P>
<P 0cm 0cm 0pt">figure;</P>
<P 0cm 0cm 0pt">plot(y,'*');</P>
<P 0cm 0cm 0pt">N=64,分析64点频谱:</P>
<P 0cm 0cm 0pt"><B>程序:<p></p></B></P>
<P 0cm 0cm 0pt">fs=5;</P>
<P 0cm 0cm 0pt">N=64;</P>
<P 0cm 0cm 0pt">t=1/fs;</P>
<P 0cm 0cm 0pt">f1=0.24;f2=0.26;</P>
<P 0cm 0cm 0pt">n=0:N-1;</P>
<P 0cm 0cm 0pt">x=cos(2*pi*t*f1*n)+cos(2*pi*t*f2*n);</P>
<P 0cm 0cm 0pt">figure,stem(x);</P>
<P 0cm 0cm 0pt">y=t*abs(fft(x,N));</P>
<P 0cm 0cm 0pt">figure;</P>
<P 0cm 0cm 0pt">plot(y,'*')</P>
<P 0cm 0cm 0pt"></FONT></P>
发表于 2006-5-17 22:50 | 显示全部楼层
N=10000;  %数据个数<BR>Freq=1000;%采样频率Hz<BR>Y=fft(data(1:N)); %取数据前N个<BR>Pyy=Y.*conj(Y)/N;<BR>f=Freq*(0:fix(0.25*N))/N;<BR>plot(f,Pyy(1:(fix(0.25*N)+1)))<BR>title('Frequency content')<BR>xlabel('frequency (Hz)')
发表于 2006-5-18 12:24 | 显示全部楼层

回复:(xueke8668)[求助]fft的matlab程序

<P>把问题 描述清楚 ~~~<BR><BR><BR>   你要 什么样的谱  负半轴上的要不要</P>
发表于 2006-5-19 12:10 | 显示全部楼层
呵呵,还是比较好的
发表于 2006-6-3 18:22 | 显示全部楼层
请教各位,我现在有一组波形的采样数据x(n),在做完Y=fft(X)之后想画出波形的频域图像,请问还需要加上一些什么语句么?特别是X轴要求是频率,应该怎样做呢?谢谢
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-18 09:09 , Processed in 0.100162 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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