随机信号课程设计随机过程的模拟与特征估计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计题目一:随机过程的模拟与特征估计
一、实验目的
随机过程的特征估计是信号处理最基本的内容,希望大家通过本实验熟悉和掌握特征估计的基本方法及其MATLAB实现。
二、实验内容
按照如下模型产生一组随机序列 x(n)=0.8x(n-1)+w(n),其中w(n)为均值为0,方差为4的高斯白噪声序列。
(1)模拟产生X(n)序列的500 观测样本函数,绘出波形图。
(2)用观测点估计信号的均值和方差。
(3)估计该过程的自相关函数和功率谱密度,并画出图形。
【分析】给定AR 过程,可以用递推公式得出最终的输出序列。或者按照一个白噪
声通过线性系统的方式得到,这个系统的传递函数为: ,这是一个全极点的滤波器,具有无限长的冲激响应。
三、实验过程
(1)产生样本函数,并画出波形
题目中的AR 过程相当于一个零均值正态白噪声通过线性系统后的输出,可以按照上面的方法进行描述。
clear all;
b=[1]; a=[1 -0.8]; % 由描述的差分方程,得到系统传递函数
h=impz(b,a,20); % 得到系统的单位冲激函数,在20点处已经可以认为值是0
randn('state',0);
w=normrnd(0,2,1,500); % 产生题设的白噪声随机序列,标准差为2
x=filter(b,a,w); % 通过线形系统,得到输出就是题目中要求的AR 过程
plot(x,'r');
ylabel('X(n)');
title('产生的X(n) 随机序列');
grid;
得到的输出序列波行为:
(2)估计信号的均值和方差。
x_mean=mean(x);% 进行时间平均,求均值
subplot(121);
stem(x_mean);
x_var=var(x); % 求序列的方差
subplot(122);
stem(x_var);
(3)估计该过程的自相关函数和功率谱密度,并画出图形。
%估计的自相关函数序列
Mlag=20; % 定义最大自相关长度
Rx=xcorr(x,Mlag,'coeff');
m=-Mlag:Mlag;
stem(m,Rx,'r.');
grid on;
最终的值为
实际的功率谱密度可以用类似于上面的方法进行估计:
用以下语句实现:
window=hamming(20); % 采用hanmming 窗,长度为20
noverlap=10; % 重叠的点数
Nfft=512; % 做FFT 的点数
Fs=1000; % 采样频率,为1000Hz
[Px,f]=pwelch(x,window,noverlap,Nfft,Fs, 'onesided'); % 估计功率谱密度
f=[-fliplr(f') (f(2:end))']; % 构造一个对称的频率,范围是[-Fs/2, Fs/2] Py=[-fliplr(Px') (Px(2:end))']; % 对称的功率谱
plot(f,10*log10(Py), 'b');
grid on;
估计出来的功率谱密度为: