计算机应用   2016, Vol. 36 Issue (11): 3234-3238  DOI: 10.11772/j.issn.1001-9081.2016.11.3234
0

引用本文 

高菱, 陈立家, 刘名果, 毛军勇. 改进的结构进化无限冲激响应数字滤波器设计方法[J]. 计算机应用, 2016, 36(11): 3234-3238.DOI: 10.11772/j.issn.1001-9081.2016.11.3234.
GAO Ling, CHEN Lijia, LIU Mingguo, MAO Junyong. Improved design method for infinite impulse response digital filter based on structure evolution[J]. Journal of Computer Applications, 2016, 36(11): 3234-3238. DOI: 10.11772/j.issn.1001-9081.2016.11.3234.

基金项目

河南省自然科学基金资助项目(142102210629,15A510018,15A510019,12A510002)

通信作者

陈立家(1979-), 男, 河南开封人, 副教授, 博士, 主要研究方向:数字信号处理、人工智能 chenlijia_just@163.com

作者简介

高菱(1989-), 男, 山西忻州人, 硕士研究生, 主要研究方向:数字滤波器设计;
刘名果(1984-), 男, 河南巩义人, 副教授, 博士, 主要研究方向:数字信号处理、人工智能;
毛军勇(1989-), 男, 浙江台州人, 硕士, 主要研究方向:数字滤波器设计

文章历史

收稿日期:2016-03-14
修回日期:2016-04-08
改进的结构进化无限冲激响应数字滤波器设计方法
高菱, 陈立家, 刘名果, 毛军勇    
河南大学 物理与电子学院, 河南 开封 475000
摘要: 为了进一步提高无限冲激击响应(ⅡR)数字滤波器的性能,提出了一种基于结构和参数同时进化的ⅡR数字滤波器设计方法。首先,通过遗传算法(GA)得到初始滤波器结构;然后,利用差分进化(DE)算法优化滤波器参数;最后,通过动态调整个体搜索步长和双向试探搜索的改进寻优算法对滤波器参数进一步优化,并将该算法用于低通、高通数字滤波器的设计。同基于遗传算法结构进化的ⅡR滤波器方法相比,继续利用差分进化算法和改进的寻优算法优化乘法器参数得到的低通数字滤波器的通带性能相差不大,但是过渡带宽度减小了65%,阻带最小衰减下降了36.48 dB;得到的高通数字滤波器通带波纹减少了75%,过渡带宽度减小了44%,阻带最小衰减下降了12.13 dB。实验仿真结果表明,所提方法可以获得性能更佳的滤波器,是一种有效可行的ⅡR数字滤波器的设计方法。
关键词: 无限冲激响应    数字滤波器    结构进化    参数进化    遗传算法    
Improved design method for infinite impulse response digital filter based on structure evolution
GAO Ling, CHEN Lijia, LIU Mingguo, MAO Junyong     
College of Physics and Electronics, Henan University, Kaifeng Henan 475000, China
Background: This work is partially supported by the Natural Science Foundation of Henan Province (142102210629, 15A510018, 15A510019, 12A510002).
GAO Ling, born in 1989, M. S. candidate. His research interests include digital filter design.
CHEN Lijia, born in 1979, Ph. D., associate professor. His research interests include digital signal processing, artificial intelligence.
LIU Mingguo, born in 1984, Ph. D., associate professor. His research interests include digital signal processing, artificial intelligence.
MAO Junyong, born in 1989, M. S. His research interests include digital filter design.
Abstract: In order to further improve the performance of Infinite Impulse Response (ⅡR) digital filter, a design method of the ⅡR digital filter based on structure evolution and parameter evolution was proposed. Firstly, initial filter structure was got by using Genetic Algorithm (GA). Then, Differential Evolution (DE) was used to optimize the parameters of the filter. Finally, an improved optimization strategy was used to further optimize the parameters of the filter by using adjustment search-step and bidirectional heuristic search. Furthermore, the proposed method was applied to the design of low-pass filter and high-pass filter. Compared with the design method based on GA, the pass-band performance of low-pass filter based on the proposed method is not much different from that of the previous algorithm, however, the transition zone width of it is reduced by 65%, the minimum stop-band attenuation of it was reduced by 36.48 dB; the pass-band ripple of high-pass filter based on the proposed method is reduced by 75%, the transition zone width of it is reduced by 44%, and the minimum stop-band attenuation of it is reduced by 12.13 dB. Simulation results show that the proposed method can get effective filters with better performance, therefore it is suitable for the ⅡR digital filter design.
Key words: Infinite Impulse Response (ⅡR)    digital filter    structure evolution    parameter evolution    Genetic Algorithm (GA)    
0 引言

