CN101330283A - 一种基于可编程逻辑结构的数字滤波器实现方法和系统 - Google Patents
一种基于可编程逻辑结构的数字滤波器实现方法和系统 Download PDFInfo
- Publication number
- CN101330283A CN101330283A CNA2008101427583A CN200810142758A CN101330283A CN 101330283 A CN101330283 A CN 101330283A CN A2008101427583 A CNA2008101427583 A CN A2008101427583A CN 200810142758 A CN200810142758 A CN 200810142758A CN 101330283 A CN101330283 A CN 101330283A
- Authority
- CN
- China
- Prior art keywords
- filter
- ram
- data
- digital filter
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
本发明涉及一种基于可编程逻辑结构实现数字滤波器的方法和系统其中方法包括利用两个双端口RAM构造RAM对,使二者同步工作,缓存滤波器的输入数据;根据滤波器功能要求,如插值,抽取,滤波,把一个RAM对内的两个RAM输出数据相加后作复用处理,并按照相同的原则复用滤波器有效参数;将复用后的数据和参数相乘,并将结果进行累加,作为滤波器的输出数据;其中系统包括一个基本滤波单元,通过统一寻址缓存单元和复用单元来实现基本滤波功能;数据累加单元,用于将基本滤波单元的结果累加输出。本发明可解决利用可编程逻辑结构实现数字滤波器时逻辑代码的可移植性不够,系统资源浪费的问题。
Description
技术领域
本发明涉及一种基于可编程逻辑结构实现数字滤波器的方法和系统。
背景技术
随着数字信号处理技术的越发成熟,利用可编程逻辑结构实现数字滤波器已经得到广泛应用。现代数字信号处理技术要求数字滤波器可以完成插值,抽取和滤波功能。通常的做法是针对不同的功能要求,完全利用逻辑单元搭建相应的滤波器结构。
这种做法在功能上满足设计要求,但实现时却存在如下缺陷:一,它降低了逻辑代码的可移植性,增加了每次设计的工作量。二,由于完全采用逻辑单元搭建,对系统资源造成大量消耗。三,尽管采用流水线结构,但针对不同设计要求所得出的滤波器流水延迟不同,增加了系统整体接口难度。
发明内容
本发明要解决的技术问题是提供一种基于可编程逻辑结构的数字滤波器实现方法和系统,能够提高逻辑代码的可移植性,减少每次设计的工作量并节省系统资源。
为解决上述技术问题,本发明提供了一种基于可编程逻辑结构的数字滤波器实现方法,包括以下步骤:
A1、利用两个双端口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所示,其包括以下步骤:
A1、利用两个双端口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深度扩大一倍,即数据扩出部分填0后再完成上述滤波器过程,而滤波器结构不需要变化。
Claims (10)
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所述的数字滤波器,其特征在于:所述统一寻址缓存单元包括:双端口RAM对(83)与为RAM对(83)提供读写地址的地址产生器(98),写地址速率和写入数据的速率同步,读地址速率和系统工作时钟同步。
8、按照权利要求6所述的数字滤波器,其特征在于:所述复用单元根据滤波器插值,抽取,滤波的功能要求,选择并排列所需参与乘法运算的数据和参数。
9、按照权利要求6所述的数字滤波器,其特征在于:所述基本滤波单元(82)可并行扩展,其个数由滤波器非对称非零系数的个数以及可编程逻辑结构的系统时钟对输入数据速率的倍数决定。
10、按照权利要求7所述的数字滤波器,其特征在于:所述滤波器参数对称时,两个RAM(85)和(86)各自写地址顺序一致,读地址(92)和(93)顺序成倒序关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101427583A CN101330283A (zh) | 2008-07-29 | 2008-07-29 | 一种基于可编程逻辑结构的数字滤波器实现方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101427583A CN101330283A (zh) | 2008-07-29 | 2008-07-29 | 一种基于可编程逻辑结构的数字滤波器实现方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101330283A true CN101330283A (zh) | 2008-12-24 |
Family
ID=40205917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008101427583A Pending CN101330283A (zh) | 2008-07-29 | 2008-07-29 | 一种基于可编程逻辑结构的数字滤波器实现方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101330283A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103378820A (zh) * | 2012-04-19 | 2013-10-30 | 中兴通讯股份有限公司 | 可编程数字滤波实现方法、装置、基带芯片及其终端 |
CN106301286A (zh) * | 2015-05-20 | 2017-01-04 | 北京理工大学 | 一种基于累加器的低复杂度数字匹配滤波方法 |
-
2008
- 2008-07-29 CN CNA2008101427583A patent/CN101330283A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103378820A (zh) * | 2012-04-19 | 2013-10-30 | 中兴通讯股份有限公司 | 可编程数字滤波实现方法、装置、基带芯片及其终端 |
CN106301286A (zh) * | 2015-05-20 | 2017-01-04 | 北京理工大学 | 一种基于累加器的低复杂度数字匹配滤波方法 |
CN106301286B (zh) * | 2015-05-20 | 2018-10-26 | 北京理工大学 | 一种基于累加器的低复杂度数字匹配滤波方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102253921B (zh) | 一种动态可重构处理器 | |
CN102739195A (zh) | 一种fir滤波器的处理方法、装置和系统 | |
CN103984560A (zh) | 基于大规模粗粒度嵌入式可重构系统及其处理方法 | |
CN102342071A (zh) | 一种实现fft/ifft变换的电路及方法 | |
CN104393854A (zh) | 基于fpga的时分复用级联积分梳状抽取滤波器及其实现方法 | |
CN100574098C (zh) | 基于可编程逻辑器件的插值cic滤波器及实现方法 | |
CN101330283A (zh) | 一种基于可编程逻辑结构的数字滤波器实现方法和系统 | |
CN104508748B (zh) | 用于使用延迟锁相回路的记忆体装置的节能设备及方法 | |
CN104348446A (zh) | 一种实现fir滤波的方法和滤波装置 | |
CN104636151A (zh) | 基于应用存储器的fpga芯片配置结构和配置方法 | |
CN101494506A (zh) | 一种流水结构的水声扩频通信带通信号捕获电路 | |
CN104461934A (zh) | 一种适合ddr存储器的时域解卷积交织装置及方法 | |
CN102457267A (zh) | 数据同步处理系统及方法 | |
CN102521149B (zh) | 一种从多缓冲区收取数据的优化轮询系统和方法 | |
CN101694648B (zh) | 傅里叶变换处理方法和装置 | |
CN104239246B (zh) | 提供多端口功能的存储装置与方法 | |
CN103378820A (zh) | 可编程数字滤波实现方法、装置、基带芯片及其终端 | |
Alam et al. | On the implementation of time-multiplexed frequency-response masking filters | |
ITTO20110485A1 (it) | Method and circuit for solving metastability conditions and recovering signal errors in digitalintegrated circuits | |
CN101980140B (zh) | 一种ssram访问控制系统 | |
CN100373325C (zh) | 不确定长度的讯息的调整方法与装置 | |
CN102722143A (zh) | 采用复杂可编程逻辑器件扩展数字信号处理器端口的方法 | |
CN203259592U (zh) | 电能计量装置及其电能计量芯片 | |
CN112732339B (zh) | 一种分时复用时间抽取fft实现方法、系统及介质 | |
CN100486121C (zh) | 一种结构简单的移动求和器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20081224 |