本发明涉及数字信号处理技术领域,特别是涉及一种基于rag-n算法的滤波器滤波方法及数字抽取滤波器。
背景技术:
在现在的电子系统中,大部分的adc通过对信号过采样来提高系统的性能,若是系统直接将采样后的信号进行处理,会给系统带来非常大的功耗,并且由于系统的处理速度有限,往往难以对采样得到的高速率数字信号直接进行各种类别的实时处理。
数字下变频技术,主要是将过采样量化后的信号通过数字抽取滤波器,对信号进行降采样处理,使信号的采样频率降低,使得系统能够方便对基带信号进行处理。
在对信号进行降采样处理时,不同的场合下,经常需要对信号进行多种降采样率,因此,设计可变抽取率的数字抽取滤波器非常有意义,单级半带滤波器可以实现2倍抽取,但是抽取率较低,若是进行多级半带滤波器的级联,虽然能够实现可变抽取率,但是会带来很大的硬件资源消耗。
技术实现要素:
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于rag-n算法的滤波器滤波方法及数字抽取滤波器,用于解决现有技术中抽取率低且硬件损耗大的问题。
为实现上述目的及其他相关目的,本发明提供一种基于rag-n算法的滤波器滤波方法,所述滤波器为半带滤波器,所述方法包括:量化所述半带滤波器抽头系数,并用所述rag-n算法对量化后的抽头系数进行优化;对优化后的所述半带滤波器进行级联,每一级实现两倍数字抽取,n级级联实现2n倍的数字抽取;通过级联后的所述半带滤波器的输入信号来控制其输出信号的抽取率以进行选通输出,完成滤波。
于本发明的一实施例中,所述方法还包括系统时钟分频提供时钟信号,为每一级所述半带滤波器提供工作时钟。
于本发明的一实施例中,所述方法还包括通过级联后的所述半带滤波器的输入信号对各级所述半带滤波器进行使能控制。
于本发明的一实施例中,所述基于rag-n算法进行优化的实现过程包括两个部分,分别为最佳部分与启发部分,以合成所有所述抽头系数的实现方式。
于本发明的一实施例中,所述方法还包括采用多相结构的半带滤波器对数据先进行抽取,再进行滤波得到目标信号。
于本发明的一实施例中,当所述抽取率低于设定阈值时,位于级联后端的各级所述半带滤波器关闭。
为实现上述目的及其他相关目的,本发明提供一种上述的数字抽取滤波器,包括:
多级滤波器级联模块,由多个半带滤波器级联构成,每一级所述实现两倍数字抽取,n级级联实现2n倍的数字抽取;
时钟分频模块,连接所述多级滤波器级联模块,用于对系统时钟分频提供时钟信号,为每一级所述半带滤波器提供相应的工作时钟;
滤波器使能控制模块,连接所述多级滤波器级联模块,用于对各级半带滤波器进行使能控制;
滤波器输出控制模块,连接所述多级滤波器级联模块,用于通过级联后的所述半带滤波器的输入信号来控制其输出信号的抽取率以进行选通输出,进而完成滤波。
于本发明的一实施例中,所述滤波器使能控制模块通过级联后的所述半带滤波器的输入信号对各级半带滤波器进行使能控制。
于本发明的一实施例中,各所述半带滤波器抽头系数预先经rag-n算法进行优化。
于本发明的一实施例中,各所述半带滤波器采用多相结构,以对数据先进行抽取,再进行滤波得到目标信号。
如上所述,本发明的基于rag-n算法的滤波器滤波方法及数字抽取滤波器,采用优化的半带滤波器级联的方式实现滤波,利用半带滤波器消耗的硬件资源较小的优点,进行级联实现多倍率抽取且不会带来很大的硬件资源消耗,同时,数字抽取滤波器的抽取率由输入信号控制。
附图说明
图1显示为本发明的基于rag-n算法的滤波器滤波方法于一实施例中的方法步骤图;
图2显示为本发明的基于rag-n算法的滤波器滤波方法于一实施例中的单级半带滤波器的频率响应图;
图3显示为本发明的基于rag-n算法的滤波器滤波方法于一实施例中的rag-n算法最佳部分的步骤流程图;
图4显示为本发明的基于rag-n算法的滤波器滤波方法于一实施例中的rag-n算法启发部分的步骤流程图;
图5显示为本发明的基于rag-n算法的滤波器滤波方法于一实施例中的仿真频谱图;
图6显示为本发明的基于rag-n算法的滤波器滤波方法于一实施例中的流程示意图;
图7显示为本发明的基于rag-n算法的滤波器滤波方法于一实施例中的数字抽取滤波器中常用结构图;
图8显示为本发明的基于rag-n算法的滤波器滤波方法于一实施例中的数字抽取滤波器中多相分解结构图;
图9显示为本发明的整体实现结构图。
元件标号说明
s11~s13步骤
s31~s36步骤
s41~s44步骤
80数字抽取滤波器
81多级滤波器级联模块
82时钟分频模块
83滤波器使能控制模块
84滤波器输出控制模块
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
请参阅图1,于发明一实施例中,本发明的基于rag-n算法的滤波器滤波方法包括如下步骤:
步骤s11、量化所述半带滤波器抽头系数,并用所述rag-n算法对量化后的抽头系数进行优化;
具体地,所述半带滤波器的实现是通过matlab进行设计,之后对所述滤波器抽头系数进行量化,得到的幅频响应如图2所示,图中的有两条曲线,虚线为所述半带滤波器量化前的幅频响应,实线是量化后的幅频响应,然后对滤波器量化后的抽头系数进行优化,使其消耗的加法器资源达到最低,优化的算法为所述rag-n算法,所述算法充分利用数字电路中寄存器保存的数据进行移位时几乎不消耗硬件资源的特点,同时考虑一组系数之间的相关性,对所述数字抽取滤波器的系数实现进行优化,进而使所述数字抽取滤波器的所述抽头系数实现所用的加法器达到最少,所述算法分为两个部分:其一是最佳部分,其二是启发部分,用以完成系数实现,获得最小加法器成本。
进一步地,如图3所示,所述最佳部分包括以下步骤:
步骤s31、将所述系数集合中的所有系数都变换为奇数,将偶数系数除以“2”直到奇数;
步骤s32、通过使用查找表评估所有单系数加法器成本;
步骤s33、从所述系数集合中删除“2”的幂次或重复的数据;
步骤s34、创建图集合保存所有所述系数集合中加法器成本为“1”的系数,并从所述系数集合中删去这些系数;
步骤s35、用“2”的幂次乘与所述系数集合中的基数成对求和,如果产生了所述系数集合中的任何系数,则从所述系数集合中删除它们,然后将其放置在所述图集合中。
步骤s36、重复步骤s35,直到没有更多的系数添加到所述图集合中,直到合成了完整的所述系数集合,则算法终止。
进一步地,如果有系数没有在所述最佳部分被综合,则是因为根据已实现的系数只通过一个加法器得不到该系数,表明该系数与现有节点的加法器距离大于等于“2”,此时需要在所述最佳部分的步骤基础上继续采用所述启发部分的步骤,如图4所示,所述启发部分包括以下步骤:
步骤s41、检查与已实现系数加法器距离为“2”的系数,从如下两个方面考虑:其一是未实现系数与已实现系数之差的单系数加法器成本为“1”;其二是未实现系数与任何两个已实现系数之和或差的单系数加法器成本为“0”。
步骤s42、重复步骤s36和步骤s41,直到找不到新的加法器距离为“1”或“2”的系数。
步骤s43、当存在与已有节点加法器距离大于“2”的系数或是步骤s41中两个方面均未涵盖该拓扑,这时要加入一些节点来增大搜索范围,采用单个系数加法器成本从小到大的顺序产生,这个过程具有随意性。
步骤s44、重复步骤s36,步骤s41~s43,直到所有系数合成完毕截止。
进一步地,当所述半带滤波器使用所述rag-n算法进行优化后,实现所需的加法器数量也达到最低,下一步进行级联并抽取信号。
步骤s12、对优化后的所述半带滤波器进行级联,每一级实现两倍数字抽取,n级级联实现2n倍的数字抽取;
具体地,所述抽头系数优化后的半带滤波器,实现所需的加法器数量能够达到最低,之后进行级联,每一级可以实现“2”倍抽取,n级级联即可实现2n倍的抽取,如图5所示,是利用matlab软件对设计的所述数字抽取滤波器进行仿真测试的结果,输入信号的采样频率为1mhz,基带频率为7hz,使用“14”级半带滤波器的级联,最高可以实现对输入信号“16384”倍的抽取,可以看出经过“16384”倍抽取后,基带信号的频谱依然比较完整,所述数字抽取滤波器正确实现了功能。
步骤s13、通过级联后的所述半带滤波器的输入信号来控制其输出信号的抽取率以进行选通输出,完成滤波。
具体地,所述输出信号的的抽取率由输入的控制信号进行决定,所述数字抽取滤波器由多个所述半带滤波器进行级联构成,每级所述半带滤波器实现两倍抽取,通过所述输入信号控制所述半带滤波器的级联并且实现输出,达到输出抽取率可配置的目的,进而将信号输出。
在一实施例中,进一步地,本发明的基于rag-n算法的滤波器滤波方法还包括系统时钟分频提供时钟信号,为每一级所述半带滤波器提供工作时钟。
具体地,每一级所述半带滤波器输入信号的采样频率均不相同,需要对每一级所述半带滤波器提供工作时钟,由于每经过一级所述半带滤波器,其信号的抽取率加倍,即信号的采样频率减半,等同于所述半带滤波器的工作时钟频率也减小一半,这些工作时钟均可以由系统时钟分频提供时钟信号而得到。
在一实施例中,进一步地,本发明的基于rag-n算法的滤波器滤波方法还包括通过级联后的所述半带滤波器的输入信号对各级所述半带滤波器进行使能控制。
具体地,所述输出信号的的抽取率由输入的控制信号进行决定,所述输入的控制信号同时控制各级滤波器的使能信号。
在一实施例中,进一步地,当所述抽取率低于设定阈值时,位于级联后端的各级所述半带滤波器关闭。
具体地,当所需的抽取率低于设定阈值时,所述数字抽取滤波器使能模块关闭位于级联后端的各级所述半带滤波器,以减少电路损耗;以十级滤波器为例,设定阈值为“3”,则关闭后端七级所述半带滤波器以节省电路损耗。
在一实施例中,进一步地,本发明的基于rag-n算法的滤波器滤波方法还包括采用多相结构的半带滤波器对数据先进行抽取,再进行滤波得到目标信号。
具体地,所述半带滤波器的实现采用多相结构,传统的抽取滤波器实现的结构如图6所示,这种结构的计算效率较低,很多数据计算后在抽取部分丢弃,图7是图6的等效变换结构,这种结构对数据先进行抽取,再进行滤波,提高了计算效率。
请参阅图8,在一实施例中,为实现可配置数字抽取,本实施例提供的一种数字抽取滤波器80,所述滤波器包括:
多级滤波器级联模块81,由多个半带滤波器级联构成,每一级所述实现两倍数字抽取,n级级联实现2n倍的数字抽取;
时钟分频模块82,连接所述多级滤波器级联模块,用于对系统时钟分频提供时钟信号,为每一级所述半带滤波器提供相应的工作时钟;
滤波器使能控制模块83,连接所述多级滤波器级联模块,用于对各级半带滤波器进行使能控制;
滤波器输出控制模块84,连接所述多级滤波器级联模块,用于通过级联后的所述半带滤波器的输入信号来控制其输出信号的抽取率以进行选通输出,进而完成滤波。
由于本实施例的具体实现方式与前述方法实施例对应,因而于此不再对同样的细节做重复赘述。
综上所述,如图9所示,本发明采用优化的半带滤波器级联的方式实现滤波,利用半带滤波器消耗的硬件资源较小的特点作为切入点,进行级联实现多倍率抽取的目的,抽取率提高的同时并不会带来很大的硬件资源消耗,同时,数字抽取滤波器的抽取率由输入信号控制,该输入信号还控制各级滤波器的使能信号。所以,本发明有效克服了现有技术中的占用硬件资源大的缺点而具有利用价值。
上述实施例仅例示性说明本发明的原理及其实现方式,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
1.一种基于rag-n算法的滤波器滤波方法,其特征在于,所述滤波器为半带滤波器,所述方法包括:
量化所述半带滤波器抽头系数,并用所述rag-n算法对量化后的抽头系数进行优化;
对优化后的所述半带滤波器进行级联,每一级实现两倍数字抽取,n级级联实现2n倍的数字抽取;
通过级联后的所述半带滤波器的输入信号来控制其输出信号的抽取率以进行选通输出,完成滤波。
2.根据权利要求1所述的基于rag-n算法的滤波器滤波方法,其特征在于,还包括系统时钟分频提供时钟信号,为每一级所述半带滤波器提供工作时钟。
3.根据权利要求1所述的基于rag-n算法的滤波器滤波方法,其特征在于,还包括通过级联后的所述半带滤波器的输入信号对各级所述半带滤波器进行使能控制。
4.根据权利要求1所述的基于rag-n算法的滤波器滤波方法,其特征在于,所述基于rag-n算法进行优化的实现过程包括两个部分,分别为最佳部分与启发部分,以合成所有抽头系数的实现方式。
5.根据权利要求1所述的基于rag-n算法的滤波器滤波方法,其特征在于,还包括采用多相结构的半带滤波器对数据先进行抽取,再进行滤波得到目标信号。
6.根据权利要求3所述的基于rag-n算法的滤波器滤波方法,其特征在于,当所述抽取率低于设定阈值时,位于级联后端的各级所述半带滤波器关闭。
7.一种数字抽取滤波器,其特征在于,包括:
多级滤波器级联模块,由多个半带滤波器级联构成,每一级所述实现两倍数字抽取,n级级联实现2n倍的数字抽取;
时钟分频模块,连接所述多级滤波器级联模块,用于对系统时钟分频提供时钟信号,为每一级所述半带滤波器提供相应的工作时钟;
滤波器使能控制模块,连接所述多级滤波器级联模块,用于对各级半带滤波器进行使能控制;
滤波器输出控制模块,连接所述多级滤波器级联模块,用于通过级联后的所述半带滤波器的输入信号来控制其输出信号的抽取率以进行选通输出,进而完成滤波。
8.根据权利要求7所述的数字抽取滤波器,其特征在于,所述滤波器使能控制模块通过级联后的所述半带滤波器的输入信号对各级半带滤波器进行使能控制。
9.根据权利要求7所述的数字抽取滤波器,其特征在于,各所述半带滤波器抽头系数预先经rag-n算法进行优化。
10.根据权利要求7所述的数字抽取滤波器,其特征在于,各所述半带滤波器采用多相结构,以对数据先进行抽取,再进行滤波得到目标信号。
技术总结