第二章_系统辨识常用输入信号及古典辨识方法(王2)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

for i=nc:-1:2 xik(i)=xik(i-1); end xik(1)=xi(k); end
subplot(2,1,1); plot(xi); xlabel('k'); ylabel('噪声幅值'); title('白噪声序列'); subplot(2,1,2); plot(e); xlabel('k'); ylabel('噪声幅值'); title('有色噪声序列');
2 2. Rw ( ) ( ),其中, ( ) 为Dirac函数,即 ∞,τ=0 ( ) 且 ( )d 1 0,τ≠0

( ) 的傅立叶变换为1,
S w ( ) 2
,频谱宽度无限。
8
2. 有色噪声
有色噪声是指每一时刻的噪声和另一时刻的噪声相关, 因而其谱密度也不再是常数。在工业生产实际中,白噪声在
20
30
40
50 k
60
70
80
90
100
17
18
%白噪声及有色噪声序列的产生 L=500; %仿真长度 d=[1 -1.5 0.7 0.1]; c=[1 0.5 0.2]; %D、C多项式的系数(可用roots命令求其根) nd=length(d)-1; nc=length(c)-1; %nd、nc为D、C的阶次 xik=zeros(nc,1); %白噪声初值,相当于ξ(k-1)...ξ(k-nc) ek=zeros(nd,1); %有色噪声初值 xi=randn(L,1); %randn产生均值为0,方差为1的高斯随机序列(白噪声序列) for k=1:L e(k)=-d(2:nd+1)*ek+c*[xi(k);xik]; %产生有色噪声 %数据更新 for i=nd:-1:2 ek(i)=ek(i-1); end ek(1)=e(k);
第二章 系统辨识常用输入信号 及经典辨识方法
主讲人:王树彬
1
合理选用辨识的输入信号是能否获得好的辨识结 果的关键之一。
为了使系统可辨识,输入信号必须满足一定的条 件。最低要求是在辨识时间内系统的动态必须被输入 信号持续激励。也就是说,在试验期间输入信号必须 充分激励系统的所有模态。
更进一步,输入信号的选择应能使给定问题的辨 识模型精度最高。
输出谱密度关系告诉我们:要充分激励系统,就要 使输入信号的频谱“宽”于系统频谱。
7
2.2
白噪声
1. 白噪声 均值为0,谱密度为非0常数的平稳随机过程
无记忆性,即t时刻的数值与t时刻以前的过去值无关,也
不影响t时刻以后的将来值。从另一意义上说, 即不同时刻的随机信号互不相关。
定义:1.
E(w) w 0
3)工程上要便于实现,成本低。
辨识中常用的输入信号有白噪声或伪随机信号
4
2.1 谱密度与相关函数
1.帕塞瓦尔(Parseval)定理与功率谱
Parseval定理:确定性信号x(t)的总能量为:
1 x (t )dt 2
2




|| X ( j ) || 2 d
5
2.维纳—辛钦关系式:
这就引出了最优输入信号设计问题。
2
Goodwin和Payne(1977)有如下结论:如果模 型结构是正确的,且参数估计值是无偏最小方
差估计,则参数估计值的精度通过Fisher信息
矩阵M依赖于输入信号u(k)。最优输入信号是 具有脉冲式自相关函数的信号,即
1, i j 1 N u(k i)u(k j ) 0, i j N k 1
{e(k)}
9
3. 白噪声的产生及其MATLAB仿真
如何在计算机上产生统计上比较理想的各
种不同分布的白噪声序列是系统辨识仿真研 究的一个重要问题。 目前已有大量应用程序可供查询或调用。 这里介绍一些最常用方法的基本原理。
三类方法:Rand百万随机数、物理方法、数学方法
在具有连续分布的随机数中,(0,1)均匀 分布的随机数是最简单、最基本的一种。有了 (0,1)均匀分布的随机数,便可以产生其 他任意分布的随机数和白噪声。
19
2.3
伪随机序列
1. M序列的产生
伪随机序列是一种很好的辨识输入信号,它具有近似 白噪声的性质,不仅可以保证较好的辨识效果,而且工程 上又易于实现。 应用领域:通信、雷达、导航、密码学、声学、数字跟踪 系统、网络系统故障诊断等
M序列,二位式最大长度线性反馈移位寄存器序列,是伪 随机二位式序列最简单的一种,由带有线性反馈逻辑电路 的移位寄存器产生。
10
(0,1)均匀分布的随机数的产生
在计算机上产生(0,1)均匀随机数的方法很多, 其中最简单、最方便的是数学方法。
乘同余法
先用递推同余式产生正整数序列{xi}
xi Axi 1 (mod M )
Mod为取M的余数,M为2的方幂,即M=2k,k为大于2的 整数,A取适中值, A 3(mod8) 初值x0取正奇数,如x0=1。
14
(0,1)均匀分布随机数的产生仿真举例 利用乘同余法,37选R=2,A=19,k=9,M=512,递推100次 调用random.m
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
v
0
10
20
30
40
50 k
60
70
80
90
100
15
16
产生(-1,1)均匀分布的白噪声
28
2.M序列的性质
1) n级移位寄存器产生的序列的最大周期为N=2n-1 2) M序列的一个周期中,“0”出现的次数为(N-1)/2 “1”出现的次数为(N+1)/2,当N较大时,0,1出现的 概率几乎是相等的。1/2. 3) M序列中某种状态连续出现的段称为游程。一个周期中有
26
-1
1
-1
1
1
Baidu Nhomakorabea
1
1
-1
-1
-1
1
-1
-1
1
1
-1
1
-1
1
1
1
1
-1
-1
-1
1
-1
-1
1 1
-1
1
-1
1
1
1
1
-1
-1
-1
1
-1
-1
1
1
-1
1
-1
1
1
1
1
-1
-1
-1
1
-1
-1
1
1
27
四位移位寄存器产生的序列周期不可能超过16,全 零初态导致全零序列 四位移位寄存器产生的序列最大周期只能是15 如果一个移位寄存器的输出序列周期达到最大,这 个序列称为最大长度二位式序列或M序列。 如果输出序列的周期比最大周期小,就不是M序列。 N级移位寄存器产生的序列的最大周期为N=2n-1
23
24
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; stem(k,U,'filled') xlabel('k') 25 ylabel('M序列') title('移位寄存器产生的M序列')
物理上是不存在的,常见的往往是有色噪声。
有色噪声的表示定理:设平稳噪声序列{e(k)}的谱密度
S e ( ) 是ω的实函数,则必定存在一个渐近稳定的线性环节
,使得在输入为白噪声序列的情况下,环节的输出是谱密度 S e ( ) 的平稳噪声序列{e(k)}。 为
白噪声 线性环节 (成形滤波器) {w(k)} H(z-1 ) 有色噪声
只要将产生的(0,1)均匀分布的随机数统统减去0.5, 原随机序列变成 了(-0.5,0.5)的白噪声,然后乘以存储器f中预置的系数,便可得到 任意幅值的白噪声。
f=2
(-1,1)均 匀 分 布 白 噪 声 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1
v
0
10
随机过程x(t)的谱密度 S x ( ) 与自相关函数 Rx ( ) 构成一组傅立叶变换对:
S x ( ) Rx ( )e j d


