当前位置:文档之家› 用matlab实现最小二乘递推算法辨识系统参数

用matlab实现最小二乘递推算法辨识系统参数

用matlab实现最小二乘递推算法辨识系统参数
用matlab实现最小二乘递推算法辨识系统参数

用matlab实现最小二乘递推算法辨识系统参

自动化系统仿真实验室指导教师:

学生姓名班级计082-2 班学号撰写时间:

全文结束》》-3-1 成绩评定:

一.设计目的

1、学会用Matlab实现最小二乘法辨识系统参数。

2、进一步熟悉Matlab的界面及基本操作;

3、了解并掌握Matlab中一些函数的作用与使用;二.设计要求最小二乘递推算法辨识系统参数,利用matlab编程实现,设初始参数为零。z(k)-1、5*z(k-1)+0、7*z(k-2)=1*u(k-1)+0、5*u(k-2)+v(k); 选择如下形式的辨识模型:z(k)+a1*z(k-

1)+a2*z(k-2)=b1*u(k-1)+b2*u(k-2)+v(k);三.实验程序

m=3;N=100;uk=rand(1,N);for i=1:Nuk(i)=uk(i)*(-1)^(i-1);endyk=zeros(1,N); for k=3:N yk(k)=1、5*yk(k-1)-0、

7*yk(k-2)+uk(k-1)+0、5*uk(k-2);

end%j=100;kn=0;%y=yk(m:j);%psi=[yk(m-1:j-1);yk(m-2:j-2);uk(m-1:j-1);uk(m-2:j-

2)];%pn=inv(psi*psi);%theta=(inv(psi*psi)*psi*y);theta=[0 ;0;0;0];pn=10^6*eye(4);for t=3:Nps=([yk(t-1);yk(t-

2);uk(t-1);uk(t-2)]);pn=pn-

pn*ps*ps*pn*(inv(1+ps*pn*ps));theta=theta+pn*ps*(yk(t)-ps*theta);thet=theta;a1=thet(1);a2=thet(2);b1=thet(3);b2= thet(4);

a1t(t)=a1;a2t(t)=a2;b1t(t)=b1;b2t(t)=b2;endt=1:N;plot(t,a 1t(t),t,a2t(t),t,b1t(t),t,b2t(t));text(20,1、

47,a1);text(20,-0、67,a2);text(20,0、97,b1);text(20,0、47,b2);四.设计实验结果及分析实验结果图:仿真结果表明,大约递推到第步时,参数辨识的结果基本到稳态状态,即a1=1、5999,b1=1,c1=0、5,d1=-0、7。五、设计感受这周的课程设计告一段落了,时间短暂,意义重大。通过这次次练习的机会,重新把matlab课本看了一遍,另外学习了系统辨识的有关内容,收获颇丰。对matlab的使用更加纯熟,也锻炼了自己在课本中搜索信息和知识的能力。在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。同时我也进一步认识了matlab软件强大的功能。在以后的学习和工作中必定有很大的用处。

用matlab实现最小二乘递推算法辨识系统参数

用matlab实现最小二乘递推算法辨识系统参 数 自动化系统仿真实验室指导教师: 学生姓名班级计082-2 班学号撰写时间: 全文结束》》-3-1 成绩评定: 一.设计目的 1、学会用Matlab实现最小二乘法辨识系统参数。 2、进一步熟悉Matlab的界面及基本操作; 3、了解并掌握Matlab中一些函数的作用与使用;二.设计要求最小二乘递推算法辨识系统参数,利用matlab编程实现,设初始参数为零。z(k)-1、5*z(k-1)+0、7*z(k-2)=1*u(k-1)+0、5*u(k-2)+v(k); 选择如下形式的辨识模型:z(k)+a1*z(k- 1)+a2*z(k-2)=b1*u(k-1)+b2*u(k-2)+v(k);三.实验程序 m=3;N=100;uk=rand(1,N);for i=1:Nuk(i)=uk(i)*(-1)^(i-1);endyk=zeros(1,N); for k=3:N yk(k)=1、5*yk(k-1)-0、 7*yk(k-2)+uk(k-1)+0、5*uk(k-2); end%j=100;kn=0;%y=yk(m:j);%psi=[yk(m-1:j-1);yk(m-2:j-2);uk(m-1:j-1);uk(m-2:j- 2)];%pn=inv(psi*psi);%theta=(inv(psi*psi)*psi*y);theta=[0 ;0;0;0];pn=10^6*eye(4);for t=3:Nps=([yk(t-1);yk(t-

2);uk(t-1);uk(t-2)]);pn=pn- pn*ps*ps*pn*(inv(1+ps*pn*ps));theta=theta+pn*ps*(yk(t)-ps*theta);thet=theta;a1=thet(1);a2=thet(2);b1=thet(3);b2= thet(4); a1t(t)=a1;a2t(t)=a2;b1t(t)=b1;b2t(t)=b2;endt=1:N;plot(t,a 1t(t),t,a2t(t),t,b1t(t),t,b2t(t));text(20,1、 47,a1);text(20,-0、67,a2);text(20,0、97,b1);text(20,0、47,b2);四.设计实验结果及分析实验结果图:仿真结果表明,大约递推到第步时,参数辨识的结果基本到稳态状态,即a1=1、5999,b1=1,c1=0、5,d1=-0、7。五、设计感受这周的课程设计告一段落了,时间短暂,意义重大。通过这次次练习的机会,重新把matlab课本看了一遍,另外学习了系统辨识的有关内容,收获颇丰。对matlab的使用更加纯熟,也锻炼了自己在课本中搜索信息和知识的能力。在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。同时我也进一步认识了matlab软件强大的功能。在以后的学习和工作中必定有很大的用处。

