利用垂直公共子表达式的低功率滤波器结构及其设计方法

文档序号:7518335阅读:509来源:国知局
专利名称:利用垂直公共子表达式的低功率滤波器结构及其设计方法
技术领域
本发明涉及数字滤波器,尤其涉及利用垂直公共子表达式的低功率CSD(规范带符号数字)线性相位FIR(有限脉冲响应)滤波器结构及其滤波器设计方法。
背景技术
诸如蜂窝式电话之类的移动无线电通信系统需要利用CMOS技术的低功率和高速线性相位有限脉冲响应(FIR)滤波器。当前,这样的低功率和高速FIR滤波器是利用CSD型系数作为滤波器系数设计的。CSD型系数被表达为从2的补数型系数中减去1的二进制数字。
诸如数字降频转换器(DFDC)之类的无线收发器的中频(IF)处理终端需要高速抽选滤波器。最好,高速/低功率滤波器只利用加法器(包括减法器)和延迟器件进行相乘运算。高速/低功率滤波器可以利用CSD型系数更有效地进行相乘运算。CSD型系数利用如下公式表达Σi=0N-1ai2-i]]>其中,当i>0时,如果a0=0或-1,和ai=0或1,那么,数字a0、a1、a2、......、aN-1是2的补数型系数。如果每个bi是0、+1或-1,和没有两个连续的bi是非零的,那么,数字b0、b1、b2、......、bN-1是CSD型系数。
在技术上,CSD型系数通过从“1”中减去2的补数型系数来表达。例如,如果2的补数型系数是“01111”,那么,CSD型系数可以表达为“1-00001”。从现在开始,为了方便起见,将“-1”表达为“n”。也就是说,当“-1”被表达为“n”时,2的补数型系数“01111”被表达为CSD型系数“1000n”。这样,可以容易地将所有2的补数型系数转换为CSD型系数。
由于与2的补数型系数相比,没有一个CSD型系数含有多于(N+1)/2个非零位,因此,利用加法器进行相乘的滤波器将CSD型系数用作滤波器系数时将要求加法器的个数减少。滤波器系数的相乘是利用加法器和移位器进行的。因为通过将移位器设计为硬连线逻辑电路,可以降低滤波器的成本,所以,最好减少加法器的个数以降低滤波器的成本。
表1列出了表达为2的补数型数字和相应CSD型数字的4-位滤波器系数。如表1所示,2的补数型系数含有32个数字“1”,CSD型系数含有23个数字“1”。也就是说,CSD型系数含有比2的补数型系数少9个数字“1”的数字“1”的个数。
表1.CSD码建立数字2的补数CSD型

