一种数字滤波器的实现电路及方法

文档序号:8924911阅读:996来源:国知局
一种数字滤波器的实现电路及方法
【技术领域】
[0001]本发明涉及数字信号处理的技术领域,特别是涉及一种无限脉冲响应数字滤波器(Infinite Impulse Response,IIR)的硬件实现电路及方法。
【背景技术】
[0002]在音视频编解码算法中,需要对前级编解码的数字信号进行滤波处理,如通过滤波器消除视频编解码中的块效应。
[0003]IIR数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器的运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于IIR数字滤波器针对数字信号,特别是音频信号,具有很好的滤波作用,故通常在音频处理时通过软件实现的IIR数字滤波器来实现数字信号的滤波。
[0004]如申请号为201010569177.5、发明名称为《线性相位IIR滤波器的一种实现方法》的中国发明专利公开一种线性相位IIR滤波器的一种实现方法,包括以下步骤:(1)对无限长连续信号采样后得到X(n) = Ix(0),X(1),X(2),…},按照时序划分成长度为L的等长片段,对等长片段依次进行时序反转,反转后得到a(n) = {x (L-1),…,x(0),x(2L-l),…,x(L), x(3L-l),…,x(2L), x(4L-l),…},时序反转的方法包括以下步骤:a.预设一长度为L的寄存器,寄存器的两端分别为第一输入输出端和第二输入输出端;b.x(n)第一个片段的L个信号x(0),…,x(L-l)从第一输入输出端依次存入寄存器;c.第一个片段的L个信号从第一输入输出端依次取出得到X (L-1),…,X (O),第二个片段的L个信号X (L),…,X (2L-1)从第二输入输出端依次存入寄存器;d.第二个片段的L个信号从第二输入输出端依次取出得到X (2L-1),…,X (L),第三个片段的L个信号X (2L),…,x (3L-1)从第一输入输出端依次存入寄存器;e.依照上述步骤持续循环;(2)在反转后得到的片段后面进行L个零输入的延长,对延长后所得的2L长度的新片段利用反向IIR滤波器进行反向滤波,反向滤波后输出片段结果为当前片段的前L个滤波输出响应加上后一个片段的后L个滤波输出响应,即yk = xkL+xk+lT,其中yk为反向滤波后输出的第k个片段,xkL为第k个片段的前L个滤波输出响应,xk+lT为第k个片段后一个片段的后L个滤波输出响应,反向滤波的片段输出序列为f(n) = {y0,yl,y2,...} ; (3)步骤⑵所得到的片段输出序列再按照步骤⑴的方法进行时序反转;(4)将步骤(3)所得到的片段序列利用前向IIR滤波器进行前向滤波,得到输出结果。
[0005]然而,通过软件实现IIR数字滤波器需要消耗系统的CPU资源,导致处理速度相对较慢。对于硬件性能不强的设备,如智能手机、平板电脑等,则会严重影响到用户体验。

【发明内容】

[0006]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种数字滤波器的实现电路及方法,利用硬件高效的计算速度快速实现IIR数字滤波算法,提高了系统处理速度,增强了用户体验。
[0007]为实现上述目的及其他相关目的,本发明提供一种数字滤波器的实现电路及方法,包括IIR控制寄存器、DMA控制器、IIR滤波系数管理模块、IIR计算模块和数据缓存模块;所述IIR控制寄存器与控制总线相连,用于配置IIR滤波器的阶数,分配所需的寄存器;所述IIR滤波系数管理模块与所述IIR控制寄存器相连,用于存储IIR滤波系数,并根据所配置的IIR滤波器的阶数,发送对应的IIR滤波系数至所述IIR计算单元;所述DMA控制器与DMA总线相连,用于控制DMA总线进行外部数据的读取;所述数据缓存模块与所述DMA控制器相连,用于缓存所述DMA控制器读取的外部数据并发送至所述IIR计算模块,以及缓存所述IIR计算模块的计算结果;所述IIR计算模块与所述IIR滤波系数管理模块和所述数据缓存模块相连,用于根据接收到的IIR滤波系数和外部数据,进行IIR滤波计算,并将计算结果缓存至所述数据缓存模块。
[0008]根据上述的数字滤波器的实现电路,其中:IR滤波器的阶数包括一阶滤波、二阶滤波和三阶滤波。
[0009]根据上述的数字滤波器的实现电路,其中:所述IIR计算模块通过定点MAC计算来实现。
[0010]根据上述的数字滤波器的实现电路,其中:所述IIR数字滤波器的硬件实现电路基于DSP处理器实现。
[0011]根据上述的数字滤波器的实现电路,其中:所述数据缓存模块采用SRAM。
[0012]同时,本发明还提供一种数字滤波器的实现方法,包括以下步骤:
[0013]步骤S1、IR控制寄存器配置IIR滤波器的阶数;
[0014]步骤S2、判断IIR数字滤波器的硬件实现电路是否处于繁忙状态;若是,则继续等待,直至硬件实现电路处于空闲状态再转入步骤S3 ;若否,直接转入步骤S3 ;
[0015]步骤S3、DMA控制器控制DMA总线进行外部数据的读取,并将读取的外部数据缓存至数据缓存模块;
[0016]步骤S4、IIR滤波系数管理模块根据所配置的IIR滤波器的阶数,获取对应的IIR滤波系数;
[0017]步骤S5、IIR计算模块根据获得的IIR滤波系数和外部数据,进行IIR滤波计算;
[0018]步骤S6、IIR计算模块得到的计算结果缓存至数据缓存模块。
[0019]根据上述的数字滤波器的实现方法,其中:所述步骤SI中,IIR滤波器的阶数为一阶滤波、二阶滤波或三阶滤波。
[0020]根据上述的数字滤波器的实现方法,其中:所述步骤S2中,繁忙状态表示IIR数字滤波器的硬件实现电路正在处理先前的IIR滤波请求。
[0021]根据上述的数字滤波器的实现方法,其中:所述步骤S5中,所述IIR计算模块通过定点MAC计算来实现。
[0022]根据上述的数字滤波器的实现方法,其中:所述数据缓存模块采用SRAM。
[0023]如上所述,本发明的数字滤波器的实现电路及方法,具有以下有益效果:
[0024](I)通过硬件电路有效提高了 IIR数字滤波器的处理速度,进而提高了相关应用系统的处理速度;
[0025](2)在电子类产品特别是语音识别业务处理上具有重要的使用价值;
[0026](3)提尚了用户体验。
【附图说明】
[0027]图1显示为本发明的IIR数字滤波器的硬件实现电路的结构示意图。
[0028]图2显示为本发明的IIR数字滤波器的硬件实现方法的流程图。
[0029]元件标号说明
[0030]IIIR控制寄存器
[0031]2IIR滤波系数管理模块
[0032]3IIR计算模块
[0033]4数据缓存模块
[0034]5DMA 控制器
【具体实施方式】
[0035]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
[0036]需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[00
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1