系统辨识最小二乘参数估计matlab

最小二乘参数估计 摘要: 最小二乘的一次性完成辨识算法(也称批处理算法),他的特点是直接利用已经获得的所有(一批)观测数据进行运算处理。这种算法在使用时,占用内存大,离线辨识,观测被辨识对象获得的新数据往往是逐次补充到观测数据集合中去的。在应用一次完成算法时,如果要求在每次新增观测数据后,接着就估计出系统模型的参数,则需要每次新增数据后要重新求解矩阵方程()Z l T l l T l ΦΦΦ-∧=1θ。 最小二乘辩识方法在系统辩识领域中先应用上已相当普及,方法上相当完善,可以有效的用于系统的状态估计,参数估计以及自适应控制及其他方面。 关键词: 最小二乘(Least-squares ),系统辨识(System Identification ) 目录: 1.目的 (1) 2.设备 (1) 3引言 (1) 3.1 课题背景 (1) 4数学模型的结构辨识 (2) 5 程序 (3) 5.1 M 序列子函数 ................................................................................. 错误!未定义书签。 5.2主程序............................................................................................... 错误!未定义书签。 6实验结果: ................................................................................................................................... 3 7参考文献: ................................................................................................. 错误!未定义书签。 1.目的 1.1掌握系统辨识的理论、方法及应用 1.2熟练Matlab 下最小二乘法编程 1.3掌握M 序列产生方法 2.设备 PC 机1台(含Matlab 软件) 3引言 3.1 课题背景 最小二乘理论是有高斯(K.F.Gauss )在1795年提出:“未知量的最大可能值是这样一个数值,它使各次实际观测值和计算值之间的差值的平方乘以度量其精度的数值以后的和最小。”这就是最小二乘法的最早思想。 最小二乘辨识方法提供一个估算方法,使之能得到一个在最小方差意义上与实验数据最

Matlab最小二乘法拟合笔记

最小二乘法拟合 在科学实验的统计方法研究中,往往要从一组实验数据中寻找出自变量x 和因变量y之间的函数关系y=f(x) 。由于观测数据往往不够准确,因此并 不要求y=f(x)经过所有的点,而只要求在给定点上误差 按照某种标准达到最小,通常采用欧氏范数作为误差量度的标准。这就是所谓的最小二乘法。在MATLAB中实现最小二乘法拟合通常采用polyfit函数进行。 函数polyfit是指用一个多项式函数来对已知数据进行拟合,我们以下列数据为例介绍这个函数的用法: >> x=0:0.1:1; >> y=[ -0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2 ] 为了使用polyfit,首先必须指定我们希望以多少阶多项式对以上数据进行拟合,如果我们指定一阶多项式,结果为线性近似,通常称为线性回归。我们选择二阶多项式进行拟合。 >> P= polyfit (x, y, 2) P= -9.8108 20.1293 -0.0317 函数返回的是一个多项式系数的行向量,写成多项式形式为: 为了比较拟合结果,我们绘制两者的图形: >> xi=linspace (0, 1, 100); %绘图的X-轴数据。 >> Z=polyval (p, xi); %得到多项式在数据点处的值。 当然,我们也可以选择更高幂次的多项式进行拟合,如10阶: >> p=polyfit (x, y, 10); >> xi=linspace (0, 1,100);

>> z=ployval (p, xi); 读者可以上机绘图进行比较,曲线在数据点附近更加接近数据点的测量值了,但从整体上来说,曲线波动比较大,并不一定适合实际使用的需要,所以在进行高阶曲线拟合时,“越高越好”的观点不一定对的。

ITD模态参数识别matlab修改版

%ITD法识别模态参数 clear clc close all hidden format long %% txt文件下输入 fni=input('ITD法模态参数识别-输入数据文件名:','s'); fid=fopen(fni,'r'); mn=fscanf(fid,'%d',1); %模态阶数 %定义输入实测数据类型 %ig=1时域数据如冲击响应、自由振动、互相关函数、随机减量法处理结果 %ig=2频域数据如频响函数实部和虚部数据 ig=fscanf(fid,'%f',1); %ig=1时,f为采样频率sf,ig=2时,f为频率间隔df f=fscanf(fid,'%f',1); fno=fscanf(fid,'%s',1); %输出数据文件名 b=fscanf(fid,'%f',[ig,inf]); %实测时域或频域数据 status=fclose(fid); %% clc; clear all; format long [FileName,PathName] = uigetfile('*.mat', 'Select the Mat-files of time signal'); %窗口读文件,并获取包含路径的文件名 if isequal(FileName,0) disp('User cancel the selection'); %如果取消选择则显示提示 return; else FULLFILE=fullfile(PathName,FileName); Signal_str= sprintf('User selected signal file: %s',FULLFILE); disp(Signal_str); Struct=load(FULLFILE); end c=fieldnames(Struct); %得到一个元胞数组,包含Struct中各个域名(倘若有多个的话) b=getfield(Struct,c{1}); %获取c{1}对应的域中的内容 b=b(3601:9600); %% %ig=1时域数据如冲击响应、自由振动、互相关函数、随机减量法处理结果 %ig=2频域数据如频响函数实部和虚部数据 ig=input('数据类型ig='); f=input('采样频率f=');%指定采样频率 mn=input('计算模态阶数mn=');%指定计算模态阶数

