发明名称 一种用于硬件上任意波形合成的波形分解方法
摘要 发明公开了一种用于硬件上任意波形合成的波形分解方法,包括以下步骤:对种群中的个体进行编码,根据编码结构对种群中的个体进行随机生成,计算种群中各个体的适应度值,根据种群中各个体的适应度值进行遗传操作,直至生成新一代种群,重复上述步骤,使种群不断更新进化直至终止条件满足,输出最优解,即复杂波形的最佳分解方案。本发明可以有效的解决传统优化方法中计算框架和参数设置差别很大、需要人工不断测试、容易产生一些不必要的误差、波形的个数和内部参数不能同时达到最优、以大幅度增加分解后波形数量的代价来换取更高拟合精度的问题。
申请公布号 CN103631760A 申请公布日期 2014.03.12
申请号 CN201210298501.3 申请日期 2012.08.21
申请人 华中科技大学 发明人 尉迟明;丁明跃;肖峰;李雅琴;李旭
分类号 G06F17/15(2006.01)I 主分类号 G06F17/15(2006.01)I
代理机构 华中科技大学专利中心 42201 代理人 朱仁玲
主权项 一种用于硬件上任意波形合成的波形分解方法,其特征在于,包括以下步骤:(1)对种群初始化,具体包括以下子步骤:(1‑1)对种群中的个体进行编码;(1‑2)根据编码结构对种群中的个体进行随机生成;(1‑2‑1)设定三角波和矩形波的波形个数的初始最大值均为Ninit,在1和Ninit之间生成一个随机整数Ntri和Nrect分别作为三角波和矩形波的个数:Ntri=int[uniform(0,1)×(Ninit‑1)+0.5]+1Nrect=int[uniform(0,1)×(Ninit‑1)+0.5]+1其中uniform(0,1)为一个呈(0,1)均匀分布的随机数,int为取整函数;(1‑2‑2)利用下式由原始复杂信号Vori(t)得到各内部参数的初始最大值(ρmax,τmax,,smax);ρmax=max(abs(Vori(t)))τmax=(t+‑t‑)/2smax=(t+‑t‑)/2其中max(),abs()分别为求最大值和求绝对值函数。t+和t‑分别表示原始复杂信号Vori(t)时间变量t的上下界;(1‑2‑3)利用下式对于种族中的所有个体,根据初始最大值随机产生三角波和矩形波的内部参数值;ρj=‑1×ρmax+uniform(0,1)×ρmaxτj=uniform(0,1)×τmaxsj=uniform(0,1)×smaxρk=‑1×ρmax+uniform(0,1)×ρmaxτk=uniform(0,1)×τmaxsk=uniform(0,1)×smax其中ρj/ρk为个体中第j个矩形波或者第k个三角波的幅值,τj/τk为个体中第j个矩形波或者第k个三角波的半窗时间,sj/sk为个体中第j个矩形波或者第k个三角波相对于y轴的时间平移;(2)计算种群中各个体的适应度值,具体包括以下子步骤:(2‑1)构建适应度函数;对于种群中的个体i,其适应度函数可表示为: <mrow> <msub> <mi>F</mi> <mi>i</mi> </msub> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>t</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>T</mi> </munderover> <mi>abs</mi> <mo>[</mo> <msub> <mi>V</mi> <mi>ori</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>-</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>N</mi> <mi>tri</mi> </msub> </munderover> <msub> <mi>V</mi> <mi>tri</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>&rho;</mi> <mi>j</mi> </msub> <mo>,</mo> <msub> <mi>&tau;</mi> <mi>j</mi> </msub> <mo>,</mo> <msub> <mi>s</mi> <mi>j</mi> </msub> <mo>,</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>-</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>N</mi> <mi>rect</mi> </msub> </munderover> <msub> <mi>V</mi> <mi>tri</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>&rho;</mi> <mi>k</mi> </msub> <mo>,</mo> <msub> <mi>&tau;</mi> <mi>k</mi> </msub> <mo>,</mo> <msub> <mi>s</mi> <mi>k</mi> </msub> <mo>,</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>]</mo> </mrow>其中Fi为个体i的适应度函数;(2‑2)构建惩罚函数,以对适应度函数进行微调; <mrow> <msub> <mi>F</mi> <mi>i</mi> </msub> <mo>=</mo> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <msub> <mi>F</mi> <mi>i</mi> </msub> </mtd> <mtd> <mi>N</mi> <mo>&le;</mo> <msub> <mi>N</mi> <mi>init</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>F</mi> <mi>i</mi> </msub> <mo>&times;</mo> <mfrac> <mrow> <mo>(</mo> <msub> <mrow> <mi>N</mi> <mo>-</mo> <mi>N</mi> </mrow> <mi>init</mi> </msub> <mo>)</mo> </mrow> <msub> <mi>N</mi> <mi>init</mi> </msub> </mfrac> </mtd> <mtd> <mi>N</mi> <mo>></mo> <msub> <mi>N</mi> <mi>init</mi> </msub> </mtd> </mtr> </mtable> </mfenced> </mrow>这里N表示当前个体i所含矩形波和三角波的总数目;(3)根据种群中各个体的适应度值进行遗传操作,直至生成新一代种群,具体包括以下子步骤:(3‑1)根据种群中各个体的适应度值Fi选择两个个体作为父代个体;(3‑2)对选择出来的两个个体进行交叉/重组操作;(3‑3)对交叉重组生成的新个体进行变异操作;(3‑4)反复进行(3‑1)‑(3‑3)的遗传操作直至生成新一代种群;(4)重复进行(2)‑(3)操作使种群不断更新进化直至终止条件满足;(5)输出最优解,即复杂波形的最佳分解方案。
地址 430074 湖北省武汉市洪山区珞瑜路1037号