用于突发模式滤波器系数 更新的多端口寄存器堆 本发明涉及自适应有限脉冲响应(FIR)滤波器,更具体地涉及应用时间复用乘法器的、每个乘法器具有多个系数的FIR滤波器,这多个系数可实现滤波器系数的突发模式更新。
先有技术的有限脉冲响应(FIR)滤波器中使用了固定延时线,用于使系数重复循环。此类延时线的实现应用了一系列的边沿触发式触发器。结果,在工作中先有技术的延时线消耗的功率比之所希望的要大。
在转让于同一受让人的、作为临时申请的共同未决的美国专利申请序号No.08937665中,使用了多端口寄存器堆来实现系数存储,在滤波器工作所必需的系数上提供出延时。多端口寄存器堆通常是一个小存储器,例如存储容量为4个字,具有至少一个读出端口和一个写入端口。写入多端口寄存器堆的数据可以以任何所需的次序从其中读出。多端口寄存器堆可以有附加的输出端口,从那里也可以以任何所需的次序从其中读出所存储的数据,其次序与任何别地端口上的次序是不相关的。至于相乘系数,每个多端口寄存器堆将数据从一个输出端口馈送至FIR滤波器有关电路级的乘-加部分上。应当指出,这些输出端口可以是相同的。关于系数的应用,并不需要象共同未决的专利申请中所述地使寄存器堆工作于通透模式。
当FIR滤波器为具有可更新的系数的自适应滤波器时,必需有一个更新单元来计算新的系数值。
此外,先有的共同未决的专利申请中,多端口寄存器堆在全部时间上使所有的系数位循环,所循环的每个系数的位需要有增量的功耗。
已经认识到,在自适应FIR滤波器中存储系数,可以应用改进的多端口寄存器堆。按照本发明的原理,对先有的共同未决的专利申请中多端口寄存器堆的改进,是基于实行一个分割的存储器结构,它能够分别地控制滤波器中存储的诸系数值的最低有效位(LSB)和最高有效位(MSB)。在诸如本发明那样转让于同一受让人的美国专利No.5,646,957(颁布给Im等人,此处全面地提出来引作参考)中,公布了所谓的“突发模式”(burst mode)更新,在滤波器用它进行工作中,仅仅遇到预定的误码状态时才需要更新,可以使滤波器的更新电路不运行,只是从多端口寄存器堆中读出系数的最高有效位,而最低有效位保持不变。由于在乘法样本中仅仅应用到系数的某一些位,故而节省了功率而不牺牲精确度。此外,按照本发明的情况,当只是系数的最高有效位通过多端口寄存器堆作循环时,可防止改变着的位供给至更新电路,因而更新电路完全不执行计算,不去执行已废除的计算。应用这样改进的多端口寄存器堆的优点在于,可以使自适应FIR滤波器构造成工作于较低的功耗下。
另外,可以采用分割式结构和不运行的阻塞技术,这在应用重复循环寄存器的结构方面提供了如上面所述那样的优点。
附图中,
图1示出按照本发明之原理的一个例子;
图2示出应用一个外部复用器的本发明另一实施例;
图3又示出应用一个三态驱动器的本发明另一个实施例。
图1示出按照本发明原理的一个示例的多端口寄存器堆,它可应用于有限脉冲响应(FIR)滤波器一级中的系数存储。多端口寄存器堆通常是一个小存储器,例如存储容量为4个字,具有至少一个读出端口和一个写入端口。写入多端口寄存器堆的数据可以以任何所需的次序从其中读出。多端口寄存器堆可以有附加的输出端口,从那里也可以以任何所需的次序从其中读出所存储的数据,其次序与任何别的端口上的次序是不相关的。
更具体地,图1示明多端口寄存器堆101,包括:a)存储单元102,它又分成存储单元103和存储单元104两部分,前者包括存储单元103-1至103-H,后者包括存储单元104-1至104-H;b)计算单元105;c)锁存器107,包括锁存器107-1至107-K。
存储单元103用于存储在存储单元102之一中存储的每个系数的最高有效位,存储单元104用于存储在存储单元102之一中存储的每个系数的最低有效位。因此,每个存储单元102有一种“分割”结构,在其最高有效位与最低有效位之间作出分割。一般地,由多端口寄存器堆101向FIR滤波器内所包含的一个乘法器供给的位数目,等于每个存储单元103中存储的位数目。每个系数中其余的位存储于每个存储单元104内。本发明的一个示例性实施例中,具有相同后缀的存储单元103和104内的诸存储单元对应于存储单元102中的同一组,因而对应于同一个系数。在普通的滤波器设计实践中,一个系数的全部位,包括存储单元103和104两者内存储的位,当该系数需作更新时都要使用到。
尽管随滤波器设计者的意愿可以任意地选择,但多端口寄存器堆内存储单元的数目H通常是一个小数目,例如是4。在诸如应用于宽带访问的调制解调器中,可见到处理的信号所具有的样值速率是在系统内最快时钟频率的量级之内,相比于其它的FIR滤波器实施方法,小数值的H可以使FIR滤波器的实施更高效。
包括有N条数据线的数据通过写入端口W写入多端口寄存器堆101。对于写入端口W上出现的数据,写入存储单元102中的具体哪一个存储单元,由写入地址WA予以规定。更具体地说,P个最高有效位写入由写入地址WA规定的存储单元103之一内,Q个最低有效位写入由写入地址WA规定的存储单元104之一内。
数据何时和是否写入多端口寄存器堆101,取决于写入使能信号WE的值。WE为第一值时数据可写入多端口寄存器堆101,WE为第一值的互补值时数据不写入多端口寄存器堆101。
数据从多端口寄存器堆101中的读出可经由任一个读出端口R,包括读出端口R1至RK。读出端口R1至RK之每一个中包括有相应数目的数据线M1至MK。需要时,可以从多端口寄存器堆101中读出所存储值的低一些精确度的值。从存储单元103和104的特定单元中读出的数据可呈现于读出端口R1至RK之任一个上,具体由一个地址来规定,它以数号之类加给读出地址端口RA1至RAK中相应的一个上。通常,写入地址WA和读出地址RA1至RAK有着相同的地址线号码L。
虽然在先有的多端口寄存器堆产品中,不需要读出使能信号来做到输出数据呈现于读出端口R1至RK的任一个上,而只是简单地给出合适的读出地址就足以产生相应的输出,但按照本发明的原理在读出端口R1至RK的一个或多个上提供了读出使能信号来防止不需要的数据读出,这能够避免不必需的功耗。
在同一时间上可以向多端口寄存器堆101写入和从中读出数据。更具体地,在同一时间上可以对存储单元102中特定的同一个单元进行写入和读出。因此,在向存储单元102中一个特定的单元写入第一值的同时,就从这同一个特定的存储单元上可以读出一个不同的值,供给读出端口R1至RK中的一个或几个上。此外,按照本发明的情况,在FIR滤波器的特定工作条件下,只是存储于存储单元103之一中的系数的最高有效位可以供给到读出端口R1至RK中特定的一个端口上。
锁存器107为常规电平敏感的锁存器,诸如1992年Addison Wesley出版的N.Weste和K.Eshraghian所著Principles of CMOS VLSI Design(CMOS VLSI设计原理)第二版第19-21页上叙述的,在这里全面地提出来作为参考。因此,存储单元103之任一个可以起主锁存器的作用,而锁存器107之任一个可以起从锁存器的作用,组成一个边沿触发的触发器。
在从存储单元102之一个中将读出的数据输出至读出端口R1至RK中的一个上时,有各种技术可应用。例如,读出端口R1仅仅读出存储单元103中存储的系数的最高有效位。另一种方法,读出端口RK可读出存储单元102中存储的系数的全部位,但如果读出使能信号RE在一个特定电路级中例如当RE为高电平时,仅仅供给一个输出至读出端口RK上。在所有其它的时间上,读出端口RK的值保持为锁存器107-K内存储的静态的末一个值。寄存器堆内读出使能信号RE作用的实施可借助于选通电路,例如,用与门未选通读出使能信号和时钟信号,时钟信号用来接通存储单元102。
本发明的另一个实施例中,读出使能可以结合于存储单元104中。具体地,除非读出使能信号有规定的值例如高电平,否则无论在任一个读出地址端口RA1至RAK上是否存在有效的读出地址,都无系数的最低有效位数值自存储单元104的输出中读出。
众所周知,当误码数量超过预定的阈值时,突发模式系数更新将更新诸系数,而若误码小于预定阈值,保持诸系数不变化。考虑到上述情况,本发明的一个优点方面在于,突发模式系数更新可以如下面那样有效地实施。当系数在更新中时,使得应用于存储单元104读出的读出使能信号RE为使能状态,例如置于高电平,因而数据自存储单元104中读出。另外,用于读出端口RK的读出使能控制信号REK应用来从存储单元102中读出已存储于存储单元102内的诸系数值。又,使得写入使能控制信号WE便起作用而将更新的系数值写入存储单元102,通常情况下更新的系数值由一个系数更新单元给出。
系数不更新时,用于读出端口RK的写入使能控制信号WE和读出使能控制信号REK均不起作用,例如置于低电平值上。结果,读出端口RK输出端上呈现的数据不发生变化。换言之,读出端口RK输出端上呈现的数据保持恒定。做到这一点可由选通电路来实现,例如由与门以控制锁存器107用的时钟信号来选通读出使能控制信号REK,并将选通出的信号应用作为时钟使用于锁存器107-K。
另外,使应用于读出存储单元104的读出使能信号RE不起作用,例如置于低电平,因而不从存储单元104中读出数据。做到这一点可由选通电路来实现,例如由与门以存储单元102用的时钟信号来选通读出使能控制信号RE,并将选通出的信号应用作为时钟使用于存储单元104。已经给定,P的值典型地与Q的值有相同的量级,由存储单元102消耗的功率在系数不被更新时可减少约50%的量值。这能够达到重大的功率节省,因为突发模式更新的目标是要使系数更新发生的时间期最小。
一种滤波器设计中,将读出端口RK的输出供给更新电路,例如供给一个加法器。如果象先有技术中那样在供给更新电路的数据中发生变化,则由更新电路执行计算。此种计算固有地要消耗功率。然而,按照本发明的原理,并不向更新电路供给变化的数据,避免了此种功耗,由于对更新电路的输入保持静态,所以其输出也保持静止不变。
例如从美国专利No.5,646,957中所周知的,必需切断对更新电路的其它输入端,以减小功耗。当将这种做法与本发明相结合时,更新电路将达到最小的功耗,它近乎零。
事实上,在本发明的某些应用中,总的滤波器功耗可减少一半以上。
本发明的另一种实施方法中,应用读出使能信号RE来使读出阻塞、因之阻塞存储单元104的变化时,只需要独立地应用例如读出使能控制信号REK,它仅仅控制存储单元103来的最高有效位被锁存器107-K的锁存,便可阻塞最高有效位到达更新电路去。
应当指出,诸如在共同未决的美国专利申请序号No.(CaseLarsson 5-12)中公布的计算单元,可以选用地引入进存储单元102与输出端口R1至RK的一个或多个之间。
按照本发明的另一个实施例,如图2中所示,不是用读出使能信号RE来控制锁存器107的输出,当系数不在更新中时,可应用一个外部复用器来给出一个恒定值作为输出。应当指出,在复用器方面,恒定值意味着相同值,它固定地输入给复用器的一个输入端口。但在示于图3的再一个本发明实施例中,也可以应用一个三态驱动器。图2和图3所示的实施例中,应用一个读出使能信号REi来控制各别的复用器或驱动器。此外,图3的实施例中,结合三态驱动器可应用一个总线保持器电路,以确保对更新单元来说系数的前一个值在线路上维持住。应用总线保持器电路时,对更新单元来说在线路上维持的值称为稳态值。
另外,分割结构和阻塞技术可以应用来给出在使用重复循环的寄存器时结构上的优点,这类寄存器诸如应用于上述的美国专利No.5,646,957中。
应当指出,本发明的另一个实施例中应用了两个独立的多端口寄存器堆,一个用于最高有效位,一个用于最低有效位,能得到实质上相同的结果。对这类多端口寄存器堆供给以相同的读出和写入信号是合适的。然而,这样一种结构更为费钱,因为它需要额外的解码器,诸如需要读出地址解码器和写入地址解码器。
上面所述只不过示例说明了本发明的原理。因此,本技术领域内的熟练人员必将认识到,可以设想各样的布置,它们虽然不在这里明显地叙述或示明,但应用了本发明的原理,并包含在其精神实质和范畴之内。