资源简介
采用最小二乘法,利用含有噪声的输入输出数据进行系统辨识,得到系统传递函数
代码片段和文件信息
clear all;
close all;
r=35;
Np=15;
N=(r+1)*Np; %数据长度
%% ------生成M序列和输入数据
P=4;%寄存器长度
M=[0 1 0 0 1];
u=zeros(1N);
a=1; %M序列幅度
s=1; %方波
for k=1:N
M(1)=M(2)+M(5);
if M(1)==2
M(1)=0;
end
IM=M(1)+s; %逆M序列
if IM==2 || IM==0
u(k)=a;
else
u(k)=-a;
end
for i=P+1:-1:2 %移位
M(i)=M(i-1);
end
s=~s;
end
%% ------生成白噪声
A=179;
m=32768;
sigma=1; %白噪声标准差
v=zeros(1N); %白噪声
xi=11;
for k=1:N
ksai=0;
for i=1:12
xi=A*xi;
xi=mod(xim);
ksai=ksai+xi/m;
end
v(k)=sigma*(ksai-6.0);
end
%% ------生成噪声
LAMBDA=0.1; %噪声标准差
e=zeros(1N);
for k=3:N
e(k)=1.5*e(k-1)-0.7*e(k-2)+LAMBDA*v(k);
end
%% ------生成输出数据
y=zeros(1N); %不含噪声
for k=3:N
y(k)=1.5*y(k-1)-0.7*y(k-2)+u(k-1)+0.5*u(k-2);
end
z=y+e; %含噪声
%% ------遗忘因子法
Mu=0.98; %遗忘因子
L=300; %数据长度
EPSILON=1e-3;
a2=1e6;
n=1; % 初始阶次
nend=10; %最大阶次
J=zeros(1nend); %损失函数
if L==100
talpha=3.09; %阈值
else
if L==300
talpha=3.03;
else
if L==500
talpha=3.01;
end
end
end
flag=1;
t=talpha+1;
while (flag && n THETA=EPSILON*ones(n+n1); %参数向量初始值
P0=a2*eye(n+n); %协方差矩阵初始值
h=zeros(n+n1); %数据向量
THETA0=THETA(:1);
for k=n+1:L
h=[-z(k-1:-1:k-n)u(k-1:-1:k-n)]‘; %输入输出数据
K=P0*h/(h‘*P0*h+Mu);
- 上一篇:matlab排序程序
- 下一篇:线性递减权重粒子群算法MATLAB代码
相关资源
- 基于MATLAB利用相关分析法辨识脉冲响
- 系统辨识大牛Ljung编写的MATLAB系统辨识
- 系统辨识与自适应控制MATLAB仿真1904
- 系统辨识及其MATLAB仿真].侯媛彬.扫描
- 系统辨识及其MATLAB仿真pdf
- 系统辨识理论及Matlab仿真-刘金琨 [程
- 系统辨识及其MATLAB仿真
- 北航《系统辨识与自适应控制MATLAB仿
- 系统辨识与自适应控制MATLAB仿真.pdf
- 系统辨识与自适应控制MATLAB仿真修订
- 系统辨识理论及MATLAB仿真课件
- 系统辨识理论及Matlab仿真刘金琨沈晓
- 系统辨识理论及matlab仿真 课件和mat
- 系统辨识理论及MATLAB仿真 刘金琨 2/
- 系统辨识理论及MATLAB仿真 刘金琨 部分
- 0积分 系统辨识与自适应控制MATLAB仿真
- 系统辨识资料大全(matlab系统辨识工
- 系统辨识,使用者的理论
- 系统辨识与自适应控制Matlab仿真
- 系统辨识与自适应控制Matlab仿真含p
- 系统辨识资料大全(matlab系统辨识工
- 系统辨识理论及MATLAB仿真_刘金琨编(
- 系统辨识理论及MATLAB仿真刘.rar
- 系统辨识理论及MATLAB仿真 刘金琨 1/
- 系统辨识理论及MATLAB仿真_刘金琨编
- BP神经网络非线性系统辨识与模型参考
- 系统辨识及其MATLAB仿真 代码
- 系统辨识与自适应控制matlab仿真庞中
- 最小二乘法进行系统辨识
- 应用最小二乘一次完成法和递推最小
评论
共有 条评论