基于Matlab的FIR低通滤波器的设计

2015-01-20 03:15李旭然
电脑知识与技术 2014年36期
关键词:低通滤波器

摘要:在全球电子市场不断发展的背景下滤波器也得到了极大的促进,而数字技术的发展给滤波器带来了良好的技术基础。Matlab(MathWorks公司制造)是目前最为普及的数据、图形绘制处理软件,在滤波器的设计中也具有广泛的应用,以Matlab作为滤波器设计基础可对相关设计进行细致化分析并提升设计效率,为设计工作提供了极大的便捷。该文对基于Matlab的FIR低通滤波器的设计进行了综合性阐述并提出了相关观点,供以参考。

关键词:Matlab;FIR;低通滤波器

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2014)36-8806-02

数字信号技术当前已经步入了成熟化阶段,在对数字信号进行处理的过程中数字滤波是十分重要的一个环节。数字滤波通过将数字信号采取一定的运算逻辑对其进行转变,同时对某些频率进行消除或提升部分频率的相对占有比,以此实现消除干扰频率的目的[1]。与传统滤波相比,数字滤波无论在稳定性方面有着较大的优势并且十分灵活,可满足各类需求。因此对数字滤波器进行综合性分析对于数字信号技术的推动及应用均有着十分重要的意义,值得研究。

1 数字滤波器概述

相较于以往的模拟滤波器数字滤波器无疑有着极大的优势,其主要优势具体如下:1) 具有较高的稳定性以及精度。2) 不需要与阻抗进行一一匹配。3) 可在大规模集成电路中使用。4) 系统函数易于改变,并且具有较高的灵活度[2]。其核心构件为数字信号处理器,其主要工作流程如下:

图1 数字滤波器工作流程图

滤波器种类繁多,从功能角度上来看滤波器可分为低通、高通、带阻以及带通。若以单位脉冲响应作为衡量标准又可将数字滤波器分为即有限脉冲响应滤波器以及无限脉冲响应滤波器,而在具体使用筛选过程中则需要对两种滤波器进行全面分析后才可判定使用的种类。FIR滤波器一般情况下是通过迭代算法来达到滤波目,因此在设计过程中并不存在现成的公式供其使用,因此在FIR滤波器设计过程中对于硬件设备具有较好的要求,而IIR滤波器仅仅通过模拟滤波器设计参数表便可完成设计工作,但在灵活性上较FIR滤波器而言IIR滤波器无疑有着明显的劣势[3]。由于FIR线性相位性能较易实现并且可以实现多频带滤波器,对于非递归滤波器而言可处于稳定工作态,不存在极限环,因此在高速流水式设计当中有着较好的适用性。另外FIR滤波器具备了较低的系数以及算法,在四舍五入误差预算方面较易实现,可对量化噪声进行明确定义当然在实际设计过程中具有较大的工作量,特别是在高阶滤波器的设计中任务较为繁琐。

从类型上来看FIR滤波器又分为两大类即直线型结构以及转置型结构。直线型结构位移寄存其存储的输入数据占有位宽较小并且在FIR滤波器处于线性相位时,可充分发挥其系数对称的特征,从而达到让乘法器减半的目的并让加法器的数量维持原状[4]。但是当FIR滤波器的阶数不断提升时则需要相应地添加一定数量的加法器,这就大大地增加了设计复杂度并使得延时增大,这对FIR滤波器的级联扩展将会带来极大的阻碍[5]。而转置型结构则较好地弥补了上述直线型滤波器的劣势。当然转置型结构也受到了一定的限制,由于需要储存各级乘加其的位宽输出并且无法对FIR滤波器系数线性相位对称的特性进行充分利用从而给设计工作带来了一定的复杂性。

2 基于Matlab的FIR低通滤波器设计分析

基于FIR低通滤波器的实际工作原理,将其分为以下几个子模块:输入模块、输出模块、位移寄存器模块、锁存模块以及乘累加模块。将以上模块作为设计架构然后进行软件设计,首先开启Matlab,利用FDATOOL筛选相关参数从而得到滤波器的特性曲线以及幅度相位波形图并确定抽头数,所得到的单位冲激响应系数如下表所示:

