可实现数字滤波运算的微处理器结构及数字滤波运算方法

文档序号:6417139阅读:186来源:国知局
专利名称:可实现数字滤波运算的微处理器结构及数字滤波运算方法
数字滤波运算方法本发明是有关数字信号处理的技术领域,尤指一种可实现数字滤波运算的微处理器结构及数字滤波运算方法。
按,有限响应数字滤波器(Finite Impulse Response Filer,FIE)及向量内积(Inner Product)是为已知的数字信号处理器(DSP)中的基本运算方块,而FIR运算即为进行下述公式的处理yn=Σi=0N-1cixn-i,]]>其中,N为滤波器的阶数,xn为第n次的输入,yn为第n次的输出;ci(i=0…N-1)为滤波器的固定系数。以N=4为例yn=c0xn+C1Xn-1+C2Xn-2+C3Xn-3,而下一笔资料的运算则为yn+1=C0Xn+1+C1Xn+C2Xn-1+C3Xn-2。
为了能让所须的运算能在每一笔资料进来之后顺利的进行,在传统的数字信号处理器中,其下一笔资料会将最旧的资料覆盖,并将指标移到最新的一笔资料,并在运算的过程中自动计算指标的位置,参照图3A所示,于进行第一笔资料计算前的存储器安排为…c0、c1、c2、c3、xn、xn-1、xn-2、xn-3…,指标R1及R2分别指向c0及xn,而要进行下一笔运算之前,则先将xn-3以xn+1覆盖,并将指标R2改到xn+1处,如图3B所示,而每次进行每笔资料所须的N次乘法运算时,则是每次以额外的地址产生器31产生新的指标Rn,来进行乘加运算。其运算方式为R2=(R2-Base+i)%N+Base,
其中,N=4,i=0…N-1,Base为x值所放置的基底地址,而R2则为此次运算的第一笔资料地址。
由此可知,习知的数字信号处理器为了要在每一个周期都能进行一次的乘法运算,故须以额外的硬件进行指标修改的运算工作。然而在这些运算之中,它须要三次的加/减法运算及一次的模数运算,故须付出相当多的硬件代价,而一般的微处理器因不含硬件乘法器,故很难有效率地提供此种数字信号处理的运算功能,因此,基于硬件资源的考量,如何以一微处理器的架构来实现数字滤波器运算的功能,即有其必要性。
发明人爰因于此,本于积极发明的精神,亟思一种可以解决上述问题的可实现数字滤波运算的微处理器结构及数字滤波运算方法,几经研究实验终至完成此项新颖进步的发明。
本发明的一目的是在提供一种可实现数字滤波运算的微处理器结构,以运用简单的硬件资源使微处理器具数字信号处理的有限响应数字滤波及内积运算的功能。
本发明的另一目的是在提供一种以微处理器实现数字滤波运算的方法,其藉由自动搬移滤波器的资料以在进行下一笔运算时仅须将新的资料填入及设定指标地址后即可立刻进行运算,而使微处理器得以有效进行数字信号处理的有限响应数字滤波运算。
本发明一种可实现数字滤波运算的微处理器结构,其是对一依序储存有复数个数字滤波系数及待滤波的输入值的存储器进行有限响应数字滤波运算,其特征在于,该微处理器结构主要包括-暂存器组,其具有第一暂存器及第二暂存器,以分别指向该存储器的一数字滤波系数及一输入值;-累加电路,其是读取该第一暂存器及第二暂存器的值所指向的数字滤波系数及输入值,采用算数逻辑单元以将该数字滤波系数及输入值相乘,并将相乘的值予以累加以及-递增器,其是用以对该第一及第二暂存器的值进行递增运算;其中,当该累加电路进行累加运算时,该累加器所读取的输入值是予以暂存,该递增器将该第一及第二暂存器的值递增,并分别回存,且该累加器以已递增的第一及第二暂存器的值为地址而自该存储器分别读取一数字滤波系数及一输入值,并以已递增的第二暂存器的值为地址将该暂存的输入值写入该存储器中,再进行下一次的运算。
其中该累加电路包括-输入暂存器,其是用以储存所读取的输入值;-系数暂存器,其是用以储存所读取的数字滤波系数;-临时暂存器,其是用以将已读取至该输入暂存器的输入值暂存;以及-乘/加运算单元,其是以算数逻辑单元对该输入暂存器及该系数暂存器内容执行乘法运算,并将相乘的结果累加至一输出暂存器。
其中该乘/加运算单元是以布式演算法执行乘法运算。
本发明一种可实现数字滤波运算的微处理器结构,其是对一依序储存有复数个数字滤波系数及待滤波的输入值的存储器进行有限响应数字滤波运算,其特征在于,该微处理器结构主要包括-暂存器组,其具有第一暂存器及第二暂存器,以分别指向该存储器的一数字滤波系数及一输入值;-累加电路,其是读取该第一暂存器及第二暂存器的值所指向的数字滤波系数及输入值,采用算数逻辑单元以将该数字滤波系数及输入值相乘,并将相乘的值予以累加以及-递减器,其是用以对该第一及第二暂存器的值进行递减运算;其中,当该累加电路进行累加运算时,该累加器所读取的输入值是予以暂存,该递减器将该第一及第二暂存器的值递减,并分别回存,且该累加器以已递减的第一及第二暂存器的值为地址而自该存储器分别读取一数字滤波系数及一输入值,并以已递减的第二暂存器的值为地址将该暂存的输入值写入该存储器中,再进行下一次的运算。
其中该累加电路包括-输入暂存器,其是用以储存所读取的输入值-系数暂存器,其是用以储存所读取的数字滤波系数;-临时暂存器,其是用以将已读取至该输入暂存器的输入值暂存;以及-乘/加运算单元,其是以算数逻辑单元对该输入暂存器及该系数暂存器的内容执行乘法运算,并将相乘的结果累加至一输出暂存器。
其中该乘/加运算单元是以布式演算法执行乘法运算。
本发明一种以微处理器实现数字滤波运算的方法,其是对一依序储存有数字滤波系数及待滤波的输入值的存储器进行有限响应数字滤波运算,其特征在于,该方法主要包括下述的步骤(A)读取第一个数字滤波系数及第一个输入值;(B)对所读取的数字滤波系数及输入值进行乘法运算,并将其累加(C)保留该输入值;(D)读取下一个数字滤波系数及下一个输入值(E)将所保留的输入值移至储存该下一个输入值的存储器位置,并回至步骤(B)以重复执行,直至将最后一个数字滤波系数与最后一个输入值的乘积累加完成。
其中所使用的微处理器具有第一及第二暂存器,该第一及第二暂存器的值分别指向该数字滤波系数及该输入值。
其中步骤(A)是将该第一暂存器的值所指向的存储器读取至一系数暂存器,并将第二暂存器的值所指向的存储器读取至一输入暂存器;其中步骤(B)是将该系数暂存器与该输入暂存器的值相乘并累加至一输出暂存器。
其中步骤(C)是将该输入暂存器的值储存至一临时暂存器。
其中步骤(D)是将该第一暂存器的值加一所指向的存储器读取至该系数暂存器,并将该第一暂存器的值递增,且将该第二暂存器的值加一所指向的存储器读取至该输入值暂存器,并将该该第二暂存器的值递增。
其中步骤(E)是将该临时暂存器的值存入该第二暂存器的值所指向的存储器位置。
其中步骤(D)是将该第一暂存器的值减一所指向的存储器读取至该系数暂存器,并将该第一暂存器的值递减,且将该第二暂存器的值减一所指向的存储器读取至该输入值暂存器,并将该第二暂存器的值递减。
其中步骤(E)是将该临时暂存器的值存入该第二暂存器的值所指向的存储器位置。
由于本发明的设计新颖,能提供产业上利用,且确有增进功效,故依法申请专利。
为使贵审查委员能进一步了解本发明的结构、特征及其目的,兹附以图式及较佳具体实施例的详细说明如后,其中

