发明名称 基于粒子群优化算法的自适应随机共振微弱信号检测方法
摘要 一种基于粒子群优化算法的自适应随机共振微弱信号检测方法:1)粒子种群的初始化;2)变步长随机共振;3)个体适应度评价;4)更新粒子的速度和位置;5)终止条件判定;6)输出检测结果。本发明简单易行,适用范围广,收敛速度快,能有效地检测出强噪声背景下的高频微弱信号,为随机共振参数的自适应选取和在工程中的实际应用提供了一种新的方法。
申请公布号 CN102735330A 申请公布日期 2012.10.17
申请号 CN201210199927.3 申请日期 2012.06.15
申请人 天津大学 发明人 王太勇;张仲海;林锦州;王多;耿博
分类号 G01H17/00(2006.01)I;G06N3/00(2006.01)I 主分类号 G01H17/00(2006.01)I
代理机构 天津市北洋有限责任专利代理事务所 12201 代理人 杜文茹
主权项 一种基于粒子群优化算法的自适应随机共振微弱信号检测方法,其特征在于,包括如下阶段:1)粒子种群的初始化,包括如下步骤:(1)设置种群维数、种群数量、双稳系统结构参数a、b和计算步长h的搜索范围以及最大迭代次数Tmax;(2)设置最大搜索速度为最大调整步长的10%~20%;(3)搜索点的初始位置xi(0)和初始速度υi(0)在设定的范围内随机产生;(4)将矩阵Pbest的各列依次设置为该列所对应粒子的当前位置xi(0),并计算出各粒子的个体极值,记录整个粒子群中个体极值最大的粒子序号,将向量Gbest设置为该最大粒子的当前位置;2)变步长随机共振将待测数据作为双稳系统输入S(t),依次将当前各个粒子所对应的一组双稳系统结构参数a、b和计算步长h的具体值代入如下公式: <mfenced open='{' close=''> <mtable> <mtr> <mtd> <msub> <mi>x</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>+</mo> <mfrac> <mn>1</mn> <mn>6</mn> </mfrac> <mrow> <mo>(</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mrow> <mn>2</mn> <mi>k</mi> </mrow> <mn>2</mn> </msub> <mo>+</mo> <msub> <mrow> <mn>2</mn> <mi>k</mi> </mrow> <mn>3</mn> </msub> <mo>+</mo> <msub> <mi>k</mi> <mn>4</mn> </msub> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <msub> <mi>k</mi> <mn>1</mn> </msub> <mo>=</mo> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>ax</mi> <mi>n</mi> </msub> <mo>-</mo> <msubsup> <mi>bx</mi> <mi>n</mi> <mn>3</mn> </msubsup> <mo>+</mo> <msub> <mi>S</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <msub> <mi>k</mi> <mn>2</mn> </msub> <mo>=</mo> <mi>h</mi> <mo>[</mo> <mi>a</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>+</mo> <mfrac> <msub> <mi>k</mi> <mn>1</mn> </msub> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mi>b</mi> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>+</mo> <mfrac> <msub> <mi>k</mi> <mn>1</mn> </msub> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mn>3</mn> </msup> <mo>+</mo> <msub> <mi>S</mi> <mi>n</mi> </msub> <mo>]</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>k</mi> <mn>3</mn> </msub> <mo>=</mo> <mi>h</mi> <mo>[</mo> <mi>a</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>+</mo> <mfrac> <msub> <mi>k</mi> <mn>2</mn> </msub> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mi>b</mi> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>+</mo> <mfrac> <msub> <mi>k</mi> <mn>2</mn> </msub> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mn>3</mn> </msup> <mo>+</mo> <msub> <mi>S</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>]</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>k</mi> <mn>4</mn> </msub> <mo>=</mo> <mi>h</mi> <mo>[</mo> <mi>a</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>+</mo> <msub> <mi>k</mi> <mn>3</mn> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mi>b</mi> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>+</mo> <msub> <mi>k</mi> <mn>3</mn> </msub> <mo>)</mo> </mrow> <mn>3</mn> </msup> <mo>+</mo> <msub> <mi>S</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>]</mo> </mtd> </mtr> </mtable> </mfenced>分别求解出各个粒子所对应的共振输出,公式中:n=1,2,…,N;Sn和xn分别是双稳系统输入S(t)=u(t)+n(t)和输出X(t)的第n个采样值;h=1/fs为数值计算步长,其中fs为采样频率;3)个体适应度评价根据适应度函数,计算每个粒子的适应度值,如果该适应度值大于该粒子当前的个体极值,则将该粒子所对应的Pbest列设置为该粒子的位置,并更新个体极值;若在该粒子的邻域内所有粒子的个体极值中最大的大于当前Gbest所对应的全局极值,则将Gbest设置为该粒子的位置,记录该粒子的序号,并更新Gbest的函数值;4)更新粒子的速度和位置根据下式对每一个粒子的速度和位置进行更新: <mfenced open='{' close=''> <mtable> <mtr> <mtd> <msub> <mi>v</mi> <mi>ij</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>wv</mi> <mi>ij</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>c</mi> <mn>1</mn> </msub> <msub> <mi>r</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mi>ij</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>x</mi> <mi>ij</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>c</mi> <mn>2</mn> </msub> <msub> <mi>r</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mi>gj</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>x</mi> <mi>ij</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <msub> <mi>x</mi> <mi>ij</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>x</mi> <mi>ij</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>v</mi> <mi>ij</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced>式中,j=1,2,…,D;i=1,2,…,m;t为当前进化代数;r1,r2为均匀分布于[0,1]之间的随机数;c1,c2为学习因子,通常取c1=c2=2;υij(t)为第i粒子的速度矢量中第j个元素的当前值;xij为第i粒子的位置矢量中第j个元素的当前值;υij(t+1)为第i粒子的速度矢量中第j个元素更新后的值;xij(t+1)为第i粒子的位置矢量中第j个元素更新后的值;w为惯性权重,即保持原来速度的系数;惯性权重的计算公式如下: <mrow> <mi>w</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>w</mi> <mi>max</mi> </msub> <mo>-</mo> <mfrac> <mrow> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>max</mi> </msub> <mo>-</mo> <msub> <mi>w</mi> <mi>min</mi> </msub> <mo>)</mo> </mrow> <mo>&times;</mo> <mi>t</mi> </mrow> <msub> <mi>T</mi> <mi>max</mi> </msub> </mfrac> </mrow>式中,wmax为惯性权重上限;wmin为惯性权重下限;t为当前进化代数;Tmax为最大进化代数;5)终止条件判定如果当前的迭代次数达到了预先设定的最大次数或达到最小错误要求,则停止迭代,输出最优解,否则转到步骤2;6)输出检测结果根据优化输出的一组最优双稳系统结构参数a、b值和计算步长h值,对待测数据进行变步长随机共振处理,尺度恢复后得到最终的微弱信号检测结果。
地址 300072 天津市南开区卫津路92号