表1 FIR低通滤波器抽头数表

[系数序号\&FIR低通数字滤波器系数\&系数序号\&h[0]\&0.009130028986029\&h[15]\&h[1]\&0.012402533207513\&h[14]\&h[2]\&-0.007012037537839\&h[13]\&h[3]\&-0.042708774204438\&h[12]\&h[4]\&-0.043940782991573\&h[11]\&h[5]\&0.043023789561565\&h[10]\&h[6]\&0.201156813338524\&h[9]\&h[7]\&0.330019348939821\&h[8]\&]

由于设计部分条件所限需要将其进行归一化处理并转换为二进制补码可得:h[0]=h[15]=00000001;h[1]=h[14]=00000010;h[2]=h[13]=11111111;h[4]=[11]=11111010;h[5]=h[10]=00000110;h[6]=h[9]=00011010;h[7]=h[8]=42=00101010。通过计算验证得出上述设置具有可行性并将所得数据置于LUT查表中。经过综合该分析发现若以FPGA对FIR数字滤波器进行构建在乘法算法方面存在着一定的瓶颈,当然在其他方面则具有良好的适应性,因此可利用分布式查找表的方式来对代乘累加模块进行替换。具体设计框架如下图所示:

图2 FIR数字滤波器结构设计图

从图2可知整个系统主要包括filter模块、LUT模块、移位寄存器以及控制模块。其中filter模块的主要功能是对相关数据进行读取,同时对串行数据进行转换从而得到分布式查找表地址。通过filter模块对相关数据进行编译并不会占用过多硬件资源,从而为设计工作提供更大的应用空间。例如当输入数据为8位串行数据时,将会得到4位数字的地址总线,其中en为输入使能信号、clk为时钟信号、add_en为加法使能信号,rf则是复位信号。在clk信号呈现为下降沿时状态时,当en信号表现为高电平时,同时rf信号为高电平时,add_en信号则表现为低电平。

LUT模块是整个设计当中的核心模块,它替代了乘法器,承载了FIR数字滤波器当中关键的乘法运算功能。LUT模块可根据查找表地址将相关数据读取出来,并利用LPM库对结构进行优化,并可对相关设计参数进行后续调用,从而达到对项目设计简化的目的。在实际设计过程中为了让优化硬件资源可将分布式查找表分为若干个小型查找表,若要保证整体的运行速度就需要减少分查表,并将其与加法器结合起来。

移位寄存器主要是对LUT输出数据进行编排,通过位移相加然后出输出结果,而控制模块在这个设计中是保障各模块以及FIR数字滤波器稳定工作的基础,在控制模块的作用下让滤波器、查找表以及移位相加模块等进行有效调用,并保证各模块之间可相互匹配,保证整个系统可有条不紊的运行。

3 结束语

采取Matlab对FIR低通滤波器进行设计可大幅度简化相关设计工作,同时利分布式算法可将乘法运算替代,在使用过程中需对分布式算法进行有效处理来降低应用规模并达到节约硬件资源的目的,让设计更趋合理化。

参考文献:

[1] 郝娟,徐沛文.MATLAB在FIR数字带通滤波器设计中的应用[J].电脑与电信,2011(03).

[2] 饶知.基于FPGA的高效FIR滤波器设计与实现[J].电子元器件应用,2011(01).

[3] 王建行,姚齐国.基于MATLAB的切比雪夫低通滤波器设计[J].新乡学院学报:自然科学版,2011(06).

[4] 郭德才.基于Matlab的FIR低通滤波器的设计与仿真[J].通化师范学院学报,2009(08).

[5] 段佳佳,樊龙龙,张波涛.基于MATLAB的FIR滤波器的设计[J].电子测试,2011(08).

