实验二实现信号频谱分析.ppt
关于实验二实现信号频谱分析一、实验目的进一步加深DFT算法原理和基本性质的理解。学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。 应用FFT实现信号频谱分析第2页,共17页,2024年2月25日,星期天二、实验原理快速傅立叶变换(FFT)算法长度为N的序列的离散傅立叶变换为:N点的DFT可以分解为两个N/2点的DFT,每个N/2点的DFT又可以分解为两个N/4点的DFT。第3页,共17页,2024年2月25日,星期天依此类推,当N为2的整数次幂时(2N),由于每分解一次降低一阶幂次,所以通过M次的分解,最后全部成为一系列2点DFT运算。以上就是按时间抽取的快速傅立叶变换(FFT)算法。当需要进行变换的序列的长度不是2的整数次方的时候,为了使用以2为基的FFT,可以用末尾补零的方法,使其长度延长至2的整数次方。第4页,共17页,2024年2月25日,星期天序列X(k)的离散傅立叶反变换为离散傅立叶反变换与正变换的区别在于WN变为WN-1,并多了一个1/N的运算。因为WN和WN-1对于推导按时间抽取的快速傅立叶变换算法并无实质性区别,因此可将FFT和快速傅立叶反变换(IFFT)算法合并在同一个程序中。第5页,共17页,2024年2月25日,星期天2、MATLAB函数傅里叶变换函数常用的FFT及反变换函数如下表所示。函数说明fft计算快速离散傅立叶变换fftshift调整fft函数的输出顺序,将零频位置移到频谱的中心ifft计算离散傅立叶反变换第6页,共17页,2024年2月25日,星期天?fft函数:调用方式如下y=fft(x):计算信号x的快速傅立叶变换y。当x的长度为2的幂时,用基2算法,否则采用较慢的分裂基算法。y=fft(x,n):计算n点FFT。当length(x)n时,截断x,否则补零。第7页,共17页,2024年2月25日,星期天【例2-11】产生一个正弦信号频率为60Hz,并用fft函数计算并绘出其幅度谱。第8页,共17页,2024年2月25日,星期天?fftshift函数:调用方式如下y=fftshift(x):如果x为向量,fftshift(x)直接将x的左右两部分交换;如果x为矩阵(多通道信号),将x的左上、右下和右上、左下四个部分两两交换。【例2-12】产生一个正弦信号频率为60Hz,采样率为1000Hz,用fftshift将其零频位置搬到频谱中心。例2-1260Hz正弦信号的幅度谱及搬移后的频谱第9页,共17页,2024年2月25日,星期天?ifft函数:调用方式如下y=ifft(x):计算信号x的傅立叶反变换。【例2-13】计算方波信号的傅立叶反变换。例2-13矩形信号及其IFFT变换y=ifft(x,n):计算n点IFFT。如果length(x)n,以n为长度截短x,否则补零。第10页,共17页,2024年2月25日,星期天三、实验内容考虑长度为5的有限序列,设采样周期为0.5s。要求用FFT来计算其频谱。第11页,共17页,2024年2月25日,星期天三、实验内容用FFT计算下列连续时间信号的频谱。在t0时,xa(t)=0。已知序列试绘制x(n)及它的离散傅立叶变换|X(k)|图。第12页,共17页,2024年2月25日,星期天四、实验步骤复习DFT的定义、性质和用DFT做谱分析的有关内容。复习FFT算法原理与编程思想,并对照DFT-FFT运算流图和程序框图,读懂FFT程序。下图给出了主程序框图,供参考第13页,共17页,2024年2月25日,星期天四、实验步骤实验内容1的程序运行结果如下图所示:第14页,共17页,2024年2月25日,星期天四、实验步骤实验内容2的程序运行结果如下图所示:第15页,共17页,2024年2月25日,星期天四、实验步骤实验内容3的程序运行结果如下图所示:第16页,共17页,2024年2月25日,星期天感谢大家观看第17页,共17页,2024年2月25日,星期天