一种时变数字滤波器的实现方法与流程

文档序号:12620647阅读:1270来源:国知局
一种时变数字滤波器的实现方法与流程
本发明涉及信号处理领域。
背景技术
:滤波一直是通信和信号处理领域的重要内容,传统的滤波方式是采用一个固定带宽的滤波器将该通带内的信号滤出。如果信号的频谱始终保持不变,且其能量均匀分布在通带之内,这种滤波方法能够获得很好的效果。但在实际系统中,信号的频谱并不是一成不变的,而是随着时间不断变化。而传统的固定带宽滤波器,其通带不会随着信号而改变,这就使得当某一时刻,信号在某频率区域没有能量分布时,由于该区域在固定带宽滤波器的通带内,固定带宽滤波器也会让该频率区域的干扰及噪声通过,这就影响了滤波效果。技术实现要素:本发明是为了解决由于传统的固定带宽滤波器的滤波通域无法随着信号能量分布的不同而变化所导致的滤波效果不佳的问题,从而提供一种时变数字滤波器的实现方法。一种时变数字滤波器的实现方法,它包括以下步骤:步骤一、对待滤波数据进行时频分析,获得待滤波数据在不同时间段内的频率特性,依据该频率特性确定滤波通域,并根据滤波通域的形状将整个滤波通域分成具有不同中心频率和带宽的N段通带,记录每一段的长度LN,N为正整数;步骤二、针对步骤一所述的不同中心频率和带宽的N段通带分别设计相应的滤波器系数:并找出其中滤波器系数的个数最多的一组,记下其系数个数max(mN);其中,每组滤波器系数的个数均为奇数;步骤三、将步骤二中生成的N组滤波器系数存储在滤波系数存储器中,同时设置滤波系数寄存器的个数为max(mN);步骤四、从滤波系数存储器中取出第一组滤波系数置入滤波器,如果第一组滤波系数的个数m1<max(mN),则将这m1个滤波系数置于滤波系数寄存器中间的m1个位置,并将信号送入滤波器;当信号进入滤波器的长度达到时,从1开始记录当前段信号进入滤波器的长度L;步骤五、在当前段信号进入滤波器的长度L达到当前滤波通域块长度LN时,重新开始记录当前段信号进入滤波器的长度L,同时从滤波系数存储器中取出下一组滤波系数,并按照滤波系数替换规则进行系数替换;步骤六、判断待滤波信号是否已经全部通过滤波器,如果判断结果为是,则结束滤波,如果判断结果为否,则返回执行步骤五。针对步骤一所述的N段不同的通带分别设计相应的滤波器系数:的方法具体为:采用传统FIR滤波器设计方法实现,每一组滤波器系数的个数不同,设计完成后各组滤波器系数表示为:a1→=[a1,0,a1,1,...,a1,m1-1]a2→=[a2,0,a2,1,...,a2,m2-1]...aN→=[aN,0,aN,1,...,aN,mN-1]]]>其中:mN表示第N组滤波器系数的长度;当某一组滤波器系数的个数为偶数时,在其后面补充一个0,将个数变为奇数。步骤五所述按照滤波系数替换规则进行系数替换,具体为:当要将第n组系数替换为第n+1组系数时,每经过一个时钟周期,就将第n组系数最前端的一个系数置零,经过个时钟周期后,第n组系数的前个系数均变为0,此时,再经过一个时钟周期,将第n+1组系数的前个置入滤波系数寄存器的相应位置,而后,每经过一个时钟周期,将第n+1组系数的后一个置入滤波系数寄存器的相应位置,经过个时钟周期后,第n+1组系数全部置入滤波系数寄存器中,完成滤波系数替换;n为正整数,且n小于N。本发明能够根据信号能量分布的变化改变滤波器的中心频率和带宽,从而在使信号正常通过的情况下更好的滤除干扰和噪声。在信号的能量分布随时间变化时,获得更好的滤波效果。附图说明图1是滤波通域量化示意图;图2是时变数字滤波器结构示意图;具体实施方式具体实施方式一、结合图1和图2说明本具体实施方式,方法主要通过以下步骤实现:步骤一、对待滤波数据进行时频分析,获得其不同时间段内的频率特性,将信号能量集中的区域设定为滤波通域,并根据滤波通域的形状将整个滤波通域分成具有不同中心频率和带宽的N段,并记录每一段的长度LN,N为正整数,如图1所示;步骤二、针对步骤一所述的N段不同的通带分别设计相应的滤波器系数:并找出其中滤波器系数的个数最多的一组,记下其系数个数max(mN)。其中,mN表示第N组滤波系数的个数,每组滤波器系数的个数应为奇数,若不为奇数则再其后补一个0,使个数变为奇数;步骤三、将步骤二中生成的N组滤波器系数存储于滤波系数存储器中,同时设置滤波系数寄存器的个数为max(mN);步骤四、从滤波系数存储器中取出第一组滤波系数置入滤波器,如果第一组滤波系数的个数m1<max(mN),则将这m1个滤波系数置于滤波系数寄存器中间的m1个位置,并将信号送入滤波器。当信号进入长度达到时,从1开始记录当前段信号进入长度L。步骤五、在当前段信号进入长度L达到当前滤波通域块长度LN时,重新开始记录当前段信号进入长度L,同时从滤波系数存储器中取出下一组滤波系数,并按照如下替换规则进行系数替换,即:当要将第n组系数替换为第n+1组系数时,每经过一个时钟周期,就将第n组系数最前端的一个系数置零,经过个时钟周期后,第n组系数的前个系数均变为0,此时,再经过一个时钟周期,将第n+1组系数的前个置入滤波系数寄存器的相应位置,而后,每经过一个时钟周期,将第n+1组系数的后一个置入滤波系数寄存器的相应位置,经过个时钟周期后,第n+1组系数全部置入滤波系数寄存器中,完成滤波系数替换。替换过程中每一时刻滤波系数寄存器中的数值变化如下表所示:其中滤波系数寄存器中左右两侧的连0表示在当前滤波器系数个数少于滤波系数寄存器个数时,应将当前滤波器系数置于寄存器中央位置,左右对称的空位置零,当第n组系数置入时,两侧的连0个数均为步骤六、判断待滤波信号是否已经全部通过滤波器,如果是,则结束滤波,如果不是,则返回执行步骤五。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1