摘要:在全球电子市场不断发展的背景下滤波器也得到了极大的促进,而数字技术的发展给滤波器带来了良好的技术基础。Matlab(MathWorks公司制造)是目前最为普及的数据、图形绘制处理软件,在滤波器的设计中也具有广泛的应用,以Matlab作为滤波器设计基础可对相关设计进行细致化分析并提升设计效率,为设计工作提供了极大的便捷。该文对基于Matlab的FIR低通滤波器的设计进行了综合性阐述并提出了相关观点,供以参考。

关键词:Matlab;FIR;低通滤波器

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2014)36-8806-02

数字信号技术当前已经步入了成熟化阶段,在对数字信号进行处理的过程中数字滤波是十分重要的一个环节。数字滤波通过将数字信号采取一定的运算逻辑对其进行转变,同时对某些频率进行消除或提升部分频率的相对占有比,以此实现消除干扰频率的目的[1]。与传统滤波相比,数字滤波无论在稳定性方面有着较大的优势并且十分灵活,可满足各类需求。因此对数字滤波器进行综合性分析对于数字信号技术的推动及应用均有着十分重要的意义,值得研究。

1 数字滤波器概述

相较于以往的模拟滤波器数字滤波器无疑有着极大的优势,其主要优势具体如下:1) 具有较高的稳定性以及精度。2) 不需要与阻抗进行一一匹配。3) 可在大规模集成电路中使用。4) 系统函数易于改变,并且具有较高的灵活度[2]。其核心构件为数字信号处理器,其主要工作流程如下:

图1 数字滤波器工作流程图

滤波器种类繁多,从功能角度上来看滤波器可分为低通、高通、带阻以及带通。若以单位脉冲响应作为衡量标准又可将数字滤波器分为即有限脉冲响应滤波器以及无限脉冲响应滤波器,而在具体使用筛选过程中则需要对两种滤波器进行全面分析后才可判定使用的种类。FIR滤波器一般情况下是通过迭代算法来达到滤波目,因此在设计过程中并不存在现成的公式供其使用,因此在FIR滤波器设计过程中对于硬件设备具有较好的要求,而IIR滤波器仅仅通过模拟滤波器设计参数表便可完成设计工作,但在灵活性上较FIR滤波器而言IIR滤波器无疑有着明显的劣势[3]。由于FIR线性相位性能较易实现并且可以实现多频带滤波器,对于非递归滤波器而言可处于稳定工作态,不存在极限环,因此在高速流水式设计当中有着较好的适用性。另外FIR滤波器具备了较低的系数以及算法,在四舍五入误差预算方面较易实现,可对量化噪声进行明确定义当然在实际设计过程中具有较大的工作量,特别是在高阶滤波器的设计中任务较为繁琐。

从类型上来看FIR滤波器又分为两大类即直线型结构以及转置型结构。直线型结构位移寄存其存储的输入数据占有位宽较小并且在FIR滤波器处于线性相位时,可充分发挥其系数对称的特征,从而达到让乘法器减半的目的并让加法器的数量维持原状[4]。但是当FIR滤波器的阶数不断提升时则需要相应地添加一定数量的加法器,这就大大地增加了设计复杂度并使得延时增大,这对FIR滤波器的级联扩展将会带来极大的阻碍[5]。而转置型结构则较好地弥补了上述直线型滤波器的劣势。当然转置型结构也受到了一定的限制,由于需要储存各级乘加其的位宽输出并且无法对FIR滤波器系数线性相位对称的特性进行充分利用从而给设计工作带来了一定的复杂性。

2 基于Matlab的FIR低通滤波器设计分析

基于FIR低通滤波器的实际工作原理,将其分为以下几个子模块:输入模块、输出模块、位移寄存器模块、锁存模块以及乘累加模块。将以上模块作为设计架构然后进行软件设计,首先开启Matlab,利用FDATOOL筛选相关参数从而得到滤波器的特性曲线以及幅度相位波形图并确定抽头数,所得到的单位冲激响应系数如下表所示:

表1 FIR低通滤波器抽头数表

