1 实验课程名称 数字信号处理 实验项目名称 利用FFT实现快速卷积 专业 电信 年级 2008 级 姓名 学号 所在学院 应用科技学院 日 期 2009 年 月 日 实验准备 实 验 目 的 (1)加深理解FFT 在实现数字滤波(或快速卷积)中的重要作用,更好的利用FFT 进行数字信号处理。 (2)掌握循环卷积和线性卷积两者之间的关系。 实 验 环 境 (1)计算机一台 (2)Matlab6.5 或以上版本 实 验 内 容 一.实验原理 数字滤波器根据系统的单位脉冲响应h(n)是有限长还是无限长可分为有限长单位脉冲响应(Finite Impu lse Response)系统(简记为 FIR 系统)和无限长单位脉冲响应(Infinite Impu lse Response)系统(简记为 IIR 系统)。 对于 FIR 滤波器来说,除了可以通过数字网络来实现外,也可以通过 FFT 的变换来实现。 首先我们知道,一个信号序列 x (n)通过 FIR 滤波器时,其输出应该是 x (n)与 h(n)的卷积: mmnhmxnhnxny)()()(*)()( 当 h(n)是一个有限长序列,即 h(n)是 FIR 滤波器,且10Nn时 10)()()(Nmmnxmhny 在数字网络类的FIR 滤波器中,普遍使用的横截型结构就是按这个卷积公式构成的。 应用FFT 实现数字滤波器实际上就是用FFT 来快速计算有限长度序列的线性卷积。 X(k) x(n) FFT IFFT H(k) H(k)X(k) y(n) 2 这种方法就是先将输入信号 x(n)通过 FFT 变换为它的频谱采样值 X(k),然后再和 FIR 滤波器的频响采样值 H(k)相乘,H(k)可事先存放在存储器中,最后再将乘积 H(k)X(k)通过快速傅里叶变换(简称 IFFT)还原为时域序列,即得到输出 y(n)。 现以 FFT 求有限长序列间的卷积及求有限长度序列与较长序列间的卷积为例来讨论 FFT 的快速卷积方法。 a.序列 x(n)和 h(n)的长差不多。设 x(n)的长为 N1,h(n)的长为 N2,要求 10)()()()()(Nmmnxmhnynxny 用 FFT 完成这一卷积的具体步骤如下: ①为使两有限长序列的线性卷积可用其循环卷积代替而不发生混叠,必须选择循环卷积长度121NNN,若采用基 2-FFT 完成卷积运算,要求mN2(m 为整数)。 ②用补零方法使 x(n)和 h(n)变成列长为 N 的序列。 1010)()(11NnNNnnxnx 1010)()(22NnNNnnhnh ③用 FFT 计算 x(n)和 h(n)的 N 点离散傅里叶变换 ④完成 X(k)和 H(k)乘积,)(...