CN1254988A - 用于对有限输入数据进行滤波的数字滤波器 - Google Patents
用于对有限输入数据进行滤波的数字滤波器 Download PDFInfo
- Publication number
- CN1254988A CN1254988A CN 99123928 CN99123928A CN1254988A CN 1254988 A CN1254988 A CN 1254988A CN 99123928 CN99123928 CN 99123928 CN 99123928 A CN99123928 A CN 99123928A CN 1254988 A CN1254988 A CN 1254988A
- Authority
- CN
- China
- Prior art keywords
- delay element
- delay
- sequence number
- data
- pending
- 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.)
- Pending
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)
- Image Processing (AREA)
Abstract
本发明的延迟器件的阵列延迟元件的数目等于依次输入的数据数目N与延迟数P的总和。在滤波器处理的初始设定时,将O存储在从阵列第一端开始的P个延迟元件中,按照输入数据的序列顺序,把N个输入数据存储在依次从所述直线阵列第一端朝向第二端计数的第P+1个延迟元件开始的N个延迟元件中。第一指定装置指定一个用于存储和积计算的第一项数据的延迟元件,然后使指定的位置在相应于延迟器件的延迟时间的每个时间间隔内移位。第二指定装置指定的延迟元件用于存储需要与分支系数相乘的数据。
Description
本发明涉及在通用微型计算机中的具有有限数目的样品输入数据的数字滤波器。
近年来通用微型计算机的操作频率一直在提高,目前正在推广包括例如计算乘积和指令的多媒体指令的通用微型计算机。随着这种发展,通用微型计算机和软件现在正在实现滤波处理,这种处理当初曾利用DSD(数字信号处理器)进行处理。以前,在通用微型计算机中的数字滤波处理是通过一个环型FIR(有限脉冲响应)数字滤波器实现的。
图1示出一个具有一个延迟数P的环型缓冲器式滤波器的主要部件的构成图。这个滤波器装有P+1个缓冲器、输入数据指针P1和延迟数据指针P2。输入数据指针P1指示输入数据存储的位置。
延迟数据指针P2指定缓冲器的位置,对于和积计算来讲,缓冲器用于存储的数据需乘上分支系数。指针P2在和积计算开始时指定与输入数据指针P1相同的缓冲器位置,并且指针P2从该初始位置开始进行指定。
采样的时序数据D1、D2、D3、D4、…Dp、Dp+1、Dp+2、Dp+3、Dp+4…按下述要求存储在这个数字滤波器中:首先将数据D1存储在Y2侧的滤波器末端的缓冲器中。将D2存储在对着Y1侧的滤波器的末端的缓冲器中。按顺序将数据D3、D4、…Dp、Dp+1从Y1侧的存储数据D2的端部缓冲器开始朝Y2的方向写入。于是,将数据Dp+1存储在靠近存储数据D1的Y侧的缓冲器中。按这种方式连续一个周期存储数据位置。将下一个数据Dp+2重新写在数据D1上,再将数据Dp+3、Dp+4…重新写在数据D2、D3…上。图1中的标号(D1)、(D2)和(D3)表示在重写前曾在每个位置上写入的数据。
在上述数据存储中,输入数据指针P1指定数据的存储位置。
换句话说,输入数据指针P1首先指定在Y2侧的滤波器端部的缓冲器,接着指示Y1侧的端部缓冲器。输入数据指针P1指定缓冲器的顺序,依次在Y2方向上移位。在沿Y2方向指定端部缓冲器后,输入数据指针P1接着指定在Y1侧的端部缓冲器,随后它再在Y2方向继续进行移位。在图1中,输入数据指针P1正在离开Y1端指定第二缓冲器。然后在先前存储数据D3上重写数据Dp+4。
在和积计算中,从输入数据指针P1指定的数据开始,并按数据存储顺序相反的方向开始将数据与分支系数相乘。换句话说,延迟数据指针P2在和积计算开始时具有与输入数据指针P1相同的值,然后延迟数据指针在Y1方向移位。当延迟数据指针P2指定Y2侧的端部缓冲器时,延迟数据指针P2接着指定Y2侧的端部缓冲器。在图1中,延迟数据指针P2依次指定数据Dp+4、Dp+3、Dp+2、Dp+1、Dp…D4,直至下一个数据Dp+5重写在数据D4上为止,借此计算乘积的和:
Dp+4+a1Dp+3+a2Dp+2+a3Dp+1+a4Dp+…+apD4
在上述环形缓冲数字滤波器中,数据排列在一个由P+1个延迟元件(缓冲器)构成的环上。在图1所示的数据排列下,例如一开始写入的数据D4和最后写入的数据Op+4彼此相邻排列。因此,如果两端Y1和Y2相连接,则数据D1到Dp+4按照D4…Dp、Dp+1、Dp+2、Dp+3、Dp+4的顺序排列成环形。这种环状排列由少量的缓冲器就可以依次滤波大量的数据。但是,在这种环状排列中,指针的控制是复杂的;指针移位时,每次都需要校验,以便确定指针是否已经来到一个终端位置。
在上述现有技术的数字滤波器中,在通用计算机中进行滤波处理时会遇到下述问题:
第一个问题是,因为每次指针移位都需要进行环形缓冲器的结束试验,所以在环形滤波器中的指针控制是复杂的。
第二个问题是在多媒体处理中需要实时特性,这意味着在多媒体处理中要求更高的速度。
本发明的目的在于提供一种用于通用微型计算机的数字滤波器,该滤波器具有有限数量的输入数据,该滤波器的优点是滤波处理比较快和指针控制方便。
为了解决上述问题,本发明的数字滤波器是一种具有一个延迟数P的FIR数字滤波器,该滤波器执行乘积的和计算。该滤波器包括:一个延迟器件,一个第一指定装置,第二指定装置和一个乘积和的计算装置。
延迟器件的P+N个延迟元件为一个直线阵列,其中,在滤波处理的初始调整时间将0存储在从该直线阵列第一端开始计数的依次串行的P个延迟元件中,从第一端开始计数的第P+1个延迟元件按照朝向所述直线阵列的第二端的先后顺序将所述的输入的采样数据存储在其余的N个延迟元件中。为了简单起见,下面将采样数据称为数据。
第一指定装置指定一个根据输入数据的顺序存储有待进行各个和积计算的数据的延迟元件,该存储的数据作为其第一项。
第二指定装置依次从被第一指针装置逐个指定的延迟元件朝向第一端开始指定P+1个延迟元件,P+1个元件中包括被第一指定装置指定的延迟元件。
和积计算装置包括P+1个乘积的和。此处的P+1个乘积是被第二指定装置指定的存储在延迟元件中的数据,该P+1个乘积是与预定分支系数相乘过的,乘积和的第一项存储在被第一指定装置和第二指定装置指定的延迟元件中。
在上述数字滤波器中,第一指定装置在第j个和积计算开始时指定从该延迟元件第一端开始计数的第P+1个延迟元件。
第二指定装置控制第一指定装置,以便当每个和积计算完成时,使延迟元件刚好朝向第二端移动一个延迟元件。
当该第一指定装置的指定移位时,第二指定装置执行该P+1个延迟元件的下一个指定。
第二指定装置按照各个设定为延迟时间的时间间隔重复控制第一指定装置和重复控制P+1个延迟元件的指定,直至完成滤波处理。
下面说明本发明的数字滤波器的操作。
为了说明起见,将延迟元件的标号定义为:在延迟器件第一侧端的末端的延迟元件为1。在与第一侧端相对的第二侧端的末端的延迟元件为P+N。在这两个侧端之间的标号按顺序定义。标号为k(1≤k≤P+N)的延迟元件定义为“延迟元件k”。
对于本发明的数字滤波器的P+N个延迟元件来讲,将0(初始设定值)存储在延迟元件1到延迟元件P的P个延迟元件中。将输入数据的序列存储在从延迟元件P+1到延迟元件P+N的N个延迟元件中。按照该顺序将N个数据D1、D2、…Dn存储到从延迟元阵P+1到延迟元件P+N的延迟元件中。
根据上面设定的标号,可以将本发明数字滤波器的操作说明如下。
本发明的和积计算是对直线排列的D+1个数据(定义为连续的整数标号)的串行数据序列进行的。所述直线排列与上述环形缓冲器数字滤波器中排列成环形的P+1个时间序列数据相反。
正如在现有技术中那样,第j个和积计算的数字表示式可用下述方程表示:
Xj=Dj+a1Dj-1+a2Dj-2…apDj-p (1)
从方程(1)可以看出,第j个和积计算Xj的数据的第一项是Dj,该数据存储在延伸元件p+j中。
第一指定装置根据和积计算的数在第j个和积计算期间指定延迟元件p+j。由于每个和积计算数的增加,第一指定装置的指定沿延迟元件标号增加的方向(朝第二端)移位,按照p+j,p+j+1,p+j+2…p+N顺序处理。
操作第二指定装置,以便沿延迟元件标号减少的方向(朝第一端)使指定移位,在第j个和积计算期间,从延迟元件p+j开始并依次处理到p+j,p+j-1,p+j-2,……j。
因为本发明的数字滤波器的第一指定装置和第二指定装置两者均使延迟元件的指定都只在一个方向移位,所以使指定装置的控制非常容易。
与其按照在公知的FIR的一个延迟器件中移动数据,还不如本发明使数字滤波器的数据位置固定,并只通过指定装置使指定移位,从而使滤波器的处理速度提高。
根据本发明,在延迟序号p的FIR数字滤波器中,对有限数量N的输入数据序列进行和积计算的数据处理方法包括如下步骤:
通过将数量等于P+N的延迟元件排列在一个直线阵列上构成一个延迟器件;
依次从1到P+N标记ID标号,以便识别该直线阵列上的各个延迟元件;
在为滤波的处理进行的初始设置时,将0依次存储在ID序号1至P的P个延迟元件中,然后按输入数据序列的顺序将N个输入数据依次存储在从ID序号P+1的延迟元件到ID序号P+N的延迟元件的N个延迟元件中;
指定ID序号P+j(1≤j≤N)的延迟元件作为把用于第j个和积计算的第一项的所述输入数据的序列中的数据存储起来的延迟元件;
通过下述步骤完成第j个和积计算:依次指定从ID序号P+j的所述延迟元件到ID序号1的所述延迟元件的P+1个延迟元件;把数据存储在依次指定的延迟元件中,将存储在ID序号P+j个延迟元件中的数据变成第j个和积计算的第一项;依次把其它数据乘以预定分支系数;把这些相乘的结果与所述的第j个和积计算的第一项累加在一起;以及
在完成第N个和积计算后立即结束数字滤波处理。
通过参考附图对下面的描述,可以使本发明的上述和其它目的、特征和优点更加清楚,这些附图只是作为本发明的优选实施例而举出的。
图1是说明现有技术中的滤波器结构的主要部分的示意图;
图2是用于说明本发明的数字滤波器的一个实施例的方框图;
图3是详细说明本发明的数字滤波器操作的解释图;
图4是用于说明本发明的数字滤波器操作的流程图。
现在参见图2,图2是用于说明本发明数字滤波器的实施例的流程图。
本实施例的数字滤波器装有延迟器件1,乘法器2,累加器3,指定装置PM1和指定装置PM2。延迟器件1由一个总数为N+D的延迟元件直线阵列组成,其中N是需进行滤波处理的数据Pj(1≤j≤N)的数量,而P是延迟数。
乘法器2由P个乘法器元件构成,这些乘法器元件依次将P个延迟元件的输出与分支系数a1,a2…ap相乘,然后提供这个结果作为输出。
累加器3把存储在由指定装置PM1指定的延迟元件的数据(下面称为被指定装置PM1指定的数据)和P个乘法器元件的输出累加,然后提供该结果作为乘积的和。在下面的描述中,把包括由指定器件PM1指定的延迟元件的识别序号和延迟元件的识别序号的范围称为“和积的计算范围k”,所述延迟元件存储P个需要与分支系数ak相乘的数据,也就是说用以进行和积计算的紧跟在后面的P+1个延迟元件。
指定装置PM1指定存储延迟元件的位置,而延迟元件存储和积计算的第一项数据。在本发明中,N个数据D1,Dj,…,DN-1,DN依次由从第一端Y1向第二端Y2计数的延迟器件1的第P+1个延迟元件开始存储。在图2所示的例子中,指定装置PM1当前指定从延迟器件1的第一端Y1开始算起的第p+j延迟元件,而数据Dj存储在这个位置上,以便作为第j个和积计算的第一项。
在本发明中,N个数据采样D1,…Dj,…,DN-1,DN依次被指定作为按照这个顺序的和积计算的第一项。因此,指定装置PM1沿图2的虚线箭头(在标号PM1左侧的箭头)方向移位,以便指定存储位置作为和积计算的第一项。
因为指定器件PM1指定和积计算范围k的一个极限值,所以和积计算的范围k随着指定装置PM1的移位及和积计算数的增加也沿着第二端的方向移位。
指定装置PM2指定用于存储待与分支系数相乘的数据的延迟元件。为了使P+1个延迟元件从被指定装置PM1指定的延迟元件开始朝向第一端侧(在图2中的参考符号PM2右侧出现的虚线方向)处理,依次进行这种指定。在图2所示的例子中,进行和积计算,并按照预定延迟时间周期的一个循环完成相乘和累加(对于P+1个乘积,把第j个和积计算的第一项Dj作为Dj与分支系数a0=1的乘积)。在图的括弧中的乘法器元件是当前借以进行与分支系数相乘的元件。另外,从图2的第一端Y上开始的P个元件的内容始终为初始设定值0,因为在这些延迟元件中不存储数据。
图3是用于详细说明本发明的数字滤波器操作的简图。
上述指定装置PM1装有输入数据序号计数器4和指针P1。指针P1指定存储和积计算的第一项数据。输入数据序号计数器4对已经完成的和积计算数进行计数。当和积计算的一个数N已经计数时,利用延迟器件1的滤波处理便完成。于是,输入数据序号计数器4给出完成滤波处理的状态。
指定装置PM2装有延迟序号计数器5和指针P2。指针P2指定用于存储待与分支系数相乘的数据。延迟序号计数器5具有从0到P+1的计数值,用于产生这些计数值的一个循环的时间周期相应于数字滤波器的延迟时间。当延迟序号计数器5产生计数值P+1输出时,指针P1指定朝向Y2侧正好移位一个延迟元件。被个廷迟序号计数器5具有P+1个计数值,输入数据序号计数器4的计数正好增加1。
指针P2的位置按照延迟序号计数器5的输出控制:当延迟序号计数器5的计数为0时,指针P2指定的延迟元件与指针p1指定的相同,接着使延迟元件的指定朝向第一端Y1移位,并与延迟序号计数器5的计数值同步递增。
延迟器件1可以由RAM构成,在这种情况下,每个延迟元件被一个地址指定。现在参考图3(1),被指针P1指定的数据D1的地址指定位置为F1,该位置与延迟器件1的一端Y1之间相隔p个延迟元件。滤波处理在和积计算范围K1内进行,K1的范围从位置F1到位置X1。第一和积计算的结果是D1+a1o+a2o、…+apo。
当第一滤波处理完成后,指针P1位于位置F2,该指针如图3(2)所示在第一端Y1相反方向移动一个位置(即下一个地址)。在每一个延迟时间的预定单位指针P1完成移位。
接着对从位置F2到位置X2的第二和积计算范围K2进行滤波处理。第二和积计算随着指针PM1指定存储在位置F2中的下一个数据D2开始。这个和积计算是D2+D1a1+a2o、…+apo。通过这种方式,只需使延迟器件1中的输入数据的存储位置的指定移位就可以实现高速延迟处理。
当范围K2的和积计算的滤波处理完成时,指针P1便使其指定朝向Y2侧的一个延迟元件移动,以便指定位置F3,图3(3)中表示指针P2指定数据D1,并表示当前正在进行a2D1相乘。
图4是用于说明这个实施例的操作的流程图。
首先进行数字滤波器的初始化。初始化按两步执行:初始化指定器件PM1(步骤S1)和初始化指定器件MP2(步骤S2)。
在PM1的初始化过程中,延迟器件1的所有延迟元件都被清为0,输入数据序号计数器4恢复到0,指针P1置到位置F1,该位置与延迟器件1的Y1端之间由P个延迟元件隔开。在PM2的初始化过程中,廷迟序号计数器2都被清为0,指针P2置到与指针P1相同的值。
接着把和积计算的数据的第一项写入累加寄存器中(步骤S3),换言之,把用于第j个和积计算Xj=Dj+a1Dj-1…aj-1D1+aj *o的第一项Dj写入累加寄存器中。
接着进行和积的计算(步骤S4),在这个处理步骤中,例如当延迟序号计数器5计数到计数值K时,就将相应于这个数值K的分支系数ak与数据采样Dj-k相乘。然后将相乘的结果传送给累加寄存器,并将延迟序号计数器5的计数值递增1。
接着确定延迟序号计数器5的递增计数值是否大于或等于延迟序号P(步骤S5),如果延迟序号计数器5的计数值小于或等于延迟序号P,则重复步骤S4的和积计算。重复步骤S4和S5,直至延迟序号计数器5的计数值等于延迟序号P为止。当延迟序号计数器5的计数值等于延迟序号P+1时,则和积计算已经在和积计算的整个范围K内执行,即已经完成和积计算的一个周期。
当一个和积计算周期已经完成后,输入数据序号计数器4的计数值立即递增1,直至P1朝向延迟器件1的端部Y2移动一个位置(步骤S6)。接着判断输入数据序号计数器4增加的计数值是否小于数据的号数N(步骤S7)。如果输入数据序号计数器4的计数值小于数据的号数N,则指针器件PM2被初始化(步骤S2),以便对新指定的数据再继续进行和积计算,并且重复步骤S2-S7的处理,直至输入数据序号计数器4的计数值变成数据号N为止。当输入数据序号计数器4的计数值等于或大于数据的号数N时,作为处理目标的N个数据采样的滤波处理已经完成。
本发明的一个数字滤波器中的滤波处理由处理器(未示出)根据存储在记录介质(也未示出)中的控制程序进行。在下面的描述中,把软件系统称为“计算机”,该软件系统包括上述处理器(未示出),构成延迟器件的RAM,输入数据序号计数器和延迟序号计数器(第一和第二指针可以通过软件实现)。
在本发明的控制程序中描述了计算机中至少执行下述处理的必要程序:
一个在滤波处理的初始化设定时间内进行初始化设定的步骤,在该步骤中,把0存储在从行的第一端开始的p个延迟元件中,将N个输入数据逐个按照顺序的排列存储在从由第一端朝向第二端侧计数的第P+1个延迟元件开始的N个延迟元件中;
一个笫一滤波步骤,在该步骤中,从上述延迟器件的第一端开始计数的第P+1个延迟元件被指定作为从N个输入数据组成的数据序列中存储第一和积计算的第一项的数据采样的延迟元件;
一个第二滤波步骤,在该步骤中,从在第一滤波处理中指定过的延迟元件开始朝向第一端依次指定P+1个延迟元件;
一个第三滤波步骤,在该步骤中,根据第二滤波步骤中指定的延迟元件中存储的数据,将第一滤波步骤中指定的延迟元件中的数据作为和积计算的第一项,其余数据按顺序乘以P个预定分支系数,在该步骤中,将相乘的结果与该和积计算的第一项累加在一起;
一个第四滤波步骤,在该步骤中,当第三滤波步骤完成后,将指定为存储第二和积计算的第一项数据的延迟元件的位置朝向该延迟器件的第二端移动一个延迟元件;以及
一个随后的步骤,在该步骤中,以相同的方式重复第一到第四滤波步骤,直至第N个和积计算完成。
最后,本发明具有下述优点:
(1)通过只移位指针,指定存储在延迟器件中的输入数据的延迟元件实现延迟就可加速滤波器处理。因为本发明的滤波处理需要访问存储器的时间比现有技术方法实现的少,所以这个加速得以实现。具体地说,本发明可以只按(5×P+8)×N个步骤完成,这与需要例如(8×P+8)×N个步骤的现有技术形成鲜明的对比。用百分率来表示,本发明的处理时间仅为现有技术的处理时间的63%。在滤波步骤中,输入数据以相等时间间隔处理。例如在以8kHz(或实际时间为125微妙)对输入数据采样的情况下,现有技术中用于一个输入数据采样的处理时间大约为100微妙,而本发明却能在63微妙中完成处理。因此,除了滤波处理以外,可以用于应用处理的时间增加了约37微妙,总的来说。可以将约62微妙的时间间隔用于除滤波处理以外的应用处理上。
(2)与现有技术的环形缓冲器相比,简化了用于实现延迟的指针控制。
在本发明中,虽然延迟也是利用现有技术的环形缓冲器中的指针控制实现的,但是本发明仅根据延迟序号在环形缓冲器中配置缓冲器。当环形缓冲器的指针移位时,必须始终进行校验,以便判断指针是否在环形缓冲器的端部,如果在端部,则必须使指针移位到环形缓冲器的开始处。
作为一个例子,在现有技术的方法中,指针的移位大约需要(6×P+10)×N个步骤。本发明只包含指针的移位,不需要用结束的校验,因此使处理时间约为现有技术的83%。正如上述的优点(1),可以用于各个应用的时间增加约17微妙,这意味着用于除滤波处理以外的应用时间总共可以用约42微妙的间隔时间。当把本发明应用于作为以DSPG.INC.提供的算法为基础的语音压缩格式的TrueSpeech8.5中,并装入Windows95中时,本发明就能改善性能12%左右。
但是需要指出的是,虽然在上面的介绍中已经描述了本发明的特征和优点,但是这些公开的内容例举式的,在零部件上、尺寸上和布置上可以进行改变,这些仍在本发明的权利要求书的范围内。
Claims (7)
1.一种对有限数N的输入数据序列进行和积计算的延迟序号P的FIR数字滤波器,它包括:
一个延迟器件,该延迟器件的P+N个延迟元件成为一个直线阵列,其中,在滤波处理的初始调整时间将0存储在从该直线阵列第一端开始计数的串行的P个延迟元件中,从第一端开始计数的第P+1个延迟元件按照朝向所述直线阵列的第二端的先后顺序将所述的输入的采样数据存储在其余的N个延迟元件中;
一个第一指定装置,该第一指定装置指定一个根据输入数据的顺序存储有待进行各个和积计算的数据的延迟元件,该存储的数据作为其第一项;
一个第二指定装置,该第二指定装置依次从被第一指针装置指定的延迟元件朝向第一端开始指定P+1个延迟元件,所述P+1个元件中包括被第一指定装置指定的延迟元件;和
一个和积计算装置,该计算转置计算P+1个乘积的和,所述P+1个乘积是被第二指定装置指定的存储在所述延迟元件中的数据,该P+1个乘积是与预定分支系数相乘过的,乘积和的第一项存储在被第一指定装置和第二指定装置指定的延迟元件中;其中
第一指定装置在第j个和积计算开始时指定从该延迟元件第一端开始计数的第P+1个延迟元件;和
第二指定装置控制第一指定装置,以便当每个和积计算完成时,使延迟元件的指定刚好朝向第二端移动一个延迟元件;当该第一指定装置的指定移位时,第二指定装置执行P+1个延迟元件下一个的指定;第二指定装置按照各个设定为延迟时间的时间间隔重复控制第一指定装置和重复控制P+1个延迟元件的指定,直至完成滤波处理。
2.根据权利要求1所述的数字滤波器,其特征在于所述第二指定装置包括:
一个延迟序号计数器;和
一个第二指针;
其中,所述延迟序号计数器在作为延迟时间设定的每个时间内重复提供一个从0到P+1中的一个计数值;以及
第二指针在所述延迟序号计数器输出00时指定被第一指定装置指定的那个延迟元件,接着根据所述延迟序号计数器的计数值使延迟元件的指定朝向所述阵列的第一端移位,直至所述延迟序号计数器提供一个计数值为止。
3.根据权利要求1或2所述的数字滤波器,其特征在于所述第一指定装置包括:
一个延迟序号计数器;和
一个第一指针;
其中所述延迟序号计数器在滤波处理开始时设定为0,该延迟序号计数器提供一个计数值P+1时,所述延迟序号计数器递增1,当所述延迟序号计数器的计数值达到N时,所述延迟序号计数器提供一个指示滤波完成的信号;和
所述第一指针在滤波处理初始设定时指定从所述延迟器件的第一端开始计数的第P+1个延迟元件,接着在所述延迟序号计数器提供一个计数值P+1时,使延迟元件的指定朝向所述延迟器件的第二端侧移位一个延迟元件。
4.根据权利要求1所述的数字滤波器,其特征在于
所述延迟器件是一个被N+P个连续的地址指定的RAM区;和
所述延迟元件是被被个地址指定的区。
5.一种用于在一个对有限数N的输入数据序列进行和积计算的延迟序号P的FIR数字滤波器中处理数据的方法,该方法包括下述布步骤:
通过将数量等于P+N的延迟元件排列在一个直线阵列上构成一个延迟元件;
依次从1到P+N标记ID标号,以便识别该直线阵列上的各个延迟元件;
在滤波处理的初始设置的时间内,将0依次存储在ID序号1至P的P个延迟元件中,然后按输入数据序列的顺序将N个输入数据依次存储在从ID序号P+1的延迟元件到ID序号P+N的延迟元件的N个延迟元件中;
指定ID序号P+j(1≤j≤N)的延迟元件作为把用于第j个和积计算的第一项的所述输入数据的序列中的数据存储起来的延迟元件;
通过下述步骤完成第j个和积的计算:依次指定从ID序号P+j的所述延迟元件到ID序号1的所述延迟元件的P+1个延迟元件;把数据存储在依次指定的延迟元件中,将存储在ID序号P+j延迟元阵中的数据变成第j个和积计算的第一项;依次把其它数据乘以预定分支系数;把这些相乘的结果与所述的第j个和积计算的第一项累加在一起;以及
在完成第N个和积计算后结束数字滤波处理。
6.一种记录介质,该介质上存储一个利用计算机控制FIR数字滤波器的处理的控制程序,所述的FIR数字滤波器装有一个P+N延迟元件的直线阵列,N是输入数据的数目,而P是延迟数;所述控制程序描述用于使计算机对N个输入数据的序列完成一个和积计算的流程,所述流程执行下述步骤:
一个在滤波处理的初始设定时间中的初始设定步骤,在该步骤中把0存储在从所述直线阵列的第一端开始的顺序连接的P个延迟元件中,并按照输入数据序列的次序,把N个输入数据存储在依次从所述直线阵列第一端朝向第二端计数的第P+1个延迟元件开始的N个延迟元件中;
一个把从所述直线阵列的第一端开始计数的第P+j(1≤j≤N)个延迟元件指定为用于根据所述输入数据的顺序存储第j个和积计算的第一项数据的延迟元件的步骤;
一个通过下述操作完成第j个和积计算的步骤:从P+j个延迟元件开始朝向所述第一端,依次指定包括所述第P+j个延迟元件在内的P+1个延迟元件;根据依次指定的延迟元件中存储的数据,使第P+j个延迟元件中存储的数据成为第j个和积计算的第一项;依次将其它数据与P个预定分支系数相乘;将这些相乘的结果与所述第j个和积计算的第一项累加在一起;以及
一个在完成第N个和积计算后立即结束数字滤波器处理的步骤。
7.一种具有如权利要求1所述的数字滤波器的通用计算机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10275655A JP3071765B2 (ja) | 1998-09-29 | 1998-09-29 | 有限数の入力データをフィルタ処理対象とするディジタルフィルタ及びディジタルフィルタ処理方法 |
JP275655/98 | 1998-09-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1254988A true CN1254988A (zh) | 2000-05-31 |
Family
ID=17558500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 99123928 Pending CN1254988A (zh) | 1998-09-29 | 1999-09-29 | 用于对有限输入数据进行滤波的数字滤波器 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0991187A3 (zh) |
JP (1) | JP3071765B2 (zh) |
CN (1) | CN1254988A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5061741B2 (ja) * | 2007-06-13 | 2012-10-31 | 日本電気株式会社 | 情報処理装置及びそれに用いる順序付きデータ管理方法並びにそのプログラム |
JP6043594B2 (ja) * | 2012-11-06 | 2016-12-14 | 株式会社東京ユニーク | コマ玩具セット |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5274469A (en) * | 1991-12-23 | 1993-12-28 | Eastman Kodak Company | Sample rate converter circuit for image data |
US5475628A (en) * | 1992-09-30 | 1995-12-12 | Analog Devices, Inc. | Asynchronous digital sample rate converter |
-
1998
- 1998-09-29 JP JP10275655A patent/JP3071765B2/ja not_active Expired - Lifetime
-
1999
- 1999-09-28 EP EP99119295A patent/EP0991187A3/en not_active Withdrawn
- 1999-09-29 CN CN 99123928 patent/CN1254988A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP0991187A3 (en) | 2000-10-18 |
EP0991187A2 (en) | 2000-04-05 |
JP2000114932A (ja) | 2000-04-21 |
JP3071765B2 (ja) | 2000-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111062472B (zh) | 一种基于结构化剪枝的稀疏神经网络加速器及其加速方法 | |
EP3480748A1 (en) | Neural network hardware | |
AU689439B2 (en) | Digital filter having high accuracy and efficiency | |
KR20190066473A (ko) | 뉴럴 네트워크에서 컨볼루션 연산을 처리하는 방법 및 장치 | |
CN1402843A (zh) | 在一个周期内处理乘累加运算 | |
CN1140497A (zh) | 在计算设备中累加数值的方法和系统 | |
CN1992517A (zh) | 一种可编程内插滤波器装置及其实现方法 | |
CN1139185C (zh) | 有限脉冲响应滤波器及其滤波方法 | |
CN113673701A (zh) | 神经网络模型的运行方法、可读介质和电子设备 | |
CN1716184A (zh) | 处理器和流水线重配置控制方法 | |
CN113811900A (zh) | 算术运算装置和算术运算系统 | |
JP2002351858A (ja) | 処理装置 | |
CN1198206C (zh) | 时分型矩阵计算器 | |
CN1254988A (zh) | 用于对有限输入数据进行滤波的数字滤波器 | |
US20230289287A1 (en) | Programmable Multi-Level Data Access Address Generator | |
CN1436425A (zh) | 用于图像相关性最小失真计算的自适应尽快退出技术 | |
CN1848679A (zh) | 以最小均方算法作为加速多重信道基础的系统及其方法 | |
CN113592075A (zh) | 卷积运算装置、方法和芯片 | |
Weber | Parallel Implementation of the Accelerated Integer GCD Algorithm. | |
CN1688104A (zh) | 数字信号处理方法及装置 | |
CN116382782A (zh) | 向量运算方法、向量运算器、电子设备和存储介质 | |
CN1109188A (zh) | 并行算术—逻辑处理装置 | |
JP6311601B2 (ja) | 多段フィルタ処理装置及び方法 | |
CN1659593A (zh) | 累积直方图的计算方法 | |
CN1122931C (zh) | 可实现数字滤波运算的微处理器结构及数字滤波运算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |