电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

快速傅立叶变换FFT的计算机实现概要VIP免费

快速傅立叶变换FFT的计算机实现概要_第1页
1/20
快速傅立叶变换FFT的计算机实现概要_第2页
2/20
快速傅立叶变换FFT的计算机实现概要_第3页
3/20
信号与系统课程设计——FFT的计算机实现快速傅里叶变换(FFT)的计算机实现赖智鹏华中科技大学电气与电子工程学院0809班U200811806Email:592425891@qq.com摘要:本文是信号与系统课程的课程设计,旨在熟悉FFT的计算过程,结合DFT物理意义和实验结果加深对傅立叶变换的理解。文章首先用MATLAB对一个简单信号进行FFT仿真,得出频谱图;其次完成了FFT的C语言实现,结合MATLAB作图及数据处理功能得出了C实现下的FFT结果;最后,讨论分析实验结果。关键词:DFT、基--2按时间抽取FFT算法、MATLAB、C、频谱、物理意义1.算法描述1)DFT的运算量1()()()(0,1,2...1)022复数乘:次,复数加:(1)次NnkXkDFTxnxnWkNNnNNNN2)减少运算的方法:化长序列为短序列。如将长度为N的序列分解为两个长度为N/2的序列12()()()(0,1,,1)0222复数乘:次,复数加:(1)次4224NnkXkDFTxnxnWkNNnNNNN利用nkNW的性质(注:本文中的C程序未用到此性质)+rN周期性:=*-共轭对称性:=r可约性:=rnknkWWNNnnWWNNnnWWNN3)C程序采用基--2按时间抽取的FFT算法设输入序列长度为2MN(M为正整数),将该序列按时间顺序的奇偶分解为越来越短的子序列,称为基2按时间抽取的FFT算法,也称为Coolkey-Tukey算法。若N不满足条件,则人为地加上若干零值,使'2MN。2.实验设计与步骤为简单起见,同时不失一般性,本实验采用三个余弦成分和一个支流偏置成分叠加所得的信号作为信号源。I.编写Matlab仿真程序2,,,,,,,,,,,其中为被采样信号的01112223330直流成分,,,为第一个正弦成分的参数,,,为第二个正弦成分的参数,,,为第111222333三个正弦成分的参数,为采样频率sII.通过改变2,,,,,,,,,,的输入参数,改变信号波形和采样点0111222333数,观察序列长度FFTaafafaffasafafaffFFTaafafafN或谐波成分对频谱的影响,观察频谱图的变化趋势,并结合频谱图的物理意义作出作出解释解释III.根据Decimation-in-Time(DIT)(Coolkey-Tukey)算法编写C程序,计算结果放在keshe.txt文件输出中,数据调入Matlab中,分析数据,做出频谱图IV.通过改变C程序运行时输入的参数,改变信号波形和采样点数,对比观察频谱的变化趋势,分析输出结果的差异,结合频谱图的物理意义进行解释V.C语言实现下的FFT结果对比MATLAB的仿真结果,观察二者的之间的差异,对之作出合理解释3.MATLAB的FFT仿真和C的FFT实现1)关于频谱的理论分析:Hz,NkN,00N,2特别的,实序列的幅度谱除k=0点外呈轴对称分布Nxfxsxfxskk在1秒内进行采样,频谱分辨率为1注意到频谱的物理意义(在下面的内容中,将利用并一定程度上验证这些性质)I、幅度谱其中为采样点数目直流成分,幅度谱上对应=0的幅度大小为亦即交流成分,幅度谱上对应频率下幅度大小为即II、相位谱直流成分,无相位概念交流成分,相位谱上对应频率下相位的大小就是该频率成分初相位k,。为偶数时,相位谱除k=0N/2点外呈中心对称分布N为奇数时,相位谱除k=0,呈中心对称分布和,;。2)MATLAB的FFT仿真MATLAB程序代码function[output_args]=FFT2(x0,x1,f1,w1,x2,f2,w2,x3,f3,w3,fs)%这是一个自定义函数,输入被采样的信号的参数和采样频率,然后输出原信号波形、采样信号序列、采样序列幅度谱和相位谱。函数规定信号由一个直流成分(大小为x0),三个余弦成分(各自频率分别为f1,f2,f3,幅值为x1,x2,x3,初相位为w1,w2,w3),采样频率为fs,采样时间为1秒。x0,x1,f1,w1,x2,f2,w2,x3,f3,w3,fs作为参数输入t=0:1/fs:1-1/fs;%定义采样时刻N=length(t);%采样序列长度s=x0+x1*cos(2*pi*f1*t+pi/180*w1)+x2*cos(2*pi*f2*t+pi/180*w2)+x3*cos(2*pi*f3*t+pi/180*w3);%采样信号y=fft(s);%快速傅立叶变换tt=0:1/10000:1;%原信号描点ss=x0+x1*cos(2*pi*f1*tt+pi/180*w1)+x2*cos(2*pi*f2*tt+pi/180*w2)+x3*cos(2*pi*f3*tt+pi/180*w3);%原信号figure;plot(tt,ss);grid;title('原始信号');%原信号波形figure;subplot(3,1,1);plot(0:N-1,s(1:N),'-o');xlim([0N-1]);grid;title('采样信号');subplot(3,1,2);plot(0:N-1,abs(y(1:N)),'-o');xlim([0N-1]);grid;xlabel('k');ylabel('幅度');title('理想采样信号的幅度谱');subplot(3,1,3);plot(0:N-1,angle(y(1:N)),'...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

快速傅立叶变换FFT的计算机实现概要

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部