Matlab系统辨识尝试之详细过程1

Matlab系统辨识尝试之详细过程1 前面介绍了Matlab系统辨识工具箱的一些用法,这里拿一个直观的例子来尝试工具箱的具体用法。比较长,给个简单目录吧: 1.辨识的准备 2.辨识数据结构的构造 3.GUI辨识 4.辨识效果 5.对固有频率的辨识 6.结构化辨识 7.灰箱辨识 8.加入kalman滤波的灰箱辨识 1.辨识的准备 在辨识前,首先要根据自己辨识的情况,确定要辨识的状态空间模型的一些特点,如连续还是离散的;有无直通 分量(即从输入直通到输出的分量);输入延迟;初始状态等。了解了这些情况就可以更快速的配置辨识时的一些设 置选项。 2.辨识数据结构的构造 使用原始数据构造iddata结构: data=iddata(y,u,Ts); 这里以一个弹簧质量系统的仿真为例 代码如下,其中用到了函数MDOFSolve,这在之前的博文介绍过(https://www.doczj.com/doc/131043896.html,/?p=183),拿来用即可。如果发现运行有错误,可以将MDOFSolve函数开头的一句 omega2=real(eval(omega2)); 注释掉。 %弹簧质量系统建模 clc clear close all m=200; k=980*1000;

c=1.5*1000; m1=1*m; m2=1.5*m; k1=1*k; k2=2*k; k3=k1; %%由振动力学知识求固有频率 M=[m10;0m2]; K=[k1+k2-k2;-k2k3+k2]; [omega,phi,phin]=MDOFSolve(M,K); fprintf('固有频率:%fHz\n',subs(omega/2/pi)); %%转化到状态空间 innum=2; outnum=2; statenum=4; A=[0100; -(k1+k2)/m10k2/m10; 0001; k2/m20-(k3+k2)/m20]; B=[00; 1/m10; 00; 01/m2]; C=[1000; 0010]; D=zeros(outnum,innum); K=zeros(statenum,innum); mcon=idss(A,B,C,D,K,'Ts',0);%连续时间模型 figure impulse(mcon) %%信号仿真,构造数据供辨识 n=511;%输入信号长度 Ts=0.001; t=0:Ts:(n-1)*Ts; u1=idinput(n,'prbs');%输入1为伪随机信号 u2=zeros(n,1);%输入2为空 u=[u1u2]; simdat=iddata([],u,Ts);%形成输入数据对象 e=randn(n,2)*1e-7; simopt=simOptions('AddNoise',true,'NoiseData',e);%添加噪声yn=sim(mcon,simdat,simopt);%加噪声仿真 y=sim(mcon,simdat);%无噪声仿真

模态参数识别方法的比较研究

模态参数识别方法的比较研究 发表时间:2017-09-07T14:07:39.937Z 来源:《防护工程》2017年第9期作者:安鹏强[导读] 本文将频域法、时域法和整体识别法识别模态参数的应用范围、存在的优缺点进行对比、分析和说明。 航天长征化学工程股份有限公司兰州分公司甘肃兰州 730050 摘要:本文将频域法、时域法和整体识别法识别模态参数的应用范围、存在的优缺点进行对比、分析和说明,对模态参数识别的研究方向具有指导意义。 关键词:模态参数识别;频域法;时域法;整体识别法 引言 多自由度线性振动系统的微分方程可以表达为[1]: [M]{x ?(t)}+[C]{x ?(t)}+[K]{x(t)}={f(t)} 通过将试验采集的系统输入与输出信号用于参数识别的方法中,进而对系统的模态质量、模态阻尼、模态刚度、模态固有频率及模态振型进行识别,这一过程称为结构的模态参数识别。本文将对模态参数识别的频域法、时域法及整体识别法三者的应用范围、存在的优缺点进行对比、分析和说明。 1频域法 模态参数识别的频域法是结合傅里叶变换理论[1]形成的,这种方法是从实测数据的频响函数曲线上对测试结构的模态参数进行估计。图解法[1]是最早的频域模态参数识别方法,随之,又陆续发展了导纳圆拟合法[2]、最小二乘迭代法[2]、有理式多项式法[2]等多种频域模态参数识别方法。 频域法的优点是直观、简便,噪声影响小,模态定阶问题易于解决。频域法识别模态参数的思路是首先借助实测频响函数曲线对模态参数进行粗略的估计,进而将初步观测的模态估计值作为一些频域识别法的最初输入值,通过反复的迭代获取最终的模态参数。频域识别方法对于实测频响函数的分布容易控制,其输人数据是主观人为的。频域中参数识别方法识别结果的精准度,取决于测试试验中获得的频响函数质量的好坏。判断实测频响函数的质量,就要看其曲线的光滑[2]和曲线的饱满程度[2],曲线越光滑越饱满的实测频响函数,用其进行参数识别时,识别精度越高。 2时域法 模态参数识别的时域法的研究与应用比频域法晚,时域法可以克服频域法的一些缺陷。时域模态参数识别的技术优点在于无需获得激励力即可进行参数的识别[3-7]。对于一些大型的工程结构如大坝、桥梁等,获取激励荷载不太容易,但容易测得他们在风、地脉动等环境激励下的响应数据,把这些响应数据用于时域中一些参数识别的方法上,即可对测试结构的模态参数进行识别。 时域法的优点不仅在于其无需激励设备、减少测试费用而且可以避免由信号截断而造成对识别精度的影响,并且可实现对大型工程结构的在线参数识别,真实地反映结构的动力特性。但是由于响应信号中含有大量的噪声,这会使得所识别的模态中含有虚假模态。目前,对于如何剔除噪声模态、优化识别过程中的一些参数问题、以及怎样更稳定、可靠地进行模态定阶等成为时域法研究中的重要课题。目前常用的判定模态真假的方法是稳定图方法[8],该方法的基本思想在于不同阶次的系统模型会对虚假模态的影响比较大,在稳定图中出现次数最多的模态可认为是系统的真实模态。 3整体识别法 结构模态参数识别的单输入单输出类型是针对单个响应点的数据进行相应的计算,从而得到该测点对应的模态频率、阻尼比和振型系数等动力参数,但是对于有多个测点的试验,若要用单输入单输出类型的识别方法对多自由度结构进行参数识别,则需要对各个测点单独计算来识别各个测点对应的模态参数,通过对各个测点分别计算处理,得到每一个测点数据所识别的模态参数,然后求取所有测点响应识别的算术平均值来作为整体结构最终的识别结果。理论上讲,用每个测点数据识别的结果应该是一样的,但实际测试实验中,因测试实验中测点布置位置的不同、测试中其他因素及识别方法上的不完善会使得各个测点的识别结果不同、识别精度不同及错误的识别结果等现象。因此,对于多测点的测试试验,用单输入单输出类型的识别方法进行参数识别不仅会因多次重复导致计算工作量复杂累赘而且识别结果的正确性及精度无法保证。 整体识别的方法避免了单输入单输出类型的一些不足之处。该方法通过将结构上的所有测点的实测数据同时进行识别计算,所识别得到的结果作为结构整体的模态参数,每阶模态的固有频率和阻尼比是唯一的,减小了随机误差,提高了识别进度,并且使得计算工作量大大减少。 4三种识别方法的比较分析 (1)频域内的模态参数识别方法方便、快捷,但在实际运用中人为的主观选择性对识别结果的影响较大; (2)基于环境激励的时域模态参数的识别方法具有测试试验的花费较少、测试相对安全,并且识别精度较高。因此,基于环境激励的时域模态参数的识别方法已成为科研工作者研究的热点问题。 (3)对于多测点的测试试验,用频域和时域的单输入单输出类型识别模态参数不仅会因多次重复导致计算工作量复杂累赘而且识别结果的正确性及精度无法保证。整体识别法将所有测点的数据同时进行处理计算,得到结构的整体识别结果。整体识别方法通过对所有测点数据同时进行识别计算,减小了随机误差,提高了识别进度,使得计算工作量大大减少。 (4)对比时域和频域识别方法对虚假模态的剔除,可以看出,频域中的剔除虚假模态主要依据模态频率在频幅曲线图上会出现峰值的原理,利用该峰值处的幅值角是否为0°或180°来剔除虚假模态;相对频域剔除虚假模态的方法来说,时域中的剔除虚假模态的方法有定量的精度判别指标。总体看来,时域识别方法无法判别是否已将系统的所有模态进行识别且对于阻尼比的确定还有待研究。参考文献 [1] 曹树谦,张德文,萧龙翔. 振动结构模态分析-理论、实验与应用[M]. 天津大学出版社,2001. [2] 王济,胡晓. Matlab在振动信号处理中的应用[M]. 水利水电出版社,2006.

Matlab_系统辨识_应用例子

例1、考虑仿真对象 )()2(5.0)1()2(7.0)1(5.1)(k v k u k u k z k z k z +-+-=-+-- 其中,)(k v 是服从正态分布的白噪声N )1,0(。输入信号采用4阶M 序列,幅度为1。选择如下形式的辨识模型 )()2()1()2()1()(2121k v k u b k u b k z a k z a k z +-+-=-+-+ 设输入信号的取值是从k =1到k =16的M 序列,则待辨识参数LS θ?为LS θ?=(T T -ΦΦΦ1)z 。其中,被辨识参数LS θ?、观测矩阵Φ的表达式为: ????? ???????=2121?b b a a LS θ (3)(4)(16)z z z ??????=???? ??z (2)(1)(2)((3)(2)(3)(2)(15)(14)(15)(14)z z u u z z u u z z u u --????--??Φ=????--?? 程序框图如图1所示。Matlab 仿真程序如下: %二阶系统的最小二乘一次完成算法辨识程序,文件名:LS.m

u=[-1,1,-1,1,1,1,1,-1,-1,-1,1,-1,-1,1,1]; %系统辨识的输入信号为一个周期的M序列 z=zeros(1,16); %定义输出观测值的长度 for k=3:16 z(k)=1.5*z(k-1)-0.7*z(k-2)+u(k-1)+0.5*u(k-2); %用理想输出值作为观测值 end subplot(3,1,1) %画三行一列图形窗口中的第一个图形 stem(u) %画输入信号u的径线图形 subplot(3,1,2) %画三行一列图形窗口中的第二个图形 i=1:1:16; %横坐标范围是1到16,步长为1 plot(i,z) %图形的横坐标是采样时刻i, 纵坐标是输出观测值z, 图形格式为连续曲线 subplot(3,1,3) %画三行一列图形窗口中的第三个图形 stem(z),grid on %画出输出观测值z的径线图形,并显示坐标网格u,z %显示输入信号和输出观测信号 %L=14 %数据长度 HL=[-z(2) -z(1) u(2) u(1);-z(3) -z(2) u(3) u(2);-z(4) -z(3) u(4) u(3);-z(5) -z(4) u(5) u(4);-z(6) -z(5) u(6) u(5);-z(7) -z(6) u(7) u(6);-z(8) -z(7) u(8) u(7);-z(9) -z(8) u(9) u(8);-z(10) -z(9) u(10) u(9);-z(11) -z(10) u(11) u(10);-z(12) -z(11) u(12) u(11);-z(13) -z(12) u(13) u(12);-z(14) -z(13) u(14) u(13);-z(15) -z(14) u(15) u(14)] %给样本矩阵 赋值

模态参数辨识的频域方法

模态参数辨识的频域方法 吕毅宁 目录 模态参数辨识的频域方法 (1) 单点输入单点输出(SISO) (1) 图解法............................................................................................................ 1 频域多参考点模态参数辨识(MIMO ) ............................................................ 2 频域模态测试和参数辨识的可控性和可观性. (5) 单点输入单点输出(SISO) 图解法 1) 峰值检测 半功率点 )(2 1 )()(21r j H j H j H ωωω= = (1) r r ωωωξ21 2-= (2) 2) 模态检测 () ir r jr r r r ij r jr ir r r r r jr ir r r ij Q A Q j j Q j H ψσψσσψψωσωψψω-= -= -= +-= ) ()( (3) 式中,r Q 是模态比例换算因子。 在上式中,() r ij A 是模态质量r m 和模态刚度r k 的函数,又由下面的关系 2r r r m k ω= (4) 联立即可求得模态质量和模态刚度。 3) 圆拟合法 固有频率