1 Rx ( ) 2




S x ( )e j d
定义互谱密度为互相关函数的傅立叶变换:
S xy ( j ) R xy ( )e j d
当N很大时,白噪声或M序列可近似满足这一要 求;当N不大时,并非对所有的N都能找到这种
输入信号。
3
在具体工程应用中,选择输入信号时还应考虑 以下因素:
1)输入信号的功率和幅度不宜过大,以免使 系统工作在非线性区,但也不应过小,以致信 噪比太小,直接影响辨识精度;
2)输入信号对系统的“净扰动”要小,即应 使正负向扰动机会几乎均等;

1 Rxy ( ) 2



S xy ( )e j d
6
应用维纳—辛钦关系式,可以证明,
对于频率响应为 G( j ) 的线性系统,在随机输入下的
输出谱密度和互谱密度分别为:
S y ( ) || G ( j ) || 2 S x ( ) S xy ( j ) G ( j ) S x ( )
A 5 (mod 8 )
下一个随机数是上一个随机数乘以A对M取余而得到的, 再令
xi i M
11
可以证明序列{i}为伪随机数序列,循环周期可达2k-2
A=6; x0=1; M=255; f=2; N=100; %初始化; x0=1; M=255; for k=1: N %乘同余法递推100次; x2=A*x0; %分别用x2和x0表示xi+1和xi-1; x1=mod (x2,M); %取x2存储器的数除以M的余数放x1(xi)中; v1=x1/256; %将x1存储器中的数除以256得到小于1的随机数放v1中; v(:,k)=(v1-0.5 )*f; %将v1中的数( )减去0.5再乘以存储器f中的系数,存 放在矩阵存储器v的第k列中,v(:,k)表示行不变、列随递推循环次数变化; x0=x1; % xi-1= xi; v0=v1; end %递推100次结束; v2=v %该语句后无‘;’,实现矩阵存储器v中随机数放在v2中, 且可直接显示在MATLAB的window中; k1=k; %grapher %以下是绘图程序; k=1:k1;
20
移位寄存器:
移位寄存器由触发器串联而成,分别以0,1表示两种状态。 当移位脉冲来到时,每位的内容(0或1)移到下一位,最 后一位的内容就是输出。
为保持连续工作,将最后2级寄存器模2加后反馈到第1级的 输入端(M序列)。
21
一个四级移位寄存器
若初始状态为(0000),则输出为全零序列 若初始状态为(1111),则寄存器内容: 1111 0111 0011 0001 1000 0100 0010 1001 1100 0110 1011 0101 1010 1101 1110 1111 输出序列为:111100010011010 1111… 周期为15
22
%M序列及逆M序列的产生 clear all; close all; L=60; %M序列长度 x1=1; x2=1; x3=1; x4=0; %移位寄存器初值 S=1; %方波初值 for k=1:L IM=xor(S,x4); %进行异或运算,产生逆M序列 if IM==0 u(k)=-1; else u(k)=1; end S=not(S); %产生方波 M(k)=xor(x3,x4); %进行异或运算,产生M序列 x4=x3; x3=x2; x2=x1; x1=M(k); %寄存器移位 end subplot(2,1,1); stairs(M); grid; axis([0 L/2 -0.5 1.5]); xlabel('k'); ylabel('M序列幅值'); title('M序列'); subplot(2,1,2); stairs(u); grid; axis([0 L -1.5 1.5]); xlabel('k'); ylabel('逆M序列幅值'); title('逆M序列');
plot(k,v,k,v,'r');
12
13
Li1.m A=19;N=200;x0=37;f=2;M=512; for k=1:N x2=A*x0 x1=mod(x2,M) v1=x1/512 v(:,k)=(v1-0.5)*f x0=x1 v0=v1 end v2=v k1=k k=1:200; plot(k,v)
相关文档
最新文档