传统的无限冲激响应(Infinite Impulse Response, ⅡR)数字滤波器设计方法[1]是根据给定的滤波器性能指标先设计模拟滤波器,然后通过适当的变换转换成数字滤波器,该方法模数转换时系数存在量化误差。近年来更多地是采用优化算法[2-4],通过确定滤波器系统函数,优化系数,找到近似最优解再生成滤波器,常用的方法有遗传算法[5-6]、差分算法[7-8]、粒子群算法[9-11]、蚁群算法[12-13]、模拟退火算法[14]等。以上算法均存在可能停滞或陷入局部极值的现象。

文献[15]提出一种新的基于遗传算法结构进化的ⅡR数字滤波器生成方法,能够直接由目标频率响应设计滤波器结构,但由于遗传算法是在整个解空间中进行搜索, 容易陷入局部最优,存在早熟现象,不能保证得到的就是全局最优值。本文提出了一种改进的寻优算法,该算法是在文献[15]方法基础上, 从寻到的“全局最优点”出发, 通过不断调整寻优步长和正反向探测的策略,进一步搜索多维解空间,得到局部最优系数, 从而实现了数字滤波器结构参数同时优化。实验结果表明,该算法优于文献[15]中的遗传算法,具有全局收敛性好、收敛速度快的优点,且该算法适用性较强。

1 遗传算法演化结构

ⅡR数字滤波器结构的生成过程就是由输入端开始,按照生成指令不断地添加组件,直到输出端。一个生成指令(C|T|P|I)控制一个逻辑组件的添加方式。所有生成指令按照产生的时间顺序依次链接,形成指令序列, 就是最终生成的滤波器结构。

遗传算法不能对流图结构直接操作,必须对结构进行编码,采用混合编码方式。每条生成指令包含结构的所有信息,分别为连接方式(C)、组件类型(T)、组件参数(P)和节点编号(I)。新组件添加到流图结构的连接方式有四种:从当前节点接入到新产生的一个节点、系统输入端、系统输出端和之前的节点。

乘法器和延时器参与滤波器结构生成过程,在结构生成过程完成之后,若某个节点有多个输入,那么用加法器代替这个节点。延时器采用单位延迟器,故其值默认为单位1。每个乘法器逻辑组件都有自己的参数,其值设定在一个范围内,随机取值。

指令序列生成之后,就可以得到其信号流图。利用梅逊增益公式求其系统函数。梅逊公式用式(1)表示:

$H(s) = \frac{1}{\Delta }\sum\limits_{k = 1}^n {{P_k}} {\Delta _k}$ (1)

其中:H(S)为滤波器传递函数;r为从输入节点到输出节点的前向通道总数;Pk为第k条前向通路的传递函数。Δ流图特征式,计算公式如式(2)所示:

$ \Delta = 1-\sum {{L_{(1)}}} + \sum {{L_{(2)}}}-\sum {{L_{(3)}}} + \cdot \cdot \cdot + {(-1)^m}\sum {{L_{(m)}}} $ (2)

其中:∑L(1)为所有不同回路的传递函数之和;∑L(2)为每两个互不接触回路传递函数乘积之和;∑L(3)为每三个互不接触回路传递函数乘积之和;∑L(m)为任何m个互不接触回路传递函数乘积之和;Δk为第k条前向通路特征式的余因子。根据滤波器的传输函数得到滤波器的幅频响应,适应度可以用目标滤波器的频率响应与设计的滤波器幅频响应在抽样点上的均方误差(Mean Squared Error, MSE)来评价:

