一种基于自适应分段算法的小数延时滤波方法

文档序号:29258090发布日期:2022-03-16 11:36阅读:222来源:国知局
一种基于自适应分段算法的小数延时滤波方法

1.本发明属于通信、雷达、声纳、导航技术领域,设计一种基于自适应分段算法的小数延时滤波方法。


背景技术:

2.可变小数延时滤波器是具备可变小数相位延时的数字滤波器,一般采用farrow结构实现,由一组并行fir子滤波器及延时控制单元组成,优点是无需重新设计滤波器就可以在线更改小数延时值。可变小数延时滤波器一直是数字信号处理领域中比较活跃的研究方向,广泛应用于采样率转换、信道模拟、语音编码、时延估计、数字信号插值等技术领域。
3.可变小数延时滤波器设计方法可以分为时域设计算法和频域设计算法。其中,时域设计算法基于多项式插值理论,例如lagrange插值、hermite插值、b样条插值等,可以直接得到滤波器系数,在低频处有较好的可变小数延时响应。频域设计算法旨在寻找一组滤波器系数,使得可变小数延时滤波器的可变频率响应在一定准则下达到最小,根据近似准则不同,频域设计算法可以分为最大平坦度设计、加权最小二乘设计和minimax设计。以上方法中,频域设计算法由于能够获得更大的频率带宽、在高频处性能较好、设计更加灵活等优点,一经问世就受到了国内外学者的广泛关注。
4.在频域设计算法中,基于minimax算法设计可变小数延时滤波器被认为是最经典、应用最广泛的方法之一。基于minimax算法设计可变小数延时滤波器的核心思想是利用farrow结构,不断地优化滤波器系数,使得可变小数延时滤波器的可变频率响应峰值误差最小。相比于最大平坦度设计和加权最小二乘设计等频域设计算法,minimax设计算法能够在相同的滤波器实现结构复杂度下获得更小的可变频率响应峰值误差,并且用此算法设计出的可变小数延时滤波器的幅频响应是等纹波的。目前,基于minimax设计算法进行可变小数延时滤波器设计,国内外研究者们主要有两方面研究方向。一是根据不同的设计目标,优化minimax的设计流程,降低算法的设计复杂度;二是通过优化滤波器的阶数及系数个数,对farrow结构进行改进,降低滤波器实现结构复杂度,减少乘法器资源的使用量。
5.为了降低滤波器实现结构复杂度,国内外研究者们使用不同的优化方法进行minimax设计,能够在不同程度上减少资源的使用量。首先,研究者们提出了基于双线性规划的minimax设计算法,将滤波器的可变频率响应误差拆分成实部误差和虚部误差,对两部分分别进行优化,并通过对farrow结构中子滤波器的阶数进行一般化,有效降低了滤波器实现结构复杂度。基于双线性规划的minimax算法将非线性优化问题转换成两个线性优化问题,不可避免地会得到不完备的优化结果。为此,国内外研究者们又提出了基于socp(second-order cone programming)的minimax设计算法,能够直接最小化可变频率响应的峰值误差,获得最优的优化结果。为了能够同时获得高精度的可变频率响应和可变小数延时响应,研究者们又提出了基于socp的双minimax设计算法,该方法能够以较低的复杂度获得更高的可变小数延时响应。然而,上述方法都是对完整的小数延时定义域进行优化设计,这相当于给非线性优化问题施加了一个强约束条件,需要更多的子滤波器数目及滤波器阶
数才能够满足设计精度要求,从而大大增加了可变小数延时滤波器实现结构复杂度。
6.为解决这一问题,国内外研究者们提出了基于等间隔分段的可变小数延时滤波器设计方法。该方法基于传统farrow实现结构,将小数延时定义域进行等间隔分段,在每一段分别进行基于socp的minimax设计,放宽了minimax设计的约束条件,使用较少的乘法器资源就可以获得与常规设计方法相同的设计精度。等间隔分段的优化算法并没有考虑可变小数延时滤波器的可变频率响应随小数延时的变化规律,需要更多的系数存储资源才能够获得更少的乘法器资源。


技术实现要素:

7.本发明的目的在于提供一种基于自适应分段算法的小数延时滤波方法,解决了现有基于minimax设计算法的可变小数延时滤波器的实现结构复杂度较高等问题。
8.本发明通过以下技术方案实现。
9.一种基于自适应分段算法的小数延时滤波方法,包括:
10.步骤一、根据多项式阶次计算farrow结构中多项式阶次为偶数次幂的滤波器个数、奇数次幂滤波器的个数、滤波器阶数;
11.步骤二、令所述滤波器阶数中索引为i的元素加1,并根据偶数次幂的滤波器个数、奇数次幂滤波器的个数、滤波器阶数构建实际可变小数延时滤波器的可变频率响应,并根据理想可变小数延时滤波器的可变频率响应和所述实际可变小数延时滤波器的可变频率响应计算可变频率响应误差;
12.步骤三、在第k个分段区间内,根据所述可变频率响应误差进行minimax设计,经过反复优化迭代得到峰值误差以及相应的滤波器系数;将此步骤从i=0遍历至i=m
k-1,共得到mk个峰值误差,从所有结果中选取最小的峰值误差,并进行相应的更新;
13.步骤四、判断所述最小的峰值误差是否小于预设误差门限,如果大于,进入步骤五;如果小于,进入步骤六;
14.步骤五、利用当前峰值误差和前一次优化误差计算优化比率参数,并用当前峰值误差更新前一次优化误差.判断优化比率参数是否大于设定的优化比率门限,如果大于,返回步骤二;如果小于,令mk=mk+1,ε0=0,并返回步骤一;
15.步骤六、对第k+1个分段区间进行优化,令k=k+1,mk=m
k-1
,返回步骤一,将步骤一至五从k=0遍历至k=k-1,得到所有分段区间上的多项式阶次、并行fir子滤波器阶数以及相应的子滤波器系数;
16.步骤七、判断分段个数k是否等于1,如果k=1,计算当前结构所需乘法器总个数,按照二分法将小数延时定义域等分成两个分段区间,令k=k+1,k=0,mk=1,返回步骤一;如果k≠1,计算当前乘法器总个数,并计算当前分段个数下的乘法器优化比率;如果当前乘法器优化比率大于乘法器优化比率目标值,则计算每个分段区间内的乘法器使用个数,并对使用乘法器个数较多的分段区间以二分法为基础进行划分,并令k=k+1,k=0,mk=1,返回步骤一;否则,说明已经满足优化要求,进入步骤八;
17.步骤八:通过所述子滤波器系数,计算偶数阶可变小数延时滤波器的冲激响应。
18.本发明的有益效果:
19.1、从时域设计角度分析,将小数延时定义域进行非等间隔分段,能够对滤波器的
离散冲激响应得到更好的近似,从而降低了多项式阶次,更符合可变小数延时滤波器的可变频率响应随小数延时参数的变化规律,相比于等间隔分段,优化效果更好,实现结构复杂度更低。
20.2、从频域设计角度分析,在每个分段区间内进行minimax设计,相当于放宽了约束条件,从而降低了多项式阶次和并行fir滤波器的阶数;
21.3、采用自适应分段算法,通过判断分段区间内的乘法器使用个数对小数延时定义域进行更加精确的划分,能够得到最优的分段个数和分段区间。并且,在不同的分段区间内使用不同的多项式阶次和子滤波器阶数,能够进一步优化实现结构复杂度。
22.基于上述特点可知,相比于传统的可变小数延时滤波器设计方法,在相同的可变频率响应误差精度下,本发明所提方法有效降低了可变小数延时滤波器实现结构复杂度,减少了乘法器的数量。
附图说明
23.图1为本发明实施例1示意图。
具体实施方式
24.下面结合附图并举例对本发明作详细说明。
25.本发明的实现思想:利用farrow结构原理进行分解后,实际可变小数延时滤波器由多个并行fir子滤波器及延时控制单元组成,通过不断地优化每个子滤波器系数,使得实际可变小数延时滤波器可变频率响应峰值误差达到最小。
26.本具体实施方式的一种基于自适应分段算法的小数延时滤波方法,具体包括:
27.步骤一、根据多项式阶次mk计算farrow结构中多项式阶次为偶数次幂的滤波器个数奇数次幂滤波器的个数滤波器阶数nk=[n
ek
,n
ok
];
[0028]
步骤二、令所述滤波器阶数nk中索引为i的元素加1,并根据偶数次幂的滤波器个数m
ek
、奇数次幂滤波器的个数m
ok
、构建实际可变小数延时滤波器的可变频率响应h(ω,p),并根据理想可变小数延时滤波器的可变频率响应hi(ω,p)和所述实际可变小数延时滤波器的可变频率响应h(ω,p)计算可变频率响应误差e(ω,p);
[0029]
步骤三、在第k个分段区间内,根据所述可变频率响应误差e(ω,p)进行minimax设计,采用非线性优化工具优化子滤波器系数,使得所述可变频率响应峰值误差的最大值最小;经过反复优化迭代,得到峰值误差以及相应的滤波器系数b
ek
和b
ok
;将此步骤从i=0遍历至i=m
k-1,共得到mk个峰值误差,从所有结果中选取最小的峰值误差并用相应的更新nk,即
[0030]
步骤四、判断所述最小的峰值误差是否小于预设误差门限如果大于,进入步骤五;如果小于,进入步骤六;
[0031]
步骤五、利用当前峰值误差和前一次优化误差ε0计算优化比率参数δ,该参数在具体实施时标志着能否继续通过增加滤波器阶数来降低可变频率响应峰值误差;
[0032][0033]
并用当前峰值误差更新ε0;判断参数δ是否大于设定的优化比率门限δ,如果大于,返回步骤二;如果小于,令mk=mk+1,ε0=0,并返回步骤一;
[0034]
步骤六、对第k+1个分段区间进行优化,令k=k+1,mk=m
k-1,
返回步骤一,将步骤一至五从k=0遍历至k=k-1,得到所有分段区间上的多项式阶次mk、并行fir子滤波器阶数nk以及相应的子滤波器系数b
ek
和b
ok
,k=0,1,...,k-1;
[0035]
步骤七、判断分段个数k是否等于1,如果k=1,计算当前结构所需乘法器总个数σ0,按照二分法将小数延时定义域[0,0.5]等分成两个分段区间,令k=k+1,k=0,mk=1,返回步骤一;如果k≠1,计算当前乘法器总个数σ,并计算当前分段个数下的乘法器优化比率δσ;如果当前乘法器优化比率δσ大于乘法器优化比率目标值δσ
pre
,则计算每个分段区间内的乘法器使用个数,并对使用乘法器个数较多的分段区间以二分法为基础进行划分,并令k=k+1,k=0,mk=1,返回步骤一;否则,说明已经满足优化要求,进入步骤八;
[0036]
步骤八:通过系数b
ek
和b
ok
,k=0,1,..,k-1,计算偶数阶可变小数延时滤波器的冲激响应
[0037]anm
=[a0(n,m)a1(n,m)
…ak-1
(n,m)]
t
[0038]
其中,
[0039][0040]
至此,经过上述过程,在已知可变频率响应误差门限的基础上,利用小数延时定义域自适应分段准则,能够高效设计可变小数延时fir滤波器,实现结构复杂度更低。
[0041]
实施例1:
[0042]
如图1所示,令截止频率ωc=0.9π,即a=0.9,分段个数k=4,优化比率门限δ=0.01,乘法器优化比率目标值δσ
pre
=0.1,可变小数延时滤波器可变频率响应误差上限并行fir滤波器初始化阶次为n
ek
=[1 1
ꢀ…ꢀ
1],n
ok
=[1 1
ꢀ…ꢀ
1]。
[0043]
将本发明的方法与目前性能最优的几种偶数阶可变小数延时滤波器设计算法进行比较,包括基于双线性规划的minimax设计算法,基于socp的minimax设计算法,基于socp的双minimax设计算法,基于socp及小数延时定义域等间隔分段的minimax设计算法。
[0044]
从表1中可见,与其他算法相比,本发明方法通过对小数延时定义域进行非等间隔分段,能够减少多项式阶次和子滤波器阶数,进而有效减少了乘法器使用数量,使得设计的可变小数延时滤波器的实现结构复杂度更低。
[0045]
表1偶数阶可变小数延时滤波器实现结构复杂度比较
[0046][0047]
综上所述,以上仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1