[系数序号\&FIR低通数字滤波器系数\&系数序号\&h[0]\&0.009130028986029\&h[15]\&h[1]\&0.012402533207513\&h[14]\&h[2]\&-0.007012037537839\&h[13]\&h[3]\&-0.042708774204438\&h[12]\&h[4]\&-0.043940782991573\&h[11]\&h[5]\&0.043023789561565\&h[10]\&h[6]\&0.201156813338524\&h[9]\&h[7]\&0.330019348939821\&h[8]\&]

由于设计部分条件所限需要将其进行归一化处理并转换为二进制补码可得:h[0]=h[15]=00000001;h[1]=h[14]=00000010;h[2]=h[13]=11111111;h[4]=[11]=11111010;h[5]=h[10]=00000110;h[6]=h[9]=00011010;h[7]=h[8]=42=00101010。通过计算验证得出上述设置具有可行性并将所得数据置于LUT查表中。经过综合该分析发现若以FPGA对FIR数字滤波器进行构建在乘法算法方面存在着一定的瓶颈,当然在其他方面则具有良好的适应性,因此可利用分布式查找表的方式来对代乘累加模块进行替换。具体设计框架如下图所示:

图2 FIR数字滤波器结构设计图

从图2可知整个系统主要包括filter模块、LUT模块、移位寄存器以及控制模块。其中filter模块的主要功能是对相关数据进行读取,同时对串行数据进行转换从而得到分布式查找表地址。通过filter模块对相关数据进行编译并不会占用过多硬件资源,从而为设计工作提供更大的应用空间。例如当输入数据为8位串行数据时,将会得到4位数字的地址总线,其中en为输入使能信号、clk为时钟信号、add_en为加法使能信号,rf则是复位信号。在clk信号呈现为下降沿时状态时,当en信号表现为高电平时,同时rf信号为高电平时,add_en信号则表现为低电平。

LUT模块是整个设计当中的核心模块,它替代了乘法器,承载了FIR数字滤波器当中关键的乘法运算功能。LUT模块可根据查找表地址将相关数据读取出来,并利用LPM库对结构进行优化,并可对相关设计参数进行后续调用,从而达到对项目设计简化的目的。在实际设计过程中为了让优化硬件资源可将分布式查找表分为若干个小型查找表,若要保证整体的运行速度就需要减少分查表,并将其与加法器结合起来。

移位寄存器主要是对LUT输出数据进行编排,通过位移相加然后出输出结果,而控制模块在这个设计中是保障各模块以及FIR数字滤波器稳定工作的基础,在控制模块的作用下让滤波器、查找表以及移位相加模块等进行有效调用,并保证各模块之间可相互匹配,保证整个系统可有条不紊的运行。

3 结束语

采取Matlab对FIR低通滤波器进行设计可大幅度简化相关设计工作,同时利分布式算法可将乘法运算替代,在使用过程中需对分布式算法进行有效处理来降低应用规模并达到节约硬件资源的目的,让设计更趋合理化。

参考文献:

[1] 郝娟,徐沛文.MATLAB在FIR数字带通滤波器设计中的应用[J].电脑与电信,2011(03).

[2] 饶知.基于FPGA的高效FIR滤波器设计与实现[J].电子元器件应用,2011(01).

[3] 王建行,姚齐国.基于MATLAB的切比雪夫低通滤波器设计[J].新乡学院学报:自然科学版,2011(06).

[4] 郭德才.基于Matlab的FIR低通滤波器的设计与仿真[J].通化师范学院学报,2009(08).

[5] 段佳佳,樊龙龙,张波涛.基于MATLAB的FIR滤波器的设计[J].电子测试,2011(08).

摘要:在全球电子市场不断发展的背景下滤波器也得到了极大的促进,而数字技术的发展给滤波器带来了良好的技术基础。Matlab(MathWorks公司制造)是目前最为普及的数据、图形绘制处理软件,在滤波器的设计中也具有广泛的应用,以Matlab作为滤波器设计基础可对相关设计进行细致化分析并提升设计效率,为设计工作提供了极大的便捷。该文对基于Matlab的FIR低通滤波器的设计进行了综合性阐述并提出了相关观点,供以参考。