max ==ω ωωd ds r r (5) 振型 r er I ij g k H 1 -= (6) jr ir r er k k ??= (7) er k 是等效模态刚度,r r r k g η= 是等效结构阻尼。 ()r ij r I ij ir r r jr R g k )(2==-H ?? (8) 模态阻尼 r g ) 1(2tan 211 ωα-= (9) r g ) 1(2tan 222 -= ωα (10) 2 tan 2 tan 22 1 12ωωω+-= r r g (11) 模态刚度 由 r er r I ij g k H 1 )1(-= =ω (12) 可得 r r I ij er g H k )1(1 =-= ω (13) 模态质量 2 r r r k m ω= (14) 其他方法,如正交多项式曲线拟合法,非线性优化辨识方法。 频域多参考点模态参数辨识(MIMO ) 一个N 自由度粘性阻尼线性系统,对它施加P 个激励力,在N 个点上进行响应

模态参数识别的单模态法,模态参数识别的导纳圆法

一.模态参数识别的单模态法 常见的单模态识别有三种方法:直接读数法(分量分析法)、最小二乘圆拟合法和差分法。 所谓单模态识别法,是指一次只识别一阶模态的模态参数,所用数据为该阶模态共振频率附近的频响函数值。待识别的这阶模态称为主导模态,余模态称为剩余模态,剩余模态的影响可以全部忽略或简化处理。 1. 直接读数法(分量分析法) 1)基本公式 所谓分量分析法就是讲频响函数分成实部分量和虚部分量来进行分析。 N 自由度结构系统结构,p 点激励l 点响应的实模态频响函数可表示如下: 2222222111 ()(1)(1)N r r lp r er r r r r g H j K g g ωωωω=??--=+??-+-+?? ∑ (1.1) 其中r er lr pr K K φφ= ,为第二阶等效刚度 /r r ωωω= g 2r r r ζω= ,为第r 阶模态结构阻尼比 当ω趋近于某阶模态的固有频率时,该模态起主导作用,称为主导模态或者主模 态。 在主模态附近,其他模态影响较小。若模态密度不是很大,各阶模态比较远离,其余模态的频响函数值在该模态附近很小,且曲线比较平坦,即几乎不随频率而变化,因此其余模态的影响可以用一个复常数来表示,第r 阶模态附近可用剩余模态表示成: 222222211 ()()(1)(1)R I r r lp C C er r r r r g H j H H K g g ωωωω??-= -++??-+-+?? (1.2) ()lp H ω的实部和虚部可分别表示如下: 222211 ()(1)R R r lp C er r r H H K g ωωω??-= +??-+?? (1.3) 2221 ()(1)I I r lp C er r r g H H K g ωω??-= +??-+?? (1.4)