表2示出了含有11个抽头的线性相位FIR滤波器的CSD型系数。
当数字“1”或数字“n”的总数是m时,需要(m-1)个加法器来实现这些系数。在表2中,由于m=17,因此,需要16个加法器来实现这些系数。通过用公共子表达式方法设计线性相位FIR滤波器,可以减少加法器的个数。在表2中,系数h0、h1、h2、h3、h4的每一个与系数h10、h9、h8、h7、h6的每一个是对称的,致使线性相位FIR滤波器具有两个公共子表达式。
表2.11-抽头线性相位FIR滤波器的CSD系数 在表2中,省略了数字“0”。FIR滤波器的输出信号(y)用如下公式y[n]表达y[n]=Σi=0N-1Σj=0M-1aij(xn-1>>j)=Σi=0N-1Σj=0M-1aijXij]]>其中,由于aij具有数字“1、0或-1”,因此,输出信号被表达为输入信号(x)的各种移位和延迟形式的和。每行Xij表示输入信号(x)的“延迟”,和每列Xij表示输入信号(x)的“移位”。第i行、第j列中的表目±1被表达为±x1[-i]>>j,和第1行(h0)和第1列(2^-1)由不带i和j的“x1”定义,并且被确定为参考点。这里,(2^-1)表示2的-1次方(即,2-1=0.5),和(2^-2)表示2的-2次方(即,2-2)。
另一种可选的是,可以利用传统水平公共子表达式共享方法设计表2中的线性相位FIR滤波器,以减少加法器的个数。如表2所述,“n0n”、“n001”、和“n01”的公共子表达式的个数是2。可以将每个水平公共子表达式表达如下。
x2=-x1-x1>>2第一公共子表达式x3=-x1+x1>>3第二公共子表达式x4=-x1+x1>>2第三公共子表达式其中,x2表示“n0n”的公共子表达式,x3表示“n001”的公共子表达式,以及x4表示“n01”的公共子表达式。符号“>>”表示输入信号(x)沿着最低级位(LSB)方向的“移位”。例如,如果公共子表达式是“n0n”和x1=1,那么,n0n当中的最高级位(MSB)是“-x1”,n0n当中的LSB是向右方向移动了2个位的-x1,于是“n0n”被表达为这些结果之和,即,“-x1-x1>>2”。因此,x2被定义为“n0n”的水平公共子表达式。与“n0n”的公共子表达式类似,“n001”的水平公共子表达式被定义为“x3”,即“-x1+x1>>3”。
如公式所示,需要3个加法器来实现3个公共子表达式。利用水平公共子表达式共享方法的滤波器的输出信号(y)由如下方程式表达。
y=x1>>8+x2[-1]>>6+x3[-2]>>3+x4[-3]>>1+x1[-4]>>1+x1[-5]+x1[-6]>>1+x4[-7]>>1+x3[-8]>>3+x2[-9]>>6+x1[-10]>>8其中,“x1>>8”表示表2中,第1行(h0)、第9列(2^-9)中的“1”。它的意思是将“x1=1”向右方向移动8个位。第1行(h0)、第9列(2^-9)中的数字“1”不利用水平公共子表达式实现。公式“x2[-1]>>6”的意思是将第一水平公共子表达式“x2”沿着垂直方向延迟一个时钟周期(即,1个抽头),并且向右方向移动6个位。例如,在表2中,如果将位于第1行(h0)与第1、2和3列(2^-1、2^-2、2^-3)的交叉点上的“n0n”表达为“x2”,那么,位于第2行与第7、8和9列(2^-7、2^-8、2^-9)的交叉点上的“n0n”就是被延迟和移位了的“x2”(沿着垂直方向延迟“1”,并且向右方向移动6个位)。
在上面的公式中,由于需要10次相加才能获得输出信号(y),以及需要3次相加才能实现3个水平公共子表达式(n0n、n001、n01),因此,需要13个加法器才能实现表2中的滤波器。当利用转置直接格式(Transposed DirectForm)实现滤波器时,该滤波器具有图1所示的结构。
参照图1,符号Ai(“i”是大于1的自然数)表示与抽头线T1到T6相连接的加法器,符号Di表示延迟器,x表示输入信号,和y表示输出信号。抽头线旁边的数字表示要移动的位数。例如,抽头线T1旁边的数字“9”表示将要滤波的数字输入信号(x)向LSB方向移动9个位。在图1的结构中应用移位寄存器响应时钟信号,通过移位输入信号来进行相乘运算。在其输入端上具有符号“-”的加法器Ai进行负相加,即相减。应该注意到,在本公开中使用的“加法器”术语包括进行正相加的相加功能,以及进行负相加的相减功能。
再参照图1,由于移动了9个位的输入信号(x)被施加到抽头线T1上,因此,在抽头线T1上实现了表2中的系数h0。也就是说,利用移位寄存器实现了“x1>>8”。水平公共子表达式x2由移位寄存器和与抽头线T2相连接的加法器A1计算,每个寄存器移动输入信号(x)1个位和3个位。“x2[-1]>>6”由加法器A4来实现,其中加法器A4将与抽头线T2相连接的移位寄存器的输出(移动了6个位)和延迟器D1(将抽头线T1的输出延迟一个时钟周期)的输出相加。另外,加法器A12实现“x2[-9]>>6”,加法器A5实现“x3[-2]>>3”,以及加法器A11实现“x3[-8]>>3”。
图1的结构在进行相加运算之前,通过移位寄存器将输入信号(x)与9相乘,以便图1中的“-n”由移位寄存器硬件来实现。延迟器D1到D10的每一个为了获得输出信号(y),将输入到它们的输入端的加法器的输出延迟预定时间。系数h0被实现为-1、-4和-7的理由是,由于x1是移动了-1的参考点,因此,当实现x1时,应该将x1比在实现公式中多移动一次-1。
IEEE关于电路和系统的会报II模拟和数字信号处理,卷43第10,677-688页,1996年10月,Richard I.Hartley所著的文献“Sub-expressionsharing in filters using canonic signed digit multipliers”(“利用规范带符号数字乘法器的滤波器中的子表达式共享”)中公开了减少规范带符号数字(CSD)FIR滤波器中的加法器的个数的公共子表达式共享方法的例子。
另外,IEICE关于基本原理的会报,卷E79A,第8,1120-1129页,1996年8月,M.Yagyu、A.Nishihara和N.Fujii所著的文献“Fast FIR digitalfilter structures using minimal number of adders and its applicationto filter design”(“利用最少个数加法器的快速FIR数字滤波器结构及其对于滤波器设计的应用”)中公开了涉及到利用混合整数编程(MILP)的滤波器设计结构和利用最少个数加法器的高速FIR数字滤波器结构的技术的例子。
传统方法通过搜索和共享除了线性相位滤波器系数的对称公共子表达式之外的系数中的公共子表达式,减少了加法器的个数。但是,问题在于,加法器减少了的个数还不足以实现高速和低功率半导体芯片。
如上所述,传统线性相位CSD滤波器只应用了水平公共子表达式,这是因为,由于滤波器的对称结构,使用在其两侧自然生成的公共子表达式是有利的。但是,传统水平公共子表达式共享方法不适于用在高速和低功率滤波器中,因为该方法仍然需要个数相对较多的加法器。
因此,存在着使线性相位CSD滤波器中加法器的个数达到最少,从而提供尺寸缩小了的半导体设计,以及提高处理速率的需要。