关键词:Matlab;FIR;低通滤波器

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2014)36-8806-02

数字信号技术当前已经步入了成熟化阶段,在对数字信号进行处理的过程中数字滤波是十分重要的一个环节。数字滤波通过将数字信号采取一定的运算逻辑对其进行转变,同时对某些频率进行消除或提升部分频率的相对占有比,以此实现消除干扰频率的目的[1]。与传统滤波相比,数字滤波无论在稳定性方面有着较大的优势并且十分灵活,可满足各类需求。因此对数字滤波器进行综合性分析对于数字信号技术的推动及应用均有着十分重要的意义,值得研究。

1 数字滤波器概述

相较于以往的模拟滤波器数字滤波器无疑有着极大的优势,其主要优势具体如下:1) 具有较高的稳定性以及精度。2) 不需要与阻抗进行一一匹配。3) 可在大规模集成电路中使用。4) 系统函数易于改变,并且具有较高的灵活度[2]。其核心构件为数字信号处理器,其主要工作流程如下:

图1 数字滤波器工作流程图

滤波器种类繁多,从功能角度上来看滤波器可分为低通、高通、带阻以及带通。若以单位脉冲响应作为衡量标准又可将数字滤波器分为即有限脉冲响应滤波器以及无限脉冲响应滤波器,而在具体使用筛选过程中则需要对两种滤波器进行全面分析后才可判定使用的种类。FIR滤波器一般情况下是通过迭代算法来达到滤波目,因此在设计过程中并不存在现成的公式供其使用,因此在FIR滤波器设计过程中对于硬件设备具有较好的要求,而IIR滤波器仅仅通过模拟滤波器设计参数表便可完成设计工作,但在灵活性上较FIR滤波器而言IIR滤波器无疑有着明显的劣势[3]。由于FIR线性相位性能较易实现并且可以实现多频带滤波器,对于非递归滤波器而言可处于稳定工作态,不存在极限环,因此在高速流水式设计当中有着较好的适用性。另外FIR滤波器具备了较低的系数以及算法,在四舍五入误差预算方面较易实现,可对量化噪声进行明确定义当然在实际设计过程中具有较大的工作量,特别是在高阶滤波器的设计中任务较为繁琐。

从类型上来看FIR滤波器又分为两大类即直线型结构以及转置型结构。直线型结构位移寄存其存储的输入数据占有位宽较小并且在FIR滤波器处于线性相位时,可充分发挥其系数对称的特征,从而达到让乘法器减半的目的并让加法器的数量维持原状[4]。但是当FIR滤波器的阶数不断提升时则需要相应地添加一定数量的加法器,这就大大地增加了设计复杂度并使得延时增大,这对FIR滤波器的级联扩展将会带来极大的阻碍[5]。而转置型结构则较好地弥补了上述直线型滤波器的劣势。当然转置型结构也受到了一定的限制,由于需要储存各级乘加其的位宽输出并且无法对FIR滤波器系数线性相位对称的特性进行充分利用从而给设计工作带来了一定的复杂性。

2 基于Matlab的FIR低通滤波器设计分析

基于FIR低通滤波器的实际工作原理,将其分为以下几个子模块:输入模块、输出模块、位移寄存器模块、锁存模块以及乘累加模块。将以上模块作为设计架构然后进行软件设计,首先开启Matlab,利用FDATOOL筛选相关参数从而得到滤波器的特性曲线以及幅度相位波形图并确定抽头数,所得到的单位冲激响应系数如下表所示:

表1 FIR低通滤波器抽头数表

[系数序号\&FIR低通数字滤波器系数\&系数序号\&h[0]\&0.009130028986029\&h[15]\&h[1]\&0.012402533207513\&h[14]\&h[2]\&-0.007012037537839\&h[13]\&h[3]\&-0.042708774204438\&h[12]\&h[4]\&-0.043940782991573\&h[11]\&h[5]\&0.043023789561565\&h[10]\&h[6]\&0.201156813338524\&h[9]\&h[7]\&0.330019348939821\&h[8]\&]