系统辨识及其matlab仿真(一些噪声和辨识算法)

【1】随机序列产生程序 【2】白噪声产生程序 【3】M序列产生程序 【4】二阶系统一次性完成最小二乘辨识程序 【5】实际压力系统的最小二乘辨识程序 【6】递推的最小二乘辨识程序 【7】增广的最小二乘辨识程序 【8】梯度校正的最小二乘辨识程序 【9】递推的极大似然辨识程序 【10】Bayes辨识程序 【11】改进的神经网络MBP算法对噪声系统辨识程序【12】多维非线性函数辨识程序的Matlab程序【13】模糊神经网络解耦Matlab程序 【14】F-检验法部分程序 【1】随机序列产生程序 A=6; x0=1;M=255; for k=1:100 x2=A*x0; x1=mod (x2,M); v1=x1/256; v(:,k)=v1; x0=x1; v0=v1; end v2=v k1=k; %grapher k=1:k1; plot(k,v,k,v,'r'); xlabel('k'), ylabel('v');title('(0,1)均匀分布的随机序列') 【2】白噪声产生程序 A=6; x0=1; M=255; f=2; N=100; for k=1:N x2=A*x0; x1=mod (x2,M); v1=x1/256; v(:,k)=(v1-0.5)*f; x0=x1;