图1A及图1B是显示本发明的可实现数字滤波运算的微处理器结构及其数字滤波运算方法所运算的资料于存储器中的安排。
图2是为本发明的可实现数字滤波运算的微处理器结构的系统方块图。
图3A及图3B是显示习知的数字信号处理器于进行数字滤波运算时的资料安排。
有关本发明的可实现数字滤波运算的微处理器结构及其数字滤波运算方法的一较佳实施例,请先参照图1A及图1B所示的存储器安排方式,其中,图1A显示于进行第一笔资料计算前的存储器安排亦为…c0、c1、c2、c3、xn、xn-1、xn-2、xn-3…,指标R1及R2分别指向c0及xn,而在下一笔资料运算时,当存储器安排是为如图1B所示的…c0、c1、c2、c3、xn+1、xn、xn-1、xn-2…,指标R1及R2则分别指向c0及xn+1,则便能够以相同的运算方式进行运算,而不须对R1或R2的指标移动作特殊处理,并能够以微处理器的结构来予以实现。
图2即显示本发明的可实现数字滤波运算的微处理器结构的一实施例,其是对一依序储存有复数个数字滤波系数ci及待滤波的输入值xi的存储器21进行有限响应数字滤波运算,而该微处理器结构主要包括有累加电路22、暂存器组23、递增器24及多工器25,其中,该暂存器组23具有第一暂存器R1及第二暂存器R2,用以分别指向该存储器21的一数字滤波系数ci及一输入值xi,以便以进行存储器的存取。
该累加电路22是用以读取该第一暂存器R1及第二暂存器R2的值所指向的数字滤波系数ci及输入值xi,采用以微处理器的算数逻辑单元(ALU)所实现的乘/加运算单元221而将该数字滤波系数ci及输入值xi相乘,并将相乘的值予以累加,该累加电路22另具有系数暂存器CR、输入暂存器XR、临时暂存器TEMP以及输出暂存器ADO等缓冲存储设置,以作为运算时储存资料之用,又该输出暂存器ADO于运算前是被初始化为0。
该递增器24是用以对该第一及第二暂存器R1,R2的值进行递增运算,该多工器25则是用以自该累加电路22的输出或该递增器24的输出择一进入该暂存器组23。
而藉由前述的微处理器结构即可实现数字滤波的运算,其是经由微处理器的地址总线26及资料总线27而首先将该第一暂存器R1的值所指向的存储器21读取至该系数暂存器CR,并将第二暂存器R2的值所指向的存储器21读取至该输入暂存器XR,藉以分别取得一数字滤波系数ci及一输入值xi,所取得的数字滤波系数ci及输入值xi即藉由该乘/加运算单元221予以相乘,并将相乘的结果累加至该输出暂存器ADO。
此时,该输入暂存器XR的值并另外储存至该临时暂存器TEMP中以保留。
而于该累加电路22进行前述的乘算及累加运算时,该累加电路22并可自该存储器21读取下一次运算所需的资料,其是以该第一暂存器R1的值经由该递增器24加一为地址,而将其所指向的存储器21读取至该系数暂存器CR,并将该第一暂存器R1的值经由该递增器24而自动递增;另以该第二暂存器R2的值经由该递增器24加一为地址,而将其所指向的存储器21读取至该输入暂存器XR,并将该第二暂存器R2的值经由该递增器24而自动递增。
当该累加电路22已自该存储器21读取运算所需的资料后,该临时暂存器TEMP的值即以该已递增的第二暂存器R2的值为地址而存入其所指向的存储器21,而可自动将一输入值xi自动搬移至下一存储器位置,之后再回至前述以累加电路22进行乘算及累加的处理,如此重复进行乘算及累加的运算,直至将最后一个数字滤波系数ci与最后一个输入值xi的乘积累加至该输出暂存器ADO为止,即可完成所需的有限响应数字滤波运算,并将存于该输出暂存器ADO的运算结果透过该多工器25而输出。
于前述的微处理器结构及实现数字滤波的运算方法中,其所需的乘法运算并无需要硬件的乘法器,而是由微处理器的算数逻辑单元即可予以实现,其较佳地是以布式演算法(Booth Multiplication Algorithm)完成,或是其他任何多周期的乘法方式皆可运用。
由以上的说明可知,本发明的可实现数字滤波运算的微处理器结构及其数字滤波运算方法确已达成以微处理器来执行有限响应数字滤波运算,其在运算的过程中是利用递增器24的作用而自动将作为被乘数的数字滤波系数ci移动至下一个存储器位置,此递增器24在算数逻辑单元进行乘法计算的过程中,可自动将第二暂存器R2及第一暂存器R1的值加一且回存之,此加完的结果用于同一笔有限响应数字滤波运算的下一次乘法,而在下一次的运算时第二暂存器R2所指到的值载入后,可同时将存于算数逻辑单元的前一次的被乘数,以此时第二暂存器R2的值为地址透过资料总线27回送至存储器21中,亦可使其不回送,如此则对应到单纯的内积运算,即运算完成后输入值xi的资料不会被移动,故达成资料移动的目的。由于这些资料的搬移并不影响算数逻辑单元的运算,可与同时在算数逻辑单元中进行的乘法同时进行,对时序上并不会增加,故可以很有效率地同时完成资料搬移及有限响应数字滤波运算。
又如当于存储器21的资料是以递减的顺序排列时,亦即数字滤波系数ci及待滤波的输入值xi的排列方向与图1A及图1B所示者相反时,本发明的可实现数字滤波运算的微处理器结构及其数字滤波运算方法亦可以一递减器取代上述实施例的递增器24,而将前述有限响应数字滤波运算中的递增运算以递减运算取代之,亦能达成相同的效果,其整体的结构及运算方法与上述的实施例相当。
综上所陈,本发明无论就目的、手段及功效,在在均显示其迥异于习知技术的特征,为实现数字滤波运算的设计上的一大突破,恳请贵审查委员明察,早日赐准专利,以便嘉惠社会,实感德便。惟应注意的是,上述诸多实施例仅是为了便于说明而举例而已,本发明所主张的权利范围自应以申请专利范围所述为准,而非仅限于上述实施例。
权利要求
1.一种可实现数字滤波运算的微处理器结构,其是对一依序储存有复数个数字滤波系数及待滤波的输入值的存储器进行有限响应数字滤波运算,其特征在于,该微处理器结构主要包括-暂存器组,其具有第一暂存器及第二暂存器,以分别指向该存储器的一数字滤波系数及一输入值;-累加电路,其是读取该第一暂存器及第二暂存器的值所指向的数字滤波系数及输入值,采用算数逻辑单元以将该数字滤波系数及输入值相乘,并将相乘的值予以累加以及-递增器,其是用以对该第一及第二暂存器的值进行递增运算;其中,当该累加电路进行累加运算时,该累加器所读取的输入值是予以暂存,该递增器将该第一及第二暂存器的值递增,并分别回存,且该累加器以已递增的第一及第二暂存器的值为地址而自该存储器分别读取一数字滤波系数及一输入值,并以已递增的第二暂存器的值为地址将该暂存的输入值写入该存储器中,再进行下一次的运算。
2.根据权利要求1所述的可实现数字滤波运算的微处理器结构,其特征在于,其中该累加电路包括-输入暂存器,其是用以储存所读取的输入值;-系数暂存器,其是用以储存所读取的数字滤波系数;-临时暂存器,其是用以将已读取至该输入暂存器的输入值暂存;以及-乘/加运算单元,其是以算数逻辑单元对该输入暂存器及该系数暂存器内容执行乘法运算,并将相乘的结果累加至一输出暂存器。
3.根据权利要求2所述的可实现数字滤波运算的微处理器结构,其特征在于,其中该乘/加运算单元是以布式演算法执行乘法运算。
4.一种可实现数字滤波运算的微处理器结构,其是对一依序储存有复数个数字滤波系数及待滤波的输入值的存储器进行有限响应数字滤波运算,其特征在于,该微处理器结构主要包括-暂存器组,其具有第一暂存器及第二暂存器,以分别指向该存储器的一数字滤波系数及一输入值;-累加电路,其是读取该第一暂存器及第二暂存器的值所指向的数字滤波系数及输入值,采用算数逻辑单元以将该数字滤波系数及输入值相乘,并将相乘的值予以累加以及-递减器,其是用以对该第一及第二暂存器的值进行递减运算;其中,当该累加电路进行累加运算时,该累加器所读取的输入值是予以暂存,该递减器将该第一及第二暂存器的值递减,并分别回存,且该累加器以已递减的第一及第二暂存器的值为地址而自该存储器分别读取一数字滤波系数及一输入值,并以已递减的第二暂存器的值为地址将该暂存的输入值写入该存储器中,再进行下一次的运算。
5.根据权利要求4所述的可实现数字滤波运算的微处理器结构,其特征在于,其中该累加电路包括-输入暂存器,其是用以储存所读取的输入值-系数暂存器,其是用以储存所读取的数字滤波系数;-临时暂存器,其是用以将已读取至该输入暂存器的输入值暂存;以及-乘/加运算单元,其是以算数逻辑单元对该输入暂存器及该系数暂存器的内容执行乘法运算,并将相乘的结果累加至一输出暂存器。
6.根据权利要求5所述的可实现数字滤波运算的微处理器结构,其特征在于,其中该乘/加运算单元是以布式演算法执行乘法运算。
7.一种以微处理器实现数字滤波运算的方法,其是对一依序储存有数字滤波系数及待滤波的输入值的存储器进行有限响应数字滤波运算,其特征在于,该方法主要包括下述的步骤(A)读取第一个数字滤波系数及第一个输入值;(B)对所读取的数字滤波系数及输入值进行乘法运算,并将其累加;(C)保留该输入值;(D)读取下一个数字滤波系数及下一个输入值(E)将所保留的输入值移至储存该下一个输入值的存储器位置,并回至步骤(B)以重复执行,直至将最后一个数字滤波系数与最后一个输入值的乘积累加完成。
8.根据权利要求7所述的以微处理器实现数字滤波运算的方法,其特征在于,其中所使用的微处理器具有第一及第二暂存器,该第一及第二暂存器的值分别指向该数字滤波系数及该输入值。
9.根据权利要求8所述的以微处理器实现数字滤波运算的方法,其特征在于,其中步骤(A)是将该第一暂存器的值所指向的存储器读取至一系数暂存器,并将第二暂存器的值所指向的存储器读取至一输入暂存器;
10.根据权利要求9所述的以微处理器实现数字滤波运算的方法,其特征在于,其中步骤(B)是将该系数暂存器与该输入暂存器的值相乘并累加至一输出暂存器。
11.根据权利要求10所述的以微处理器实现数字滤波运算的方法,其特征在于,其中步骤(C)是将该输入暂存器的值储存至一临时暂存器。
12.根据权利要求11所述的以微处理器实现数字滤波运算的方法,其特征在于,其中步骤(D)是将该第一暂存器的值加一所指向的存储器读取至该系数暂存器,并将该第一暂存器的值递增,且将该第二暂存器的值加一所指向的存储器读取至该输入值暂存器,并将该该第二暂存器的值递增。
13.根据权利要求12所述的以微处理器实现数字滤波运算的方法,其特征在于,其中步骤(E)是将该临时暂存器的值存入该第二暂存器的值所指向的存储器位置。
14.根据权利要求11所述的以微处理器实现数字滤波运算的方法,其特征在于,其中步骤(D)是将该第一暂存器的值减一所指向的存储器读取至该系数暂存器,并将该第一暂存器的值递减,且将该第二暂存器的值减一所指向的存储器读取至该输入值暂存器,并将该第二暂存器的值递减。
15.根据权利要求14所述的以微处理器实现数字滤波运算的方法,其特征在于,其中步骤(E)是将该临时暂存器的值存入该第二暂存器的值所指向的存储器位置。
全文摘要
本发明是为了一种可实现数字滤波运算的微处理器结构及数字滤波运算方法,其主要是以一递增器/递减器及微处理器既有的累加电路及暂存器组等来提供数字信号处理的有限响应数字滤波及内积的运算,藉由该递增器/递减器的作用,于进行一笔有限响应数字滤波运算时,可自动搬移滤波器的资料,从而在进行下一笔运算时仅须将新的资料填入及设定指标地址后即可立刻进行运算,故使得微处理器能够非常有效地进行数字信号处理的运算。
文档编号G06F17/10GK1294359SQ9912230
公开日2001年5月9日 申请日期1999年10月29日 优先权日1999年10月29日
发明者刘德忠, 李桓瑞, 施文仁 申请人:凌阳科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1