由于设计部分条件所限需要将其进行归一化处理并转换为二进制补码可得:h[0]=h[15]=00000001;h[1]=h[14]=00000010;h[2]=h[13]=11111111;h[4]=[11]=11111010;h[5]=h[10]=00000110;h[6]=h[9]=00011010;h[7]=h[8]=42=00101010。通过计算验证得出上述设置具有可行性并将所得数据置于LUT查表中。经过综合该分析发现若以FPGA对FIR数字滤波器进行构建在乘法算法方面存在着一定的瓶颈,当然在其他方面则具有良好的适应性,因此可利用分布式查找表的方式来对代乘累加模块进行替换。具体设计框架如下图所示:

图2 FIR数字滤波器结构设计图

从图2可知整个系统主要包括filter模块、LUT模块、移位寄存器以及控制模块。其中filter模块的主要功能是对相关数据进行读取,同时对串行数据进行转换从而得到分布式查找表地址。通过filter模块对相关数据进行编译并不会占用过多硬件资源,从而为设计工作提供更大的应用空间。例如当输入数据为8位串行数据时,将会得到4位数字的地址总线,其中en为输入使能信号、clk为时钟信号、add_en为加法使能信号,rf则是复位信号。在clk信号呈现为下降沿时状态时,当en信号表现为高电平时,同时rf信号为高电平时,add_en信号则表现为低电平。

LUT模块是整个设计当中的核心模块,它替代了乘法器,承载了FIR数字滤波器当中关键的乘法运算功能。LUT模块可根据查找表地址将相关数据读取出来,并利用LPM库对结构进行优化,并可对相关设计参数进行后续调用,从而达到对项目设计简化的目的。在实际设计过程中为了让优化硬件资源可将分布式查找表分为若干个小型查找表,若要保证整体的运行速度就需要减少分查表,并将其与加法器结合起来。

移位寄存器主要是对LUT输出数据进行编排,通过位移相加然后出输出结果,而控制模块在这个设计中是保障各模块以及FIR数字滤波器稳定工作的基础,在控制模块的作用下让滤波器、查找表以及移位相加模块等进行有效调用,并保证各模块之间可相互匹配,保证整个系统可有条不紊的运行。

3 结束语

采取Matlab对FIR低通滤波器进行设计可大幅度简化相关设计工作,同时利分布式算法可将乘法运算替代,在使用过程中需对分布式算法进行有效处理来降低应用规模并达到节约硬件资源的目的,让设计更趋合理化。

参考文献:

[1] 郝娟,徐沛文.MATLAB在FIR数字带通滤波器设计中的应用[J].电脑与电信,2011(03).

[2] 饶知.基于FPGA的高效FIR滤波器设计与实现[J].电子元器件应用,2011(01).

[3] 王建行,姚齐国.基于MATLAB的切比雪夫低通滤波器设计[J].新乡学院学报:自然科学版,2011(06).

[4] 郭德才.基于Matlab的FIR低通滤波器的设计与仿真[J].通化师范学院学报,2009(08).

[5] 段佳佳,樊龙龙,张波涛.基于MATLAB的FIR滤波器的设计[J].电子测试,2011(08).

猜你喜欢
低通滤波器
切比雪夫Ⅱ型模拟高通滤波器的设计及实现*
基于切比雪夫I型低通滤波器设计IIR数字带通滤波器*
IIR数字滤波器设计中频率转换探究
基于瞬时无功理论的谐波检测中低通滤波器的改进
基于电流环相位裕度和补偿特性的静止无功发生器低通滤波器与调节器参数设计方法
非等纹响应低通滤波器研究
后置低通滤波器对冲击负荷电能计量的影响
点火电路中低通滤波器的接地对其性能的影响
低压电力线载波通信结合滤波器设计
基于TMS320F28035CLA的IIR低通滤波器设计