Loading [MathJax]/jax/element/mml/optable/BasicLatin.js
高级搜索

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于蚂蚁算法和遗传算法的时序电路测试生成

许川佩 李智 莫玮

许川佩, 李智, 莫玮. 基于蚂蚁算法和遗传算法的时序电路测试生成[J]. 电子与信息学报, 2005, 27(7): 1157-1161.
引用本文: 许川佩, 李智, 莫玮. 基于蚂蚁算法和遗传算法的时序电路测试生成[J]. 电子与信息学报, 2005, 27(7): 1157-1161.
Shuzhen CHEN, Shipeng CAO, Meiyue CUI, Qiusheng LIAN. Image Blind Deblurring Algorithm Based on Deep Multi-level Wavelet Transform[J]. Journal of Electronics & Information Technology, 2021, 43(1): 154-161. doi: 10.11999/JEIT190947
Citation: Xu Chuan-pei, Li Zhi, Mo Wei . Test Generation of Sequential Circuits Based on Ant Algorithm and Genetic Algorithm[J]. Journal of Electronics & Information Technology, 2005, 27(7): 1157-1161.

基于蚂蚁算法和遗传算法的时序电路测试生成

Test Generation of Sequential Circuits Based on Ant Algorithm and Genetic Algorithm

  • 摘要: 为提高时序电路的测试生成效率,该文提出一种新的基于蚂蚁算法和遗传算法的时序电路测试矢量生成算法.针对国际标准时序电路的实验结果表明,该交叉算法既充分发挥了两种算法的优点,又克服了各自的缺点,与其它同类测试生成算法相比,获得了较好的故障覆盖率和测试集.说明采用蚂蚁算法和遗传算法的交叉算法是成功的.
  • 当一个系统的脉冲响应包含很多为零或者接近于零的系数时,且只有少数比较大的系数时,这个系统就可以看作稀疏系统。众所周知,在实际生活中,许多需要辨识的信号都具有这样的稀疏特性,比如数字电视传输信道和回声路径等[1]。多年来,Widrow等人[2]提出的基于均方误差(Mean Square Error, MSE)准则的最小均方(Least Mean Square, LMS)算法具有结构简单、计算复杂度低的优点,已经广泛应用于信道估计、回声消除等领域。在稀疏系统识别时,稀疏系统的先验稀疏信息可以改善系统识别的性能。但是,标准的LMS算法并没有利用这些信息。针对这个问题,文献[3]提出零吸LMS(Zero-Attracting LMS, ZA-LMS)算法,文献[4-6]提出重加权ZA-LMS(Reweighted Zero-Attracting LMS, RZA-LMS)算法用于识别稀疏系统。ZA-LMS在代价函数中引入滤波器系数的l1范数约束,导致在迭代过程中生成一个零吸因子,能够促进滤波器抽头的稀疏性,改善识别和跟踪性能。RZA-LMS算法则利用系数的加权l1范数约束构造一个重加权零吸因子,以获得相对于ZA-LMS算法更好的性能。

    然而,基于LMS的稀疏自适应算法是在系统噪声为高斯噪声下所提出的。当系统噪声为脉冲噪声时,LMS类算法的性能会受到很大影响。为了解决脉冲噪声下的系统识别问题,Zhao等人[7]用最大熵准则(Maximum Correntropy Crition, MCC)来取代MSE准则,提出了一系列MCC算法,实验结果表明提出的MCC算法对于脉冲噪声具有很好的鲁棒性。基于MCC算法,文献[8,9]提出了用于稀疏系统识别的ZA-MCC和RZA-MCC算法,以对抗脉冲噪声环境。最近,基于双曲余弦函数的自然对数lncosh函数[10,11]的自适应滤波算法已经用于系统识别。利用lncosh函数构建的代价函数可以看作MSE准则和平均绝对值误差(Mean Absolute Error, MAE)准则的组合,且组合比例由系数q>0确定。当参数q接近于0时,该代价函数接近于MSE代价函数,当参数q为无穷大时,该代价函数可以看作MAE代价函数。类似地,文献[12]提出了零吸双曲余弦函数的自然对数(ZA-lncosh)和加权零吸双曲余弦函数的自然对数(RZA-lncosh)算法,并用来识别稀疏系统。

    Lawson范数[13]可以近似替代l1l0范数,且当Lawson范数中的参数p等于1或者0时,该范数可以分别近似l1l0范数。基于Lawson范数和lncosh函数,本文提出一种用于稀疏系统识别的通用Lawson-lncosh自适应滤波算法,本算法采用系数向量的Lawson范数和误差的lncosh函数构建新的代价函数,并采用梯度下降法得到更新方程。然后,在脉冲噪声环境下对稀疏系统进行估计,以验证算法的有效性,计算机仿真结果表明,在高斯信号输入和色信号输入情况下,所提Lawson-lncosh算法的性能都要优于其他现存的算法,且具有鲁棒性。

    考虑一个M维未知系统的权向量{{\boldsymbol{h}}_0} = \left[ {h_1},{h_2}, \cdots ,{h_M} \right]^{\rm{T}}, x(l)=[x(l),x(l1),,x(lM+1)]T表示时刻l处的输入信号,那么未知系统在时刻l时的输出可以表示为

    d(l)=hT0x(l)+n(l) (1)

    其中,n(l)为零均值系统背景噪声,估计误差e(l)可以表示为

    e(l)=d(l)hT(l)x(l) (2)

    其中,h(l)是时刻l处的估计权向量。

    对于ZA-lncosh算法,代价函数为误差信号e(l)的lncosh函数和系数向量的l1范数约束的组合,定义为

    JL1(h(l))=1qlncosh(qe(l))+γh(l)1 (3)

    其中,γ>0是一个常数。利用梯度下降法,可得

    h(l+1)=h(l)μJL1(h(l))h(l) (4)

    其中,μ为步长

    JL1(h(l))h(l)=tanh(qe(l))x(l)+γsgn(h(l)) (5)

    那么,ZA-lncosh的迭代方程为

    h(l+1)=h(l)+μtanh(qe(l))x(l)ηsgn(h(l)) (6)

    其中,η=μγsgn()为符号函数,定义为

    sgn(a)={a/|a|,a00,a=0 (7)

    与标准lncosh算法相比,ZA-lncosh算法增加了一个额外的ηsgn(h(l))项,该项能够使滤波器近零系数快速趋近于0,所以叫作零吸引项。在系统系数接近0时,该项可以加快收敛速度,减小稳态误差。

    由于ZA-lncosh算法不能区分零和非零抽头,在迭代过程中,促使所有的抽头系数均匀地趋近于0。所以对于稀疏性度低的系统,ZA-lncosh算法的性能会恶化。因此,RZA-lncosh算法可以解决以上问题,RZA-lncosh算法的代价函数为

    JL2(h(l))=1qlncosh(qe(l))+γMi=1lg(1+|hi(l)|δ) (8)

    式(8)引入的对数和约束项\displaystyle\sum\nolimits_{i = 1}^M \lg \left( 1 +{{\left| {{h_i}\left( l \right)} \right|} / {\delta '}} \right)更加类似于l0范数,其中δ是一个正的常数,用来调整算法的零吸强度,利用梯度法得到的系数更新方程为

    hi(l+1)=hi(l)+μtanh(qe(l))xi(l)ηsgn(hi(l))1+δ|hi(l)| (9)

    式(9)的向量形式为

    h(l+1)=h(l)+μtanh(qe(l))x(l)ηsgn(h(l))1+δ|h(l)| (10)

    其中,η=μγ/δ, δ=1/δ, RZA-lncosh算法可以有选择地调整抽头系数的零吸强度,且该重加权零吸因子只对那些在量级上与1/δ相当的抽头影响较大,对于量级大于1/δ的抽头影响很小。

    本文所提Lawson-lncosh算法利用抽头系数向量的Lawson范数与误差e(l)的lncosh函数构建代价函数。Lawson范数为

    h(l)L=Mi=1h2i(l)(h2i(l)+β2)2p2 (11)

    其中,β>0是一个很小的常数。当参数p等于0或者1时,Lawson范数分别接近于l0l1范数。根据自适应滤波算法理论,Lawson-lncosh算法的代价函数写为

    J(h(l))=1qlncosh(qe(l))+γMi=1h2i(l)(h2i(l)+β2)2p2 (12)

    根据梯度下降法,有

    J(h(l))h(l)=tanh(qe(l))x(l)+γMi=1h2i(l)(h2i(l)+β2)2p2/h(l) (13)

    式(13)可以改写为

    J(h(l))h(l)=tanh(qe(l))x(l)+γG(l)h(l) (14)

    其中

    G(l)=diag((ph21(l)+2β2)(h21(l)+β2)4p2,(ph22(l)+2β2)(h22(l)+β2)4p2,,(ph2M(l)+2β2)(h2M(l)+β2)4p2) (15)

    由此,Lawson-lncosh算法的迭代方程为

    h(l+1)=h(l)μJ(h(l))h(l)=h(l)+μtanh(qe(l))x(l)ηG(l)h(l) (16)

    其中,η=μγ

    为了分析所提Lawson-lncosh算法,定义系数误差向量˜h(l)=h(l)h0,且它与输入向量x(l)和所需信号d(l)无关。式(16)的两端同时减去h0,得到

    ˜h(l+1)=˜h(l)+μtanh(qe(l))x(l)ηG(l)h(l) (17)

    式(17)两端同时取数学期望,得到

    E[˜h(l+1)]=E[˜h(l)]+μE[tanh(qe(l))x(l)]ηE[G(l)h(l)] (18)

    基于文献[14],得到

    E[tanh(qe(l))x(l)]=E[e(l)tanh(qe(l))]E[e2(l)]E[x(l)e(l)]=F(q)E[x(l)e(l)] (19)

    其中,F(q)=E[e(l)tanh(qe(l))]E[e2(l)]

    由于背景噪声n(l)与输入信号统计独立,所以

    E[x(l)e(l)]=E[x(l)(hT0x(l)hT(l)x(l)+n(l))]=RE[˜h(l)] (20)

    其中,R=E[x(l)xT(l)]。将式(19)和式(20)代入式(18)中,得到

    E[˜h(l+1)]=[IμF(q)R]E[˜h(l)]ηE[G(l)h(l)] (21)

    其中,G(l)h(l)的第i个分量(ph3i(l)+2β2hi(l))(h2i(l)+β2)4p2为连续函数,且当p=1时,有

    lim (22)

    0 \le p < 1时,有

    \left. \begin{split} & \mathop {\lim }\limits_{{h_i}\left( l \right) \to + \infty } \frac{{\left( {ph_i^3\left( l \right) + 2{\beta ^2}{h_i}\left( l \right)} \right)}}{{{{\left( {h_i^2\left( l \right) + {\beta ^2}} \right)}^{\frac{{4 - p}}{2}}}}} = 0\\ & \mathop {\lim }\limits_{{h_i}\left( l \right) \to - \infty } \frac{{\left( {ph_i^3\left( l \right) + 2{\beta ^2}{h_i}\left( l \right)} \right)}}{{{{\left( {h_i^2\left( l \right) + {\beta ^2}} \right)}^{\frac{{4 - p}}{2}}}}} = 0 \end{split}\right\} (23)

    可以看出,该项是有界的。因此,若使{\rm{E}}\left[ {\tilde {\boldsymbol{h}}\left( l \right)} \right]收敛,\left[ {{\boldsymbol{I}} - \mu F\left( q \right){\boldsymbol{R}}} \right]的最大特征值要小于1[15],即

    0 < \mu < \frac{2}{{F\left( q \right){\lambda _{\max }}}} (24)

    q \to 0 时, F\left( q \right) \to q。此时步长\mu ' = \mu q满足

    0 < \mu ' < \frac{2}{{{\lambda _{\max }}}} (25)

    q \to + \infty 时,\tanh \left( {qe\left( l \right)} \right) \sim {\rm{sign}}\left( {e\left( l \right)} \right), F\left( q \right) = \dfrac{{{\rm{E}}\left[ {e\left( l \right){\rm{sign}}\left( {e\left( l \right)} \right)} \right]}}{{{\rm{E}}\left[ {{e^2}\left( l \right)} \right]}}。假设e(l)为零均值高斯,那么有

    {\rm{E}}\left[ {e\left( l \right){\rm{sign}}\left( {e\left( l \right)} \right)} \right] = \sqrt {\frac{{2{\rm{E}}\left[ {{e^2}\left( l \right)} \right]}}{\pi }} (26)

    由此得到F\left( q \right) = \sqrt {\dfrac{2}{{\pi {\rm{E}}\left[ {{e^2}\left( l \right)} \right]}}},此时

    0 < \mu < \frac{{\sqrt {2\pi {\rm{E}}\left[ {{e^2}\left( l \right)} \right]} }}{{{\lambda _{\max }}}} (27)

    本节设计了5个实验以验证所提算法的性能。所有仿真结果均在100次独立仿真下取得,在算法迭代过程中,本文将{\boldsymbol{h}}的初始值设置为一个M维的0向量。

    实验1 假设未知系统具有16个系数,其中只有1个系数非0,其他系数均为0,即系统的稀疏度为93.75%。分别用高斯输入信号和AR(1)输入信号测试标准lncosh, ZA-lncosh, RZA-lncosh和Lawson-lncosh这4种算法,这4种算法的参数q=1, RZA-lncosh的参数\delta {\rm{ = }}10,Lawson-lncosh的参数p=0,系统噪声是脉冲噪声[16,17]。脉冲噪声{n_i}\left( l \right)可表示为{n_i}\left( l \right) = b\left( l \right)w\left( l \right) + z\left( l \right),其中b\left( l \right)为伯努利过程,b\left( l \right)=1的概率为prb\left( l \right)=0的概率为1–prw\left( l \right)z\left( l \right)均是0均值高斯噪声,\sigma _w^2\sigma _z^2分别表示二者的方差且\sigma _w^2远大于\sigma _z^2。本实验中,pr,\sigma _w^2\sigma _z^2的取值分别为0.1, 1和10–3图1(a)为以上4种算法在高斯信号输入时的均方偏差(Mean Square Deviation, MSD),输入信号是方差为1的0均值高斯信号。4种算法的步长\mu 均设置为0.05,参数\eta 设置为0.0005,\beta 为0.03。图1(b)是在AR(1)输入信号下的MSD曲线,AR(1)信号的功率为1,由高斯信号v(n)通过一个AR 1阶滤波器获得,即x\left( n \right) = 0.8x\left( {n - 1} \right) + v\left( n \right)。4种算法的步长\mu 均设置为0.015,参数\eta 设置为0.00003,\beta 为0.01。由图1可知,无论是高斯输入还是AR(1)输入信号,所提Lawson-lncosh算法的性能要优于其他3种算法。

    图 1  稀疏度为93.75%时的算法收敛曲线

    实验2 假设未知系统具有16个系数,设置奇数位上的抽头系数为1,其他的抽头为0,即系统的稀疏度为50%。分别用高斯信号和AR(1)信号输入,标准lncosh, ZA-lncosh, RZA-lncosh和Lawson-lncosh 4种算法中,输入信号、系统噪声和各算法参数与实验1相同。图2(a)是以上4种算法在高斯信号输入时的MSD曲线。图2(b)是在AR(1)输入信号下的MSD曲线。由图2可知,无论是高斯输入还是AR(1)输入信号下,所提Lawson-lncosh算法的性能都要优于其他3种算法。

    图 2  稀疏度为50%时的算法收敛曲线

    实验3 假设未知系统具有16个抽头系数,设置奇数位上的抽头系数为1,偶数位上的抽头系数为–1,即系统的稀疏度为0%。分别用高斯输入信号和AR(1)输入信号来测试标准lncosh, ZA-lncosh, RZA-lncosh和Lawson-lncosh这4种算法,输入信号、系统噪声和各算法参数与实验1相同。图3(a)所示的是以上4种算法在高斯信号输入时的MSD曲线。图3(b)是在AR(1)输入信号下的MSD曲线。由图3可知,无论是高斯输入还是AR(1)输入信号,Lawson-lncosh, lncosh和RZA-lncosh算法的性能基本一致,即该Lawson-lncosh算法在稀疏度为0%时也能达到与标准lncosh算法相似的性能。

    图 3  稀疏度为0%时的算法收敛曲线

    实验4 假设未知系统具有256个抽头系数,具有32个非0随机系数且满足{\boldsymbol{h}}_0^{\rm{T}}{{\boldsymbol{h}}_0} = 1。分别用高斯输入信号和AR(1)输入信号来测试ZA-LMS, RZA-LMS, ZA-MCC,RZA-MCC,ZA-lncosh, RZA-lncosh, Lawson-lncosh(p=1),Lawson-lncosh(p=0.5)和Lawson-lncosh(p=0)这7种算法,其中lncosh类算法的参数q=1,MCC类算法的核宽为3,输入信号与实验1相同。此实验中的脉冲噪声参数pr, \sigma _w^2\sigma _z^2的取值分别为0.1, 4和10–3\beta 为0.001,各算法的参数如表1所示(本文仔细调整了参数使其在同一收敛速率的情况下均能达到最小的稳态误差)。图4(a)所示的是以上8种算法在高斯信号输入时的MSD曲线。图4(b)是在AR(1)输入信号下的MSD曲线。由图4可知,无论是高斯输入还是AR(1)输入信号,所提Lawson-lncosh(p=1)算法的性能都要优于其他ZA类算法,Lawson-lncosh(p=0)的性能要优于其他RZA类算法,而且当参数p越小时,Lawson-lncosh算法的性能越好。

    表 1  实验4各算法参数
    算法\mu (高斯输入)\eta (高斯输入)\mu (AR输入)\eta (AR输入)
    ZA-LMS0.00200.0000080.0020.0000100
    RZA-LMS0.00200.0000400.0020.0000300
    ZA-MCC0.00200.0000050.0020.0000050
    RZA-MCC0.00220.0000200.0020.0000100
    ZA-lncosh0.00240.0000050.0020.0000100
    RZA-lncosh0.00240.0000100.0020.0000040
    Lawson-lncosh(p=1)0.00240.0000080.0020.0000030
    Lawson-lncosh(p=0.5)0.00240.0000030.0020.0000010
    Lawson-lncosh(p=0)0.00240.0000040.0020.0000004
    下载: 导出CSV 
    | 显示表格
    图 4  256抽头系统时的算法收敛曲线

    实验5 本文在实验4的基础之上比较了Lawson-lncosh(p=0)算法在不同迭代步长下的性能,分别在高斯输入信号和AR(1)输入信号的情况下分析算法的性能,迭代步长\mu 分别为0.0012, 0.0018和0.0024,其他参数与实验4一致。图5(a)是在高斯信号输入时的MSD曲线。图5(b)是在AR(1)输入信号下的MSD曲线。由图5可知,无论是高斯输入还是AR(1)输入信号,迭代步长对于算法均有很大的影响,且步长较大时,算法收敛较快,但MSD较大。步长越小,算法收敛越慢,但可以获得更小的MSD。

    图 5  256抽头系统在不同迭代步长下的算法收敛曲线

    由上述实验可知,本文所提Lawson-lncosh算法比其他现存的算法具有更好的性能,且具有很好的抗脉冲噪声的能力。可以用在宽带无线通信信道估计、水声信道估计、卫星通信信道估计、噪声抑制和稀疏系统识别等具有稀疏特性的系统中或者脉冲噪声环境中。

    本文提出一种用于稀疏系统识别的通用Lawson-lncosh自适应滤波算法,本算法利用系数向量的Lawson范数和误差的lncosh函数提出了新的代价函数,并分析了所提Lawson-lncosh算法步长参数的取值范围。仿真结果表明在不同稀疏度的系统识别中,Lawson-lncosh算法都具有很好的性能且系统的稀疏度越高,算法的性能越好。误差的lncosh函数可以提供优秀的抗脉冲噪声的性能,能够在脉冲噪声的环境下稳定地识别系统。计算机仿真结果验证了在高斯信号输入和色信号输入下,背景噪声为脉冲噪声时,本文算法的性能要明显优于其他现存算法。

  • Niermann T M, Patel J H. HITEC: A test generation package for sequential circuits. Proc. European Conf. Design Automation, Amsterdam, the Netherlands, 1992:214 - 218.[2]Cabodi G, Camurati P, Quer S. Symbolic exploration of large circuits with enhanced forward/backward traversals. Proc.EURODAC, Grenoble, Fr., 1994:22 - 27.[3]Saab D G, Saab Y G, Abraham J A. CRIS: A test cultivation program for sequential VLSI circuits. Proc. Int. Conf. Computer -Aided Design, Santa Clara, USA, 1992:216 - 219.[4]Rudnick E M, Patel J H, Greenstein G S, Niermann T M.Sequential circuit test generation in a genetic algorithm framework. Proc. Design Automation Conf., San Diego, USA,1994:698- 704.[5]李智,许川佩,陈光(禵).基于蚂蚁算法的同步时序电路初始化研究.电子测量与仪器学报,2002,(4):33-38.[6]李智,许川佩,莫玮,陈光(禵).基于蚂蚁算法和遗传算法的同步时序电路初始化.电子学报,2003,(8):1276-1280.[7]Hsiao M S, Rudnick E M, Patel J H. Dynamic state traversal for sequential circuit test generation[J].ACM Trans. on Design Automation of Electronic Systems.2000, 5(2):548-[8]陈国良,等.遗传算法及其应用.北京:电子工业出版社,1996.6:88-97.
  • 期刊类型引用(2)

    1. 吴健华,张晓锋,陈亮. OVMD-MF算法用于漏电流光纤传感. 国防科技大学学报. 2025(01): 181-189 . 百度学术
    2. 吴健华,张晓锋,陈亮. OVMD-ICA算法用于光纤电流传感器降噪. 光学学报. 2023(02): 43-52 . 百度学术

    其他类型引用(3)

  • 加载中
计量
  • 文章访问数:  2300
  • HTML全文浏览量:  91
  • PDF下载量:  733
  • 被引次数: 5
出版历程
  • 收稿日期:  2004-02-09
  • 修回日期:  2004-08-10
  • 刊出日期:  2005-07-19

目录

/

返回文章
返回