$ MSE(x) = \frac{1}{M}\sum\limits_{i = j}^n {(H({K_i})}-D({K_i}){)^2} $ (3)

其中:H(Ki)为设计的幅频响应;D(Ki)为目标幅频响应;M为抽样频率。

选择过程采用轮盘赌算法。交叉以随机单点交叉的重组方式得到子代指令序列,两个父代的交叉点编号需一致,确保得到有效的滤波器结构。变异就是滤波器结构中的每个逻辑组件有一定概率变为另一种逻辑组件类型,乘法器参数也有一定概率变为另一个数值。

算法过程是随机产生一组合法流图结构的编码作为初始群体,然后循环执行交叉、变异和选择函数,直到预定最大迭代次数,以此获得滤波器结构。但是遗传算法有着局部搜索能力不好、容易陷入早熟的缺点,所以要继续利用差分算法和步长变停算法对ⅡR数字滤波器参数演化。

2 差分算法和改进的寻优算法参数演化

在遗传算法得到滤波器结构的同时就可以确定乘法器参数数量。由于差分算法不具备良好的局部搜索能力,要用到本文算法进一步优化滤波器系数。

Wi=(Wi1, Wi2, …, Win)为差分算法得到的最优解,即乘法器系数,i表示为第i次迭代,n表示乘法器个数,Wi可以被看作n维的坐标数值。设定每个乘法器系数变化的初始步长为0.001。系数的变动就是在个体在搜索过程中,每个参数依次变化,每次只变动一个参数。对于每一个参数而言,始终存在着正反两个寻优方向,假设当前第i轮迭代第j个参数以步长k进行双向试探搜索,相应的当前适应度在这个位置便会产生两个值,选择适应度减少的方向确定为下一轮寻优方向。若下一轮新搜索解的适应度(fit)比更优解的适应度(best_fitness)小,那么新搜索解的适应度(fit)对应的坐标值变更为更优坐标值。

在从Wi1Win的一轮搜索中,若Wij以步长k搜索找到更优坐标,那么下轮W(i+1)j以步长2k搜索解空间,若连续m轮搜索找到更优坐标,则第mW(i+m)j以步长2m×k搜索解空间。若第m+1轮W(i+m+1)j未找到更优坐标,则在第m+2轮重新以初始步长开始搜索解空间。若第m+2轮继续没有找到,那么隔一轮继续搜索;若连续m次未找到更优坐标,则隔2m轮搜索。若在某一轮找到更优坐标,则在下一轮两倍初始步长开始搜索解空间。改进的寻优算法的实现伪代码如下所示:

Do

  If stillj!=0 Then

    If stillj < still_checkj Then

      stilljstillj +1

      continue

    ElseIf stillj > still_checkj Then

        stilljstillj +1

        still_checkj ←2 ×still_checkj

        continue

    End If

  End If

  fit=fitness_evaluate(P, DE_variable_num)

  If best_fitness > fit Then

    best_fitnessfit

    steps ← 2×steps

    stillj ←0

    still_checkj ← 2

  Else

    If steps==0.00l Then

      stilljstillj +1

    Else

      stillj←0

      steps←0.001

    End If

  End If

  Until所有维坐标都找不到更优坐标

End Do

本文算法中steps表示搜索步长;stillj表示连续停止轮数, 即一直没找到更优值的连续轮数,其初始值为0;still-checkj表示在此轮对这个系数寻优,表示为2的指数次幂,其初始值为2;fitness_evaluate表示计算滤波器结构的幅频响应误差。

Still-checkjStillj制约,如果没有找到更优值,Stillj就计数,接下来判断Still-checkjStillj的大小关系,如果Still-checkj=Stillj,表示在这一代进行了寻优。每一次寻优都是在上一次的方向上继续进行,没有找到更优值则反向寻优,如果找到了则下一轮变为本轮的两倍步长同向寻优。只有在某一轮寻优没有找到最优值,Stillj才开始计数,接着下一轮变成初始步长寻优。如果进行了多次隔代寻优找到了更优值,那么Stillj清零,下一步变成两倍步长寻优。

