基于matlab的fft算法程序设计word格式

基于matlab的fft算法程序设计word格式

ID:9852370

大小:141.50 KB

页数:10页

时间:2018-05-12

基于matlab的fft算法程序设计word格式_第1页
基于matlab的fft算法程序设计word格式_第2页
基于matlab的fft算法程序设计word格式_第3页
基于matlab的fft算法程序设计word格式_第4页
基于matlab的fft算法程序设计word格式_第5页
资源描述:

《基于matlab的fft算法程序设计word格式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、※※※※※※※※※※※※※※※※※※※※※※课题名称基于matlab的FFT算法程序设计姓名学号学院专业指导教师一、设计任务及要求:设计任务:设计利用FFT的算法程序画出对正弦信号进行频谱分析。要求:1.选择合适的抽样频率以及频率抽样点。2.将原始信号的幅频曲线与加噪声后的信号幅频曲线进行对比,最后将恢复信号。指导教师签名:2011年12月30日二、指导教师评语:指导教师签名:年月日三、成绩验收盖章年月日基于matlab的FFT算法程序设计1设计目的(1)掌握FFT算法程序的matlab的实现。(2)了解matlab中对信号做频谱分析时如何设置

2、参数。(3)了解FFT算法的原理。(4)熟悉信号的各种频谱分析图。2设计思路利用matlab编程实现(1)利用原理分析出该信号的取样频率以及取样点数大概为多少才合适。(2)对未进行加噪声的信号进行幅频分析,然后恢复信号。(3)将原始信号加进噪声并进行幅频分析,然后恢复信号。(4)比对加噪声前后信号的幅频图,看有何区别再进行总结。3设计过程3.1设计原理(1)FFT变换原理N点序列的DFT和IDFT变换定义式如下:(1)(2)利用旋转因子(3)具有周期性,可以得到快速算法(FFT)。在MATLAB中,可以用函数(4)和(5)计算N点序列的DFT正

3、、反变换。(1)FFT中选择频率以及采样点的标准一个模拟信号,经过ADC采样之后,就变成了数字信号。采样定理告诉我们,采样频率要大于信号频率的两倍,采样得到的数字信号,就可以做FFT(快速傅里叶变换)了。N个采样点,经过FFT之后,就可以得到N个点的FFT结果。为了方便进行FFT运算,通常N取2的整数次方。假设采样频率为Fs,信号频率F,采样点数为N。那么FFT之后结果就是一个为N点的复数。每一个点就对应着一个频率点。这个点的模值,就是该频率值下的幅度特性。具体跟原始信号的幅度有什么关系呢?假设原始信号的峰值为A,那么FFT的结果的每个点(除了

4、第一个点直流分量之外)的模值就是A的N/2倍。而第一个点就是直流分量,它的模值就是直流分量的N倍。而每个点的相位呢,就是在该频率下的信号的相位。第一个点表示直流分量(即0Hz),而最后一个点N的再下一个点(实际上这个点是不存在的,这里是假设的第N+1个点,也可以看做是将第一个点分做两半分,另一半移到最后)则表示采样频率Fs,这中间被N-1个点平均分成N等份,每个点的频率依次增加。例如某点n所表示的频率为:(6)由公式(2-6)可以看出,Fn所能分辨到频率为为Fs/N,如果采样频率Fs为1024Hz,采样点数为1024点,则可以分辨到1Hz。10

5、24Hz的采样率采样1024点,刚好是1秒,也就是说,采样1秒时间的信号并做FFT,则结果可以分析到1Hz,如果采样2秒时间的信号并做FFT,则结果可以分析到0.5Hz。如果要提高频率分辨力,则必须增加采样点数,也即采样时间。频率分辨率和采样时间是倒数关系。假设FFT之后某点n用复数a+b*i表示,那么这个复数的模就是An=根号a*a+b*b,相位就是:(7)根据以上的结果,就可以计算出n点(n≠1,且n<=N/2)对应的信号的表达式为:(8)对于n=1点的信号,是直流分量,幅度即为A1/N。由于FFT结果的对称性,通常我们只使用前半部分的结果

6、,即小于采样频率一半的结果。(3)设计程序利用分析出的取样频率以及频率取样点来画出该信号在加噪声与不加噪声的情况下的幅频图,并进行比对。3.2设计流程图开始设置抽样频率fs、频率抽样点N、信号频率f0生成正弦信号x=sin(2*pi*f0*t)对该信号进行FFT变换画出该信号的幅频谱图利用IFFT将原始正弦信号还原对该信号加入一个噪声再进行FFT变换画出该信号的幅频图用IFFT恢复加噪声后的信号结束图1程序总流程图4仿真实现过程4.1源程序代码fs=100;%设定采样频率N=128;n=0:N-1;t=n/fs;f0=10;%设定正弦信号频率%

7、生成正弦信号x=sin(2*pi*f0*t);figure(1);subplot(121);plot(t,x);%作正弦信号的时域波形xlabel('t');ylabel('y');title('正弦信号时域波形');grid;%进行FFT变换并做频谱图y=fft(x,N);%进行fft变换mag=abs(y);%求幅值f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换figure(2);subplot(121);plot(f,mag);%做频谱图axis([0,100,0,80]);xlabel('频率(Hz

8、)');ylabel('幅值');title('正弦信号幅频谱图N=128');grid;%用IFFT恢复原始信号xifft=ifft(y);magx

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。