实验实验一 利用相关分析法辨识脉冲响应
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 利用相关分析法辨识脉冲响应
一、实验目的
通过仿真实验掌握利用相关分析法辨识脉冲响应的原理和方法。
二、实验内容
下图为本实验的原理框图。过程传递函数为)(s G ,其中Sec 26T Sec,3812021..,===T K ;)()(k z k u 和分别为过程的输入和输出变量;)(k v 为过程测量白噪声,服从正态分布,均值为零,方差为2v σ,记作
),(~)(20v N k v σ;)(k g 0为过程的脉冲响应理论值,)(ˆ
k g 为过程脉冲响应估
计值,)(~k g
为过程脉冲响应估计误差。 过程的输入驱动采用M 序列,输出受到白噪声)(k v 的污染。根据过程
的输入和输出数据{})(),(k z k u ,利用相关分析算法根据输出过程的脉冲响
应值)(ˆ
k g ,并与过程脉冲响应理论值)(k g 0比较,得到过程脉冲响应估计
误差值)(~
g ~
三、实验方案设计
(1) 采用串联传递函数)(s G 仿真
k g =
)(ˆ
]
2T t k /∆
2
12111
11T s T s T T K s G //)(++=
令2
11T T K
K =,则)(s G 的表达框图为:
编程语句可写成:
[][][][]};
);()();()();()(;
/)()(*)(**)(*)(*)(*)(;/)()(*)(***)(*)(**)(*)({)
;;(;
)(;)();/();/();
*/(k y k y k x k x k u k u T k x k x T E T T k x E T k y E k y T k u k u T E T K T k u E K T k x E k x k k k y x T T E T T E T T K K =-=-=---+-+--+-=--+-+--+-=++<===-=-==11111111111112521for 0000EXP EXP 002222220011111111202101211
(2)白噪声生成
● 利用U[0,1]均匀分布的随机数生成正态分布的白噪声
),(~)(212106v i i v N k v σξσ⎪⎭
⎫
⎝⎛-=∑=
其中,标准差v σ分别取0,0.1,0.5。
● 编程语句
};
);.(*};
);();
;*{);;(;
{),;(06FLOAT ,MOD(121for 02521for -=+===++<==++<=ksai Sigma v(k)xi/M ksai ksai M xi xi xi A xi i i i ksai k k k
(3)M 序列生成
● 用M 序列作为辨识的输入信号,N 序列的循环周期取63126=-=P N ,时钟节拍Sec 1=∆t ,幅度1=a ,逻辑“0”为a ,逻辑“1”为-a ,特征多项式自选,如156⊕⊕=s s s F )(。
● 生成M 序列的结构图
● 编程语句
};
;
)()(;)()(};);()({);;(;
)()();()()({)
,;(a k u M a k u M i M i M i i P i for M M M M M k k k -======-=-->====+=++<=then 10if
then 00if 1000then
2
0if
2102521for
(4)互相关函数的计算
∑++=-=
P P N r N i P
Mz i z k i u rN k R )()()()(11
1
其中,r 为周期数,1+=P N i 表示计算互相关函数所用的数据是从第二个周期开始的,目的是等过程仿真数据进入平稳状态。 (5)计算脉冲响应估计值
● 脉冲响应估计值 []c k R t
a N N k g Mz P P +∆+=
)()()(ˆ
21 ● 脉冲响应估计误差 ()
∑∑==⎪⎭⎫ ⎝⎛-P
P
N k N k g k g
k g k g 1
2
1
2
0)()(ˆ)(=
δ
四、数据记录
理想状态下,即在没有白噪声干扰下的数据
输入白噪声标准差sigma(0.5):0 脉冲响应估计误差
0.0266
输入白噪声标准差sigma(0.5):0.1 脉冲响应估计误差 0.0281
输入白噪声标准差sigma(0.5):0.5 脉冲响应估计误差 0.0293
输入白噪声标准差sigma(0.5):1 脉冲响应估计误差 0.0391
输入白噪声标准差sigma(0.5):2 脉冲响应估计误差 0.0616
五、结果分析
利用相关分析法分析脉冲响应,得到脉冲响应的估计误差是随着输入
白噪声标准差的增加而增大的,带有白噪声污染的输出z,在白噪声标准差为0时与理想输出y是重合的,白噪声的标准差愈小对系统的输出干扰愈小。
六.程序流程
源程序清单
%利用相关分析法辨识脉冲响应
clc;
clear all;
close all;
a=1;
Np=63;
Ts=1;%采样时间初始化条件
%过程仿真参数
K=120;
T0=1;
T1=8.3;
T2=6.2;
%产生输入u(k)
r=4;
M = [0 0 0 1 0 1 1]; %-初始状态向量
P = 7; %-实际应为6,循环周期Np=2^6-1=63 for k = 1:1:252
u(k) = 1-2*M(7); %-取M6(相对M0而言)结果生成M序列 M(1) = xor(M(6),M(7));
if M(1) == 2
M(1) = 0;
end
i = P;
while i>1
M(i) = M(i-1);
i = i-1;
end
end%产生输入数据x(k)
%系统仿真方法一,指导书上的
K1 = K/(T1*T2);
E1 = exp(-T0/T1);
E2 = exp(-T0/T2);