发明内容
本发明的一个目的是提供低功率和高速CSD线性相位滤波器结构及其滤波器系数设计方法。
本发明的另一个目的是提供包含在一个半导体芯片内的低功率和高速线性相位滤波器,在芯片中它的占据区域被最小化和简单化。
本发明的另一个目的是提供能够降低制造成本的低功率和高速数字滤波器及其滤波器设计方法。
本发明的另一个目的是提供一种用于通过利用垂直公共子表达式,减少在线性相位滤波器中采用的加法器的个数的方法。
如本发明的一个方面,提供了在利用CSD(规范带符号数字)滤波器系数作为滤波器系数,以及CSD滤波器系数用预定位数的CSD码字表达的线性相位数字滤波器中,实现滤波器系数的方法。该方法包括下列步骤在相邻滤波器系数的相应CSD码字之间确定垂直公共CSD码字,其中,处在最高级位中的垂直公共CSD码字被设置为垂直公共子表达式;通过移位和延迟该垂直公共子表达式,用垂直公共子表达式表达每个滤波器系数的CSD码字当中的垂直公共CSD码字;和合成所表达的滤波器系数的垂直公共CSD码字。
如本发明的另一个方面,提供了实现包括用n位(n是大于或等于2的自然数)CSD(规范带符号数字)码字表达的滤波器系数,用于滤波k位(k是大于或等于4的自然数)数字样本的数字滤波器的方法。该方法包括下列步骤通过在相邻滤波器系数的相应CSD码字之间搜索垂直公共CSD码字,以及将处在垂直公共CSD码字的最高级位中的垂直公共CSD码字确定为垂直公共子表达式,生成垂直公共子表达式;以及将每个滤波器系数当中的垂直公共CSD码字转换为被移位和延迟了的垂直公共子表达式,因此用合成方法实现了滤波器系数。
如本发明的另一个方面,将利用给定位数的CSD(规范带符号数字)码字表达的CSD滤波器系数用作延迟线的抽头上的滤波器系数的线性相位数字滤波器包括一个与数据输入端相连接的垂直公共子表达式发生器,用于在相邻滤波器系数的相应CSD码字具有多个垂直公共CSD码字时,将处在垂直公共CSD码字的最高级位中的垂直公共CSD码字设置为垂直公共子表达式;一个移位寄存器,包括多个与垂直公共子表达式发生器的输出端共接的移位器,每个移位器将垂直公共子表达式发生器的输出移动彼此不同的预定位数;多个加法器,每个加法器与一个移位器相连接;以及多个延迟器,每个延迟器可替换地与多个加法器的相应一个加法器的输出端相连接,用于将相应一个加法器的输出延迟一个单位时间。
如本发明的另一个方面,将利用预定位数的CSD(规范带符号数字)码字表达的CSD滤波器系数用作延迟线的抽头上的滤波器系数的线性相位数字滤波器包括多个分别与多个数据输入端相连接的垂直公共子表达式发生器,分别用于将相邻滤波器系数的垂直公共CSD码字的最高级位设置为垂直公共子表达式;多个移位寄存器,每个移位寄存器与多个垂直公共子表达式发生器的相应一个的输出端共接并包括多个输出端,用于将相应垂直公共子表达式发生器的输出移动彼此不同的预定位数并输出;多个加法器,分别与移位寄存器的多个输出端相连接;以及多个延迟器,可替换地与多个加法器相连接,分别用于将加法器的输出延迟一个单位时间。
如本发明的另一个方面,其滤波器系数包括用预定位数的CSD(规范带符号数字)码字表达的CSD滤波器系数的CSD型数字滤波器,包括一个垂直公共子表达式发生器,包括与数据输入端相连接的延迟部件和相加部件,用于将相邻滤波器系数的垂直公共CSD码字的最高级位指定为垂直公共子表达式;一个移位寄存器,与垂直公共子表达式发生器的相加部件的输出端共接,并包括多个输出端,用于按照位的最低级的次序依次将相加部件的输出移动预定位数并输出;相加电路,包括分别与移位寄存器的多个输出端相连多个输入端;以及一个延迟电路,包括可替换地与相加电路的输入端相连接的多个延迟器,用于分别将相加电路的输出延迟一个单位时间。
有利的是,由于如本发明一个方面的滤波器系数是利用垂直公共子表达式实现的,用于实现数字滤波器的加法器的个数达到最少,从而形成高速和低功率数字滤波器。
通过结合附图,对本发明的优选实施例进行如下详细描述,本发明的这些和其它方面、要素和优点将更加清楚。


