版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕 业 设 计(论文)题 目: 基于fft的连续信号谱分析学 院: 电气与电子信息工程学院 专业名称: 电子信息工程 学 号: 学生姓名: xx 指导教师: 2013年 05月 25日摘 要离散傅里叶变换(dft)的快速算法fft的出现,使dft在数字通信、语音信号处理、图像处理、功率谱估计、系统分析与仿真等各个领域中都得到了广泛的应用。各种应用一般都以卷积和相关运算的具体计算为依据,或者以dft为连续傅里叶变换的近似为基础。本文主要涉及用fft对连续信号的频谱分析,概述了信号的频谱分析,介绍了谱分析的重要性,连续信号谱分析的过程,fft算法的思想及性质;利用matlab软件编制信号产生子程序
2、,对典型信号进行谱分析并用仿真实现,绘制不同采样下的时域波形和频谱特性;根据谱分析的结果验证dft的共轭对称性;了解可能出现的分析误差及其原因。通过matlab软件,我们演示了部分基本信号的波形和变换,使我们可以直观的了解和掌握信号与系统,数字信号处理的一些基本知识。关键词:谱分析;dft;fft;matlab;连续信号abstractdigital signal processing course is a basic course of the telecommunications, in which the signal spectrum analysis is very common
3、in practical applications. the emergence of the fast algorithm fft of dft, makes dft have been widely used in various fields of system analysis and simulation such as in digital communications, speech signal processing, image processing, power spectrum estimation and so on. the various applications
4、are generally based on the specific calculation of the convolution and correlation calculation, or the approximation of continuous fourier transform .this paper introduce the signal spectrum analysis,and summarizes the importance of spectrum analysis ,the processes of spectral, the ideas and nature
5、of fft (fast fourier transform); use the matlab software to develop signal generation subroutine to achieve the typical signal spectral analysis and simulation, draw time-domain waveform and spectrum characteristics under different sampling; verify the conjugate symmetry of dft based on the results
6、of spectral analysis; understand errors and their causes of the possible analysis. in that experiment,we demonstrate some waveforms and transforms of the basic signals, so that we can intuitively understand and grasp the basic knowledge of signals and systems and digital signal processing.key words:
7、spectrum analysis;discrete fourier transform;fast fourier transform; matlab;continuous signal目 录1 引言11.1 数字信号处理概述11.2 连续信号的频谱分析11.3 谱分析的研究意义22 离散傅里叶变换(dft)32.1 离散傅里叶变换的性质32.2 利用dft计算模拟信号的傅里叶变换32.2.1 连续信号谱分析原理32.2.2 对连续非周期信号的傅里叶变换的dft逼近42.2.3 对连续时间周期信号的傅里叶级数的dfs逼近62.2.4 利用dft对非周期连续时间信号傅里叶变换逼近的误差分析73
8、快速傅里叶变换(fft)93.1 fft的来源93.2 按时间抽选(dit)的基-2fft算法(库利-图基算法)103.2.1 算法原理103.2.2 运算量153.2.3 按时间抽选fft算法的特点164 数字信号处理 matlab实现的基本知识194.1 matlab简介194.2 利用matlab计算fft的子函数194.3 利用matlab实现信号仿真205 总结与展望295.1 总结295.2 展望29致谢30参考文献311 引言1.1 数字信号处理概述数字信号处理是从20世纪60年代以来,随着信息学科和计算机学科的高速发展而迅速发展起来的一门新兴学科。它的重要性日益在各个领域的应用
9、中表现出来。数字信号处理是把信号用数字或符号表示的序列,通过计算机等处理设备,用数字的数值计算方法处理已达到提取有用信息便于应用的目的。信号可以从不同角度进行分类,如周期信号和非周期信号,确定信号和随机信号,能量信号和功率信号,连续信号和离散信号等。对于本课题,我们需要了解的是连续时间信号,即时间是连续的,幅值可以使连续的也可以是离散的,特别地,我们一般所说的连续信号指的是模拟信号,即时间,幅值均连续,它是上一种信号的特例。于是,我们讨论将模拟信号转化成数字信号的过程。首先把模拟信号变换为数字信号,然后在进行数字化处理,最后在恢复出模拟信号。其方框图如图1-1所示:前置滤波器a/d变换器信号处
10、理器d/a变换器模拟滤波器图1-1 数字信号处理简单方框图图1-1表示的是模拟信号数字处理系统的方框图,实际的系统并不一定要包括它的所有框图。例如,有些系统只需数字输出,因而就不需要d/a变换器。对于数字信号处理器,可以是数字计算机或微处理机,通过软件编程对输入信号进行预期处理,这是一种软件实现方法,本课题,我们主要运用matlab软件进行处理。自从1965年库利(cooley)和图基(tukey)在计算数学上发表了“用机器计算复序列傅里叶级数的一种算法”即“快速傅里叶变换算法”以来,数字信号处理这样一门学科蓬勃发展,逐渐形成了一整套较为完整的学科领域和理论体系,其中就包括谱分析与快速傅里叶变
11、换(fft),快速卷积与相关算法。1.2 连续信号的频谱分析信号的谱分析,就是计算信号的傅里叶变换,即将信号源发出的信号强度按频率顺序展开,使其成为频率的函数,并考察其变化规律。傅里叶变换是声学、语音、电信等领域中的一种重要方法。我们知道,为增大了数字信号处理的机动性,使数字信号处理可以在频域采用数值计算的方式进行,对有限长序列采用离散傅里叶变换(dft)实现频域的离散化。但直接计算dft,其计算量与区间长度的平方成正比,当长度较大时,计算量很大。而快速傅里叶变换的出现使得dft的运算量下降明显,从而极大提高了dft的计算效率。为数字信号处理技术应用于各种信号实时处理创造了良好的条件,大大推动
12、了数字信号处理技术的发展。1.3 谱分析的研究意义现代社会,通信与传感,计算及仿真技术紧密结合,信息成为社会焦点。随着我国科学技术的发展和国内外竞争加剧,对通信水平的要求也日益突出,如果通信水平跟不上,社会成员的合作程度就会受到限制,生产力也会受到影响。而频谱分析是处理通信信息的关键一环。生活中对信号进行频谱分析具有十分重要的意义。通过对信号进行频谱分析,我们可以得到信号的频谱结构,了解信号的频率成分或系统的特征。在此基础上,可实现对信号的跟踪控制,从而实现对系统状态的早期预测,发现潜在的危险并诊断可能发生故障的原因,对系统参数进行识别及校正。因此,频谱分析是揭示信号特征的重要方法,也是处理信
13、号的重要手段。而且这些方法和手段已经广泛应用于通信,雷达,地震,声纳,生物医学,物理,化学,音乐等领域。信号的频谱分析不仅在现实生活中具有重要意义,同样在教学过程中也是不可或缺的。由于频谱分析仪价格昂贵,高等院校只有少数实验室配有频谱仪。但电子信息类教学,如果没有频谱仪辅助观察,学生只能从书中抽象理解信号特性,可能对教学产生影响。 2 离散傅里叶变换(dft)我们知道,有限长序列在数字信号处理中很重要,而反映它的“有限长”特点的一种工具是离散傅里叶变换。理论上离散傅里叶变换除作为有限长序列的一种傅里叶表示及其重要之外,且在实际应用中有着各种高效快速计算dft,如快速傅里叶变换(fft),因而离
14、散傅里叶变换在数字信号处理领域中起着核心作用。2.1 离散傅里叶变换的性质 本节讨论dft的一些性质,它们本质上是和周期序列的dfs概念有关,而且是由有限长序列及其dft表示式隐含的周期性得出的。1、线性性质设和是长度均为n的两个有限长序列,它们的离散傅里叶变换分别为和,则线性组合的离散傅里叶变换为2、共轭对称性设为的复共轭序列,则有3、与的奇,偶,虚,实关系如表2-1所示。2.2 利用dft计算模拟信号的傅里叶变换2.2.1 连续信号谱分析原理我们知道,对连续信号进行频谱分析时,要对进行时域采样,得到,在对进行dft,得到,其中,是的傅里叶变换在频率区间上的等间隔采样。又因若信号为有限长,则
15、其频谱为无线宽。因此,为防止时域采样后产生频谱失真,对频谱范围较宽的信号,常采用预滤波法滤除幅度较小的高频成分,使连续信号的带宽小于折叠频率。而对于无线长信号,通常截取有限个点进行傅里叶变换。从而可看出,对信号谱分析只是近似的。下面我们做具体介绍。表2-1 序列对应关系x(n)或x(k)x(k)或x(n)偶对称偶对称奇对称奇对称实数实部偶对称,虚部奇对称虚数实部奇对称,虚部偶对称实数偶对称实数偶对称实数奇对称虚数奇对称虚数偶对称虚数偶对称虚数奇对称实数奇对称2.2.2 对连续非周期信号的傅里叶变换的dft逼近 连续时间非周期信号的傅里叶变换对为: (2-1) (2-2)计算方法如下:(1)将x
16、(t)在x轴上等间隔分段,每一段用一个矩形脉冲代替,脉冲的幅度为其起点的抽样值,然后把所有矩形脉冲的面积相加,而从而可得频谱密度的近似值为: (2-3)(2)将序列截断成从开始长度为的有限长序列,包含有n个抽样,则上式(2-3)变为: 由于时域抽样的抽样频率为,则频域产生以为周期的周期延拓。如果频域是限带信号,则有可能不产生混叠,成为连续周期频谱序列,频域周期为(即时域的抽样频率)。(3)为了数值计算,在频域上也要离散化(抽样),即在频域的一个周期()中也分成n段,即取n个样点,每个样点间的间隔为。频域抽样,则频域的积分公式(2-2)就变成求和式,而时域就得到原已截断的离散时间序列的周期延拓序
17、列,其时域周期为,这时,则参量关系为这样,进过上面三个步骤,时域,频域都是离散序列。推导如下:经过前两步:时域抽样,截断,即再由第三步:频域抽样,则得 即此为从离散傅里叶变换法求连续非周期信号的傅里叶变换的抽样值的方法。其模型如图2-1。图2-1 连续非周期信号的傅里叶变换模型2.2.3 对连续时间周期信号的傅里叶级数的dfs逼近连续时间周期信号x(t)的傅里叶级数为 (2-4) (2-5)这里为连续时间周期信号的周期。由于满足:时域周期频域离散 时域连续频域非周期所以,需将连续周期信号与dfs联系起来,就需要进行如下操作:先对时域抽样,当时,则设一个周期内的样点数为n,则式(2-4)变为 在
18、(一个周期)时间段内抽样间隔为t,共有个抽样点。再将频域离散序列加以截断,使它成为有限长序列,如果这个截断长度正好等于一个周期(即时域抽样造成的频域周期延拓的一个周期),则式(2-5)变成 (2-6)按照dft的定义,可得 这就是用dfs来逼近连续时间周期信号傅里叶级数对的公式。2.2.4 利用dft对非周期连续时间信号傅里叶变换逼近的误差分析 我们已经讨论了用数学表达式分析了逼近过程,需关注的是最后得到的是否是的抽样?以及的dft的系数是否是的频谱的准确抽样?如果不是的话,误差产生在哪些运算过程中,如何减少这些误差? 前面已经谈到,从理论上说,信号的时域长度和频域带宽不可能同时是有限长的,也
19、就是说,时域是有限长的,则频域带宽是无限的,反之亦对。而dft是有限长离散时间序列与有限长离散频域序列之间的 傅里叶变换对,并隐含周期性,因而用dft来逼近连续时间傅里叶变换对肯定是有误差的。 从模型中可看出,最主要的是三个处理:(1)时域抽样成x(n)则频域就会产生周期性延拓。若频域是限带宽的,只要抽样频率大于信号最高频率的两倍,就不会产生频域的频域的频域响应混叠现象。由于频域限带,故时域一定是无线长的。(2)时域截短成有限长序列,此序列只在的范围内和原相同,在此范围外为0(当用矩形序列截短时)。时域截断就是相乘,则在频域表现为周期性卷积,即,卷积的结果造成频谱的“扩散”,也就是频谱的“泄露
20、”,使得形成的信号频谱与原来的频谱并不相同,也就是说,时域截断造成频域泄露,使频域产生误差。(3)由于频域仍是连续的,要对频域抽样,即频域也要离散化。频域抽样造成时域的周期延拓,只要频域抽样间隔满足(即频域一个周期抽样点数mn),则这个周期延拓是不会产生时域混叠失真的。因而,(1)中如果频域不是有限带宽的,则时域抽样会造成频域混叠失真,此时则需尽量选取时域抽样频域足够大,以减小频域混叠失真。(2)中时域截断造成频域泄露,泄露也会造成频域的混叠,因而要选择截断后的n足够大,使得频域卷积结果更接近(即当时,等于不产生截断)。此外,如果不采用突变形式的矩形窗截断,而是采用其他缓变窗(如哈明窗等),则
21、可减小泄露,但这类截断会使在范围内不等于原来的x(n),使时域产生误差。(3)中如果频域抽样的抽样间隔,则造成时域的周期延拓的混叠失真,使得在范围内,时域序列也不等于x(n)。总之,时域采用矩形窗d(n)截断,则时域只是造成截断区域外的误差,在区域内就是的抽样。频域若是限带信号,则只有时域截断时形成频域的泄露而造成频域的误差;如果频域不是限带信号,则时域抽样和时域截断都会造成频域的误差。3 快速傅里叶变换(fft)快速傅里叶变换(fft)只是离散傅里叶变换(dft)的一种快速计算方法,其并不是一种新的变换。如前面所讲,有限长序列的特点是其频域可离散化成有限长序列。dft的计算在信号处理中非常有
22、用,再有,信号的谱分析对通信,图像传输,声纳等都是很重要的。此外,在系统的分析,设计和实现中都会用到dft计算。但是,在很长一段时间里,由于dft的计算量极大,即使采用计算机也很难对实际问题进行处理,所以没有得到真正的运用。直到库利和图基提出机器计算傅里叶级数的一种算法,并经过后来人们的改进发展,完善了一套高速有效的运算方法,使得dft的计算量得到简化,运算时间一般可以缩短一,二个数量级,从而使dft的运算在实践中得到真正广泛应用。3.1 fft的来源若x(n)是有限长序列,点数为n,其dft为 ,其中,k=0,1,n-1(3-1)反变换(idft)为 ,其中,n=0,1,n-1 (3-2)二
23、者的差别只在于的指数符号不同,以及差一个常数因子。因而,直接计算dft,乘法次数和加法次数都是和成正比的,当n很大时运算量显而易见,例如,当n8,dft需64次复乘,而当n1024时,dft需一百多万次复运算,这对实用性很强的信号处理来说,对计算速度要求是太高了。 下面讨论减少运算量的方法。观察dft的运算形式可看出,利用系数的以下特性,就可以减少dft的运算量:1、的共轭对称性2、的周期性3、的可约性,由此可得出,这样,通过这些性质,使dft运算中有些项合并;利用的对称性,周期性及可约性,将较长序列的dft分解成较短序列的dft,从而使dft计算过程转化成许多迭代运算过程。而前面已经说到,d
24、ft的运算量是与成正比的,所以n越小,运算量越低。快速傅里叶变换算法正是基于此而发展起来的。它的运算基本上可以分成两大类,即按时间抽选法和按频率抽选法。根据论文要求,我们只考虑前一种方法。3.2 按时间抽选(dit)的基-2fft算法(库利-图基算法)3.2.1 算法原理 取序列点数,l为正整数。如果不满足这个条件,可以加上若干零值点,使达到这一要求,即为基-2fft。对n点序列,将按n的奇偶性分组:, ,其中r=0,1, 则dft转化成 (3-3)利用系数的可约性,即,则 (3-4)式中与分别是及的n/2点dft: (3-5) (3-6)由式(3-4)可以看出,一个n点dft分解成两个n/2
25、点的dft,它们按(3-4)式又可组合成一个n点dft。但是,以及,都是n/2点的序列,即r,k满足r,k=0,1,。而x(k)却有n点,而用式(3-4)只得x(k)前一半,要用,来表式全部x(k)值,还需利用系数的周期性质,即 这样可得到 (3-7)同理可得 (3-8)式(3-7)、式(3-8)表明后半部段k值所对应的,与前半部段k值所对应的,分别相等。在考虑的性质: (3-9)这样,将式(3-7)、式(3-8)、式(3-9)带入式(3-4)中,就可将x(k)表示成前后两段:前半部分x(k),(k=0,1,) (3-10)后半部分x(k),(k=0,1,) ,k=0,1, (3-11)这样,
26、只要求出0到()区间的所有,值,即可求出0到()区间内的所有值,这就大大节省了运算。式(3-10)、(3-11)的运算可以用如下的蝶形信号流图3-1表示。图3-1蝶形运算流图采用这种表示法,其过程可图3-2说明。图3-2表示n=8的情况,输出值x(0)到x(3)是由式(3-10)给出的,输出值x(4)到x(7)是由式(3-11)给出。据此,一个n点dft分成两个点dft时,若直接计算点dft,则每个点dft只需要次复数乘法,次复数加法。同时,把两个点dft合成为一个dft时,有个蝶形运算,还需要次复数乘法及n次复数加法。因而通过这第一步分解后,工作量总体得到大幅降低。 既然如此,由于,因而仍是
27、偶数,可以更进一步把每个点子序列按其奇偶性再分成两个点子序列。先将进行分解: (3-12)其中,l=0,1, ,k=0,1, 且 ,k=0,1,其中 (3-13) (3-14)点dft点dft图3-2 将n点dft分为两个点的dft图图3-3给出n=8时,将一个点的dft分成两个点dft,由这两个点dft组合成一个点dft流图。同时,也可以进行同样的分解,得到其中 (3-15) (3-16)最后将系数统一为,则一个n=8点dft就可分成四个2点dft,这样就可得到3-4图。点dft点dft图3-3 由两个点dft组合成一个点dft 根据上面同样的分析知道,最后剩下的是2点dft,对于此例n=8
28、,就是四个2点dft,其输出为, (k=0,1),这由式(3-13)至(3-16)可以计算出来。由此可得出一个按时间抽选运算的大致的8点dft流图,如图3-5所示。点dft 点dft 点dft 点dft 图3-4 将一个n点dft分成四个点dft3.2.2运算量 由图3-5可知,当时(l表示级数),每级都由个蝶形运算组成,每个蝶形运算有一次复乘,二次复加,因而每级运算都需次复乘和n次复加,因此l级运算共需复乘数 复加数 因为,这几个系数都不用乘法运算。此外,当n较大时,这些特例相对而言就很少。直接dft算法运算量,复数乘法:,复数加法:。直接计算dft与fft算法的计算量之比为。x(0)x(4
29、)x(6)x(1)x(5)x(2)x(3)x(7)x(0)x(1)x(2)x(3)x(4)x(6)x(5)x(7)图3-5 n=8按时间抽选fft运算流图3.2.3 按时间抽选fft算法的特点(1)原位运算(同址运算) 从上图可以看出该运算是有规律可循的,其每级运算都是由个蝶形运算构成,下述迭代运算由每一个蝶形结构实现: (3-17)式(3-17)的蝶形运算如图3-6所示。从图3-5中看出,某一列的任何两点k和j的运算后,得到结果为下一列k,j两节点的变量,而与其他节点变量无关,通过原位运算,经过蝶形运算,其结果为另一列数据,它们以蝶形为单位仍存储在这一组存储器中,中间无需其他存储器。这样只需
30、n个存储结构单元,虽然进入蝶形的组合关系有差异,但下一级的运算也可采用这种运算方式。这种结构只需少量存储单元,从而降低设备成本。图3-6 蝶形运算结构 (2)倒位序规律按照原位计算,fft的输出x(k)在存储单元中按顺序排列,即x(0),x(1),.,x(7)的顺序排列,但是这时输入x(n)却不是按自然顺序存储的,按x(0),x(4),.,x(7)的顺序依次存入存储单元,看起来好像是“杂乱无序”的,实际是有规律可循的,即倒位序。 造成该原因是由输入x(n)按标号n的偶奇的不断分组引起。这种不断分成奇偶子序列的过程可用二进制树状图3-7来描述。这就是dit的fft算法输入序列的序数成为倒位序的原
31、因。(3)倒位序的实现一般实际运算中,总是先向存储单元中按顺序输入序列,为形成倒位序的排列,这通过变址来完成。若序列序号n用二进制数表示,顺序为,那么其倒位序二进制数应当是。表3-1列出了n=8时自然顺序以及相应的倒位序的二进制数。(4)蝶形运算节点的“距离” 仍以n=8时fft运算流图为例,其输入是倒位序的,输出是自然顺序的,第一级每个蝶形两节点间“距离”是4,由此类推得,对点fft,当输出为正常顺序,输入为倒位序时,其第级运算,每个蝶形两节点“距离”则为。(5)的确定对第m级,一个蝶形运算两节点的“距离”为,于是第m级的一个蝶形计算可写成x(000)x(100)x(010)x(110)x(
32、111)x(011)x(101)x(001)01010101010101图3-7 描述倒位序的树状图表3-1 自然顺序及相应的倒位序自然顺序二进制数倒位序二进制数倒位序顺序0000000010011004201001023011110641000011510110156110011371111117 4 数字信号处理 matlab实现的基本知识4.1 matlab简介 matlab软件最初是由美国新墨西哥大学计算机系cleve moler 教授用fortran语言编写的矩阵计算软件,目前该软件是math works公司的产品。matlab全称是matrix laboratory,该软件以矩阵的
33、形式来描述和处理所有的计算机数据,主要由matlab语言、工作环境、图形系统、数学函数库、api函数和工具箱等六大部分组成、前面五部分是其核心内容工作箱子是其辅助内容。第一部分是matlab语言,与c语言、fortran等高级语言近似,用于实现各种算法,matlab包含的编译器还可以将matlab的算法和应用程序文件转变成独立可执行的应用程序。第二部分是matlab工作环境,用户可以完成程序设计、数值计算、图形绘制、输入输出、文件管理等多项功能。第三部分是图形系统,可以完成2d和3d数据显示、动画生成、视频处理、图形显示等功能。第四部分是基础与通用的matlab数据函数库,其功已经大大超越了常
34、用高级语言的基本数学函数库。第五部分是matlab api函数,这使得c语言、fortran语言可以与matlab混合应用,这种交互可以取长补短,提高程序的运行效率,丰富程序开发的手段。第六部分是各种功能极其强大的专业工具箱,涉及到数据获取、数字信号处理、数字图像处理、控制系统分析和设计、最优化方法、系统辨识、智能计算、金融财务分析以及生物信息处理等内容。这些工具箱的算法是开放可拓展的。第三方和用户可根据需要进行拓展。目前,matlab已经在自动控制原理、数字信号处理、数字图像处理、时间序列分析、数理统计、动态系统仿真等课程教学中得到广泛应用,是理工类本科学生和研究生必须掌握的基本工具。不仅如
35、此,matlab在科学研究中被公认为准确、可靠、方便的科学计算软件;在工业部门,matlab被认为是高效仿真、分析和开发的软件工具。基于此,本论文以matlab为基本,做频谱分析。4.2利用matlab计算fft的子函数 用matlab方法计算信号的dft时,主要是用函数 和。对于这两个函数,如果n为2的正整数幂,则可以得到本章中介绍的基2 fft快速算法;如果n既不是2的正整数幂,也不是质数,则函数将n分解成质数,得到较慢的混合基 fft算法;如果 n 为质数,则fft函数采用原来的 dft 算法。实验涉及的matlab子函数1、fft功能:一维快速傅里叶变换调用格式:;利用fft算法计算矢
36、量x的离散傅里叶变换,当x为矩阵时,y为矩阵x每一列的fft。当x的长度为2的幂次方时,则fft函数采用基2的fft算法,否则采用稍慢的混合基算法。;采用n点fft。当x的长度小于n时,fft函数在x的尾部补零,以构成n点数据;当x的长度大于n,fft函数会截断序列x。当x为矩阵时,fft函数按类似的方式处理列长度。2、ifft功能:一维快速傅里叶变换调用格式:;用于计算矢量x的ifft。当x为矩阵时,计算所得的y为矩阵x中每一列的ifft。;采用n点ifft。当时,在x中补零;当时,将x截断,使。 用matlab提供的子函数进行快速傅里叶变换时,从理论学习可知,dft是唯一在时域和频域均为离
37、散序列的变换方法,它适用于有限长序列。尽管这种变换方法是可以数值计算的,但如果只是简单的按照定义进行数据处理,当序列长度很大时,则将占用很大的内存空间,运算时间将很长。快速傅里叶变换是用于dft运算的高效运算方法的统称,fft只是其中的一种,fft主要有时域抽取算法和频域抽取算法,基本思想是将一个长度为n的序列分解成多个短序列,如基2算法,大大缩短了运算时间。4.3 利用matlab实现信号仿真 用fft进行无限长序列的频谱计算,首先要将无限长序列截断成一个有限长序列。序列长度的取值对频谱有较大的影响,带来的问题是引入频谱的泄漏和波动。例1 给出信号为,是一个连续信号,所以我们根据其最高频率确
38、定采样速率,以及由频率分辨率选择采样点数n=64、32、16三种情况进行分析。解答 程序如下:n=input(选择fft变换区间长度n:16 or 32 or 64:); %*输入fft变换区间长度n*%fs=64;n=0:n-1;t=n/fs;x=cos(20*pi*t)+cos(8*pi*t)+cos(16*pi*t);subplot(2,2,1);plot(t,x); %*作信号时域波形*%xlabel(t);ylabel(x(t);title(x(t)时域波形);f=fft(x,n); %*计算fft*%subplot(2,2,2); %*绘制x(n)时域图像*%m=n*0.4;n=0
39、:n-1;stem(n,x,.);n=0:n-1;m=zeros(n);hold on;plot(n,m);t=max(x);xlabel(n)ylabel(x(n)title(x(n)时域波形);subplot(2,2,3); %*绘制n点fft图*%n=0:n-1;stem(n,f,.);t=max(f);xlabel(k)string2=x(n)的n=,sprintf(%2.0f,n),点fft;title(string2);ylabel(|x(k)|);运行如下:当输入16时,图4-1 n=16时x(t)的dft当输入32时,图4-2 n=32时x(t)的dft当输入64时,图4-3
40、n=32时x(t)的dft分析:1、相同,当n越大,在所给范围内等间隔抽样点数越多,且时域信号的长度保留得越长,则分辨率越高,频谱特性误差越小。反之,当n越小时,等间隔采样点数越少,则有可能漏掉某些重要的信号分量,称为栅栏效应。2、图4-1中,在点数n=1,2,14,15外,还有其他值,而在n=32,n=64时只有几根谱线有值,其它处为0,原因是图4-1中信号发生泄漏,信号的频率成分泄漏到周围一些离散频率点上。例2 求正,余弦信号谱。假设采样频率为64hz,采样点n=32,正弦信号频率为10hz,余弦信号频率为20hz,并验证有关性质。解答 程序如下:clear all;n=32;n=0:n-
41、1;fs=64;t=1/fs;x1=cos(20*2*pi*n*t);k=0:n-1;x1=abs(fft(x1,n);subplot(4,2,1);stem(n,x1);xlabel(n);ylabel(x1(n);title(余弦序列);subplot(4,2,2);stem(k,x1);xlabel(k);ylabel(x1(k);title(32点fft幅频曲线);grid on;n=32;n=0:n-1;fs=64;t=1/fs;x1=sin(10*2*pi*n*t);k=0:n-1;x1=abs(fft(x1,n);subplot(4,2,3);stem(n,x1);xlabel(
42、n);ylabel(x1(n);title(正弦序列);subplot(4,2,4);stem(k,x1);xlabel(k);ylabel(x1(k);title(32点fft幅频曲线);grid on;n=32;n=0:n-1;fs=64;t=1/fs;x1=sin(10*2*pi*n*t)+cos(20*2*pi*n*t);k=0:n-1;x1=abs(fft(x1,n);subplot(4,2,5);stem(n,x1);xlabel(n);ylabel(x1(n);title(合序列);subplot(4,2,6);stem(k,x1);xlabel(k);ylabel(x1(k);
43、title(32点fft幅频曲线);grid on;n=32;n=0:n-1;fs=64;t=1/fs;x1=cos(20*2*pi*n*t)+j*sin(10*2*pi*n*t);k=0:n-1;x1=abs(fft(x1,n);subplot(4,2,7);stem(n,x1);xlabel(n);ylabel(x1(n);title(复数序列);subplot(4,2,8);stem(k,x1);xlabel(k);ylabel(x1(k);title(32点fft幅频曲线);结果如下:图4-4 各种序列频谱分析:1、对单一连续信号进行傅里叶变换,首先,将时域信号进行采样,显然,满足题意
44、。由x(t)到x(n),可得最小采样点数为10,又因使用基-2fft算法,故最小采样点数为16,这里n取32符合要求。2、图4-4中,正弦或余弦信号频谱只有两个点不等于0,这正说明它们自身的频率。3、由合序列可知,两信号时域叠加,其频谱亦为线性叠加。4、复数序列实数部分的离散傅立叶变换是原来序列离散傅立叶变换的共轭对称分量;复数序列虚数部分的离散傅立叶变换是原来序列离散傅里叶变换的共轭反对称分量。这里讨论的x(n)与x(k)均为有限长序列,所以这里的对称性是指关于点的对称性。例3 绘制一个正弦信号频谱图并作相关分析,参数自定。解答 程序如下:clear;fs=100;n=1024; %采样频率
45、和数据点数 a=20;b=30; n=0:n-1;t=n/fs; %时间序列 x=a*sin(2*pi*b*t); %信号y=fft(x,n); %对信号进行傅里叶变换 yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/n; %幅值处理 f=n*fs/n; %频率序列 subplot(2,2,1),plot(f,yy); %绘出随频率变化的振幅xlabel(频率/ithz); ylabel(振幅); title(图1fs=100n=1024);grid on; %两种信号叠加x=a*sin(2*pi*b*t)+2*a*sin(2*pi*1.5*b*t); %信号 y=fft(x,n
46、); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/n; %幅值处理 f=n*fs/n; %频率序列subplot(2,2,2),plot(f,yy); %绘出随频率变化的振幅 xlabel(频率/ithz); ylabel(振幅); title(图2fs=100,n=1024两种信号叠加); grid on; %加噪声之后的图像 x=a*sin(2*pi*b*t)+28*randn(size(t); y=fft(x,n); yy=abs(y); yy=yy*2/n; %幅值处理 subplot(2,2,3),plot(f(1:n/2.56),yy(1:n
47、/2.56); xlabel(频率/ithz); ylabel(振幅); title(图3fs=100,n=1024混入噪声); grid on; %改变采样点数n=128; n=0:n-1;t=n/fs; %时间序列 x=a*sin(2*pi*b*t); %信号 y=fft(x,n); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/n; %幅值处理f=n*fs/n; %频率序列 subplot(2,2,4),plot(f(1:n/2.56),yy(1:n/2.56); %绘出随频率变化的振幅 xlabel(频率/ithz); ylabel(振幅); ti
48、tle(图4fs=100n=128);结果如下:图4-5 信号频谱分析:1、图1和图2取相同的采样频率fs=100和数据点数n=1024,不同的是图2采用两种不同幅值和频率的正弦信号叠加。从图中可以看出图2可以明显的看出含有两种不同的频率成分的信号,幅值也不相同。由此可以看出,不同频率的正弦信号叠加,在频域当中互相分离互不影响。 2、从图1和图2可以看出:整个频谱图是以fs/2频率为对称轴的。由此可以知道傅里叶变换数据的对称性。因此在用傅里叶变换做频谱分析时,我们只需做出前一半频谱图即可。 3、图3为混入噪声之后的频谱。可以看出噪声分布在整个频率轴上,并且由于噪声中含有与原信号频率相同的成分,叠加之后导致幅值增加。加大噪声的幅值之后将分辨不出原信号的频率。4、图4减少了数据点数,n=128。与图1相比较,采用128点和1024点的相同频率的振幅是有不同的表现值。因此振幅的大小与所用采样点数有关。一定范围内采样点数越多。信号的幅值越接近真实值。5 总结与展望5.1 总结通过这次毕业设计,使我充分理解了信号处理的重要性,及matlab软件编程方面的知识。在学习过程中,虽然遇到了许多问题,但在老师的指导,自己翻阅大量资料,一步步找出问题所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 消费者细分市场分析-洞察分析
- 文具跨境电商的售后服务体系构建-洞察分析
- 网络化监测数据挖掘分析-洞察分析
- 装饰装修木地板施工工艺流程
- 少先队辅导员岗位职责
- 统编语文四年级教材网络培训心得体会
- 人力资源管理工作计划
- 产房护士分层级培训计划
- 陕师大版六年级综合实践活动下册教学计划
- 2024-2025学年陕西省渭南市韩城市高二上学期期中考试物理试题(解析版)
- 2024-2029年中国IP授权行业市场现状分析及竞争格局与投资发展研究报告
- 北京市海淀区2023-2024学年四年级上学期期末英语试题
- 2024年湖北省汉江国有资本投资集团有限公司招聘笔试参考题库含答案解析
- 广州市九区联考2023-2024学年高一上学期期末教学质量监测数学试卷(原卷版)
- 西方国家的量刑建议制度及其比较
- 游戏方案模板
- 幼儿园大班数学上学期期末考试-试题测试
- 地震预警安装方案
- 汽车产品定义 培训课件
- NICU患儿常规监测和护理要点
- 数字工程勘察信息平台构建
评论
0/150
提交评论