使用此算法来局部寻优,不需要目标函数连续且可导,适用性广泛,而且采用动态调整搜索步长,停止搜索代数的指数次增加的策略,提高收敛速度,提高多维空问的寻优能力,进一步增大得到全局最优滤波器的概率。

3 实验仿真 3.1 设计不同组件数的低通、高通数字滤波器

用所提出的方法设计一个截止频率在0.5π的理想高通滤波器,并用Matlab进行仿真。

遗传算法仿真参数:种群数200,组件数200,采用不同的交叉率、突变率试探适应度的最小值、平均值、中间值,通过实验结果得出交叉率、突变率取0.7时,收敛效果好。

迭代次数为5 000,乘法器参数范围[-106, 106]。在上述参数下,进行30次实验仿真。对目标幅频响应和设计的幅频响应进行128次抽样,抽样结果用来计算两者的均方误差,求解实验得到的滤波器的适应度。

在得到最优滤波器结构的基础上,继续利用差分算法优化乘法器系数,迭代次数为5000,此实验运行30次。根据以往的实验数据发现,变异算子取0.5,交叉概率取0.1时,收敛效果不错。乘法器个数可由遗传算法优化得到的滤波器结构确定。

在利用差分算法找到全局最优解之后,继续利用改进的优化算法寻找局部最优解,最终得到的滤波器幅频响应如图 1所示,其适应度如图 2所示。

图 1 组件数200的高通滤波器幅频响应
图 2 组件数200的高通滤波器适应度

图 1中,数字滤波器通带波纹为0.43 dB,过渡带宽度为0.05π rad,阻带最小衰减为-63.57 dB。图 2中,第一根虚线表示遗传算法优化滤波器结构的5000次迭代,适应度从71.48下降到23.61。两根虚线之间的5000次迭代表示差分算法优化乘法器系数,适应度基本保持不变。最后部分是改进算法的优化,适应度从23.61下降到9.01,性能提高62.00%。第4×104次迭代,每一维系数都未找到更优坐标,停止迭代运算。

在组件数为50条件下仿真高通数字滤波器,运行30次。仿真参数与设计200组件高通滤波器一致,其仿真结果所得最优滤波器幅频响应如图 3所示,其适应度如图 4所示。

图 3 组件数50的低通滤波器幅频响应
图 4 组件数50的高通滤波器适应度

图 3中,数字滤波器通带波纹为0.32 dB,过渡带宽度为0.07π rad,阻带最小衰减为-63.94 dB。图 4中,遗传算法优化滤波器结构,适应度从71.40快速减少到18.28。差分算法优化滤波器乘法器系数,适应度减少到15.03,差分算法使滤波器的性能提高了17.78%。利用改进的算法优化滤波器系数,当迭代次数到达6×104,滤波器的适应度减少到5.05,且所有参数找不到更优坐标,停止运算。由此可知,在上一步实验的基础上滤波器性能又提高了66.40%

3.2 对比实验

用本文方法和基于遗传算法结构进化的方法[15]设计一个截止频率为0.5π低通、高通ⅡR滤波器来作对比实验。设定初始种群都为100,频率采样为128次。进行30次仿真实验,两者实验最优结果如图 5~8所示。

图 5 低通滤波器幅频响应对比

图 5中,基于遗传算法结构进化方法设计的低通滤波器,通带波纹为0.26 dB,过渡带为0.20π rad,阻带最小衰减为-26.49 dB。本文方法设计的数字滤波器,通带波纹为0.40 dB,过渡带为0.07π rad,阻带最小衰减为-62.97 dB。两者相比,继续利用差分算法和改进的优化算法优化乘法器参数得到的数字滤波器的通带性能相差不大,过渡带宽度减少了35%,阻带最小衰减下降了36.48 dB。