图1是如传统水平公共子表达式方法实现的CSD线性相位滤波器的电路图;图2是利用如本发明实施例的垂直公共子表达式方法实现的CSD线性相位滤波器的电路图;图3A至3C是传统9-位CSD线性相位滤波器的电路图;图4A和4B是如本发明实施例的9-位CSD线性相位滤波器的电路图;图5A至5C是传统10-位CSD线性相位滤波器的电路图;图6A至6C是如本发明实施例的10-位CSD线性相位滤波器的电路图;图7是应用如本发明实施例的数字滤波器的无线接收机终端的方框图;以及图8是示出图7所示的无线接收机终端的典型中频处理器的方框图。
优选实施方式从现在开始将参照示出本发明优选实施例的附图更全面地描述本发明,其中,相同的标号表示具有相同或相似功能的单元。
在本发明的优选实施例中,要处理的滤波器系数是利用垂直公共子表达式实现的。除在滤波器的第一输入端使用加法器之外,最好使用具有多个输入端的全加器。全加器包括两个半加器(half adder)和一个异或门。半加器包括一个异或门和一个与门。延迟器可以用触发器或寄存器构成。
表3示出了如本发明的沿着垂直方向分组的滤波器系数(将它与滤波器系数沿着水平方向分组的表2相对照)。
表3.11抽头线性相位FIR滤波器的CSD系数 在表3中,双线中的每个方块表示一组垂直公共子表达式,每个空白块表示数字“0”,每列表示1-位CSD型滤波器系数,以及每行表示滤波器的一个抽头。例如,抽头“h0”具有CSD滤波器系数“000000001”。术语“2^-1”表示2的-1次方(即,2-1),以及术语“2^-2”表示2的-2次方(即,2-2)。第1行(h0)与第1列(2^-1)的交叉点被定义为参考点“x1”。如果将信号从参考点“x1”向水平方向移动,那么,该信号被移向最低级位(LSB)方向。如果向垂直方向移动,那么,该信号被延迟一个单位时间。
参照表3,垂直公共子表达式“1n”可以从相邻滤波器系数的CSD码字中获得。例如,抽头(h0)滤波器系数和抽头(h1)滤波器系数的垂直公共子表达式“1n”是从抽头(h0)的CSD码字(000000001)和抽头(h1)的CSD码字(000000n0n)的第9个位中获得的。抽头(h1)滤波器系数和抽头(h2)滤波器系数的垂直公共子表达式“n1”是从抽头h1和h2的CSD码字(000000n0n和000n00100)的第7个位中获得的。如果相邻滤波器系数的CSD码字具有多个垂直公共CSD码字,那么,将处于垂直公共CSD码字的最高级位(MSB)中的垂直公共CSD码字指定为垂直公共子表达式。
由于表3中的垂直公共子表达式,即“1n”和“n1”由于它们的互补关系而具有相同的结构,因此,可以将这些垂直公共子表达式表达为一个垂直公共子表达式“1n”。设垂直公共子表达式“1n”为“x2”。
垂直公共子表达式“x2”可以通过“1”和“n”沿着垂直方向的和来定义如下x2=x1-x1[-1]公共子表达式也就是说,垂直公共子表达式“x2”是参考点“x1”的系数(即,1)与被垂直延迟(延迟了1个抽头)和反向(减号或加号)的参考点“x1”的系数(即,n)之和(在这种情况中,是负相加)。因此,如果数字“1”位于第1行(h0)和第1列(2^-1)的交叉点上以及数字“n”位于第2行(h1)和第1列的交叉点上,那么,垂直公共子表达式“x2”被定义为这些数字沿着垂直方向的一个组。滤波器需要一个加法器(在这种情况中,是减法器)来实现垂直公共子表达式“x2”,滤波器的输出信号(y)可以表达如下y=x2>>8-x2[-1]>>6-x2[-2]>>3-x2[-3]>>1+x1[-4]+x2[-5]+x2[-6]>>3+x2[-7]>>6-x2[-8]>>8其中,符号“>>”表示输入信号(x)的移位以及符号“[]”表示输入信号(x)的延迟。
例如,由于表达式“x2>>8”的意思是将“x2”向右方向移动8个位,因此,符号“x2>>8”表示位于第1行(h0)和第2行(h1)与第9列(2^-9)的交叉点上的“1和n”。符号“-x2[-1]>>6”的意思是将垂直公共子表达式“x2”朝着垂直方向延迟1(1个抽头),并且向右方向移动6个位。因此,符号“-x2[-1]>>6”表示位于第2行(h1)和第3行(h2)与第7列(2^-7)的交叉点上的“n和1”。符号“-x2[-2]>>3”的意思是将垂直公共子表达式“x2”翻转符号,延迟2(2个抽头),并且向右方向移动3个位。因此,符号“-x2[-2]>>3”表示位于第3行(h2)和第4行(h3)与第4列(2^-4)的交叉点上的“n和1”。这里,因为x1本身包括了1-位移动,因此,将公共子表达式移动了比具有该公共子表达式的列号小1-位的位数。例如,第4列中的公共子表达式被移动了3个位。
也就是说,滤波器的输出信号是通过合成转换后的值,即参照垂直公共子表达式“x2”,具有该垂直公共子表达式“x2”的滤波器系数的CSD码字的被移位和延迟的值来实现。
像图2所示的滤波器那样,滤波器需要9个加法器,包括8个用于如上述公式实现输出信号(y)的加法器、和1个用于实现垂直公共子表达式“x2”的加法器。
图2示出了利用如本发明实施例的垂直公共子表达式方法的线性相位数字滤波器结构。该线性相位数字滤波器具有用具有给定位数的CSD码字表达的CSD滤波器系数作为延迟线的抽头上的滤波器系数。
参照图2,线性相位数字滤波器包括垂直公共子表达式发生器100,它包括与数据输入端x[n]相连接的加法器A1和延迟器D1,用于当相邻滤波器系数的CSD码字中存在多个垂直公共子表达式时,将垂直公共子表达式指定为CSD码字的最高级位;移位寄存器200,它包括与加法器A1的输出端共接的多个移位器,用于将加法器A1的输出移动预定的位数,移位器按照最高级移动位顺序排列,即按照8-位移位器、6-位移位器、3-位移位器和1-位移位器的次序排列;多个加法器A2、A3、A4、A6、A7、A8、A9,它们的每个输入端与移位寄存器200的移位器的每个输出端相连接;以及多个延迟器D3、D4、D8、D9、D10,它们可替换地与加法器相连接,用于将加法器的输出延迟一个单位时间(一个时钟周期)。
分别用Ai(i是大于1的自然数)表示与抽头线T1至T6相连接的加法器,用Di表示延迟器,用x表示输入信号,和用y表示输出信号。抽头线T2-T5旁边的数字表示移动的位数。例如,抽头线T2旁边的数字“8”的意思是将要滤波的输入信号(x)向LSB方向移动8个位。移位寄存器可以用于相乘运算,其中输入信号(x)响应时钟信号被移位。尽管在图2中没有示出减法器,但是,在其输入端带符号“-”的加法器即表示减法器。
垂直公共子表达式“x2”(即,“1n”)是在图2中的抽头线T2上被实现的。也就是说,表3中的垂直公共子表达式“1n”是利用将参考点“x1”的系数(在这种情况中,1)与被延迟(用延迟器D1延迟1个抽头)和反向了的参考点“x1”的系数(在这种情况中,n)相加的加法器A1(在这种情况中,相减)实现的。因此,延迟器D1和加法器A1构为垂直公共子表达式发生器100。
来自垂直公共子表达式发生器100的垂直公共子表达式“x2”输出,通过移位寄存器200的8-位移位器和抽头线T2移动8个位,于是实现了表3中的系数h0、h1和h9、h10。抽头线T2是用于实现“x2>>8”和“-x2[-8]>>8”的,以及加法器A9是用于计算“-x2[-8]>>8”的。
抽头线T3通过移位寄存器200的6-位移位器输出被移动了6位的垂直公共子表达式x2,以实现表3中的系数h1、h2和h8、h9。抽头线T3是用于实现“-x2[-1]>>6”和“x2[-7]>>6”的,加法器A2计算“-x2[-1]>>6”和加法器A8计算“x2[-7]>>6”。
抽头线T4通过移位寄存器200的3-位移位器输出被移动了3位的垂直公共子表达式x2,以便实现表3中的系数h2、h3和h7、h8。抽头线T4是用于实现“-x2[-2]>>3”和“x2[-6]>>3”的,加法器A3计算“-x2[-2]>>3”和加法器A7计算“x2[-6]>>3”。
表3中的系数h3、h4和h6、h7是通过抽头线T5实现的。抽头线T5是用于实现“-x2[-3]>>1”和“x2[-5]>>1”的,加法器A4计算“-x2[-3]>>1”和加法器A6计算“x2[-5]>>1”。
系数h5是通过用于实现x1[-4]的抽头线T6,而不是利用垂直公共子表达式实现的。加法器A5计算x1[-4]。由于x1是沿最低级位方向有移动1个位的参考点,需要实现又1个位的移动,因此,在实现系数h5时需要移动位“1”。
延迟器Di将相应加法器的输出延迟一个单位时间,以获得输出信号(y)。延迟时间包括一个时钟周期。
如本发明的数字滤波器包括通过移位寄存器(200)的相应8、6、3、1-位移位器与输出垂直公共子表达式“x2”的抽头线T2共接的多个加法器A9、A2、A3、A4、A6、A7、A8。
有利的是,由于图2所示的利用垂直公共子表达式方法的滤波器结构需要比传统滤波器结构(如图1所示)中加法器个数少4个的加法器个数,因此,实现加法器的个数减少了30.8%。
图7示出了应用如本发明的数字滤波器的无线接收终端的IF数字信号处理器。参照图7,模拟输入信号通过RF信号处理器10接收,并被输入到中频处理器20,中频处理器20包括A/D转换器22,乘法器24、25,第一和第二低通滤波器(LPF)26、27,和第一和第二抽选器28、29。
模拟信号由A/D转换器转换为含有预定位的数字样本,输出到第一和第二乘法器24、25。乘法器24、25将数字样本分别与cosωn和sinωn相乘来混合它们,并且将混合信号提供给第一和第二低通滤波器(LPF)26、27。第一和第二低通滤波器26、27滤波给定频带中的混合信号,并且将滤波信号输出到相应抽选器28、29。抽选器28、29抽选滤波后的中频信号,生为信号I、Q,并且将信号I、Q提供给基带处理器30。基带处理器30对信号I、Q进行信道编码和信源编码。
例如,中频处理器20可以用图8所示的数字降频转换器(DFDC)来实现,图8示出了哈里斯半导体(Harris Semiconductor)公司的集为电路“HSP50214”。图8所示的电路包括CIC滤波器2、CSD滤波器3和并行滤波器4,它们都与混合器1相连接。包括半带滤波器和可编程滤波器的CSD滤波器3可以用如本发明的垂直公共子表达式方法来实现,因为滤波器3必然需要高速和低功率操作。
例如,CDMA(码分多址)IS-95中频终端的技术规范(由Qualcomm在1995年提出)是利用本发明的垂直公共子表达式方法实现的。这里,数字滤波器的抽样频率是19.6608MHz,通带频率和衰减量分别是630KHz和0.1dB,和阻带频率和衰减量分别是1.2288MHz和-40dB。线性相位滤波器是利用基于该技术规范的COSSAP FIR滤波器设计工具设计的,从而实现了73个抽头的线性相位滤波器系数。
表4示出了上述73个滤波器系数当中,除了36个对称系数之外的37个系数的24-位精度的CSD型系数。在表4中,“-1”被表示为“n”,列表示h0到h36的系数,以及行表示2-1到2-24的位。
表4.73抽头FIR滤波器


