[发明专利]基于粒子群的非线性系统辨识方法有效
申请号: | 201010587216.4 | 申请日: | 2010-12-14 |
公开(公告)号: | CN102055694A | 公开(公告)日: | 2011-05-11 |
发明(设计)人: | 葛建华;田宏洁;王勇;宫丰奎;李靖;张南;高明 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | H04L25/03 | 分类号: | H04L25/03;H04L25/49 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 王品华;朱红星 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于粒子群的非线性系统辨识方法。主要针对传统辨识方法对加性噪声敏感性高导致方法收敛性能下降的缺点。其实现步骤为:设置非线性系统的最高阶次、最大记忆长度和系统的系数矢量;确定辨识问题的约束条件并设计目标函数;设置粒子群的参数,生成粒子群初始速度矩阵和空间位置矩阵;根据粒子群空间位置矩阵和目标函数计算粒子群的最优解和最优适合度;根据粒子群速度更新公式和空间位置更新公式更新粒子群速度和空间位置矩阵;若粒子群最优适合度或迭代次数满足收敛条件,则结束辨识。本发明能够降低对加性噪声的敏感性,提高加性噪声条件下对非线性系统的辨识性能。 | ||
搜索关键词: | 基于 粒子 非线性 系统 辨识 方法 | ||
【主权项】:
1.一种基于粒子群的非线性系统辨识方法,包括:(1)参数设置步骤(1a)设置待辨识的非线性系统的最高阶次Omax和最大记忆长度Mmax以及非线性系统的系数矢量
确定非线性系统的等式约束条件gm(x),m=1,2,...S,S为等式约束条件的个数,以及不等式约束条件hn(x),n=1,2,...Q,Q为不等式约束条件的个数;(1b)根据最小均方误差准则设计目标函数f(x),利用罚函数法将非线性系统的等式约束条件g(x)和不等式约束条件h(x)与目标函数f(x)合并生成罚函数F(x);(1c)设置最大迭代次数Imax,收敛阈值s,s为大于0的小正数,设置粒子群中粒子数目M,粒子的速度矢量以及空间位置矢量长度为D=Omax*Mmax,设置自身更新加速因子c1和群体更新加速因子c2,这两个因子的取值均为2,设置粒子空间位置搜索范围为[-a,+a],α为大于0的正数,根据具体辨识问题设置数值,设置粒子速度变化范围为[-b,+b],β为大于0的正数,根据具体辨识问题设置取值,并且β满足β=γ*α,其中γ=1,表示粒子速度变化范围最大值β与粒子空间位置变化范围最大值α的比例;(2)初始迭代时刻粒子群速度矩阵和空间位置矩阵生成步骤(2a)在粒子空间位置搜索范围[-a,+a]内随机生成初始迭代时刻粒子群的空间位置矩阵:PM*D(1)=[P1(1)P2(1)...Pi(1)...PM(1)]T式中Pi(1)=[pi1(1)pi2(1)...pij(1)...piD(1)],pij(1)表示初始迭代时刻第i个粒子对非线性系统第j个参数的辨识值,i=1,2,...,M,表示粒子群中粒子的序号,M为粒子群中粒子数目,j=1,2,...,D,表示非线性系统的参数序号,D为粒子的速度矢量以及空间位置矢量长度;(2b)在粒子速度变化范围[-b,+b]内随机生成初始迭代时刻粒子群的速度矩阵:VM*D(1)=[V1(1)V2(1)...Vi(1)...VM(1)]T式中Vi(1)=[vi1(1)vi2(1)...vij(1)...viD(1)],vij(1)表示初始迭代时刻第i个粒子对非线性系统第j个参数辨识的搜索速度变化值;(3)初始迭代时刻粒子群最优解及最优适合度计算步骤(3a)设置迭代时刻k=1,数据序号a=0;(3b)设数据序号a=a+1,从非线性系统输入数据序列u(n)中数据序号为a的数据u(a)开始取Mmax个数据组成数据矢量
对数据矢量
进行处理得到一个新的数据矢量
将该新的数据矢量
与粒子群空间位置矩阵PM*D(1)中第i个粒子的空间位置矢量Pi(1)的转置矢量
相乘,得到初始迭代时刻第i个粒子辨识出的非线性系统的第1个输出数据:
(3c)重复步骤(3b)W次,得到初始迭代时刻第i个粒子辨识出的非线性系统的W个输出数据:
z=1,2,...,W,W取值为100;(3d)从非线性系统输出数据序列y(n)取出第a+Mmax-1个数据y(a+Mmax-1)与第i个粒子辨识的非线性系统的输出数据y′(i,z)计算初始迭代时刻第i个粒子的目标函数fi(z);(3e)将初始迭代时刻第i个粒子的目标函数fi(z)和粒子群空间位置矩阵PM*D(1)中第i个粒子的空间位置矢量Pi(1)代入罚函数F(x),计算初始迭代时刻第i个粒子的适合度Fi(z),并根据Fi(z)计算初始迭代时刻第i个粒子的适合度均值:
(3f)将初始迭代时刻第i个粒子的适合度均值设置为第i个粒子的最优适合度:
将初始迭代时刻第i个粒子的空间位置矢量设置为第i个粒子的最优解:Pipbest=Pi(1);(3g)找出初始迭代时刻最优适合度:
和最优适合度对应的粒子Pmin(1);将初始迭代时刻最优适合度设置为粒子群最优适合度:Fgbest=Fmin(1),将初始迭代时刻最优适合度Fmin(1)对应粒子的空间位置矢量设置为粒子群最优解:Pgbest=Pmin(1);(3h)判断粒子群最优适合度Fgbest是否小于收敛阈值s,若是,辨识过程结束,否则进行下一步骤;(4)粒子群速度矩阵和空间位置矩阵更新步骤(4a)设迭代时刻为:k=k+1;(4b)根据粒子群速度更新公式更新k迭代时刻粒子群速度矩阵VM*D(k)中的元素vij(k),得到k+1迭代时刻粒子群速度矩阵VM*D(k+1)中的元素vij(k+1):vij(k+1)=vij(k)+c1*r1*(pipbest,j-pij(k))+c2*r2*(pgbest,j-pij(k))式中r1和r2为取值均在[0,1]范围内的随机变量,vij(k)和vij(k+1)分别表示k迭代时刻和k+1迭代时刻第i个粒子对非线性系统第j个参数辨识的搜索速度变化值,pij(k)表示k迭代时刻第i个粒子对非线性系统第j个参数的辨识值,pipbest,j表示第i个粒子对非线性系统第j个参数辨识的最优解,pgbest,j表示粒子群对非线性系统的第j个参数辨识的最优解;(4c)根据粒子群空间位置更新公式更新k迭代时刻粒子群空间位置矩阵PM*D(k)中的元素pij(k),得到k+1迭代时刻粒子群空间位置矩阵PM*D(k+1)中的元素pij(k+1):pij(k+1)=pij(k)+vij(k+1)式中pij(k+1)表示k+1迭代时刻第i个粒子对非线性系统的第j个参数的辨识值;(5)更新后的粒子群最优解及最优适合度计算步骤(5a)设数据序号a=a+1,从非线性系统输入数据序列u(n)中数据序号为a的数据u(a)开始取Mmax个数据组成数据矢量
对数据矢量
进行处理得到一个新的数据矢量
将该新的数据矢量
与粒子群空间位置矩阵PM*D(k+1)中第i个粒子的空间位置矢量Pi(k+1)的转置矢量
相乘得到k+1迭代时刻第i个粒子辨识出的非线性系统的第1个输出数据:
(5b)重复步骤(5a)W次,得到k+1迭代时刻第i个粒子辨识出的非线性系统的W个输出数据:
(5c)从非线性系统输出数据序列y(n)取出第a+Mmax-1个数据y(a+Mmax-1)与第i个粒子辨识的非线性系统的输出数据y′(i,z)计算k+1迭代时刻第i个粒子的目标函数fi(z);(5d)将k+1迭代时刻第i个粒子的目标函数fi(z)和k+1迭代时刻粒子群空间位置矩阵PM*D(k+1)中第i个粒子的空间位置矢量Pi(k+1)代入罚函数F(x),计算k+1迭代时刻第i个粒子的适合度Fi(z),并根据Fi(z)计算k+1迭代时刻第i个粒子的适合度均值:
(5e)将k+1迭代时刻第i个粒子的适合度均值
与第i个粒子的最优适合度Fi.pbest进行比较,如果k+1迭代时刻第i个粒子的适合度均值
小于第i个粒子的最优适合度Fi,pbest,则第i个粒子的最优适合度:
第i个粒子的最优解:Pipbest=Pi(k+1),否则第i个粒子的最优适合度和最优解保持不变;(5f)找出k+1迭代时刻的最优适合度:
和最优适合度对应的粒子Pmin(k+1);如果k+1迭代时刻的最优适合度小于粒子群最优适合度Fgbest,则粒子群最优适合度:Fgbest=Fmin(k+1),粒子群最优解:Pgbest=Pmin(k+1),否则粒子群最优适合度和最优解保持不变;(5g)判断粒子群最优适合度Fgbest是否小于收敛阈值s,若是,辨识过程结束,否则进行下一步骤;(6)返回到步骤(3),重复以上过程直到粒子群最优适合度Fgbest小于设定的收敛阈值s或是迭代时刻k达到设定的最大迭代次数Imax。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201010587216.4/,转载请声明来源钻瓜专利网。