文档详情

IIR型滤波器设计.doc

发布:2017-12-11约4.79千字共9页下载文档
文本预览下载声明
目 录 1.IIR滤波器的基本原理 1 2.IIR滤波器的设计 2 2.1 直接型滤波器的设计 2 2.1.1 设计原理 2 2.1.2 举例设计一个8阶IIR滤波器 3 2.2 级联型结构的实现 5 2.2.1 设计原理 5 2.2.2 设计一个二阶子系统模块 6 2.2.3 利用二阶子模块系统设计级联型滤波器 7 3.小结 9 IIR型滤波器设计 1.IIR滤波器的基本原理 无限脉冲响应(IIR)滤波器具有很高的滤波效率,所要求的阶数不仅比FIR滤波器低,而且可以利用模拟滤波器的设计成果。 IIR滤波器理论和结构 IIR滤波器是一种递归滤波器,具有反馈结构,一般认为具有无限的脉冲响应。下图给出了具有递归结构的滤波器。 图1 递归结构图 其系统的差分方程可以写成: (式1) 由此可以得到系统传递函数为: (式2) IIR滤波器和FIR滤波器相比,最大的特点就是阻带衰减效率高,相位特性差。正是相位特性非线性这个缺陷限制了IIR的广泛应用。 对于IIR传递函数而言,零级点图是其重要属性,最关键的一条就是所有的极点必须在单位圆内。由于线性相位滤波器所有的零点和极点都关于单位圆对称的,所以只允许极点位于z=0。因此,IIR滤波器(极点)只能实现近似的线性相位。为了达到这一目的,需要采用一种来自模拟滤波器设计的著名原则:全通滤波器具有单位增益,引入非零相位增益,用来实现通带内的线性化。 IIR滤波器的FPGA实现 2.IIR滤波器的设计 对于IIR滤波器的实现有很多种方式,包括直接型、级联型和并联型等。其中直接型是最基本的一种结构,级联型是一种较为容易实现和高效的方式。 直接型结构的实现 2.1 直接型滤波器的设计 2.1.1 设计原理 如前所述,IIR滤波器的差分方程为: (式3) 由于在硬件中,乘法和加法操作一般只能有两个输入,所以可以得到如下图所示的网络结图。 图2 直接型IIR滤波器的网络结构图 系数组b对应H(z)中的分子多项式,a对应于H(z)中分母多项式,前者实现滤波器的零点,后者实现滤波器的极点。直接型结构的优点是容易实现,但需要比较大的存储空间。 2.1.2 举例设计一个8阶IIR滤波器 //设计一个8阶的IIR滤波器的verilog程序代码 module IIR_Filter_8(Data_out,Data_in,clock,reset); parameter order = 8; parameter word_size_in = 8; parameter word_size_out = 2*word_size_in + 2; parameter b0 = 4; //前馈滤波器系数 parameter b1 = 22; parameter b2 = 65; parameter b3 = 110; parameter b4 = 110; parameter b5 = 65; parameter b6 = 22; parameter b7 = 6; parameter a1 = 25; //反馈滤波器系数 parameter a2 = -70; parameter a3 = 99; parameter a4 = -85; parameter a5 = 47; parameter a6 = -16; parameter a7 = 4; parameter a8 = 1; output [word_size_out-1 : 0] Data_out; input [word_size_in-1 : 0] Data_in; input clock,reset; reg [word_size_in-1 : 0] Samples_in[0 : order-1]; reg [word_size_in-1 : 0] Samples_out[1 : order]; wire [word_size_out-1 : 0] Data_feedforward; wire [word_size_out-1 : 0] Data_feedback; integer k; assign Data_feedforward=b0*Samples_in[1] + b1*Samples_in[2] + b2*Samples_in[3] + b3*Samples_in[4]+ b4*Samples_in[5]
显示全部
相似文档