表5示出了利用表4的CSD系数当中的第1位到第9位生成的传统水平公共子表达式。表6示出了利用表4的CSD系数当中的第1位到第9位生成的垂直公共子表达式。
表5.传统公用子表达式(9位)表6.垂直公用子表达式(9位)

由于在表5中传统水平公共子表达式是“101”和“10n”,因此,需要2个加法器来实现该公共子表达式。表5中的最后一列表示实现CSD线性相位滤波器的系数所需的加法器的个数,加法器的个数是60。因此,实现公共子表达式和实现这些系数总共需要60个加法器。图3A、3B和3C示出了如图5所示的传统水平公共子表达式实现的9-位CSD线性相位滤波器。
在表6中,垂直公共子表达式是“11”、“1n”、“111”和“1n1”,以及水平公共子表达式是“10n”,因此,需要5个加法器来实现CSD线性相位滤波器的公共子表达式。实现滤波器的加法器是40个加法器,其中35个加法器(如表6中的最后一列所示)用于实现滤波器的系数,5个滤波器用于实现公共子表达式。图4A和4B示出了与图2所示的结构类似的、如本发明实现的9-位CSD线性相位滤波器的结构。与图3所示的结构相比,图4所示的结构使加法器的个数减少到原来的64.5%。
表7和8分别示出了用表4的CSD系数当中的第1位到第10位生成的传统水平公共子表达式和本发明的垂直公共子表达式。
表7.传统公用子表达式(10-位) 表6.垂直公用子表达式(10-位) 与表5中类似,在表8中也可以使加法器的个数减少。但是,在表8中与h29相对应的行中,尽管要相加的对象的个数是3,但是,因为非对称垂直公共子表达式“1n”包括对称垂直公共子表达式“11”,所以加法器的个数是5。像“1n”、“10n”和“11nn””那样的非对称垂直公共子表达式应该以其倒数的形式加入到延迟链的较低终端中。但是,当像h29那样,非对称垂直公共子表达式包括对称垂直公共子表达式时,就不能以其倒数的形式将非对称公共子表达式加入到终端中。应该将子表达式分开加入到低终端中,致使需要附加的加法器。
图6A、6B和6C示出了用表8中的垂直公共子表达式实现的10-位CSD线性相位滤波器的结构。图5A和5B示出了用表7中水平公共子表达式实现的10-位CSD线性相位滤波器的结构。图5所示的滤波器需要74个加法器,而图6所示的滤波器需要49个加法器。因此,本发明的垂直公共子表达式方法使加法器的个数减少了33.8%。
表9示出了当这些位的系数分别用传统水平公共子表达式方法和如本发明的垂直公共子表达式方法实现时,用于实现表4中的9位到16位的加法器的个数。如表9所示,用垂直公共子表达式方法实现的加法器的个数少于用水平公共子表达式方法实现的加法器的个数。如本发明的垂直公共子表达式方法在实现较少的位数时,可以获得更高的效率。
表9.垂直公共子表达式方法相对于传统方法的加法器个数的减少率(73个抽头)