v0=v1; end v2=v k1=k; %grapher k=1:k1; plot(k,v,k,v,'r'); xlabel('k'), ylabel('v');title('(-1,+1)均匀分布的白噪声') 【3】M序列产生程序 X1=1;X2=0;X3=1;X4=0; %移位寄存器输入Xi初T态(0101),Yi为移位寄存器各级输出m=60; %置M序列总长度 for i=1:m %1# Y4=X4; Y3=X3; Y2=X2; Y1=X1; X4=Y3; X3=Y2; X2=Y1; X1=xor(Y3,Y4); %异或运算 if Y4==0 U(i)=-1; else U(i)=Y4; end end M=U %绘图 i1=i k=1:1:i1; plot(k,U,k,U,'rx') xlabel('k') ylabel('M序列') title('移位寄存器产生的M序列') 【4】二阶系统一次性完成最小二乘辨识程序 %FLch3LSeg1 u=[-1,1,-1,1,1,1,1,-1,-1,-1,1,-1,-1,1,1]; %系统辨识的输入信号为一个周期的M序列 z=zeros(1,16); %定义输出观测值的长度 for k=3:16 z(k)=1.5*z(k-1)-0.7*z(k-2)+u(k-1)+0.5*u(k-2); %用理想输出值作为观测值 end subplot(3,1,1) %画三行一列图形窗口中的第一个图形 stem(u) %画出输入信号u的经线图形 subplot(3,1,2) %画三行一列图形窗口中的第二个图形 i=1:1:16; %横坐标范围是1到16,步长为1 plot(i,z) %图形的横坐标是采样时刻i, 纵坐标是输出观测值z, 图形格式为连续曲线

模态分析与参数识别

模态分析方法在发动机曲轴上的应用研究 xx (xx大学 xxxxxxxx学院 , 山西太原 030051) 摘要:综述模态分析在研究结构动力特性中的应用,介绍模态分析的两大方法:数值模态分析与试验模态分析。并着重介绍目前的研究热点一一工作模态分析。通过发动机曲轴的模态分析这一具体的实例,综述了运行模态分析国内外研究现状,指出了其关键技术、存在问题以及研究发展方向。 关键词:模态分析数值模态试验模态工作模态 Abstract :Sums up methods of model analysis applied on the research of configuration dynamic;al characteristio. It introduces two methods of model analysis: numerical value model analysis and experimentation model analysis. Then it stresses the hotspot-working model analysis.Some key techniques, unsolved problems and research directions of OMA were also discussed. Key words:Model analysis Numerical value model analysis Experimentation model analysis Working model analysis 1、引言 1.1模态分析的基本概念 物体按照某一阶固有频率振动时,物体上各个点偏离平衡位置的位移是满足一定的比例关系的,可以用一个向量表示,这个就称之为模态。模态这个概念一般是在振动领域所用,你可以初步的理解为振动状态,我们都知道每个物体都具有自己的固有频率,在外力的激励作用下,物体会表现出不同的振动特性。 一阶模态是外力的激励频率与物体固有频率相等的时候出现的,此时物体的振动形态叫做一阶振型或主振型;二阶模态是外力的激励频率是物体固有频率的两倍时候出现,此时的振动外形叫做二阶振型,以依次类推。

各种模态分析方法总结与比较

各种模态分析方法总结与比较 一、模态分析 模态分析是计算或试验分析固有频率、阻尼比和模态振型这些模态参数的过程。 模态分析的理论经典定义:将线性定常系统振动微分方程组中的物理坐标变换为模态坐标,使方程组解耦,成为一组以模态坐标及模态参数描述的独立方程,以便求出系统的模态参数。坐标变换的变换矩阵为模态矩阵,其每列为模态振型。 模态分析是研究结构动力特性一种近代方法,是系统辨别方法在工程振动领域中的应用。模态是机械结构的固有振动特性,每一个模态具有特定的固有频率、阻尼比和模态振型。这些模态参数可以由计算或试验分析取得,这样一个计算或试验分析过程称为模态分析。这个分析过程如果是由有限元计算的方法取得的,则称为计算模记分析;如果通过试验将采集的系统输入与输出信号经过参数识别获得模态参数,称为试验模态分析。通常,模态分析都是指试验模态分析。振动模态是弹性结构的固有的、整体的特性。如果通过模态分析方法搞清楚了结构物在某一易受影响的频率围各阶主要模态的特性,就可能预言结构在此频段在外部或部各种振源作用下实际振动响应。因此,模态分析是结构动态设计及设备的故障诊断的重要方法。 模态分析最终目标是在识别出系统的模态参数,为结构系统的振动特性分析、振动故障诊断和预报以及结构动力特性的优化设计提供依据。 二、各模态分析方法的总结

