一种基于可编程逻辑结构的数字滤波器实现方法和系统的制作方法

文档序号:7513901阅读:131来源:国知局
专利名称:一种基于可编程逻辑结构的数字滤波器实现方法和系统的制作方法
技术领域
本发明涉及一种基于可编程逻辑结构实现数字滤波器的方法和系统。
技术背景随着数字信号处理技术的越发成熟,利用可编程逻辑结构实现数字滤波器已经得到广泛 应用。现代数字信号处理技术要求数字滤波器可以完成插值,抽取和波功能。通常的做法 是针对不同的功能要求,完全利用逻辑单元搭建相应的滤波器结构。这种做法在功能上满足设计要求,但实现时却存在如下缺陷 一,它降低了逻辑代码的 可移植性,增加了每次设计的工作量。二,由于完全采用逻辑单元搭建,对系统资源造成大 量消耗。三,尽管采用流水线结构,但针对不同设计要求所得出的滤波器流水延迟不同,增 加了系统整体接口难度。发明内容本发明要解决的技术问题是提供一种基于可编程逻辑结构的数字滤波器实现方法和系 统,能够提高逻辑代码的可移植性,减少每次设计的工作量并节省系统资源。为解决上述技术问题,本发明提供了一种基于可编程逻辑结构的数字滤波器实现方法, 包括以下步骤-Al、利用两个双端口RAM构造RAM对,使二者同步工作,缓存滤波器的输入数据。A2、根据滤波器功能要求,如插值,抽取,滤波,把一个RAM对内的两个RAM输出数据相加后作复用处理,并按照相同的原则复用滤波器有效参数。A3、将复用后的数据和参数相乘,并将结果进行累加,作为滤波器的输出数据。 进一步地,上述数字滤波器的实现方法可具有以下特点所述步骤A1中的RAM对寻址方式统一,读时钟与写时钟速率不同。进一步地,上述数字滤波器的实现方法可具有以下特点所述步骤A2中每次数据和参数复用的时间起点均相同,且RAM对的第n个输出数据与滤波器的第n个参数顺序严格对应。 进一步地,上述数字滤波器的实现方法可具有以下特点所述步骤A3中的乘法运算,根据插值,抽取,滤波不同的功能要求,选择乘法运算结果,依次加和作为滤波器输出。进一步地,上述数字滤波器的实现方法可具有以下特点:当存在多个RAM对同时运算时, 还需将每个RAM对所对应的乘加结果继续作和,即为滤波器的输出。为解决上述技术问题,本发明提供了一种基于可编程逻辑结构的数字滤波器系统,该系统 包括一个基本滤波单元,用于实现基本滤波功能;数据累加单元,用于将基本滤波单元的结 果累加输出;基本滤波单元包括统一寻址缓存单元,将输入数据缓存并按读地址顺序输出; 复用单元,用于将所述寻址缓存单元输出的数据和参数进行复用处理;乘法器,将复用后的 参数和数据相乘。进一步地,上述数字滤波器可具有以下特点所述统一寻址缓存单元包括双端口 RAM 对与为RAM对提供读写地址的地址产生器,写地址速率和写入数据的速率同步,读地址速率 和系统工作时钟同步。进一步地,上述数字滤波器可具有以下特点所述复用单元根据滤波器插值,抽取,滤波 的功能要求,选择并排列所需参与乘法运算的数据和参数。进一步地,上述数字滤波器可具有以下特点所述基本滤波单元可并行扩展,其个数由滤 波器非对称非零系数的个数以及可编程逻辑结构的系统时钟对输入数据速率的倍数决定。进一步地,上述数字滤波器可具有以下特点所述滤波器参数对称时,两个RAM各自写 地址顺序一致,读地址顺序成倒序关系。本发明提供的一种基于可编程逻辑结构的数字滤波器实现方法和系统,通过结合双端口 RAM,以统一寻址方式实现滤波器的插值,抽取,滤波功能,代替了基本逻辑单元的重复搭建,使得不同功能滤波器的实现过程得以简化并统一,节省了逻辑资源消耗,提高了逻辑代码的 可重用性,并通过固定流水线延迟降低了系统的接口时序要求,达到了功能要求与资源优化 的平衡效果。