如本发明的另一个实施例,CDMA IS-95中频终端的技术规范(由Qualcomm提出)是利用本发明的垂直公共子表达式方法实现的。这里,数字滤波器的抽样频率是19.6608MHz,通带频率和衰减量分别是630KHz和0.1dB,和阻带频率和衰减量分别是820MHz和-40dB。滤波器利用MATLAB FIR滤波器设计工具设计以满足该技术规范的,从而实现了219个抽头的线性相位滤波器系数。总共219个滤波器系数当中,除了109个对称系数之外的其它110个系数被转换为20个位的2的补数型,然后用CSD型系数表示。
表10示出了当这些位的系数分别用传统水平公共子表达式方法和如本发明的垂直公共子表达式方法实现时,用于实现表4中的9位到16位的加法器的个数。如表10所示,位数越少,加法器个数的减少率就越大。
表10.垂直公共子表达式方法相对于传统方法的加法器个数的减少率(219个抽头)


总而言之,当9位到16位(表4中)的滤波器系数通过含有73个抽头(表9)的CSD线性相位FIR滤波器实现时,垂直公共子表达式方法(利用77个加法器)相对于传统水平公共子表达式方法(利用91个加法器)的加法器个数的减少率是15.3%。当9位到16位的滤波器系数通过含有219个抽头(表10)的CSD线性相位FIR滤波器实现时,垂直公共子表达式方法(利用153个加法器)相对于传统水平公共子表达式方法(利用215个加法器)的加法器个数的减少率是28.84%。本发明的垂直公共子表达式方法相对于传统水平公共子表达式方法的加法器个数的平均减少率是22.11%。本发明的垂直公共子表达式方法的性能在高阶滤波器(也就是说,含有219个抽头)上比在低阶滤波器(也就是说,含有73个抽头)上更好。并且,如本发明垂直公共子表达式方法不仅可以应用在线性相位FIR滤波器中,而且可以应用在一般滤波器中。
如上所述,尽管在这里参照附图已经对示范性实施例作了描述,但是,应该明白,本发明不限于那些确切的实施例,本领域的普通技术人员可以作出各种各样的改变和修改,而不偏离本公开的范围或精神。所有这样的改变和修改都将包含在如所附权利要求书所述的本公开的范围之内。例如,可以如本发明的各种目的改变、修改、减少或增加滤波器抽头线和垂直公共子表达式的个数,以及可以将垂直公共子表达式和水平公共子表达式组合在一起来实现滤波器系数。另外,移位寄存器、加法器和延迟器除了用硬件来实现外,也可以由微处理器或数字信号处理器用软件来实现。
权利要求
1.一种在线性相位数字滤波器中,实现滤波器系数的方法,其中,CSD(规范带符号数字)滤波器系数被用作滤波器系数,所述CSD滤波器系数用预定位数的CSD码字表达,该方法包括下列步骤在相邻滤波器系数的相应CSD码字之间确定垂直公共CSD码字,其中,处在最高级位中的垂直公共CSD码字被设置为垂直公共子表达式;通过移位和延迟所述垂直公共子表达式,用所述垂直公共子表达式表达每个滤波器系数的CSD码字当中的垂直公共CSD码字;以及合成所表达的滤波器系数的所述垂直公共CSD码字。
2.如权利要求1所述的方法,其中,所述垂直公共CSD码字至少包括1n、11、111、1n1、或11nn中的一个。
3.如权利要求1所述的方法,其中,所述垂直公共CSD码字至少包括n1、nn、nnn、n1n、和nn11中的一个。
4.如权利要求1所述的方法,其中,所述线性相位数字滤波器包括应用在无线发送器/接收机终端的低通带滤波器中的线性相位FIR滤波器。
5.如权利要求1所述的方法,还包括设置附加垂直公共子表达式的步骤。
6.如权利要求1所述的方法,其中,所述滤波器系数是利用FIR滤波器设计工具实现的。
7.一种用于实现包括用n位CSD(规范带符号数字)码字表达的滤波器系数,用于滤波k位数字样本的数字滤波器的方法,其中n是大于或等于2的自然数,k是大于或等于4的自然数,该方法包括下列步骤通过在相邻滤波器系数的相应CSD码字之间搜索垂直公共CSD码字,以及将处在所述垂直公共CSD码字的最高级位中的垂直公共CSD码字确定为垂直公共子表达式,生成垂直公共子表达式;以及将每个滤波器系数当中的所述垂直公共CSD码字转换为被移位和延迟了的垂直公共子表达式,以便用合成方法实现滤波器系数。
8.如权利要求7所述的方法,其中,沿着数字滤波器中延迟线的抽头数递增的垂直方向,所述垂直公共CSD码字至少包括1n、11、111、1n1、和11nn中的一个。
9.如权利要求7所述的方法,其中,沿着数字滤波器中延迟线的抽头数递增的垂直方向,所述垂直公共CSD码字至少包括n1、nn、nnn、n1n、和nn11中的一个。
10.一种将用给定位数的CSD(规范带符号数字)码字表达的CSD滤波器系数用作延迟线的抽头上的滤波器系数的线性相位数字滤波器,包括一个与数据输入端相连接的垂直公共子表达式发生器,用于在相邻滤波器系数的相应CSD码字具有多个垂直公共CSD码字时,将处在垂直公共CSD码字的最高级位中的垂直公共CSD码字设置为垂直公共子表达式;一个移位寄存器,包括多个与所述垂直公共子表达式发生器的输出端共接的移位器,每个移位器将所述垂直公共子表达式发生器的输出移动彼此不同的预定位数;多个加法器,每个加法器与所述移位器中的一个相连接;以及多个延迟器,每个延迟器可替换地与多个所述加法器的相应一个加法器的输出端相连接,用于将相应一个加法器的输出延迟一个单位时间。
11.如权利要求10所述的数字滤波器,其中,所述移位器移动的预定位数依次减少。
12.如权利要求10所述的数字滤波器,其中,所述移位寄存器包括串联的8-位移位器、6-位移位器、3-位移位器和1-位移位器。
13.如权利要求10所述的数字滤波器,其中,所述垂直公共子表达式发生器包括与数据输入端相连接的延迟器和连接在所述延迟器和所述移位寄存器之间的加法器。
14.如权利要求10所述的数字滤波器,还包括附加移位寄存器、延迟器、和加法器,用于实现不含垂直公共CSD码字的滤波器系数。
15.一种将用预定位数的CSD(规范带符号数字)码字表达的CSD滤波器系数用作延迟线的抽头上的滤波器系数的线性相位数字滤波器,包括多个分别与多个数据输入端相连接的垂直公共子表达式发生器,分别用于将相邻滤波器系数的垂直公共CSD码字的最高级位设置为垂直公共子表达式;多个移位寄存器,每个移位寄存器与所述多个垂直公共子表达式发生器的相应一个的输出端共接并包括多个输出端,用于将相应所述垂直公共子表达式发生器的输出移动彼此不同的预定位数并输出;多个加法器,分别与所述移位寄存器的多个输出端相连接;以及多个延迟器,可替换地与所述多个加法器相连接,分别用于将所述加法器的输出延迟一个单位时间。
16.如权利要求15所述的数字滤波器,其中,每个垂直公共子表达式发生器包括与相应一个数据输入端相连接的延迟器和连接在所述延迟器和相应一个所述移位寄存器之间的加法器。
17.如权利要求15所述的数字滤波器,其中,所述移位器移动的预定位数依次减少。
18.一种CSD型数字滤波器,其中滤波器系数包括用预定位数的CSD(规范带符号数字)码字表达的CSD滤波器系数,所述CSD型滤波器包括一个垂直公共子表达式发生器,包括与数据输入端相连接的延迟部件和相加部件,以将相邻滤波器系数的垂直公共CSD码字的最高级位指定为垂直公共子表达式;一个移位寄存器,与所述垂直公共子表达式发生器的相加部件的输出端共接,并包括多个输出端,用于按照位的最低级的次序依次将相加部件的输出移动预定位数并输出;相加电路,包括分别与所述移位寄存器的多个输出端相连接的多个输入端;以及一个延迟电路,包括可替换地与相加电路的输入端相连接的多个延迟器,分别用于将相加电路的输出延迟一个单位时间。
全文摘要
一种将用给定位数的CSD(规范带符号数字)码字表达的CSD滤波器系数用作延迟线的抽头上的滤波器系数的线性相位数字滤波器,包括一个与数据输入端相连接的垂直公共子表达式发生器,用于在相邻滤波器系数的相应CSD码字具有多个垂直公共CSD码字时,将处在垂直公共CSD码字的最高级位中的垂直公共CSD码字设置为垂直公共子表达式;一个移位寄存器,包括多个移位器,每个移位器将所述垂直公共子表达式发生器的输出移动彼此不同的预定位数;多个加法器,每个加法器与所述移位器中的一个相连接;以及多个延迟器,每个延迟器可替换地与多个所述加法器的相应一个加法器的输出端相连接,用于将相应一个加法器的输出延迟一个单位时间。
文档编号H03H17/06GK1419388SQ0212317
公开日2003年5月21日 申请日期2002年6月26日 优先权日2001年11月12日
发明者张永钒, 梁世定 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1