一种多相滤波器进行滤波处理的方法及该滤波器的制作方法

文档序号:7521138阅读:157来源:国知局
专利名称:一种多相滤波器进行滤波处理的方法及该滤波器的制作方法
技术领域
本发明涉及数据处理技术领域,尤其涉及一种多相滤波器进行滤波处理的方法及该滤波器。
背景技术
在多相滤波器中,当滤波器的滤波系数为偶数个时,该多相滤波器通常采用直接型实现。图I为现有多相滤波器具有偶数个滤波系数的结构示意图,在该图I中该多相滤波器存在两相,分别为第一相和第二相,该两相中每相的输入参数D都是相同的,针对每个乘法器采用不同的滤波系数,其中在第一相中滤波系数分别为Cl、C3、C5、C6、C4和C2。对于第一相输入参数D经过一个延时寄存器(Z—1)后,与滤波系数Cl作为乘法器的输入参数,该乘法器的运算结果输出到加法器,该输入参数D再经过一个延时寄存器后,与滤波系数C3作为乘法器的输入参数,该乘法器的运算结果输出到加法器,以此类推,即该输入参数分别经过I 6个延时寄存器的延时后,分别与滤波系数C1、C3、C5、C6、C4和C2进行乘积运算,乘积运算的结果经过加法器的处理后,作为第一相的滤波结果。同样第二相的输入参数也是D,并且该输入参数分别经过I 6个延时寄存器的延时后,分别与滤波系数C2、C4、C6、C5、C3和Cl进行乘积运算,乘积运算的结果经过加法器的处理后,作为第二相的滤波结果。将第一相的滤波结果与第二相的滤波结果进行插值处理,得到最终的滤波结果。根据上述图I可以看到在多相滤波器中,存在相同的数据在不同的时刻进行重复操作的问题,例如在第一相中该输入参数经过一个延时寄存器延时后,与滤波系数进行乘积运算,在第二相中该输入参数经过6个延时寄存器的延时后,与滤波系数Cl进行乘积运算,由于都是输入参数D与滤波系数的Cl的乘积运算,只是在第一相中与第二相中进行计算的时刻不同,同样对于其他滤波系数与输出参数的计算也存在相同的问题。因此现有技术中该多相滤波器中,存在相同滤波系数的两相,由于都是对相同的数据进行运算,造成了滤波器的资源浪费,也不利于滤波器性能的提高。

发明内容
有鉴于此,本发明实施例提供一种多相滤波器进行滤波处理的方法及该滤波器,用以解决现有多相滤波器在进行运算时,造成滤波器的资源浪费,影响滤波器性能的问题。本发明实施例提供的一种多相滤波器进行滤波处理的方法,其中该滤波器中至少两相存在至少一对对应相同的滤波系数,该滤波处理的方法包括针对该滤波器中存在至少一对对应相同的滤波系数的两相,在第一相中确定该对应相同的滤波系数与输入参数在第一时间的运算结果,将该运算结果保存到设置的相应数量的延时寄存器中,其中该每个延时寄存器的延时时间相等;并 在该相应数量的延时寄存器的延时时间后,将该运算结果发送到第二相中,作为该对应相同的滤波系数与该输入参数在第二时间的运算结果;
根据每相的运算结果,确定该多相滤波器的滤波结果。本发明实施例提供的一种多相滤波器,该滤波器中至少两相存在至少一对对应相同的滤波系数,所述多相滤波器包括第一相,用于确定该对应相同的滤波系数与输入参数在第一时间的运算结果,将该运算结果保存到设置的相应数量的延时寄存器中,其中该每个延时寄存器的延时时间相等; 延时寄存器,用于存储第一时间该对应相同的滤波系数与输入参数的运算结果,并在该延时寄存器的延时时间后,将该运算结果发送到第二相中;第二相,用于接收所述延时寄存器发送的运算结果,将所述运算结果作为该对应相同的滤波系数与该输入参数在第二时间的运算结果;插值处理单元,用于根据每相的运算结果,确定该多相滤波器的滤波结果。本发明实施例提供了一种多相滤波器进行滤波处理的方法及该滤波器,该滤波处理的方法对存在相同的滤波系数的两相,在第一相中确定该对应相同的滤波系数与输入参数在第一时间的运算结果,第二相直接使用该运算结果,作为该对应相同的滤波系数与该输入参数在第二时间的运算结果。由于在本发明实施例中当至少两相中存在对应相同的滤波系数时,只针对一相根据滤波系数与输入参数进行运算,确定运算结果,并将该运算结果保存到相应数量的延时寄存器中,第二相直接利用该延时寄存器中保存的运算结果,而无需再进行计算,从而有效的节省了滤波器的资源,并且提高了滤波器的滤波性能。


