沈阳航空航天大学综合课程设计
一、概述
在通信与信息技术领域,数字信号处理显得越来越重要了,数字滤波器在数字信号处理中起到重要作用并能够获得广泛应用。数字滤波器根据频域特性可以分为低通、高通、带通和带阻四种基本类型,根据时域特性可以分为无限脉冲响应IIR(Infinte Impulse Response)和有限脉冲响应FIR(Finite Impulse Response)。FIR滤波器具有良好的线性相位特性,因此在数据通信、图像处理方面有广泛的应用。
FPGA(Field Programmable Gate Array),即现场可编程门阵列,由于具有用户可编程性,能够实现用户规定的各种用途,因此又被称为可编程专用集成电路,在电子系统的设计中得到广泛的应用。利用FPGA实现FIR数字滤波器的设计,是本次课程设计需要解决的问题,利用学过的知识实现FIR数字滤波器是本次课程设计的主要内容。
二、方案论证
1.FIR数字滤波器是一种线性时不变系统(LTI),如果FIR数字滤波器的单位脉冲响应h(n)的长度为N,其传递函数和差分方程分别为:
H(z) =
N-1?h(n)zn?0?1
N?1y(n) = x(n)*h(n) =?h(m)x(n?m)
m?0其中,x(n)和y(n)分别为输入和输出序列。如果FIR数字滤波器的单位脉冲响应h(n)是实数序列,而且满足偶对称或者奇对称条件,即
h(n) = h(N-1-n)
或者
h(n) = -h(N-1-n)
则滤波器具有严格的线性相位特点。正是因为这种特点,在滤波器的设计过程中,可使乘法器的数量减半。对于n阶滤波器,当n是偶数时,乘法器的个数为n/2个,当n为奇数时,乘法器的个数为(n+1)/2个。
由传递函数和差分方程可以直接画出FIR滤波器的直接型结构如图1所示。
x(n) z-1 z-1 z-1 z-1 …
h(0) h(1) h(2) h(N-3) h(N-2) h(N-1) … y(n)
图1 FIR滤波器的直接型结构
1
沈阳航空航天大学综合课程设计
2.FIR滤波器的实现方法有多种,通常有串行算法、半并行算法和并行算法,在串行算法中,常见的有单乘法器MAC FIR滤波器和对称MAC FIR滤波器。单乘法器MAC FIR滤波器是最简单的DSP滤波器结构之一,在采样速度比较慢、系数比较多的时候,需要用高速时钟来驱动乘法器,硬件数量比较少也使得滤波器的吞吐量下降了。而对于对称MAC FIR滤波器,基于逻辑结构的加法器将数据相加,在单乘法器滤波器的基础上,限制了最高时钟速度,需要额外的资源支持对称。由于数据是在一个端口上正向读出和在另一端口反向读出,因此在控制部分提高了一定的资源消耗。
在并行算法中,常见的有转置型FIR滤波器、脉冲型FIR滤波器等,二者都使用加法器链,但在课程设计中不易实现。
3.根据滤波器的实现表达式,滤波器的实质是做一个乘累加运算,乘累加运算的次数由滤波器的阶数来决定,其串行结构如图2所示。
输入寄存 系数表 输入数据 滤波输出
累加器 图2 滤波器串行实现结构图
利用串行结构来实现FIR滤波器所使用的资源较少,只需要一些寄存器、一些乘累加器就可以完成滤波运算,一次滤波需要的时钟数由滤波器的结束来决定。但对于课程设计的要求,阶数比较低时采用这种方法相对比较方便。根据FIR滤波器的系数对称性,可以先进行加法运算,然后把加法结果再进行串行的乘累加运算。这种串行滤波器的结构如图3所示。
输入数据 R 0 R 1 …
RN?1 RN 乘累加器 滤波输出 图3 串行滤波器结构
4.经过多种方案的比较,本设计最终决定采用串行结构来实现FIR滤波器。方案是利用MATLAB提供的FDAtool设计所需要的FIR数字滤波器,并确定需要的滤波系数,最终实现FPGA的设计。
2
沈阳航空航天大学综合课程设计
三、电路设计
1.利用FDAtool设计FIR数字滤波器。
采用MATALAB中附带的FDAtool工具,输入所需滤波器的参数,即可得到需要的滤波器。
各参数如下:
阶数:15 低通滤波(Lowpass) Bate = 0.5 Fs = 48kHz Fc = 10.8kHz
参数的设置如图4所示。
图4 设置FIR滤波器参数
按照要求的参数,将参数输入FDAtool中,可以自动生成所需要的滤波器,并可以观察到设计的滤波器的幅频响应、相频响应以及得到的滤波器系数。
得到的FIR滤波器的幅频响应如图5所示。
图5 FIR滤波器的幅频响应
幅频特性是描绘输入信号幅度固定,输出信号的幅度随频率变化而变化的规律,从设计的FIR滤波器的幅频响应可以看出,在频率为0至10kHz内表现为通带,10kHz以后表现为阻带,通带与阻带之间幅频响应产生突变,表现为低通滤波。
3
沈阳航空航天大学综合课程设计
得到的FIR低通滤波器的相频响应如图6所示。
图6 FIR滤波器的相频响应
FIR滤波器的相频响应,是指信号通过系统之后的输出信号的相位与它输入时的信号的相位值之差。从滤波器的相频响应的特点,也可以看出其明显的低通特性。
由设计的滤波器可以得到相应的滤波系数如图7所示。
图7 滤波器系数
将得到的滤波器系数导出,并利用MATLAB进行整理: Num*(2^9) ans=
Columns 1 through 14
-19.1269 5.6636 28.9631 2.8166 -45.2723 -25.1068 93.6359 214.4269 214.4269 93.6359 -25.1068 -45.2723 2.8166 28.9631
4
相关推荐: