CN1159845C - 滤波器结构和方法 - Google Patents
滤波器结构和方法 Download PDFInfo
- Publication number
- CN1159845C CN1159845C CNB981195997A CN98119599A CN1159845C CN 1159845 C CN1159845 C CN 1159845C CN B981195997 A CNB981195997 A CN B981195997A CN 98119599 A CN98119599 A CN 98119599A CN 1159845 C CN1159845 C CN 1159845C
- Authority
- CN
- China
- Prior art keywords
- register file
- fir
- multiport register
- filter
- port
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/06—Non-recursive filters
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
Abstract
一种有限脉冲响应(FIR)滤波器,使用多端口寄存器堆来实现其工作所需的输入延时。多端口寄存器堆可以有附加的输出端口。每个多端口寄存器堆的至少一个输出耦连至该FIR滤波器中下一级的输入(如果有的话)上。此外,每个多端口寄存器堆将一个输出来的数据馈送至该FIR滤波器内其有关级中的乘法-加法部分上。对每个多端口寄存器堆的读出和写入地址以及写入使能信号,可以以流水线方式提供出。
Description
技术领域
本发明涉及有限脉冲响应(FIR)滤波器,更具体地涉及应用时分复用乘法器的FIR滤波器,每个乘法器有多个系数。
背景技术
先有技术的有限脉冲响应(FI R)滤波器中对各输入样值使用固定的延时线。此类延时线应用一系列边沿触发的触发器来实现。结果,在运用中,先有技术的延时线消耗的功率比所希望的多。此外,先有技术的FIR滤波器通常是应用单一种滤波器结构研制的,因而在实现不同类型的滤波器上缺乏灵活性。
发明内容
按照本发明的原理,去掉了先有技术有限脉冲响应(FIR)滤波器中的固定延时线。代之以的是多端口寄存器堆(multiportedregister file),用于实现滤波器运行中所需的诸输入延时。
多端口寄存器堆是一种通常很小的存储器,例如容量为4个字,具有至少一个读端口和一个写端口。已写入多端口寄存器堆的数据可以从中以任何所需的次序读出。多端口寄存器堆可以有附加的输出端口,从它们那里以任一所需的次序也可读出其中存储的数据,与任何其它输出端口的读出次序不相关。
按照本发明的一个方面,将FIR滤波器布置成使用多端口寄存器堆来存储样值数据,每个多端口寄存器堆至少有一个输出端口,连接至该FI R滤波器中的下一级输入(如果有的话)上。此外,每个多端口寄存器堆将一个输出端口来的数据馈送至FIR滤波器中其有关级的乘法-加法部分上。要指出,这些输出可以是相同的。
当对一个特定的样值需要引入至少一个样值延时时,使存储该样值的多端口寄存器堆工作以提供出作为一个输出的数据,它是先前存储在那里的,与现行供给寄存器作为输入的任何数据无关。对比之下,当一个特定样值到达一个特定多端口寄存器堆而不需要延时时,该样值通路中的多端口寄存器堆便工作在穿通状态。穿通状态是这样一种状态,加入到多端口寄存器堆输入端口上的样值直接通往其诸输出端口中的至少一个端口上。这样做,能维持一种常规的结构。
本发明的一个实施例中,对于每个多端口寄存器堆不是各别地给以读地址和写地址,而是将地址以流水线方式给出,使得整个滤波器只需要一个读出和写入地址发生器。取决于FIR滤波器所实现的功能,写入使能信号也可以是流水线式的。
多端口寄存器堆亦能应用来存储FIR滤波器用的系数,尤其是对于自适应滤波器,使其系数可以改变。
优点还在于,比之前有技术的FIR滤波器可做到低功率。此外,滤波器设计人员能够实现灵活性,以单一个滤波器来完成许多不同的滤波器结构。
附图说明
附图中:
图1表明一个按照本发明原理的示例性多端口寄存器堆,它可以应用在有限脉冲响应(FIR)滤波器内每一级之间;
图2表明一个按照本发明原理的示例性基本滤波器级,它使用了多端口寄存器堆;
图3表明一个示例性的基本FIR滤波器,它由图2的J个级联基本滤波器级组成;
图4表明按照本发明原理的完整FIR滤波器,它由图3的Q个级联基本FIR滤波器组成;
图5、6、和7示明可使用于各种滤波器设计中的各种具体的上溢/下溢检测单元和/或饱和单元;
图8表明一个示例性的图3中的基本FIR滤波器,它使用进位保留算法;及
图9表明按照本发明的一个示例性的完整FIR滤波器,它由4个级联的基本滤波器级组成,每个基本滤波器级为基本FIR滤波器300。
具体实施方式
图1表明一个按照本发明原理的示例性多端口寄存器堆,它可以应用在有限脉冲响应(FIR)滤波器内诸级之间。多端口寄存器堆是一种通常很小的存储器,例如容量为4个字,具有至少一个读出端口和一个写入端口。已写入多端口寄存器堆的数据可以从中以任何所需的次序读出。多端口寄存器堆可以有附加的输出端口,从它们那里以任一所需的次序也可读出其中存储的数据,与任何其它输出端口的读出次序不相关。
更具体地,图1示出多端口寄存器堆101,其中包括有着存储器单元103-1至103-H的存储器103。尽管可以由滤波器设计人员自由处理地随意选择,但H通常是一个小数目,例如为4。小的H值可以使FIR滤波器在实现信号处理上比之用其它方法做出的FIR滤波器更高效,处理信号中样值速率是在诸如应用于宽带接入的调制解调器内见到的典型时钟频率量级值内。数据通过写入端口W写入多端口寄存器堆101,写入端口W包括N条数据线。写入端口W呈现的数据在写入存储器单元103内的哪一个上,是由写入地址端口WA规定的。
数据经由任一个读出端口R从多端口寄存器堆101中读出,包括读出端口R1至RK。读出端口R1至RK中之任一个各别地包括有多个数据线的M1至MK。数值N大于或等于上述每一个的值。因此,需要时可以以小一些的数据精确度从读出端口中读出多端口寄存器堆101内存储的数值。从存储器单元103内具体哪一个单元中读出数据而呈现于读出端口R1至RK的任一个上,由相应地供给读出地址端口RA1至RAK中编号的一个来规定。不需读出使能信号以使得一个输出呈现于读出端口R1至RK中的任一个上。简单地提供给合适的读出地址就足以产生出相应的输出。通常,写入地址WA和读出地址RA1至RAK有相同的地址线数目L。
数据何时和是否写入多端口寄存器堆101是写入使能信号WE值的函数。当WE有第一值时,数据写入多端口寄存器堆101。当WE有第一值的补值时,数据不写入多端口寄存器堆101。
在同一时间上,可对多端口寄存器堆101写入和读出数据。更准确地说,同一时间上可对存储器单元103中具体的同一个单元写入和读出数据。因此,一个第一值可以写入存储器单元103中具体的一个单元,而同一时间上一个不同的值可从这同一个具体单元中读出,提供给读出端口R1至RK中的一个或多个端口。另外的情况是(尽管那样做法通常并不希望),在向存储器单元103中具体的一个写入时,存储器单元103中这具体的同一个被选择为在读出端口R1至RK上读出,可以是读出端口上的读出值为当前正写入该具体单元的值,即它是当前由写入端口W上给出的值,以取代读出端口上读出的值是先前存储在该具体的存储器单元内的值。多端口寄存器堆101的这种特性称为穿通,它是由信号LT控制的。因此,通过多端口寄存器堆101时实质上给出零延时。
图2表明按照本发明原理的示例性基本滤波器级200,它使用了多端口寄存器堆,在按照本发明配置的FIR滤波器中,每个多端口寄存器堆除了最后一个寄存器外,都至少有一个输出连接至该FIR滤波器中下一级的输入上。如图2中所示,FIR滤波器的一个级中包括有多端口寄存器堆(MPR)201和203、乘法器205、加法器207、可选的更新单元209和可选的上溢/下溢检测和/或饱和(OUS)单元211。多端口寄存器堆201和203的设计与多端口寄存器堆101中所述的设计相同。多端口寄存器堆201应用于存储数据和向FIR滤波器提供数据。按照本发明的原理,多端口寄存器堆201位于FIR滤波器中相邻级的乘法-加法部分之间,如下面进一步的说明,该FIR滤波器包括有乘法器205和加法器207。多端口寄存器堆203应用于存储数据和向FIR滤波器提供滤波器提供滤波器系数。乘法器205应用来将数据值乘上一个系数。加法器207将数据与系数的乘积加到自前一级提供的总和上。
除了对FIR滤波器存储和提供数据外,多端口寄存器堆201还向FIR滤波器中的下一级提供数据。图2中所示FIR滤波器级的示例性实施例中,多端口寄存器堆201的诸读出端口R之一向乘法器205提供数据,而诸读端口R之另一个应用来向FIR滤波器中的下一级提供数据。本发明的另一个实施例中,应用来向FIR滤波器中的乘法器205和下一级提供数据的读出端口可以是同一个端口。
当FIR滤波器为自适应滤波器时,更新单元209应用来向多端口寄存器堆203提供更新的系数。图2中所示FIR滤波器级的示例性实施例中,多端口寄存器堆203中诸读出端口R之一向乘法器205提供数据,而诸读出端口R之另一个向更新单元209提供数据。本发明的另一个实施例中。应用来向乘法器205和更新单元209提供数据的读出端口可以是同一个端口。
上溢/下溢检测和/或饱和单元211应用来在发生上溢或下溢时防止滤波器中发生严重的错误。此类错误是因为应用二进制数实施算法中通常技术的性质而会发生的。例如,当应用由2的补码数据表示的两个大的正数进行相乘时,结果会呈现成一个负数,这显然是错误的。上溢/下溢检测和/或饱和单元211通过给出一个取决于其具体情况的输出来防止这种问题:a)指明是否已发生上溢或下溢的标志位;b)可由一处饱和值表明最大正数或负数的一个值;或是c)计算的实际结果。
所以,有几种可能的上溢/下溢检测和/或饱和单元211的具体方案供使用。上溢/下溢检测和/或饱和单元211的每种方案接收一个数据值和可选用的上溢和下溢标志位作为输入。这些方案示于图5、6和7中,并在下面作出更全面的描述。
图3示出一个示例性的基本FIR滤波器300,它由J个级联的基本滤波器级(BFS)200-1至200-J组成,其每一个与基本滤波器级200结构相同。FIR滤波器300中诸基本滤波器的布置,使FIR滤波器300构成周知的直接形式滤波器。此种滤波器具有一条通过其全部加法器的通路,它并不经过任何寄存器。在图3的直接形式滤波器中应用时,其布置上每个多端口寄存器堆203用的全部LT信号都设定成防止穿通工作。对于多端口寄存器堆201,LT信号设定得使基本滤波器级200-1能够穿通工作,而基本滤波器级200-2至200-J不能工作。
每个基本滤波器级200的控制信号可以独立地供给。然而,按照本发明的一个方面,诸控制信号共同在流水线状态下供给。更准确地说,每种类型的单个控制信号来源于一个公共控制单元,该信号以各别的延时传输至每个基本滤波器级200上。例如,图3中WE信号由寄存器(REG)303予以延时。取决于滤波的用途,延时可以是一个或多个时钟周期。同样,WA信号由寄存器(REG)305予以延时。类似地,供每个多端口寄存器堆201用的RA信号在供给任一个基本滤波器级200之前被寄存器(REG)307延时。同样,供每个多端口寄存器堆203用的RA信号在供给任一个基本滤波器级200之前被寄存器(REG)309延时。
应当指出,多端口寄存器堆203中信号WE、WA、和W的系数只当对它们装载系数时才应用,例如当初始化时或者系数自适应地更新时,事实上,系数可以存储于ROM或类似的媒体中,因而不需要多端口寄存器堆203中信号WE、WA和W的系数。所以,为简明起见,图3中未示出它们。
此外,就在FIR滤波器300的输出之前有一个附加的、可选用上溢/下溢检测和/或饱和单元211。基本FIR滤波器300的输出可由寄存器(REG)311锁存。
图4示出按照本发明原理的完整FIR滤波器400,它由Q个级联的基本FIR滤波器(BFF)300-1至300-Q组成,其每一个与基本滤波器300结构相同。此外,在FIR滤波器301的输出上有一个附加的、可选用上溢/下溢检测和/或饱和单元211。得到的完整FIR滤波器400的输出可以作为一个运行和来相加,它可以应用信号Z在累加器(ACCUM)401中受控地被清除。
往往希望,滤波器的运行中没有或者只有短的等待时间。为此,按照本发明的情况,对基本FIR滤波器300-1中基本滤波器级200-1内寄存器201输入的控制信号,也即对其输入样值要给出滤波的第一个寄存器的控制信号,可以不同于前面叙述的在流水线状态下供给,而是独立地提供出。此类独立的控制信号示于图4中,标记为可选用的信号RAF、WEF和WAF。这些控制信号的工作可做到确保第一次的一个数据样值进入FIR滤波器400,结合有该样值的输出的产生没有任何时钟周期的延时;而如果采用流水线式控制信号,得不到此种结果的。如果采用了流水线式控制信号,则滤波器输出中会形成一个结合进那输入样值的初始延时。
图5示出一种方案的上溢/下溢检测和/或饱和单元211,它只包括有上溢/下溢检测单元501。上溢/下溢检测单元211例如可以工作在一种周知的运行状态下,诸如确定一个接收到的输入其G比特的精度是否可由Y比特的精度来代表,这里Y小于G。如果接收到的输入是具有G比特精度的一个数目,又该输入能以Y比特精度来代表,则可确定不会发生下溢或上溢,只应用Y比特精度就能将输入数目的值给出作为上溢/下溢检测和/或饱和单元211的输出。要不然,如果输入数目的大小只用Y比特精度来代表显得输入太大,则可确定要发生下溢或上溢。如果发生了上溢或下溢,则设定相应的标志位,给出它作为输出。发生的是上溢还是下溢,通过判断输入是否大于能由Y比特精度代表的最大值或是否小于能由Y比特精度代表的最小值确定。
图6示出一种方案的上溢/下溢检测和/或饱单元211,它只包括有饱和检测单元601。饱和检测单元601例如可以工作在周知的通常状态下。比如,饱和检测单元601接收一个Y比特精度的输入数目和一个上溢标志位值与一个下溢标志位值。如果上溢标志位置位,则饱和检测单元601给出能应用Y比特精度代表的最大值作为输出。如果下溢标志位置位,则饱和检测单元601给出能应用Y比特精度代表的最小值作为输出。如果上溢标志位和下溢标志位均不置位,则饱和检测单元601只应用Y比特精度的输入值作为输出。
图7示出一种方案的上溢/下溢检测和/或饱和单元211,它包括有连接至饱和检测单元601上的上溢/下溢检测单元501。上溢/下溢检测单元501和饱和检测单元601的工作如上面所描述。如图7中所示的上溢/下溢检测和/或饱和单元211的合成工作是当接收到G比特精度的一个数目作为输入时,作为输出所给出的是:a)如果以Y比特的精度能代表G,而Y小于G,则输出采用Y比特精度下的G的实际值;或者b)如果输入数目的大小只用Y比特精度来代表显得输入太大,则输出采用Y比特精度下能代表的最大值或最小值。提供出作为输入的是最大值还是最小值,决定于输入是否大于Y比特精度能代表的最大值,或是小于Y比特精度能代表的最小值。
为了减小功耗和增大运行速度,FIR滤波器中乘法器205和加法器207的实现可以使用进位保留算法。此外,一个或多个FIR滤波器300之每一个中的加法器207可以安排成树状结构。FIR滤波器300之一中这样一种加法器树状结构可以将其前一FIR滤波器300来的输入加在诸加法器207组成的树的底部上。一个4级的此种布置示于图8中。本技术领域内的熟练人员会知道,怎样将所示的布置扩展成别的数目的级。
在FIR滤波器400中以降低运行速度为代价来减小功耗时,人们可以使规定出FIR滤波器300中基本滤波器级200的数目的J值最大。这是因为,此种最大化容许减小寄存器311的数目,它们是通过流水线再定时的作用而使用于完整FIR滤波器400中的。关于流水线再定时的更详细资料例如可参见C.E.Leiserson等人的“Optimizing SynchronousCircuitry by Retiming(借助再定时的最佳同步电路)”,3rd CaltechConf.VLSI,PP 87-116,1983,它结合在此充分地作为参考。应当指出,实现流水线再定时中,输入数据通路内需有附加的寄存器。然而,按照本发明的原理,流水线再定时中本来需要的这些附加寄存器的功能可以用寄存器堆201实现的功能取代。
应用寄存器堆201的优点在于,寄存器堆中任何一个的功耗与程序等待时间无关,因而按照本发明原理来实现流水线再定时并不增加功耗。应有寄存器堆201的再一个优点在于,它们能使寄存器的等待时间可编程,这容许一个滤波器结构实现许多不同的滤波器。
按照本发明的原理以及以流水线方式实施滤波器设计中,开发控制信号的一种方法是从常规滤波器设计开始。随后,设计时分复用并映射至例如完整FIR滤波器400那样要使用的本发明的正规滤波器结构上。做到这一点可以使用进程表技术以及多速率折叠技术。多速率折叠技术公布于T.C.Denk和K.K.Parhi“Systematic Design of Architecturesfor M-ary Tree-Structured Filter Banks(M重树状结构滤波器库用的构造设计)”中,in VLSI Signal Processing VIII from IEEE press,pp.157-166,1995,它结合在此充分地作为参考。
应用进程表技术时,可能需要对滤波器再定时。使用进程表技术的首要目标应是将滤波器映射到本发明的正规滤波器结构上,好象本发明的结构中使用常规的寄存器而不是本发明的多端口寄存器堆。使用此类进程表技术的次要目标应是使诸乘法器205和诸加法器207的利用率最高,也即可使不被应用的乘法器205和加法器207中减少或消除时钟周期,它减少了实现滤波器设计中必需的基本滤波器级200的数目。
此外,可能需要应用加法的结合律来重新组织滤波器,以使得该滤波器能映射到本发明的正规滤波器结构中。最后,本发明的多端口寄存器堆用来代替在此之前使用的常规寄存器,以得到按照本发明的一种结构。本技术领域内的熟练人员容易做到此种替换。
本技术领域内的熟练人员又可知道,本发明的FIR滤波器结构可应用来实现变型的基本FIR滤波器,诸如分数间隔的滤波器。就这方面而言,图9表示一个示例性完整FIR滤波器400,用以实现按照本发明滤波器,其中在每个基本FIR滤波器300中有4个级联的基本滤波器级200,即J=4。又,图9的完整FIR滤波器400中有2个级联的基本滤波器300,即Q=2。每个多端口寄存器堆201中有4个存储器单元用于存储样值数据,而每个多端口寄存器堆203中有4个存储器单元用于存储滤波器系数,因而本实施例中所有的多端口寄存器堆为H=4。图9中每一个多端口寄存器堆201和多端口寄存器堆203都各各只有一个读出端口,所以对它们全体来说K=1。
应用图9上所示完整FIR滤波器400所实现的滤波器中,用于两个示例性滤波器的诸控制信号示明于表1和表2。更准确地说,表1示明具有在乘法器上时分复用的4个系数的T间隔滤波用的控制信号,而表2表明具有在乘法器上时分复用的4个系数的T/4间隔滤波用的控制信号。而表2示明具有在乘法器上时分复用的4个系数的T/4间隔滤波用的控制信号。表1的控制信号按照公式
实现滤波,式中w(i)是系数,x(i)是输入数据。多端口点寄存器203中存储的滤波器系数的位置在图9中由w(0)至w(31)代表。表1中,空白间隔代表随便的条件,而控制信号以周期16重复。
表1 对乘法器有4个系数时分复用的T间隔滤波
时间 | 输入数据 | 输出 | WE | WA | RA201 | RA203 | WAF | WEF | RAF | Z |
0 | 0 | 1 | 2 | 2 | 0 | 1 | 0 | |||
1 | 0 | 2 | 3 | 3 | 0 | 2 | 1 | |||
2 | 0 | 3 | 1 | 0 | 0 | 3 | 1 | |||
3 | x[0] | y[0] | 1 | 1 | 2 | 1 | 0 | 1 | 0 | 1 |
4 | 0 | 2 | 3 | 2 | 0 | 2 | 0 | |||
5 | 0 | 3 | 0 | 3 | 0 | 3 | 1 | |||
6 | 0 | 0 | 2 | 0 | 0 | 0 | 1 | |||
7 | x[1] | y[1] | 1 | 2 | 3 | 1 | 1 | 1 | 1 | 1 |
8 | 0 | 3 | 0 | 2 | 0 | 3 | 0 | |||
9 | 0 | 0 | 1 | 3 | 0 | 0 | 1 | |||
10 | 0 | 1 | 3 | 0 | 0 | 1 | 1 | |||
11 | x[2] | y[2] | 1 | 3 | 0 | 1 | 2 | 1 | 2 | 1 |
12 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | |||
13 | 0 | 1 | 2 | 3 | 0 | 1 | 1 | |||
14 | 0 | 2 | 0 | 0 | 0 | 2 | 1 | |||
15 | x[3] | y[3] | 1 | 0 | 1 | 1 | 3 | 1 | 3 | 1 |
表2 对乘法器有4个系数时分复用的T/4间隔滤波
时间 | 输入数据 | 输出 | WE | WA | RA201 | RA203 | WAF | WEF | RAF | Z |
0 | x[-3] | 1 | 1 | 2 | 2 | 0 | 1 | 0 | 0 | |
1 | x[-2] | 1 | 2 | 3 | 3 | 0 | 1 | 0 | 1 | |
2 | x[-1] | 1 | 3 | 0 | 0 | 0 | 1 | 0 | 1 | |
3 | x[0] | y[0] | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
4 | x[1] | 1 | 1 | 2 | 2 | 0 | 1 | 0 | 0 | |
5 | x[2] | 1 | 2 | 3 | 3 | 0 | 1 | 0 | 1 | |
6 | x[3] | 1 | 3 | 0 | 0 | 0 | 1 | 0 | 1 | |
7 | x[4] | y[1] | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
8 | x[5] | 1 | 1 | 2 | 2 | 0 | 1 | 0 | 0 | |
9 | x[6] | 1 | 2 | 3 | 3 | 0 | 1 | 0 | 1 | |
10 | x[7] | 1 | 3 | 0 | 0 | 0 | 1 | 0 | 1 | |
11 | x[8] | y[2] | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
12 | x[9] | 1 | 1 | 2 | 2 | 0 | 1 | 0 | 0 | |
13 | x[10] | 1 | 2 | 3 | 3 | 0 | 1 | 0 | 1 | |
14 | x[11] | 1 | 3 | 0 | 0 | 0 | 1 | 0 | 1 | |
15 | x[12] | y[3] | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
类似地,表2的控制信号按照公式
实现滤波,式中w(i)是系数,x(i)是输入数据。又,多端口寄存器堆203中存储的滤波器系数位置在图9中由w(0)至w(31)代表,空白间隔代表随便的条件。然而,控制信号以周期4重复。
当然,对图9的结构也可供给以实现其它的滤波器的控制信号。
上面,只不过示例说明本发明的原理。因此,应理解到,本技术领域内的熟练人员能够设想出各样的布置,虽然它们并未明显地叙述或示明在这里,但实施本发明的原理都是归入本发明的精神实质和范畴内的。
Claims (24)
1.一种有限脉冲响应(FIR)滤波器,包括:
第一多端口寄存器堆,用于存储样值数据并且具有用于提供所述样值数据的输出端,所述第一多端口寄存器堆还具有穿通模式和延时模式;
第二多端口寄存器堆,用于存储系数值;
第一乘法器,连接到所述第一多端口寄存器堆和所述第二多端口寄存器堆,用以将所述第一多端口寄存器堆输出端提供出的样值数据乘上作为所述第二多端口寄存器堆的输出提供的一个系数值;及
加法器,用以将所述第一乘法器的输出加上一个对所述加法器的输入;
其中,所述第一和第二多端口寄存器堆的每一个具有一个写入端口和至少两个读出端口,所述读出端口的每一个在任何时刻都能够从所述相应多端口寄存器堆中的任何位置提供数据。
2.一种有限脉冲响应(FIR)滤波器,包括:
第一多端口寄存器堆,用于存储样值数据,所述第一多端口寄存器堆具有一个写入端口和至少两个读出端口,所述读出端口的每一个在任何时刻都能够从所述第一多端口寄存器堆中的任何位置提供数据,并将所述存储的样值数据以任何次序供给所述读出端口之一的输出;
第一乘法器,连接在所述第一多端口寄存器堆的所述读出端口的所述之一的所述输出上,用以将所述输出上给出的样值数据乘上一个从动态可重写系数存储器提供的系数值,并且提供所述第一乘法器的一个输出;及
加法器,用以将所述第一乘法器的所述输出加上一个对所述加法器的输入。
3.权利要求2中规定的有限脉冲响应(FIR)滤波器,所述加法器是一个进位保留加法器。
4.根据要求2中规定的有限脉冲响应(FIR)滤波器,所述乘法器是一个进位保留乘法器。
5.权利要求2中规定的有限脉冲响应(FIR)滤波器,所述加法器的所述输出被提供给一个下溢/上溢检测及饱和单元。
6.权利要求2中规定的有限脉冲响应(FIR)滤波器,还包括一个用于延时所述加法器的所述输出的寄存器。
7.权利要求2中规定的有限脉冲响应(FIR)滤波器,还包括第二乘法器,用以将样值数据乘上一个系数值,并且提供所述第二乘法器的输出作为对所述加法器的所述输入。
8.权利要求2中规定的有限脉冲响应(FIR)滤波器,还包括第二多端口寄存器堆,所述第二多端口寄存器堆具有一个写入端口和至少两个读出端口,所述第二多端口寄存器堆的所述读出端口的每一个在任何时刻都能够从所述第二多端口寄存器堆中的任何位置提供数据,所述第二多端口寄存器堆具有所述读出端口之一的一个输出,该输出耦连至所述第二乘法器的一个输入上,用于向所述第二乘法器的输入提供样值数据。
9.权利要求2中规定的有限脉冲响应(FIR)滤波器,还包括第二多端口寄存器堆,用于提供所述系数值,所述第二多端口寄存器堆具有一个写入端口和至少两个读出端口,所述第二多端口寄存器的所述读出端口的每一个在任何时刻都能够从所述多端口寄存器堆中的任何位置提供数据。
10.权利要求2中规定的有限脉冲响应(FIR)滤波器,还包括第二多端口寄存器堆,所述第二多端口寄存器堆具有一个写入端口和至少两个读出端口,所述第二多端口寄存器堆的所述读出端口的每一个在任何时刻都能够从所述第二多端口寄存器堆中的任何位置提供数据,其中所述第一多端口寄存器堆从所述第一多端口寄存器堆的所述读出端口的另一个提供出所存储的样值数据到所述第二多端口寄存器堆。
11.权利要求2中规定的有限脉冲响应(FIR)滤波器,还包括第二多端口寄存器堆,所述第二多端口寄存器堆具有一个写入端口和至少两个读出端口,所述第二多端口寄存器的所述读出端口的每一个在任何时刻都能够从所述第二多端口寄存器堆中的任何位置提供数据,并且其中所述多端口寄存器堆之每一个接收从单一地址源中导出的读地址信息。
12.权利要求2中规定的有限脉冲响应(FIR)滤波器,还包括第二多端口寄存器堆,所述第二多端口寄存器堆具有一个写入端口和至少两个读出端口,所述第二多端口寄存器的所述读出端口的每一个在任何时刻都能够从所述第二多端口寄存器堆中的任何位置提供数据,其且其中所述多端口寄存器堆之每一个接收从单一地址源中导出的写地址信息。
13.一种有限脉冲响应(FIR)滤波器,包括:
多个乘法器,具有相应的多个输出端;
第一组多端口寄存器堆,包含至少一个多端口寄存器堆,用以存储样值数据并向所述乘法器提供所述样值数据,所述多端口寄存器堆具有一个写入端口和至少两个读出端口,所述读出端口的每一个在任何时刻都能够从所述多端口寄存器堆中的任何位置提供数据;
至少一个加法器,用以将所述乘法器的所述输出相加在一起,以形成所述滤波器的一个输出,
其中所述乘法器把所述提供的样值数据与从动态可重写系数存储器提供的滤波器系数相乘。
14.权利要求13中规定的有限脉冲响应(FIR)滤波器,其中所述动态可重写系数存储器包括至少一个多端口寄存器堆,用以存储所述系数,所述动态可重写系数存储器的所述多端口寄存器堆具有一个写入端口和至少两个读出端口,所述读出端口的每一个在任何时刻都能够从所述多端口寄存器堆中的任何位置提供数据。
15.权利要求13中规定的有限脉冲响应(FIR)滤波器,其中所述至少一个加法器的一个输出被提供给一个上溢/下溢检测及饱和单元。
16.权利要求13中规定的发有限脉冲响应(FIR)滤波器,其中所述FIR滤波器使用进位保留算法。
17.权利要求13中规定的有限脉冲响应(FIR)滤波器,还包括从单个信号源中导出控制信号的装置,该控制信号用以控制所述第一组多端口寄存器堆中的所述多端口寄存器堆。
18.权利要求13中规定的有限脉冲响应(FIR)滤波器,还包括产生控制信号的装置,该控制信号用以控制所述第一组多端口寄存器堆中的所述多端口寄存器堆,并且其中所述控制信号以流水线方式提供给所述多端口寄存器堆。
19.权利要求14中规定的有限脉冲响应(FIR)滤波器,还包括用于产生控制信号的装置,用于控制所述第一组的所述多端口寄存器堆,并且所述控制信号被分别提供给所述多端口寄存器堆。
20.一种滤波器,其特征在于包括:
多个级联的滤波器单元块,其中,所述多个滤波器单元的每一个包括:
多端口寄存器堆,用于存储样值数据,并且把所述存储的样值数据以任意顺序提供给一个输出端,所述多端口寄存器堆具有一个写入端口和至少两个读出端口,所述读出端口的每一个在任何时刻都能够从所述多端口寄存器堆中的任何位置提供数据,用于存储样值数据并将所述存储的样值数据以任何的次序提供给输出;
第一乘法器,连接在所述多端口寄存器堆的所述输出上,用以将所述输出上给出的样值数据乘上一个从一个动态可重写系数存储器提供的系数值;及
加法器,用以将所述第一乘法器的输出加上一个对所述加法器的输入。
21.权利要求20中规定的滤波器,其中所述多个级联的滤波器单元块的每一个是实际相同的。
22.权利要求20中规定的滤波器,所述多个级联的滤波器单元块的每一个有相同的输入和输出信号引线。
23.权利要求20中规定的滤波器,对所述多个级联的滤波器单元块的每一个给以自一个公共源导出的控制信号。
24.权利要求20中规定的滤波器,所述滤波器还包括一个寄存器,用以存储所述多个级联的滤波器单元块之一的一个输出。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US937665 | 1997-09-26 | ||
US937,665 | 1997-09-26 | ||
US08/937,665 US6377619B1 (en) | 1997-09-26 | 1997-09-26 | Filter structure and method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1213217A CN1213217A (zh) | 1999-04-07 |
CN1159845C true CN1159845C (zh) | 2004-07-28 |
Family
ID=25470235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB981195997A Expired - Fee Related CN1159845C (zh) | 1997-09-26 | 1998-09-25 | 滤波器结构和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6377619B1 (zh) |
EP (1) | EP0905890B1 (zh) |
JP (1) | JPH11163680A (zh) |
CN (1) | CN1159845C (zh) |
BR (1) | BR9803381A (zh) |
CA (1) | CA2245288C (zh) |
DE (1) | DE69800108T2 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6785327B1 (en) * | 1997-12-23 | 2004-08-31 | Agere Systems, Inc. | Multiported register file for burst mode coefficient updating |
US6477200B1 (en) * | 1998-11-09 | 2002-11-05 | Broadcom Corporation | Multi-pair gigabit ethernet transceiver |
US6975679B2 (en) * | 2001-06-01 | 2005-12-13 | Microchip Technology Incorporated | Configuration fuses for setting PWM options |
US7003543B2 (en) * | 2001-06-01 | 2006-02-21 | Microchip Technology Incorporated | Sticky z bit |
US7020788B2 (en) * | 2001-06-01 | 2006-03-28 | Microchip Technology Incorporated | Reduced power option |
US6937084B2 (en) * | 2001-06-01 | 2005-08-30 | Microchip Technology Incorporated | Processor with dual-deadtime pulse width modulation generator |
US20030023836A1 (en) * | 2001-06-01 | 2003-01-30 | Michael Catherwood | Shadow register array control instructions |
US7467178B2 (en) * | 2001-06-01 | 2008-12-16 | Microchip Technology Incorporated | Dual mode arithmetic saturation processing |
US7007172B2 (en) * | 2001-06-01 | 2006-02-28 | Microchip Technology Incorporated | Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection |
US20030005269A1 (en) * | 2001-06-01 | 2003-01-02 | Conner Joshua M. | Multi-precision barrel shifting |
US20030005268A1 (en) * | 2001-06-01 | 2003-01-02 | Catherwood Michael I. | Find first bit value instruction |
US20030028696A1 (en) * | 2001-06-01 | 2003-02-06 | Michael Catherwood | Low overhead interrupt |
US6934728B2 (en) * | 2001-06-01 | 2005-08-23 | Microchip Technology Incorporated | Euclidean distance instructions |
US6976158B2 (en) * | 2001-06-01 | 2005-12-13 | Microchip Technology Incorporated | Repeat instruction with interrupt |
US20020184566A1 (en) * | 2001-06-01 | 2002-12-05 | Michael Catherwood | Register pointer trap |
US7277479B2 (en) * | 2003-03-02 | 2007-10-02 | Mediatek Inc. | Reconfigurable fir filter |
EP1623307B1 (en) * | 2003-05-09 | 2015-07-01 | QUALCOMM Incorporated | Processor reduction unit for accumulation of multiple operands with or without saturation |
US8074051B2 (en) * | 2004-04-07 | 2011-12-06 | Aspen Acquisition Corporation | Multithreaded processor with multiple concurrent pipelines per thread |
JP2012085177A (ja) * | 2010-10-13 | 2012-04-26 | Renesas Electronics Corp | デシメータ回路及びデシメータ回路の演算方法 |
CN102751963B (zh) * | 2012-07-18 | 2015-12-02 | 上海交通大学 | 基于乘累加器环的可配置离散小波变换电路及其实现方法 |
CN110688154B (zh) * | 2019-09-05 | 2023-02-28 | 上海高性能集成电路设计中心 | 一种基于窄脉宽多米诺结构的多端口寄存器堆 |
CN115236498A (zh) * | 2022-07-26 | 2022-10-25 | 成都玖锦科技有限公司 | 一种fpga数字滤波器延时测量方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3860892A (en) | 1974-02-25 | 1975-01-14 | Us Of Americas As Represented | Cascade transversal filter amplitude-compensation network |
US4694416A (en) * | 1985-02-25 | 1987-09-15 | General Electric Company | VLSI programmable digital signal processor |
JPH0795671B2 (ja) | 1986-06-03 | 1995-10-11 | ソニー株式会社 | デイジタルフイルタ |
JP2690932B2 (ja) * | 1988-03-18 | 1997-12-17 | 株式会社日立製作所 | ディジタル信号処理プロセッサおよびディシタル信号処理プロセッサシステム |
JPH02222317A (ja) | 1989-02-23 | 1990-09-05 | Lsi Rojitsuku Kk | デジタルフィルタ |
US4991010A (en) * | 1989-11-13 | 1991-02-05 | Eastman Kodak Company | Dual-mode image interpolation filter operable in a first mode for storing interpolation coefficients and in a second mode for effecting television standards conversion at a pixel rate |
US5031132A (en) * | 1990-02-27 | 1991-07-09 | Analogic Corporation | Circuit for convolving a set of digital data |
US5278872A (en) * | 1991-05-28 | 1994-01-11 | North American Philips Corporation | System and circuit architecture for echo cancellation and a television receiver comprising same |
US5262974A (en) * | 1991-10-28 | 1993-11-16 | Trw Inc. | Programmable canonic signed digit filter chip |
US5440506A (en) * | 1992-08-14 | 1995-08-08 | Harris Corporation | Semiconductor ROM device and method |
US5734598A (en) * | 1994-12-28 | 1998-03-31 | Quantum Corporation | Low power filter coefficient adaptation circuit for digital adaptive filter |
US5760984A (en) * | 1995-10-20 | 1998-06-02 | Cirrus Logic, Inc. | Cost reduced interpolated timing recovery in a sampled amplitude read channel |
-
1997
- 1997-09-26 US US08/937,665 patent/US6377619B1/en not_active Expired - Lifetime
-
1998
- 1998-08-19 CA CA002245288A patent/CA2245288C/en not_active Expired - Fee Related
- 1998-09-04 BR BR9803381-6A patent/BR9803381A/pt not_active Application Discontinuation
- 1998-09-08 DE DE69800108T patent/DE69800108T2/de not_active Expired - Lifetime
- 1998-09-08 EP EP98307221A patent/EP0905890B1/en not_active Expired - Lifetime
- 1998-09-25 JP JP10270700A patent/JPH11163680A/ja active Pending
- 1998-09-25 CN CNB981195997A patent/CN1159845C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11163680A (ja) | 1999-06-18 |
CA2245288A1 (en) | 1999-03-26 |
DE69800108T2 (de) | 2000-09-21 |
EP0905890B1 (en) | 2000-03-29 |
CN1213217A (zh) | 1999-04-07 |
BR9803381A (pt) | 1999-12-28 |
EP0905890A2 (en) | 1999-03-31 |
EP0905890A3 (en) | 1999-05-06 |
CA2245288C (en) | 2001-10-09 |
DE69800108D1 (de) | 2000-05-04 |
US6377619B1 (en) | 2002-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1159845C (zh) | 滤波器结构和方法 | |
US7340562B2 (en) | Cache for instruction set architecture | |
CN100555216C (zh) | 一种数据处理方法及处理器 | |
JP3599352B2 (ja) | フレキシブルなn−ウェイ・メモリ・インターリーブ方式 | |
JP3938238B2 (ja) | 高速フーリエ変換処理装置 | |
CN1751438A (zh) | 具有可编程逻辑单元阵列的电子电路 | |
US20040003201A1 (en) | Division on an array processor | |
JPH0580985A (ja) | Mを法として長い整数を乗算するための算術ユニツト及びそのような乗算デバイスを具えるr.s.a.変換器 | |
EP0338757A2 (en) | A cell stack for variable digit width serial architecture | |
CN101425794A (zh) | 固定系数数字滤波器 | |
CN111610963B (zh) | 芯片结构及其乘加计算引擎 | |
CN1578138B (zh) | Fir滤波器、其系数存储方法及网络回波消除单元 | |
US20030065904A1 (en) | Programmable array for efficient computation of convolutions in digital signal processing | |
CN113448624B (zh) | 数据存取方法及装置、系统、ai加速器 | |
CN1235414A (zh) | 供滤波器中系数应用的多端口寄存器堆 | |
CN100468315C (zh) | 桶式移位装置 | |
CN100342328C (zh) | 带有复制寄存器文件的vliw处理器 | |
CN1235415A (zh) | 用于突发模式滤波器系数更新的多端口寄存器堆 | |
CN1739272A (zh) | 全平行多信道解调器 | |
CN1190738C (zh) | 数据处理装置及其数据读取方法 | |
CN1786932A (zh) | 一种通信接口操作的控制方法 | |
JP4158264B2 (ja) | ソート・マージ処理装置およびソート・マージ回路 | |
US6874068B1 (en) | Shared memory | |
WO2023186809A1 (en) | Dynamic buffers and method for dynamic buffer allocation | |
JPH08212168A (ja) | アレイプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20040728 Termination date: 20150925 |
|
EXPY | Termination of patent right or utility model |