此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I为现有多相滤波器具有偶数个滤波系数的结构示意图;图2为本发明实施例提供的多相滤波器进行滤波处理的过程;图3为基于图I所述的多相滤波器采用本发明实施例提供的多相滤波器的处理方法,对该多相滤波器改进后的结构示意图;图4为本发明实施例提供的一种多相滤波器的结果示意图。
具体实施例方式本发明实施例为了有效的节省多相滤波器的资源,提高多相滤波器的滤波性能,提供了一种多相滤波器进行滤波处理的方法及该滤波器,本发明实施例中当至少两相中存在对应相同的滤波系数时,只针对一相根据滤波系数与输入参数进行运算,确定运算结果,并将该运算结果保存到相应数量的延时寄存器中,第二相直接利用该延时寄存器中保存的运算结果,而无需再进行计算,从而有效的节省了滤波器的资源,并且提高了滤波器的滤波性能。为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例提供的多相滤波器进行滤波处理的过程,应用于滤波器中至少两相存在至少一对对应相同的滤波系数,例如该滤波器包括五相,其中第一相和第五相中存在一对对应相同的滤波系数,第二相与第四相中存在一对对应相同的滤波系数,或如图I所示的,第一相和第二相中存在6对对应相同的滤波系数等。图2为本发明实施例提供的存在上述特征的多相滤波器进行滤波处理的过程,该过程包括以下步骤S201 :针对该滤波器中存在至少一对对应相同的滤波系数的两相,在第一相中确定该对应相同的滤波系数与输入参数在第一时间的运算结果,将该运算结果保存到设置的相应数量的延时寄存器中,其中每个延时寄存器的延时时间相等。其中设置相应数量的延时寄存器具体包括在该两相中,确定该第二时间与第一时间的时间差;
根据该时间差,以及每个延时寄存器的延时时间,确定设置的延时寄存器的数量,其中每个延时寄存器的延时时间相等。S202 :在该相应数量的延时寄存器的延时时间后,将该运算结果发送到第二相中,作为该对应相同的滤波系数与该输入参数在第二时间的运算结果。S203 :根据每相的运算结果,确定该多相滤波器的滤波结果。在本发明实施例中当任意两相中存在对应相同的滤波系数时,即只要该多相滤波器中某一滤波系数在任意两相中使用时,为了节省滤波器的资源,提高滤波器的滤波性能,可以只针对其中的一相,确定该相中该滤波系数与输入参数的运算结果,并将该运算结果保存到延时寄存器中,在另一相中的相应时刻直接利用该延时寄存器中保存的运算结果即可,从而无需再进行计算,有效节省了滤波器的资源,并提高了滤波器的滤波性能。当该多相滤波器中当任意两相中存在对应相同的滤波系数时,该滤波系数需要与经过相应数量的延时寄存器延时后的输入参数进行乘积运算,因此该滤波器中的该两相中,该滤波系数与输入参数的乘积结果是相同的,只是输入参数经过的延时寄存器的数量是不同的,也即进行该结果确定的时刻是不同的。因此为了节省滤波器的资源,提高滤波器的滤波性能,在本发明实施例中针对每个输入参数,该输入参数经过较少数量的延时寄存器的延时,与该滤波系数确定运算结果的时间为第一时间,经过较多数量的寄存器的延时,与该滤波系数确定运算结果的时间为第二时间。当第一相在第一时间确定了该滤波系数与该输入参数的运算结果后,将该运算结果保存到设定数量的延时寄存器中,当第二相到确定该运算结果的第二时间时,延时寄存器将该运算结果发送到第二相中,第二相直接将接收到的该运算结果作为该第二时间确定的运算结果,并根据该运算结果进行后续运算。为了保证在第二相在第二时刻能够获取到该滤波系数与输入参数的运算结果,在本发明实施例中需要设置该延时寄存器的数量,由于第一时间和第二时间可知,当在第一时间确定了该运算结果后,只要能在第二时间获取该运算结果即可,因此该运算结果在寄存器中保存的时间为第二时间与第一时间的时间差,根据该时间差,以及每个延时寄存器的延时时间,即可确定设置的延时寄存器的数量。另外,由于在本发明实施例中该多相滤波器中设置了相应数量的延时寄存器,在该相应数量的延时寄存器的延时时间后,将该运算结果发送到第二相中包括在第二时间根据保存的该数量的每个延时寄存器的序号,将序号最大的延时寄存器中保存的运算结果发送到第二相中。在上述方法之前具体的还包括根据每个第一时间该滤波系数与输入参数的运算结果,及保存的该数量的每个延时寄存器的序号,确定当前的延时寄存器中保存的最早运算结果;根据保存该最早运算结果的延时寄存器的第一序号,将该最早结果移动到该第一序号之后的第二序号对应的延时寄存器中。这是由于在本发明实施例中可以认为每个延时寄存器可以保存运算结果的时间是相同的,都为该延时寄存器的延时时间,而存在滤波系数对应相同的两相中,该输入参数经过的延时寄存器的数量是不同的,但第一时间根据该滤波系数与输入参数确定了运算结果后,将该运算结果保存到设定数量的延时寄存器中,而该延时寄存器保存该运算结果的时间长度是确定的。当该延时寄存器还保存由上一第一时间确定的运算结果时,下一第一时间也已经确定了相应的运算结果,为了保证每个运算结果都能在对应的每个第二时间发 送到第二相中,在本发明实施例中可以确定该设置的相应数量的延时寄存器序号,当确定了新的运算结果后,将之前保存在该延时寄存器中的每个运算结果相应的向后一个序号。当上一时刻最后一个序号的延时寄存器中保存有运算结果时,将该运算结果发送给第二相。下面以一个具体的实施例来进行说明,还以图I所示的多相滤波器为例,图3为基于图I所述的多相滤波器采用本发明实施例提供的多相滤波器的处理方法,对该多相滤波器改进后的结构示意图。在该图3中,Z—1为一个延时寄存器,Z—3为三个延时寄存器,Z—5为五个延时寄存器。根据图I中所示可以在该两相中滤波系数Cl C6对应相同,即在该多相滤波器的该两相中存在6对对应相同的滤波系数,其中在第一相中滤波系数Cl与经过一个延时寄存器延时后的输入参数D,通过乘法器进行乘积确定运算结果,而在第二相中滤波系数Cl与经过六个延时寄存器延时后的输入参数D,通过乘法器进行乘积确定运算结果,因为可以第二时间与第一时间的时间差为五个延时寄存器的延时时间,因此对应第一相和第二相的滤波系数设置五个延时寄存器,并且将第一相中滤波系数Cl与输入参数D经乘法器乘积后的输入端连接该设置的五个延时寄存器的输入端,该五个延时寄存器的输出端连接第二相的加法器。在图3中为了与图I统一,采用虚线表示不存在的延时寄存器和乘法器。另外,对于第一相中的C3滤波系数以及C5滤波系数,对应的延时寄存器的数量根据上述描述可以分别确定为三个和一个。与此同时,对应第二相中的滤波系数C2、C4和C6,由于其与第一相中的滤波系数C2、C4和C6对应相同,根据上述描述也可以确定相应的延时寄存器的数量,并且其具体的连接关系如图3所示。当该多相滤波器进行滤波处理时,该输入参数在第一相中经过一个延时寄存器的延时与滤波系数Cl作为乘法器的数值,该乘法器进行乘积确定运算结果,将该运算结果发送到加法器,并将该运算结果发送到对应的五个延时寄存器内,当经过五个延时寄存器的延时后,该运算结果发送到第二相对应的加法器中,作为该第二相在该时刻确定的运算结果。对于第一相和第二相中其他相同运算结果的处理过程与上述过程相似,在这里就不一一赘述。当加法器获取了相应的运算结果后,确定每相的滤波结果,并将每相得滤波结果进行插值处理,得到最终的滤波结果。采用本发明实施例提供的滤波器及该滤波器的滤波方法,与现有技术相比,节省了滤波器的逻辑资源,尤其是应用在高阶低复用比的滤波器中时,可以大大节省乘法器的使用量,对减少芯片的面积和功耗都有一定的帮助。以12个滤波系数2倍插值输入数据16bit,系数量化16bit的滤波器实现为例,比较现有技术方案和本发明实施例提供的方案的资源使用情况。采用现有技术方案实现时,需要16x16的乘法器12个,转换为门级实现时,需要使用12x2300门=27600门。本发明实施例提供的方案实现时,需要16x16的乘法器6个,但是需要额外增加延时寄存器9x2x32bit = 576bit的寄存器。转换为门级实现,需要使用6x2300+576x6 = 17256门。本发明实施例提供的方案较现有的技术方案节省了 10344门,资源减少了 40%左右。如果选用的滤波器阶数更高一些,节省的资源会更多。
另外,在本发明实施例中当该多相滤波器的相数不同时,实现方式稍有不同,如滤波器分成5相,在滤波系数共享上,第一相和第五相可以看做一对去实现(即将第一相作为图3中的第一相,将第五相作为图3中的第二相),第二相和第四相为一对去实现(即将第二相作为图3中的第一相,将第四相作为图3中的第二相),第三项分配的系数为前后对称的系数,实现方式采用传统的滤波器实现方式即可。具体的当该多相滤波器具体多相时,可以根据下述公式确定延时寄存器的数量D = (((N+1)/M)_1)*ID为延时寄存器的数量小为阶数且为奇数;M为多相滤波器的相数,且要保证各相的阶数相同为复用比,即数据采样率和时钟的关系。
图4为本发明实施例提供的一种多相滤波器的结果示意图,该滤波器中至少两相存在至少一对对应相同的滤波系数,所述多相滤波器包括第一相41,用于确定该对应相同的滤波系数与输入参数在第一时间的运算结果,将该运算结果保存到设置的相应数量的延时寄存器中,其中该每个延时寄存器的延时时间相等;延时寄存器42,用于存储第一时间该对应相同的滤波系数与输入参数的运算结果,并在该延时寄存器的延时时间后,将该运算结果发送到第二相中;第二相43,用于接收所述延时寄存器发送的运算结果,将所述运算结果作为该对应相同的滤波系数与该输入参数在第二时间的运算结果;插值处理单元44,用于根据每相的运算结果,确定该多相滤波器的滤波结果。所述多相滤波器还包括确定模块45,用于在该两相中,确定该第二时间与第一时间的时间差;根据该时间差,以及每个延时寄存器的延时时间,确定设置的延时寄存器的数量。延时寄存器42,具体用于在第二时间根据保存的该数量的每个延时寄存器的序号,将序号最大的延时寄存器中保存的运算结果发送到第二相中。所述延时寄存器42,具体用于根据每个第一时间该滤波系数与输入参数的运算结果,及保存的该数量的每个延时寄存器的序号,确定当前的延时寄存器中保存的最早运算结果;根据保存该最早运算结果的延时寄存器的第一序号,将该最早结果移动到该第一序号之后的第二序号对应的延时寄存器中。
本发明实施例提供了一种多相滤波器进行滤波处理的方法及该滤波器,该滤波处理的方法针对该滤波器中存在至少一对对应相同的滤波系数的两相,在第一相中确定该对应相同的滤波系数与输入参数在第一时间的运算结果,将该运算结果保存到设置的相应数量的延时寄存器中;并在该相应数量的延时寄存器的延时时间后,将该运算结果发送到第二相中,作为该对应相同的滤波系数与该输入参数在第二时间的运算结果;根据每相的运算结果,确定该多相滤波器的滤波结果。由于在本发明实施例中当至少两相中存在对应相同的滤波系数时,只针对一相根据滤波系数与输入参数进行运算,确定运算结果,并将该运算结果保存到相应数量的延时寄存器中,第二相直接利用该延时寄存器中保存的运算结果,而无需再进行计算,从而有效的节省了滤波器的资源,并且提高了滤波器的滤波性能。上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种 其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
权利要求
1.一种多相滤波器进行滤波处理的方法,其中该滤波器中至少两相存在至少一对对应相同的滤波系数,其特征在于,该滤波处理的方法包括 针对该滤波器中存在至少一对对应相同的滤波系数的两相,在第一相中确定该对应相同的滤波系数与输入参数在第一时间的运算结果,将该运算结果保存到设置的相应数量的延时寄存器中,其中该每个延时寄存器的延时时间相等;并 在该相应数量的延时寄存器的延时时间后,将该运算结果发送到第二相中,作为该对应相同的滤波系数与该输入参数在第二时间的运算结果; 根据每相的运算结果,确定该多相滤波器的滤波结果。
2.如权利要求I所述的方法,其特征在于,设置相应数量的延时寄存器包括 在该两相中,确定该第二时间与第一时间的时间差; 根据该时间差,以及每个延时寄存器的延时时间,确定设置的延时寄存器的数量。
3.如权利要求I或2所述的方法,其特征在于,在该相应数量的延时寄存器的延时时间后,将该运算结果发送到第二相中包括 在第二时间根据保存的该数量的每个延时寄存器的序号,将序号最大的延时寄存器中保存的运算结果发送到第二相中。
4.如权利要求3所述的方法,其特征在于,所述方法还包括 根据每个第一时间该滤波系数与输入参数的运算结果,及保存的该数量的每个延时寄存器的序号,确定当前的延时寄存器中保存的最早运算结果; 根据保存该最早运算结果的延时寄存器的第一序号,将该最早结果移动到该第一序号之后的第二序号对应的延时寄存器中。
5.一种多相滤波器,该滤波器中至少两相存在至少一对对应相同的滤波系数,其特征在于,所述多相滤波器包括 第一相,用于确定该对应相同的滤波系数与输入参数在第一时间的运算结果,将该运算结果保存到设置的相应数量的延时寄存器中,其中该每个延时寄存器的延时时间相等;延时寄存器,用于存储第一时间该对应相同的滤波系数与输入参数的运算结果,并在该延时寄存器的延时时间后,将该运算结果发送到第二相中; 第二相,用于接收所述延时寄存器发送的运算结果,将所述运算结果作为该对应相同的滤波系数与该输入参数在第二时间的运算结果; 插值处理单元,用于根据每相的运算结果,确定该多相滤波器的滤波结果。
6.如权利要求5所述的多相滤波器,其特征在于,所述多相滤波器还包括 确定模块,用于在该两相中,确定该第二时间与第一时间的时间差;根据该时间差,以及每个延时寄存器的延时时间,确定设置的延时寄存器的数量。
7.如权利要求5或6所述的多相滤波器,其特征在于,所述延时寄存器,具体用于在第二时间根据保存的该数量的每个延时寄存器的序号,将序号最大的延时寄存器中保存的运算结果发送到第二相中。
8.如权利要求7所述的多相滤波器,其特征在于,所述延时寄存器,具体用于根据每个第一时间该滤波系数与输入参数的运算结果,及保存的该数量的每个延时寄存器的序号,确定当前的延时寄存器中保存的最早运算结果;根据保存该最早运算结果的延时寄存器的第一序号,将该最早结果移动到该第一序号之后的第二序号对应的延时寄存器中。
全文摘要
本发明公开了一种多相滤波器进行滤波处理的方法及该滤波器,用以解决现有造成滤波器的资源浪费,影响滤波器性能的问题。该方法在第一相中确定该对应相同的滤波系数与输入参数在第一时间的运算结果,将该运算结果保存到设置的相应数量的延时寄存器中;并在该相应数量的延时寄存器的延时时间后,将该运算结果发送到第二相中,作为该对应相同的滤波系数与该输入参数在第二时间的运算结果;根据每相的运算结果,确定该多相滤波器的滤波结果。由于在本发明实施例中只针对一相根据滤波系数与输入参数进行运算确定运算结果,第二相直接利用该延时寄存器中保存的运算结果,而无需再进行计算,从而有效的节省了滤波器的资源,并且提高了滤波器的滤波性能。
文档编号H03H17/00GK102684642SQ201110059230
公开日2012年9月19日 申请日期2011年3月11日 优先权日2011年3月11日
发明者温龙 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1