白噪声通过LTI的仿真设计Word格式文档下载.docx
- 文档编号:17197701
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:15
- 大小:119.56KB
白噪声通过LTI的仿真设计Word格式文档下载.docx
《白噪声通过LTI的仿真设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《白噪声通过LTI的仿真设计Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
白噪声的自相关函数,
这里,假设的是零均值和单位方差,于是,而
对应的功率谱,
在这里,由于,,a=0.95,可以算出输出信号的方差为,
可以用留数法简单计算出来。
下面对输入输出信号的均值、方差、相关函数及功率谱密度分别进行讨论。
均值变化
输入为白噪声,并且均值为0,按照理论公式,可得到
下面对实际值进行分析:
输入的随机序列,服从标准正态分布。
可以用下面的语句产生
x=randn(1,500);
%产生题设的随机序列,长度为500点
系统的冲激响应为,可以用下面的语句产生这个冲激信号:
b=[1];
a=[1,-0.5];
%设置滤波器的参数,b为分子系数,a为分母系数
h=impz(b,a,20);
%得到这个系统的冲激响应,就是题设中的h(n)
输入信号通过线性系统,可以通过卷积的方法,或者用filter函数,
y1=filter(b,a,x);
%用滤波器的方法,点数为500点
y2=conv(x,h);
%通过卷积方法得到,点数为519点
实现的MATLAB代码如下:
clearall;
%产生题设的随机序列,长度为500点
%设置滤波器的参数,b为分子系数,a为分母系数
%用滤波器的方法,点数为500点
subplot(2,1,1);
plot(y1,'
r'
);
Title('
邹先雄——用滤波器的方法,点数为500点'
%通过卷积方法得到,点数为519点
subplot(2,1,2);
plot(y2,'
b'
title('
邹先雄——通过卷积方法得到,点数为519点'
gridon;
下面画出两者得到波形的区别:
(为了保持一致,对y2的输出取前500点)
两者的输出波形近似一致,可以采用任意一个进行分析。
就采用y1进行讨论,
输出均值为:
y1_mean=mean(y1);
%进行时间平均,求均值
最终值为-0.0973,与理论的零值有一定误差,考虑到输入随机序列的均值不是0,
m_x=mean(x)=-0.0485,按照上面式子,得到m_y=m_xH(0)=2m_x=-0.0970理论值和实际值是非常吻合的。
附运行结果图:
*因为是随机序列,所以每次运行得到y1和m_x的值也是随机的,但是它们始终满足y1=2m_x
方差变化
输入信号方差的理论值就是1,按照公式,输出的功率谱为
下面对实际值进行分析,用y1_var=var(y1);
求得输出均值为1.3598,与理论值的1.3333有差距。
如图:
自相关函数的理论与实际值
理论值为:
在题设中,为白噪声,所以
所以,输出的自相关函数理论值为
可以得到,在零点的值就是1.3333,也就是输出信号的平均功率。
由MATLAb计算的结果为1.3608,这和计算结果非常接近,实际的自相关函数曲线为:
Y3=var(y1)
自相关函数'
Ry=xcorr(y1,20,'
coeff'
%进行归一化的自相关函数估计,相关长度为20
n=-20:
1:
20;
stem(n,Ry,'
MarkerFaceColor'
'
red'
邹先雄——实际的自相关函数曲线'
功率谱密度函数的理论与实际值
对于理论的功率谱密度,可以表示为,
而对于观测数据,可以用功率谱估计的方法得到功率谱密度。
首先,采用Welch法估计信号的功率谱。
它的原理是将数据分成等长度的小段,并且允
许数据的重叠,对每段进行估计,再进行平均,得到信号的功率谱。
在Matlab中有专用
函数pwelch,它的用法是:
[Px,f]=pwelch(X,WINDOW,NOVERLAP,NFFT,Fs,'
onesided'
%window是采用的数据
窗,NOVERLAP是重叠的数目,NFFT是做FFT的点数,Fs是采样频率,onesided是频率取值。
针对本例,可以用下面语句实现:
window=hamming(20);
%采用hanmming窗,长度为20
noverlap=10;
%重叠的点数
Nfft=512;
%做FFT的点数
Fs=1000;
%采样频率,为1000Hz
y1_var=var(y1);
%进行时间平均,求方差
[Py,f]=pwelch(y1,window,noverlap,Nfft,Fs,'
%估计功率谱密度
f=[-fliplr(f)f(1:
end)];
%构造一个对称的频率,围是[-Fs/2,Fs/2]
Py=[-fliplr(Py)Py(1:
%对称的功率谱
plot(f,10*log10(abs(Py)),'
邹先雄——实际功率谱密度曲线'
最后,得到的估计值为
根据上述值,可以计算出理论的功率,由于
可以用下面的语句实现:
w=2*pi*f/Fs;
;
%转化到数字域上面
H=(1+0.25-2*0.5*cos(w)).^(-1);
%系统函数模平方
Gy=H/max(H);
%归一化处理
Gy=10*log10(Gy);
%化成dB形式
plot(f,Gy,'
邹先雄——理论功率谱密度曲线'
画出的图形见下图:
这是理论的功率谱密度。
为了方便显示,将两幅图画在一起,便于比较。
Py=Py/max(Py);
f,Gy,'
邹先雄——实际功率谱和理论功率谱拟合'
legend('
'
实际值'
理论值'
结果为:
从结果上可以看出来,两者存在着比较大的差距,这是由于输入随机序列的功率谱并不是常数的缘故,也就是输入不是严格的白噪声,所以会出现波动。
当随着数据值的增加,拟合的程度会有所改善。
3、实验容
假定一具有单位方差的抽样序列{X(n)的白噪声随机过程X(t)通过一脉冲响应为
的线性滤波器,利用matlab工具绘出输入输出信号的均值、方差、相关函数及功率谱密度。
实现的MATLAB代码和结果如下:
a=[1,-0.6];
figure
(1)
Y2=mean(y1)%进行时间平均,求均值,为理论值
m_x=mean(x)%输出的实际值可以通过2m_x计算
figure
(2)
%实际功率谱密度
figure(3)
邹先雄——实际功率谱密度'
%理论功率谱密度
figure(4)
邹先雄——理论功率谱密度'
下图为随机产生的波形,以此来求相应的均值、方差、相关函数及功率谱密度。
自相关函数波形
功率谱密度波形
如下图截的部分程序及运行结果,其中y2为输出的均值,y3为方差
4.实验总结:
随机信号实验综合性强,运用到了随机信号分析,数字信号处理,概率论,matlab等课程知识,让我们尝试综合运用理论知识,这样,我们能够更深刻的理解理论知识和各个学科之间的联系。
实验过程中不懂的问题及时向老师提问,或者使用MATLAB自带的help来查看相关信息,对解决遇到的问题都非常有帮助。
实验中经常出现各种错误,往往因为各种细小错误的出现使得整个程序运行错误,比如全角和半角的切换,如果输入时没有考虑,那么编译极有可能不能通过。
在这次实验中我体会到:
实验就是一个发现错误并分析和改正错误的过程。
正因为有错误的出现才显示出实验的魅力。
如果我们只是将代码复制的MATLAB中运行一遍,不用自己改错,不用自己来尝试编写程序,我们的实验会很顺利结束,但是我们也不可能从这次实验中有所收获了。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 噪声 通过 LTI 仿真 设计