(一)单自由度法 一般来说,一个系统的动态响应是它的若干阶模态振型的叠加。但是如果假定在给定的频带只有一个模态是重要的,那么该模态的参数可以单独确定。以这个假定为根据的模态参数识别方法叫做单自由度(SDOF)法n1。在给定的频带围,结构的动态特性的时域表达表示近似为: ()[]}{}{T R R t r Q e t h r ψψλ= 2-1 而频域表示则近似为: ()[]}}{ {()[]2ωλωψψωLR UR j Q j h r t r r r -+-= 2-2 单自由度系统是一种很快速的方法,几乎不需要什么计算时间和计算机存。 这种单自由度的假定只有当系统的各阶模态能够很好解耦时才是正确的。然而实际情况通常并不是这样的,所以就需要用包含若干模态的模型对测得的数据进行近似,同时识别这些参数的模态,就是所谓的多自由度(MDOF)法。 单自由度算法运算速度很快,几乎不需要什么计算和计算机存,因此在当前小型二通道或四通道傅立叶分析仪中,都把这种方法做成置选项。然而随着计算机的发展,存不断扩大,计算速度越来越快,在大多数实际应用中,单自由度方法已经让位给更加复杂的多自由度方法。 1、峰值检测 峰值检测是一种单自由度方法,它是频域中的模态模型为根据对系统极点进行局部估计(固有频率和阻尼)。峰值检测方法基于这样的事实:在固有频率附近,频响函数通过自己的极值,此时其实部为零(同相部分最

ITD模态参数识别matlab修改版

%ITDxx识别模态参数 clear clc close all hidden format long %% txt文件下输入 fni=input('ITD法模态参数识别-输入数据文件名:','s'); fid=fopen(fni,'r'); mn=fscanf(fid,'%d',1);%模态阶数 %定义输入实测数据类型 %ig=1时域数据如冲击响应、自由振动、互相关函数、随机减量法处理结果%ig=2频域数据如频响函数实部和虚部数据 ig=fscanf(fid,'%f',1); %ig=1时,f为采样频率sf,ig=2时,f为频率间隔df f=fscanf(fid,'%f',1); fno=fscanf(fid,'%s',1);%输出数据文件名 b=fscanf(fid,'%f',[ig,inf]);%实测时域或频域数据 status=fclose(fid); %% clc; clear all;

format long [FileName,PathName] = uigetfile('*.mat', 'Select the Mat-files of time signal'); %窗口读文件,并获取包含路径的文件名 if isequal(FileName,0) disp('User cancel the selection');%如果取消选择则显示提示 return; else FULLFILE=fullfile(PathName,FileName); Signal_str= sprintf('User selected signal file:%s',FULLFILE); disp(Signal_str); Struct=load(FULLFILE); end c=fieldnames(Struct);%得到一个元胞数组,包含Struct中各个域名(倘若有多个的话) b=getfield(Struct,c{1}); %获取c{1}对应的域中的内容 b=b(3601:9600); %% %ig=1时域数据如冲击响应、自由振动、互相关函数、随机减量法处理结果 %ig=2频域数据如频响函数实部和虚部数据 ig=input('数据类型ig='); f=input('采样频率f=');%指定采样频率 mn=input('计算模态阶数mn=');%指定计算模态阶数

系统辨识MATLAB仿真

设一非线性系统如下所示: ()()() ()()111y k y k e u k k βαε--=-+-+ 0.75α= 0.35β=0.25γ=,()k ε是零均值,方差为0.01的噪声序列(均匀白噪声)。 (1)试设计一种激励信号能持续激励系统的各工作点(平衡点) (2)用适当的方法辨识出系统的等价模型(用另一组数据来检验模型的泛化性) 说明:下面讨论的都是离散系统,所以时间坐标均采用离散时间节点k 。 解: (1) 线性化处理寻找系统的合理输入信号 可以求得系统的平衡点为: ()0.75y k α== (1.1) 按题意要求最后系统必须收敛于平衡点附近,即: ()lim 0.75k y k →∞ = (1.2) 为了找出系统的合理输入信号,使得系统最终工作在平衡点附近,这里可以将系统线性化处理,将上述非线性系统进行泰勒展开得: ()()()()()()()2323111111112!3!! n n y k y k y k y k y k u k k n αβαβαβαβγε--+---++-=-+ 因为 ,后面()1y k -的高阶项都可以扔掉(只作为寻找输入信号使用), 所以系统可以化为下式: 此时不妨设系统输出()y k 的最后的极限为A , 从式1.2得0.75A =。 那么应该满足 ()()lim lim 1k k y k y k A →∞ →∞ =-= (1.5) 从而有 ()()()11A u k k αβγε-=-+ (1.6) 同时为了抵消系统的部分噪声,这里采用MA TLAB 软件编程产生另一服从同一分布的均匀噪声()1k ε,将式1.6变形得: ()()()0111 1u k u k k αβ εγ γ --= - (1.7) 式1.7中()0u k 是一个最后收敛于系统平衡点0.75的基本信号,这里可以采用一阶线性系统的阶跃响应曲线作为基本信号()0u k ,同时考虑系统的平衡点,即设计为: ()/00.75k T u k e -=- (1.8) T 是一阶线性系统对应的时间常数, 反应到输入基本信号()0u k 上就是过零点作()0u k 对应()()()()11y k y k u k k αβγε--=-+01αβ<(1.3) (1.4)

matlab 最小二乘最优问题

最小二乘最优问题(转) 默认分类2009-05-21 14:56:33 阅读62 评论1 字号:大中小 1.约束线性最小二乘 有约束线性最小二乘的标准形式为 sub.to 其中:C、A、Aeq 为矩阵;d、b、beq、lb、ub、x 是向量。 在MA TLAB5.x 中,约束线性最小二乘用函数conls 求解。 函数lsqlin 格式x = lsqlin(C,d,A,b) %求在约束条件下,方程Cx = d 的最小二乘解x。 x = lsqlin(C,d,A,b,Aeq,beq) %Aeq、beq 满足等式约束,若没有不等式约束,则设A=[ ],b=[ ]。 x = lsqlin(C,d,A,b,Aeq,beq,lb,ub) %lb、ub 满足,若没有等式约束,则Aeq=[ ],beq=[ ]。 x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0) % x0 为初始解向量,若x 没有界,则lb=[ ],ub=[ ]。 x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,options) % options 为指定优化参 数 [x,resnorm] = lsqlin(...) % resnorm=norm(C*x-d)^2,即2-范数。 [x,resnorm,residual] = lsqlin(...) %residual=C*x-d,即残差。 [x,resnorm,residual,exitflag] = lsqlin(...) %exitflag 为终止迭代的条 件 [x,resnorm,residual,exitflag,output] = lsqlin(...) % output 表示输出

模态参数识别频域法

振动模态分析理论与应用 模态参数识别频域法 当系统阻尼为比例阻尼或小阻尼时,阻尼矩阵经模态坐标变换后可以对角化,模态参数为实数,频响函数可按实模态展开。若在p 点激励,在l 点测量,则频响函数可表示为对于粘性阻尼有 ∑ 1 2 ωω ξ2ωω1 )ω(N i i i i lp lp j D H =+= 对于结构阻尼有 ∑ 1 2ωω 1 )ω(N i i i lp lp jg D H =+= 以上两式即为实模态参数识别的基本公式 6.1 实模态识别图解法 6.1.1 共振法 这是一种经典的模态分析方法,其基本思想是:当激励频率在系统某阶固有频率r ω附近时, 该阶模态导纳便起主导作用,其余各阶模态导纳的影响可忽略不计。即 )ω(≈)ω(lpr lp H H 此时,整个系统等效于一个单自由度系统。利用幅频特性和相频特性,便可确定系统的模态参数(参看图6-1)。 在待测结构上选择l 个测试点,求其中某点P 对所有各点的位移导纳。点数l 一般应等于或大于拟选的模态数N (自由度数)。则p 点对任意点l 的位移导纳可作如下处理: 当激振频率在r 阶固有频率附近时有 () () 2 22 2∞ 1 2 ωωξ4ωω1≈ ωω ξ2ωω1 )ω(∑ ++==r r i r lp i i i i i lp lp j D j D H 因此,测得的幅频曲线)ω(lp H 的第r 个峰值位置(共振频率点),便可近似确定r 阶固有频率r ω。由r ω两侧半功率带宽,可以确定r 阶模态阻尼比)ω2/Δω(ξr r =。由r ω处位移

有 ()r r lp r lp D H ξ2)ω(= 所以 ()()r lp r r lp H D ωξ2= 由因为 ()r pr lr r lp k D φ φ= 故在令pr φ的值等于1(振型中各元素具有确定的比例,其绝对值可认为地指定,不妨取第r 阶振型第p 个元素pr φ的值等于1)时,由原点导纳曲线的峰值可得r 阶模态刚度为 ) ω(ξ21 r pp r r H k = 此外,当r ωω=时,l 个导纳的幅值分别为 r r pr r r p k H ξ2φφ|)ω(|11= r r pr r r p k H ξ2φφ|)ω(|22= r r pr lr r lp k H ξ2φφ|)ω(|= 写成矩阵形式 = lr r r r r pr r lp r p r p k H H H φφφξ2φ| )ω(|| )ω(||)ω(|2121 因此,第r 阶振型为 {}±±±==| )ω(||)ω(|| )ω(|φφ φφ2121r lp r p r p lr r r r H H H 为表示振型的几何形状,上试中各导纳幅值应考虑其相位,可用正负号表示同相或反相,对 于实模态,其振型向量的各分量都是实数,且只有大小和正负之差。因此,系统作固有振动时,各坐标点同时达到极值,同时通过平衡位置。用共振法确定模态参数,方法简单直观。但由于忽略了相邻模态的影响,识别出的模态精度不高,特别是识别振型和阻尼时,可能引起较大的误差。另外当各阶模态耦合较密时可能识别不出单个模态。因此这种方法一般只用于对模态的初步分析。 6.1.2分量分析法 分量分析法的思想是利用导纳的实频和虚频特性识别出系统的模态参数。其优点是能考虑其余模态的影响。

相关主题
文本预览
相关文档 最新文档