专利名称:接收机,可编程电路以及计算数字滤波器的方法
技术领域:
本发明涉及一种试图与一主处理器相关的可编程辅助处理器电路,以形成具有预定系数的一种数字滤波器,该电路包括由一个控制元件控制的计算元件并接收输入数据,以便在输出端产生滤波器结果的一个序列。
本发明还涉及一种数字电视接收机,它由包括一滤波器装置的解调块组成。
最后本发明涉及计算滤波器的方法,用于在一个可编程辅助处理器电路的帮助下使具有预定系数的多路复用数字滤波器能有效实施。
本发明具有许多应用,特别是在称为《多媒体系统》的系统中,当例如使用具有专用算法的DSP类信号处理器时使数字滤波器能有效实施。
由T.C.Denk等人于1998年5月在ISCASSP中公布的题为《Reconfigurable hardware for efficient implementation of programmableFIR filters》一文中描述了一种有限脉冲响应滤波器结构,它能够在包括在该滤波器结果中的最近一次数据到达之前预期该结果的计算。为此,为计算当前的最近一项的结果,考虑到使用预期的中间计算,已经接收的数据要储存起来。该方法意味着滤波器处理器的计算速度与数据的接收速度是同步的。
本发明描述一种辅助处理器电路,它比用于计算数字滤波器的已知电路有更高的灵活性。更特别地,它能多路复用各种不同滤波器类型,同时数据的输入率和该处理器的计算速度彼此并不连系。
因此,在开始章节中提供定义的类型的电路的特征在于计算元件包括一个累加器,试图按接收输入数据和滤波器系数之间的中间结果的连续乘积方式加起来,以便使当前滤波器结果的一个预期迭代计算能有效实施,其特征还在于根据接收一个新数据,提供控制元件,以触发当前结果的所说预期计算的最近一次迭代。
按本发明的特征,提供上述电路,用来形成具有长度L的一个滤波器,同时用《y(n)》表示的滤波器结果的序列能写成y(n)=Σk=0L-1ωk×x(n-k)----(1)]]>这里y(n)为在瞬时n的结果,ωk为具有下标k的预定系数,而x(n-k)为在瞬时n-k接收的输入数据,其特征在于,P为等于由计算单元并行计算的乘积数的正整数,在包括在滤波器结果y(n)中的最近一次数据到达之前所说预期的计算的迭代是有效的,同时每个迭代实现在P个连续输入数据和相应按等式(1)的滤波器系数之间的p个乘积的计算,该p个连续输入数据已经被用于计算表示为y(n-1)的在先滤波器结构的计算。
按本发明的另外的特征,被提供的这种电路包括同所说计算元件一起工作并由中心管理元件控制的多个控制元件,以便使各种多路复用数字滤波器能有效实施,其特征在于所说管理元件包括与每个滤波器相关的优先级指示,以便触发一个滤波器结果的预期计算为所说滤波器的优先级的函数。
按照本发明的一个具体实施例,每个控制元件实现四态自动化,包括一个初始化状态,用于储存每个滤波器的系数,一个不起动状态,用于等待一个新输入数据的到达,一个预期处理迭代计算的状态,试图借助迭代计算,按中间结果方式,将在已接收的连续的输入数据和相应滤波器系数之间的乘积加起来,一个计算最近一次迭代的状态,用于计算该当前结果的所说预期迭代的计算的最近一次迭代。
按照该实施例的一个重要特征,当每次接收-新输入数据时,提供中央管理元件来起动该滤波器的最近一次迭代的计算状态,此为所说新数据的含义。
本发明还提供在开始章节已定义的类型的一种滤波器的计算方法,包括下列步骤一个初始化步骤,用于储存每个滤波器的系数,一个预期迭代计算步骤,试图借助迭代计算,按中间结果方式,将在连续接收的输入数据和相应滤波器系数之间的乘积加起来,以预期当前滤波器结果的计算,一个计算当接收每个新输入数据时触发的最近一次迭代的步骤,用于计算该当前结果的预期迭代计算的最近一次迭代。
借助非限制性例子,并参照以下描述的实施例,本发明的这些和其他方面将是清楚的并将被加以说明。
在附图中
图1表示自动化的状态图,说明按本发明的滤波器的计算方法,图2是一个示意图,说明按本发明的中心管理元件的操作,图3表示按本发明的一个辅助处理器电路的方块图,以及图4表示按本发明的一个数字电视接收机。
本发明特别应用于计算数字有限脉冲响应滤波器,并在借助单个主处理器多路复用各种滤波器的场合具有很大的优越性。本发明适合于超大规模集成VLSI的要求。
在数字电信系统中,例如数字电报挂号或卫星电视中应用的解调算法要求大的计算能力,由此产生用一个辅助处理器电路来减轻计算滤波器的主处理器负担的想法。实质上这种专用的可编程电路可用一个数字信号处理器,或DSP来形成,它尤其包括存储器寄存器,用于储存该滤波器的可编程系数。
本发明特别地以一种有效的方式提出一种用于多路复用各种不同类型滤波器的数字滤波计算方法。对于每个具有最小等待时间的滤波器,问题由解以下等式(1)构成。y(n)=Σk=0L-1ωk×x(n-k)----(1)]]>这里y(n)为在瞬时n的滤波器结果,L为滤波器长度,ωk为具有下标k的预定系数,而x(n-k)为在瞬时n-k接收的输入数据。
这样单个滤波器解的计算要求计算L个乘积以及L个结果的和。包括准确计算等式(1)的该方法意味着储存所有的输入数据,直至接收到包括在当前滤波器结果中的最近一次数据为止。这种方法的主要缺点在于在接收x(n)和传输y(n)之间存在等待时间,y(n)正比于该滤波器的长度。
本发明提出计算等式(1)的另一方法,由在接收包括在计算Y(n)中指示x(n)的最近一次数据之前,但在已计算指示Y(n-1)的在先结果之后以预期方式计算该滤波器结果Y(n)的部分所组成。为此,该方法包括一个累积步骤(也称为迭代预行计算步骤),用于以中间结果方式将在该滤波器的预定系数和按等式(1)的相应输入数据之间的连续的乘积加起来,该等式(1)已被用于计算前述的滤波器结果。每个由y′(n)指示的中间结果迭代地接收在先计算的中间结果的和以及当前最可利用的数据即x(n-k)(K∈{L-1,…,1})的乘积的和,其已用于计算前述滤波器结果Y(n-1),包括适当的滤波器系数。这产生y′(n)←y′(n)+ωk×x(n-k)当k∈{L-1,...,1}这里符号←表示符号左边的结果接收右边的值。
如果处理器用于处理以P连续数据的字的形式并行的各种数据,对于P是大于或等于1的整数,而L是P的倍数,则中间结果的计算写成y′(n)←y′(n)+Σk=i×p-1(i-1)×pωk×x(n-k)]]>当i∈[L/p,...,2}取决于数据到达,在连续的累积步骤中,预期的迭代计算当前的滤波器的结果则是有效的,使得当包括在滤波器结果Y(n)中的最近一次数据x(n)到达的同时仅剩下-最近一次计算步骤以得到最后结果Y(n)。这最近一次步骤按照等式(1)包括计算x(n)与指示为ωo的相应预定系数的积,以及将该积加到该最近一次累积的中间结果。这个被称为最近一次迭代步骤的最后步骤伴随时钟周期能被有效地实施而不管该滤波器的长度,而这将显著地改进处理器的性能。
在上述情况中,处理器是提供来用于处理各种并行数据,这里P是包含在一个字内的数据的数量,则最近一次迭代的计算写成y(n)=y′(n)+Σk=0p-1ωk×x(n-k)]]>一个初始化步骤也提供来储存滤波器系数以及能起动计算第一个滤波器结果的第一个接收的数据。
按照这个方法,数据的输入率和该处理器的计算速度可以是独立的,还允许多路复用各种不同的滤波器。
图1表示按上述方法计算一个滤波器的自动器的状态图。它包括表示为INIT,WAIT,ANTI和LATA四个状态,这里INIT是初始状态,用于储存滤波器系数,ANTI是预期迭代计算状态,借助迭代计算按中间结果形式将在已接收的连续输入数据和相应滤波器系数之间的积加起来,这样借助已经获得的接收数据,简缩了当前解的预期的部分计算,WAIT是不起动状态,当处理器在等待一个新输入数据到达的同时不再有任何事可做时,例如,当当前结果的所有预期迭代计算已在状态ANTI进行时,该处理器被设置在这个状态中;LATA相应当前结果的预期计算的最近一次迭代的计算状态;当接收一个新输入数据时它被触发。
这样当前的中间结果的最近一次迭代的计算与接收每个新输入数据同步。因此提供自动器用于将从四个可能状态中之一个转到状态LATA以响应一单独特定事件接收一个新的输入数据(新数据)。只要它接收数据,它就保持在该状态。这样在状态LATA,处理器计算最终结果y(n)的最近一次计算迭代,以便将该结果送到该滤波器的输出端。当该新的输入数据被表示为x(n)时,该最近一次迭代的计算包括乘积ωo×x(n),然后将其加到在先计算的中间结果Yi′(n)。
如果从状态LATA算起处理器不接收一个新的数据,则它就自动地处于状态ANTI,以便借助已获得的数据,通过迭代计算中间结果Y′(n+1)预期下一个滤波结果Y(n+1)的计算。对于i∈{1,…,L}以及K=L-i,试图计算表示为Yi′(n+1)的结果Y(n+1)的中间结果的第i个迭代被写成yi′(n+1)←yi-1′(n+1)+ωk×x(n-k)y′0(n+1)=0这里符号←表示符号左边的结果接收右边的值。在每个先行计算(K--)迭代之后确定下标K,只要K严格地保持为正(k>0)。当K变成零以及如果无新数据被接收,则在先计算的中间结果表示为Y′L-1(n+1),处理器自动地进入状态WAIT,以等待将允许终止计算结果Y(n+1)的下一个输入数据x(n+1)。
概括地,不论处理器的当前状态如何,当接收一个新的输入数据时,它将自动地进入状态LATA。在那过程当中,一旦完成INIT状态,它就可以或者处于状态ANTI,只要所有下一结果的预期计算的所有迭代没有结束,或者当所有其中包括已用于计算在先滤波器结果的预期计算完成时,处于状态WAIT。
图2表示一个集中的管理元件的状态图,或者也表示组织各种多路复用独立数字滤波器之间计算的组织者。每个滤波器由一个控制元件或独立的自动器,功能元件来控制,例如按照图1的上述四状态机。该组织者分派给每个滤波器一个优先指数,以使计算的组织最佳化。
按照图2表示的实施例,组织者包括号码为21和22的两个状态。接收表示为Fj的一个确定的滤波器的一个输入数据将使组织者处于状态21,其对于所考虑的滤波器将触发最近一次的迭代LATA。在图中触发事件由载有标记新_数据Fj的箭头表示。其余时间该组织者处于状态22,以触发取决于其优先程度的各种滤波器预期计算状态ANTI。
为有效地管理这些计算,组织者和状态机必需知道每个滤波器的具体的来龙去脉,那就是说,被处理数据类型,滤波器类型,读和写指针的位置,等等。组织者将中断一个滤波器的预期计算,即使这并非终止,假如另一滤波器的新数据已被接收,将触发另一滤波器的最近一次的迭代,而不管其优先级。
如果无新数据被接收,组织者触发其有最高优先权的滤波器的预期计算,同时等待一个新输入数据的接收。
图3中以方块图形式表示按本发明的一个滤波器处理器。它包括以下元件存储寄存器DATA RF和TAPS RF,用于在它们被用来作各种滤波器的计算以及预定系数之前分别储存输入数据,计算单元30,具有多个输入端,用于接收储存在本质上由一个乘法器构成的寄存器DATA RF和TAPS RF中的数据和系数,一个加法器和几个相加寄存器IR RF,用于n个多路复用滤波器(为清楚起见,在图3中表示一单个寄存器),每个相加寄存器试图以中间结果形式,按迭代计算将输入数据和储存的系数间的连续乘积加起来,一个控制单元或状态机31,与每个滤波器相关,用于控制以上引证的各种方块,一个集中管理元件或组织者32,用于控制各种滤波器的状态机。
在初始化状态INIT期间,每个滤波器的系数储存在寄存器TAPSRF中,同时第一接收数据(其数量等于滤波器的长度,即等于系数的数量)储存在寄存器DATA RF中。每个状态机31将控制信号送到存储器寄存器DATA RF和TAPS RF,用于控制数据的储存。当他们被接收时,由于使用了计算元件30,输入数据DATA则储存在寄存器DATARF中。
每当接收新输入数据DATA时,数据的目的滤波器的状态机接收-控制信号NEW_DATA,以启动最近一次迭代LATA的计算状态。状态机产生信号NEW_RESULT指示在输出端上可获得一个新的滤波器结果Y(n),并重新启动相加寄存器IR RF其已包含对结果Y(n)预期的中间结果的连续的迭代。对于状态LATA和ANTI,在图3中以点划线引出的控制信号传送到DATA RF和TAPS RF,以便将它们交付给按两个状态执行计算数据所必要的计算元件。
图4借助实施例表示一种数字电视接收机或顶置盒的通用图,其试图保证在传输通道上传输的数字帧的解调。包括块TUNER包括一个调谐器,用于接收模拟输入信号并将其转换到更低的中间频率,解调块DEMOD,用于将接收的模拟信号数字化并将其解调,以确保由数字数据帧形成信号的数据的同步,误差校正块FEC(传送误差校正),用于校正由频道引起的误差,源解码块MPEG,例如按MPEG标准使用一个解码器,用于解码接收到的消息,以及显示块TV,特别包括一个阴极射线管。
为保证解调器42的功能需要一个数字滤波器。而这能够借助图3中所示类型电路按有利的一种方式加以实现。
这样借助于实例已对一种接收机,一种滤波器处理器电路以及允许多路的各种类型滤波器的一种数字滤波器计算方法进行了描述和说明,其特别试图接收已改变格式和输入率的数据。明显的是,根据所描述的实施例的模式可以产生许多变型而不偏离本发明的范围。
权利要求
1.一种试图与一主处理器相关的可编程辅助处理器电路,以形成具有预定系数的一种数字滤波器,该电路包括由一个控制元件控制的计算元件并接收输入数据,以便在输出端产生滤波器结果的一个序列,其特征在于计算元件包括一个累加器,试图按接收输入数据和滤波器系数间的中间结果的连续乘积方式加起来,以实现当前滤波器结果的预期迭代计算,以及根据接收一个新数据,提供控制元件,以触发所说当前结果的预期计算的最近一次迭代。
2.如权利要求1的电路,用于形成长度为L的一个滤波器,同时表示为[Y(n)]的滤波器结果的序列可写成y(n)=Σk=0L-1ωk×x(n-k)---(1)]]>这里y(n)为滤波器在瞬时n的解,ωk为具有下标k的预定系数,而x(n-k)为在瞬时n-k接收的输入数据,其特征在于,P为等于由计算单元并行计算的乘积数的正整数,在包括在滤波器结果y(n)中的最近一次数据到达之前,所说预期计算的迭代是有效的,同时每个迭代实现在P个连续输入数据和相应按等式(1)的滤波器系数之间的P个乘积的计算,该P个连续输入数据已经被用于计算表示为y(n-1)的在先滤波器结果的计算。
3.如权利要求1或2中任一的电路,包括同所说计算元件一起工作并由中心管理元件控制的多个控制元件,以便使多路复用数字滤波器有效实施,其特征在于所说管理元件包括与每个滤波器相关的优先级指示,以便触发一个滤波器结果的预期计算为所说滤波器的优先级的函数。
4.如权利要求3的电路,其特征在于每个控制元件实现四态自动化,包括一个初始状态,用于储存每个滤波器的系数,一个不起动状态,用于等待一个新输入数据的到达,一个预期迭代计算状态,试图借助迭代计算,按中间结果方式,将在已接收的连续的输入数据和相应滤波器系数之间的乘积加起来,一个计算最近一次迭代的状态,用于计算当前结果的所说预期迭代计算的最近一次迭代。
5.如权利要求4的电路,其特征在于当接收每个新输入数据时,提供中央管理元件来起动该滤波器的最近一次迭代的计算状态,此为所说新数据的含义。
6.用于接收数字输入数据的一种数字电视接收机,包括一个解调块,其中包括一个滤波器装置,其特征在于所说滤波器装置包括如权利要求1-5中之一个权利要求的电路,该电路用于对所接收的数据进行滤波。
7.一种计算方法,用于借助-可编程辅助处理器电路使具有预定系数的多路复用数字滤波器有效实施,该电路试图接收输入数据并在其输出端上产生一个滤波器结果序列,其特征在于包括下列步骤·一个初始化步骤,用于储存每个滤波器的系数,·一个预期迭代计算步骤,试图借助迭代计算,按中间结果方式,将在连续地接收的输入数据和相应滤波器系数之间的乘积加起来,以便预期计算当前滤波器结果,·计算最近一次迭代的步骤,这是当接收每个新输入数据时触发的,用于计算当前结果的预期迭代计算的最近一次迭代。
全文摘要
本发明提供一种计算数字滤波器的方法,该滤波器能借助一个可编程辅助处理器电路(实现)多路复用的各种不同的滤波器,所述电路包括一个计算元件和若干存储寄存器。本发明在得到包括在当前滤波器的结果的计算中的最近一次数据之前将进行预期计算该结果。为此,在预定滤波器系数和相应输入数据之间的连续乘积按迭代方式按中间结果方式累积,以便预期该目前结果的计算,该相应的输入数据已用于计算该在先的结果。每次接收到一个新的输入数据时触发最近一次中间结果的计算用于每个最后的结果,使得一旦已接收到包括在每个滤波器中的最近一次的输入数据,该结果立即可得到。应用:多媒体处理器,顶置盒,数字电视接收机,等。
文档编号H03H17/02GK1264959SQ0010229
公开日2000年8月30日 申请日期2000年2月22日 优先权日1999年2月26日
发明者E·杜亚丁, O·盖-贝利勒 申请人:皇家菲利浦电子有限公司