图 6中,遗传算法优化滤波器结构,适应度从70.30快速减少到29.75。差分算法优化滤波器乘法器系数,适应度从29.75减少到27.03,差分算法使滤波器的性能提高了9.14%。利用改进的算法优化滤波器系数,一开始收敛效果非常明显,经过393次迭代,适应度迅速从27.03下降到23.70,在之后的迭代中,逐步减小。当迭代次数到达12×104,滤波器的适应度减少到8.61,且所有参数找不到更优坐标,停止运算。由此可得,在上一步实验的基础上滤波器性能又提高了68.15%。

图 6 图 5低通滤波器的适应度曲线对比

图 7中,基于遗传算法结构进化方法设计的高通滤波器,通带波纹为0.71 dB,过渡带为0.16π rad,阻带最小衰减为-54.16 dB。本文方法设计的数字滤波器,通带波纹为0.53 dB,过渡带为0.07π rad,阻带最小衰减为-66.29 dB。两者相比,继续利用差分算法和改进的优化算法优化乘法器参数得到的数字滤波器的通带波纹减少了75%,过渡带宽度减少了44%,阻带最小衰减下降了12.13 dB。

图 7 高通滤波器幅频响应对比

图 8中,遗传算法优化滤波器结构,适应度从59.86减少到28.07。差分算法优化滤波器乘法器系数,适应度减少到12.52,差分算法使滤波器的性能提高了55.40%。利用改进的算法优化滤波器系数,迭代次数到达1.6×104,滤波器的适应度减少到8.29,且所有参数找不到更优坐标,停止运算。由此可得,在上一步实验的基础上滤波器性能又提高了33.79%。

图 8 图 7高通滤波器的适应度曲线对比

最后,与四种经典滤波器设计模型做基于同阶的幅频响应对比实验,实验结果如图 9~10所示。

图 9 9阶低通滤波器幅频响应对比
图 10 14阶高通滤波器幅频响应对比

通过实验结果可以直观地看到,在通带方面本文方法设计的数字滤波器优于椭圆型和切比雪夫Ⅰ型,过渡带优于巴特沃斯和切比雪夫Ⅰ型(图 9中优于切比雪夫Ⅱ型);巴特沃斯型数字滤波器过渡带很差,但是阻带最小衰减优于切比雪夫Ⅰ型、切比雪夫Ⅱ型和椭圆型。综合来看,本文方法设计的数字滤波器性能优良,能够满足设计指标。

4 结语

本文提出一种新的结构参数同时进化的ⅡR数字滤波器设计方法,在保证滤波器生成有效结构的同时进一步优化了乘法器系数,并设计实验验证了该方法的有效性,所设计的滤波器性能优良,是一种有效可行的ⅡR数字滤波器设计方法。下一步工作将对复杂环境下的数字滤波器对故障的容忍能力将作深入研究。

