资源简介
在matlab环境下,运用最小二乘整批算法对系统参数进行辨识,得到脉冲响应,通过改变燥信比可以观察噪声对辨识结果的影响。
代码片段和文件信息
clear all; close all;
a=[1 0.5 0];%分子系数向量
b=[1 -1.5 0.7];%分母系数向量
d=zeros(170);%输出序列50个
for n=1:1:70
c=a-a(:1)./b(:1).*b;
d(:n+1)=a(:1)./b(:1);
a(:1)=c(:2);
a(:2)=c(:3);
end
plot(d‘g‘);
grid on; %xianshi gezi(shange)
title(‘标准单位脉冲响应与辨识结果‘);
hold on
a=0.9; %可变系数
Np=63; %M序列周期
r=4; %4个周期
h=1; % 幅值
L=r*Np; %仿真长度
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%产生e(k)
d=[1 -1.5 0.7]; c=1 ; % 分子分母多项式系数
nd=length(d)-1 ; %阶次
v=rand(1L+1);
xi=a.*v;
ek=zeros(nd1);
e=zeros(1L);%行向量
for k=1:L
e(k)=-d(2:(nd+1))*ek+c*xi(k);
%数据更新
for i=nd:-1:2
ek(i)=ek(i-1);
end
ek(1)=e(k);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%产生Y(k)序列
M_XuLie=zeros(L1);
%初始化M序列
M(1)=1;
M(2)=1;
M(3)=1;
M(4)=0;
M(5)=1;
M(6)=0;
for n = 1 :1: L
if M(6)==0
M_XuLie(n) = h;
else
M_XuLie(n) =-h;
end %输出序列
temp = xor(M(6) M(5));
M(6) = M(5);
M(5) = M(4);
M(4) = M(3);
M(3) = M(2);
M(2) = M(1);
M(1) = temp;
end
ui=M_XuLie; %输入信号,M序列,列向量L行
d1=[1 -1.5 0.7]; c1=[0 1 0.5]; %分母 分子多项式系数
nd1=length(d1)-1 ;nc1=length(c1)-1; %阶次
uik=zeros(nc11); %输入初值
yk=zeros(nd11); %输出初值
y=zeros(1L);%行向量
for k=1:
- 上一篇:[matlab] 切比雪夫多项式系数
- 下一篇:DAB变压器simuli
nk拓扑
评论
共有 条评论