资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
基于并行结构的 FIR 滤波器的设计摘要本文详细地叙述了线性相位FIR数字滤波器的一种设计方法。在滤波器硬件设计中, 采用了分布式算法来计算滤波器中的乘积和运算,提高了信号的处理效率。由于采用了分布式算法的并行结构, 提高了滤波速度。本文通过MATLAB设计出一个具体指标的 FIR滤波器,并对滤波器系数进行了处理,使之便于在FPGA中实现。关键字:FIR 滤波器,并行结构, MATLAB.1、FIR并行处理结构数字滤波器是语言与图像处理,模式识别,雷达信号处理,频谱分析等应用中的一个基本信号处理部件。它能避免模拟滤波器所无法客服的温度漂移和噪声等问题,同时具有比模拟滤波器精度高,稳定性好,体积小,应用灵活等优点,在各领域得到了广泛的应用。FIR数字滤波器主要采用非递归结构,不论在理论上还是在实际的有限精度运算中都不存在稳定性问题。此外,它也很容易做到严格的线性相位特性。稳定和线性相位特性是FIR 滤波器两个突出的优点。 图1、并行滤波器结构数字滤波器主要通过乘法器、加法器和移位寄存器实现。串行处理方式在阶数较大的情况下,处理速度较慢。而现在数字信号处理要求能够快速、实时处理数据,并行处理数据能够提高信号处理能力,其结构如图1所示。从上面的算法可以看出,处理数据和采样时钟对每一个抽头来说都是并行的,并且,加法器和移位寄存器采用级联的方式,完成了累加的功能,综合了加法器和移位寄存器的优点,而且这种算法的各级结构相同,方便扩展,实现了任意阶数的滤波器。算法中,真正占用系统资源的是乘法器。如果将系数量化成二进制,就能采用移位寄存器和加法器实现乘法功能。2、并行计算的算法原理并行结构滤波器设计,是将一个SISO系统转换为MIMO系统,从而实现数据的并行处理,进而提高采样率,是采用复制硬件的方法,以使几个输入能够并行处理,而几个输出能够在同一时间产生出来。在本文中,通过多项式分解方法,引入一个例子进行举例说明。在时域中,一个N抽头的FIR滤波器可表示为:* 10()*()(),01,23.NiynhxhxniMERGEFORMAT (2.1)其中,x(n)是一个无限长的输入序列,序列h(n)包含了长度为N的FIR滤波器的系数,或者,在z域中可以表示为:* 100()()()()NnnnYzHXzhzxzMERGEFORMAT (2.2)输入序列x(0),x(1),x(2),x(3)可以被分解为偶数部分和奇数部分,如下式所示:* 12324124210()()()().(5).XzxzxzxxzMERGEFORMAT (2.3)其中, 和 分别是x(2k)和x(2k+1)( )的z变换。在20()Xz1 0k公式(2.3)中,X(z)被分解为两个多项式。同样,N长度的滤波器系数H(z) 可以被分解为:* MERGEFORMAT (2.4)2120()()HzzH其中 和 长度分别为N/2,对应于偶数子滤波器和奇数子20()Hz21()z滤波器。偶数部分输出序列 和奇数次输出序列(2)yk的计算如下所示:(2)yk* MERGEFORMAT 2120 12022011 210()()()()()YzzYXHzzXzz(2.5)其中, 和 分别对应时域中的 和 。公式(2-5)20(Yz21()()yk(1)中滤波器运算在每次迭代中,处理两个输入 和 ,并产生2xk两个输出 和 ,所以被称为 2 并行 FIR 滤波器。(2)yk()例如一个 N 抽头 FIR 滤波器的系统框图如图 2 所示。其中,图 2、N 抽头 FIR 滤波器H(z )是一个 N 抽头的 FIR 滤波器。该系统的每个输入采样周期需要 N 次乘法运算和 N-1 次假发运算。但是,因为奇数次输出不会给抽取器保留,于是,这些输出不必计算。那么,每个输入采样周期的计算需求可以减小到 N/2 次乘法和 N-1/2 次加法运算。通过使用并行滤波器结构,计算需求可以进一步减小。图 3、N/2 抽头 FIR 滤波器根据以上关于系统多项表示的方法,可以将图 2 中滤波器设计为如下形式(如图 3)所示,这样便可以减少运算次数,因为舍弃了数据中奇数次项的计算,使整个运算减少到原来的一半。3、FIR滤波器的MATLAB设计在 MATLAB 的 toolbox 中,有 filter design 工具箱,利用该模块图 4MATLAB 中的 FILTER DESIGN TOOLBOX可以方便的进行 FIR 低通滤波器的设计,如图 4 所示。在 filter design & analysis tool 窗口中,可以方便的设置滤波器的类型(filter type) 、频率特性分析方式( frequency specification) 、设计方法(design method) 、及规范(magnitude specification) 。例如,利用该工具箱,我们设计一个低通 FIR 滤波器,滤波器性能参数设置如下:我们将频率特性分析方式设置为 normal alized(0 to 1) ; design method 设置为 FIR,equiripple; pass=0.3,stop=0.56;Apass=0.05db, Astop=68db;并在 filter order 选项卡中选择 MINIMUM ORDER。然后,依据以上参数进行filter 自动设计,得到一个 23 阶的 FIR 滤波器,他的幅频特性如图 5所示。图 5、FIR 滤波器的幅频特性在以上设计中,MATLAB 共给出了 23 个滤波器参数,h(n ) ,这些系数是双精度浮点数,并且它们是比较小的。由于 FPGA 期间只能处理有限位的定点数,因此,必须对滤波器系数进行一定的处理:第一,将系数扩大 4096 倍;第二,将扩大的系数按照四舍五入进行取整。这样,在 FPGA 中,每个系数就可以用 12 位二进制数来表示,其中最高位为符号位。处理后的系数,在 MATLAB 中重新进行数字滤波器的设计。得到新的 FIR 滤波器的幅频特性如图 6 所示,由该图可知新的滤波器的 pass=0.3,stop=0.56,阻带最小衰减为 63.204db,通带最大衰减为 0.6614,由此可以看出,系数处理对滤波器的性能没有影响。根据以上仿真,我们可以看出,我们设计的 FIR 滤波器,通过参数修改,可以用 FPGA 来设计实现,并且滤波性能没有收到参数修改的影响。4、结论本文中详细论述了 FIR 滤波器的并行结构及其优点,通过MATLAB 工具设计线性 FIR 数字滤波器的方法,针对具体指标的 FIR滤波器,采用了并行结构的 FPGA 中实现了高速 FIR 数字滤波器的设计,其可行性进通过 MATLAB 对滤波器的幅频特性得到了验证,具有一定的实用价值。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号