参考文献
[1] 徐红, 李刚, 黄朝耿, 等. 一种设计ⅡR数字滤波器的参数化方法[J]. 电子学报, 2012, 40 (4) : 847-850. ( XU H, LI G, HUANG C G, et al. A parametric approach to ⅡR digital filter design[J]. Acta Electronica Sinica, 2012, 40 (4) : 847-850. )
[2] 戴朝华, 陈维荣, 朱云芳, 等. ⅡR数字滤波器设计的搜寻者优化算法[J]. 西南交通大学学报, 2009, 44 (6) : 871-876. ( DAI C H, CHEN W R, ZHU Y F, et al. ⅡR digital filter design via seeker optimization algorithm[J]. Journal of Southwest Jiaotong University, 2009, 44 (6) : 871-876. )
[3] 王红琳, 常翠宁, 李智南, 等. 改进教与学优化算法的ⅡR数字滤波器设计[J]. 计算机仿真, 2015, 32 (11) : 259-263. ( WANG H L, CHANG C N, LI Z N, et al. Design of ⅡR digital filter based on modified TLBO algorithm[J]. Computer Simulation, 2015, 32 (11) : 259-263. )
[4] 任伟, 曾以成, 陈莉, 等. 基于自由搜索算法的ⅡR数字滤波器设计[J]. 计算机工程, 2014, 40 (8) : 318-320. ( REN W, ZENG Y C, CHEN L, et al. Design of infinite impulse response digital filter based on free search algorithm[J]. Computer Engineering, 2014, 40 (8) : 318-320. )
[5] SEMWAL G, RASTOGI V. Design of LPWG broad band filter with genetic algorithm optimization[J]. Journal of Optics, 2014, 43 (3) : 165-168. doi: 10.1007/s12596-014-0191-z
[6] 黄朝辉, 胡世安, 黄猛. 基于自适应遗传算法的ⅡR数字滤波器设计[J]. 计算机工程与应用, 2010, 46 (9S) : 395-398. ( HUANG Z H, HU S A, HUANG M. ⅡR filter design based on self-adaptive genetic algorithm[J]. Computer Engineering and Applications, 2010, 46 (9S) : 395-398. )
[7] 兰成章, 高洪元, 李诗桓. 基于差分文化算法的FIR数字滤波器设计[J]. 自动化技术与应用, 2010, 29 (6) : 65-68. ( LAN C Z, GAO H Y, LI S H. FIR digital filters design based on differential cultural algorithm[J]. Techniques of Automation and Applications, 2010, 29 (6) : 65-68. )
[8] KARABOGA N, CETINKAYA B. Design of digital FIR filters using differential evolution algorithm[J]. Circuits, Systems and Signal Processing, 2006, 25 (5) : 649-660. doi: 10.1007/s00034-005-0721-7
[9] CHEN S, LUK B. Digital ⅡR filter design using particle swarm optimisation[J]. International Journal of Modeling, Identification and Control, 2010, 9 (4) : 327-335. doi: 10.1504/IJMIC.2010.033208
[10] 侯志荣, 吕振肃. ⅡR数字滤波器设计的粒子群优化算法[J]. 电路与系统学报, 2003, 8 (4) : 16-20. ( HOU Z R, LYU Z S. Particle swarm optimization algorithm for ⅡR digital filters design[J]. Journal of Circuits and Systems, 2003, 8 (4) : 16-20. )
[11] 陆克中, 吴璞, 王汝传. 基于粒子群优化算法的自适应ⅡR数字滤波器设计[J]. 计算机工程与设计, 2007, 28 (13) : 3186-3188. ( LU K Z, WU P, WANG R C. Particle swarm optimization algorithm for adaptive ⅡR digital filters design[J]. Computer Engineering and Design, 2007, 28 (13) : 3186-3188. )
[12] ZHONG J, FUNG Y F, DAI M. A biologically inspired improvement strategy for particle filter:ant colony optimization assisted particle filter[J]. International Journal of Control, Automation and Systems, 2010, 8 (3) : 519-526. doi: 10.1007/s12555-010-0304-7
[13] TSUTSUMI S, SUYAMA K. Design of FIR filters with discrete coefficients using ant colony optimization[J]. IEEE Transactions on Electronics, Information and Systems, 2012, 132 (7) : 1066-1071. doi: 10.1541/ieejeiss.132.1066
[14] 徐渊, 杨波, 朱明程. 模拟退火与遗传算法结合的数字FIR滤波器硬件进化算法[J]. 计算机辅助设计与图形学学报, 2006, 18 (5) : 674-679. ( XU Y, YANG B, ZHU M C. A new genetic algorithm involving mechanism of simulated annealing for digital FIR evolving hardware[J]. Journal of Computer-Aided Design and Computer Graphics, 2006, 18 (5) : 674-679. )
[15] 毛军勇, 陈立家, 刘名果. 基于结构进化的无限冲激响应数字滤波器设计方法[J]. 计算机应用, 2015, 35 (5) : 1250-1254. ( MAO J Y, CHEN L J, LIU M G. Structure evolution based design method for infinite impulse response digital filters[J]. Journal of Computer Applications, 2015, 35 (5) : 1250-1254. )