1.白噪声与有色噪声
1.1 白噪声(white noise)
系统辨识中所用到的数据通常都含有噪声。从工程实际出发,这种噪声往往可以视为具有有理谱密度的平稳随机过程。白噪声是一种最简单的随机过程,是由一系列不相关的随机变量组成的理想化随机过程。白噪声的数学描述如下: 如果随机过程均值为0 、自相关函数为,即
式中,为单位脉冲函数,即
,且
则称该随机过程为白噪声。
1.2 白噪声序列
白噪声序列是白噪声过程的一种离散形式,可以描述如下:如果随机序列均值为0 ,且两两不相关,对应的自相关函数为:
式中,为Kronecker 函数, 即
则称随机序列为白噪声序列。
可以将标量白噪声序列的概念推广至向量的情况,向量白噪声序列定义如下:
式中,为正定常数矩阵,为Kronecker函数。
1.3 有色噪声(colored noise)
从上述定义可知,理想白噪声只是一种理论上的抽象,在物理上是不能实现的,现实中并不存在这样的噪声。因而,工程实际中测量数据所包含的噪声往往是有色噪声。所谓有色噪声(或相关噪声)是指噪声序列中每一时刻的噪声和另一时刻的噪声相关。“表示定理”表明,有色噪声序列可以看成由白噪声序列驱动的线性环节的输出。
1.4 仿真实例
仿真结果
仿真代码
%白噪声及有色噪声序列的产生
clear all; close all;
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);
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('有色噪声序列');
仅作为个人学习笔记,来源:系统辨识与自适应控制MATLAB仿真(修订版)Zhonghua Pang, Chinese Academy of Sciences; Hong Cui, Second Institute of Oceanography 北京航空航天大学出版社, 2013 ISBN: 978-7-5124-0965-1;