- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FFT频谱分析1
目 录
第一章 设计任务及要求 2
第二章 设计思路 2
1 本文研究内容 2
2 频谱分析技术 3
2.1 时域抽样定理[7] 3
2.2 离散傅立叶变换(DFT)[8] 3
2.3 快速傅立叶变换(FFT)[9] 3
2.4 频谱分析原理[10] 4
3 程序与算例 4
3.1 声音信号频谱分析 5
3.2 图像信号频谱分析 8
3.3 本章小结 8
结 论 9
第一章 设计任务及要求
要求独立完成设计任务。
课程设计说明书封面格式见《天津城市建设学院课程设计教学工作规范》附表1课程设计的说明书要求简洁、通顺,计算正确,图纸表达内容完整、清楚、规范。
大于等于2倍的信号最高频率,即。时域抽样是把连续信号变成适于数字系统处理的离散信号。对连续信号以间隔T抽样,则可得到的离散序列为。
图2-1 连续信号抽样的离散序列
若,则信号与的频谱之间存在:
其中,的频谱为,的频谱为。
可见,信号时域抽样导致信号频谱的周期化。(rad/s)为抽样角频率,为抽样频率。数字角频率Ω与模拟角频率ω的关系为:Ω=ωT。
2.2 离散傅立叶变换(DFT)[8]
有限长序列的离散傅立叶变换(DFT)为
逆变换为
2.3 快速傅立叶变换(FFT)[9]
在各种信号序列中,有限长序列占重要地位。对有限长序列可以利用离散傅立叶变换(DFT)进行分析。DFT不但可以很好的反映序列的频谱特性,而且易于用快速算法(FFT)在计算机上进行分析。
有限长序列的DFT是其z变换在单位圆上的等距离采样,或者说是序列傅立叶的等距离采样,因此可以用于序列的谱分析。FFT是DFT的一种快速算法,它是对变换式进行一次次分解,使其成为若干小数据点的组合,从而减少运算量。
MATLAB为计算数据的离散快速傅立叶变换,提供了一系列丰富的数学函数,主要有Fft、Ifft、Fft2 、Ifft2, Fftn、ifftn和Fftshift、Ifftshift等。当所处理的数据的长度为2的幂次时,采用基-2算法进行计算,计算速度会显著增加。所以,要尽可能使所要处理的数据长度为2的幂次或者用添零的方式来添补数据使之成为2的幂次。
Fft函数调用方式:Y=fft(X);
Y=fft(X,N);
Y=fft(X,[],dim)或Y=fft(X,N,dim)。
函数Ifft的参数应用与函数Fft完全相同。
2.4 频谱分析原理[10]
时域分析只能反映信号的幅值随时间的变化情况,除单频率分量的简单波形外,很难明确提示信号的频率组成和各频率分量大小,而频谱分析能很好的解决此问题。由于从频域能获得的主要是频率信息,所以本节主要介绍频率(周期)的估计与频谱图的生成。
1、频率、周期的估计
对于Y(kΔf),如果当kΔf?=?f时,Y(kΔf)取最大值,则f为频率的估计值,由于采样间隔的误差,f也存在误差,其误差最大为Δf?/ 2。
周期T=1/f。
从原理上可以看出,如果在标准信号中混有噪声,用上述方法仍能够精确地估计出原标准信号的频率和周期,这个将在下一章做出验证
2、频谱图
为了直观地表示信号的频率特性,工程上常常将Fourier变换的结果用图形的方式表示,即频谱图。
以频率f为横坐标,|Y(f)|为纵坐标,可以得到幅值谱;
以频率f为横坐标,arg?Y(f)为纵坐标,可以得到相位谱;
以频率f为横坐标,Re?Y(f)为纵坐标,可以得到实频谱;
以频率f为横坐标,Im?Y(f)为纵坐标,可以得到虚频谱。
根据采样定理,只有频率不超过Fs/2的信号才能被正确采集,即Fourier变换的结果中频率大于Fs/2的部分是不正确的部分,故不在频谱图中显示。即横坐标f?∈[0,?Fs/2]
3 程序与算例
1.模拟信号,以进行采样,求N=128点FFT的幅度频谱;下面是对x(t)程序代码:
%***************1.?y?ò2¨****************%
fs=100;%éè?¨2é?ù?μ?ê
N=128;
n=0:N-1;
t=n/fs;
f0=2;%éè?¨?y?òD?o??μ?ê
%éú3é?y?òD?o?
f1=4;
x=sin(2*pi*f0*t)+sin(2*pi*f0*t)+cos(2*pi*f1*t)+cos(2*pi*f1*t)+cos(2*pi*f1*t)+cos(2*pi*f1*t)+cos(2*pi*f1*t);
figure(1);
subplot(2,3,1);
plot(t,x);%×÷?y?òD?o?μ?ê±óò2¨D?
xlabel(t);
ylabel(y);
title(?y?òD?o?y=2*pi*2tê±óò2¨D?);
grid;
%??DDFFT±???2¢×??μ?
文档评论(0)