下面结合附图和具体实施例进一步对本发明进行详细说明。 图1是系数对称的数字滤波器算法结构。图2是本发明一种基于可编程逻辑结构的数字滤波器的基本滤波单元实现示意图。 图3是图2所示的基本滤波单元中的统一寻址缓存单元示意图。 图4是图2所示的基本滤波单元的并联示意图。
具体实施方式
本发明在图1所示的系数对称的数字滤波器算法结构基础上提出了更适用于工程实现的 数字滤波器设计方法和系统。一种基于可编程逻辑结构的数字滤波器的基本滤波单元实现方法如图2所示,其包括以 下步骤Al、利用两个双端口 RAM85和86构造RAM对83,使二者同步工作,即二者写时钟速率相 同,读时钟速率相同,缓存滤波器的输入数据10。考虑滤波器参数对称的情况,用两个双端 口 RAM85和86构成基本存储单元。读时钟速率大于写时钟速率,即在写地址变化前将RAM内 的缓存数据全部遍历读出。A2、根据滤波器功能要求,如插值,抽取,滤波,把一个RAM对83内的两个RAM85和86 输出数据相加后作复用处理,并按照相同的原则复用滤波器有效参数。对数据和滤波器参数 的复用处理是根据滤波器功能要求,选择并排列所需参与乘法运算的数据和参数。所谓滤波 器有效参数即为滤波器的非对称非零系数。例如若参数为a、 b、 c、 b、 a,则有效参数即为a、 b、 c。由于步骤A1的数据缓存与滤波器功能要求无关,所以每次数据和参数复用的时间起点 均相同,且RAM对的输出数据与滤波器参数顺序严格对应,即第一RAM对的两个RAM输出数 据二者之和与滤波器的第一个参数开始顺序对应,依次类推。这也是最基本的数据和滤波器 参数的复用处理过程,可直接实现滤波功能。插值或抽取功能则根据所需插值或抽取的倍数要求,舍弃相应倍数位置的数据与参数,从而完成所需的数据和参数复用A3、将复用后的数据和参数相乘,并将结果相加,作为滤波器的输出数据。即将每组对应的复用数据与参数的乘积循环累加,其和即为滤波器的输出。以上三步在可编程逻辑结构中级联,以流水线方式工作。不论滤波器功能要求是否一致,该实现方法的流水线延迟时钟数均为相同值。当所用器件及IPcore固定的情况下,使用本方法生成的滤波器延迟都相同。所以本方法不限制具体的延迟时间,可以用于各个厂商的IPcore情况。每个RAM对83的寻址方式是统一的,如图3所示。即所有RAM的写地址91均相同,且 依据输入数据10的速率同步寻址,寻址范围统一由滤波器阶数而定;每个RAM对的读地址 92和93构造方式均由段首地址94,段内偏移地址95,当前写地址91和寻址范围96共同决 定。但每个RAM对83的两个RAM85和86各自读地址92和93不同,依照寻址范围呈倒序关 系。如图3中虛线箭头方向所示。当存在多个RAM对同时运算时,如图4所示,RAM对的个数与乘法器的个数一一对应,并需要将每个RAM对所对应的乘加结果继续作和,为最终滤波器的输出。本发明提供了一种基于可编程逻辑结构的数字滤波器系统,该系统包括一个基本滤波单元82,用于实现基本滤波功能;数据累加单元60,用于将基本滤波单元的结果累加输出。其中基本滤波单元包括统一寻址缓存单元87,将输入数据缓存并按读地址顺序输出;复用单元84,用于将所述寻址缓存单元输出的数据和参数进行复用处理以及乘法器50,将复用后的参数和数据相乘。其中统一寻址缓存单元包括用两个双端口 RAM85和86组成双端口 RAM对83与为RAM 对提供读写地址的地址产生器98,写地址速率和写入数据的速率同步,读地址速率和系统工 作时钟同步。其中复用单元根据滤波器插值,抽取,滤波的功能要求,选择并排列所需参与乘法运算的 数据和参数。即通过对数据的选择排列,利用同一个乘法器以流水线形式完成多次的乘法运 算。该基本滤波单元可并行扩展,其个数由滤波器非对称非零系数的个数以及可编程逻辑结 构的系统时钟对输入数据速率的倍数决定。例如非对称非零系数的个数为三个的时候,若系 统时钟对输入数据速率的倍数为2,那么就不能够在两倍的时间内完成三次乘法运算,故需 要两个RAM对;若系统时钟对输入数据速率的倍数为4,那么就可以在这段时间内完成乘法 运算,故只需要一个RAM对。当存在多个RAM对的时候,则将基本滤波单元并联,并将乘法 器的输出结果进行加和。而并行扩展的流水线延迟不变,达到逻辑资源优化的目的。同样,当滤波器参数不对称的时候,只需将RAM深度扩大一倍,即数据扩出部分填O后 再完成上述滤波器过程,而滤波器结构不需要变化。权利要求
1、一种基于可编程逻辑结构的数字滤波器实现方法,其特征在于,A1、利用两个双端口RAM(85)和(86)构造RAM对(83),缓存滤波器的输入数据(10);A2、把一个RAM对(83)内的两个RAM输出数据相加后进行复用处理,并按照相同的原则复用滤波器有效参数(40);A3、将复用后的数据和参数相乘,并将结果进行累加,作为滤波器的输出数据(70)。
2、 如权利要求1所述的可编程逻辑结构的数字滤波器实现方法,其特征在于所述步骤 A1中的RAM对(83)寻址方式统一,读时钟与写时钟速率不同。
3、 如权利要求1或2所述的可编程逻辑结构的数字滤波器实现方法,其特征在于所述 步骤A2中的每次数据和参数复用的时间起点均相同,且RAM对的第n个输出数据与滤波器的 第n个参数顺序严格对应。
4、 如权利要求1所述的可编程逻辑结构的数字滤波器实现方法,其特征在于所述步骤 A3中的乘法运算,根据插值,抽取,滤波不同的功能要求,选择乘法运算结果,依次加和作 为滤波器输出。
5、 如权利要求4所述的可编程逻辑结构的数字滤波器实现方法,其特征在于当存在多 个RAM对同时运算时,还需将每个RAM对所对应的乘加结果继续作和,即为滤波器的输出。
6、 一种基于可编程逻辑结构的数字滤波器系统,其包括 基本滤波单元(82),用于实现基本滤波功能;数据累加单元(60),用于将基本滤波单元(82)的结果累加输出, 其特征在于-所述基本滤波单元(82)包括统一寻址缓存单元,将输入数据缓存并按读地址顺序输出; 复用单元,用于将所述寻址缓存单元输出的数据和参数进行复用处理; 乘法器(50),将复用的参数和数据相乘。
7、 按照权利要求6所述的数字滤波器,其特征在于所述统一寻址缓存单元包括双端 口 RM1对(83)与为RAM对(83)提供读写地址的地址产生器(98),写地址速率和写入数据 的速率同步,读地址速率和系统工作时钟同步。
8、 按照权利要求6所述的数字滤波器,其特征在于所述复用单元根据滤波器插值,抽 取,滤波的功能要求,选择并排列所需参与乘法运算的数据和参数。
9、 按照权利要求6所述的数字滤波器,其特征在于所述基本滤波单元(82)可并行扩 展,其个数由滤波器非对称非零系数的个数以及可编程逻辑结构的系统时钟对输入数据速率的倍数决定。
10、按照权利要求7所述的数字滤波器,其特征在于所述滤波器参数对称时,两个RAM (85)和(86)各自写地址顺序一致,读地址(92)和(93)顺序成倒序关系。
全文摘要
本发明涉及一种基于可编程逻辑结构实现数字滤波器的方法和系统其中方法包括利用两个双端口RAM构造RAM对,使二者同步工作,缓存滤波器的输入数据;根据滤波器功能要求,如插值,抽取,滤波,把一个RAM对内的两个RAM输出数据相加后作复用处理,并按照相同的原则复用滤波器有效参数;将复用后的数据和参数相乘,并将结果进行累加,作为滤波器的输出数据;其中系统包括一个基本滤波单元,通过统一寻址缓存单元和复用单元来实现基本滤波功能;数据累加单元,用于将基本滤波单元的结果累加输出。本发明可解决利用可编程逻辑结构实现数字滤波器时逻辑代码的可移植性不够,系统资源浪费的问题。
文档编号H03H17/02GK101330283SQ200810142758
公开日2008年12月24日 申请日期2008年7月29日 优先权日2008年7月29日
发明者刘伟达, 艳 廖, 陈德炜 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1