当前位置:文档之家› MATLAB 窄带随机过程

MATLAB 窄带随机过程

中山大学移动学院本科生实验报告
(2015学年春季学期)
课程名称:通信原理
任课教师:刘洁 教学助理(TA ):朱焱
1、 实验要求
1.产生窄带随机过程和其概率谱密度
2.产生多个窄带随机过程
3.求出窄带随机过程的均值和自相关函数
2、 设计思路
0sin(2)
f t 00)()sin(2)
f t b t f t
对于第一个实验: 首先便是要搞懂如何产生一个窄带随机过程,按照TA 的提示,循序而进,从定义出发,获得答案。

按照上面的结构框图 ,由公式:
t t b t t a t X 00sin )(cos )()(ωω-= 可以较为轻松的得到窄带随机过程(先产生高斯白噪声g =
randn(1,1001),产生低通[b,a] = butter(1,wn)的B/A 系数,由Y = filter (B ,A ,X ),得到a (t )和 b (t ),之后zt = a(t)cos(wt) - b(t)sin(wt),通过这个公式就容易了,再通过plot(zt);便可以得到窄带随机过程),后面的两个实验,是基于第一个实验来做的;
对第二个实验: 加入for 循环,生成五个窄带随机过程,并且利用subplot 画小图。

对第三个实验: 产生窄带随机过程,利用函数mean 和xcorr 两个函数分别产生均值和
自相关函数。

3、运行与测试
Lab1:产生窄带随机过程和其概率谱密度
在command命令框里写入:zhaidai,这是基于随机过程的莱斯表达式,产生一个1000个点的高斯窄带随机过程,和其概率谱密度(基本呈现正态分布)。

Lab2:产生多个窄带随机过程
Subplot(5,2,x)让屏幕中有十个小图,分别为窄带随机过程,和其概率谱密度。

Lab3:求出窄带随机过程的均值和自相关函数
分析:
各个过程都是实的,中心点上相关程度最高,而且观察到:zt这个过程在中心点位置上有一个峰值,其他位置上,自相关函数会接近于零。

分析:
以上是对两次窄带随机过程的均值,对于标准正态的,均值趋近于零,而at,bt是由标
准正态通过一个线性系统得到的,所以输出均值不变,仍为零,从程序运行结果可以看出,均值u都趋近于零。

4、实验总结与心得
学习知识:
1.学会了基于随机过程的莱斯表达式产生窄带随机过程
2.通过做图,掌握了窄带随机过程的特性,包括数学期望、相关函数等
3.同时,学会了subplot,xcorr等函数的应用
不足之处:其实我觉得自己在函数掌握上有漏洞,例如butter,filter等函数,自己需要认真学习如何去使用,如何将这些函数好好利用起来,butter可以产生B/A,filter 进行滤波。

同时,我想指出数列的相乘,我在此犯了错误,弄错了维度,产生1000个点,我写成了1001个点和1000个点,维度不同会一直报错,下次一定会注意。

times(w,n)其中w 和n必须是同维度,我们也可以写成w.*n,其中w和n可以同为维度相同数列,n也可以是scalar。

期待下次实验。

附录、提交文件清单
代码:
%实验一:产生一个1000个点的窄带随机过程
%生成概率密度图
function zhaidai
n=0:1:1000; %先生成两个数列,大小分别为1000
w=0:2*pi/1000:2*pi;
wn = pi*0.1;
[b,a] = butter(1,wn); % 阶数为1,wn截止频率为pi*0.1
g = randn(1,1001); % 高斯白噪声(正态随机)
y = filter(b,a,g); % g为滤波前序列,y为滤波结果序列,b/a 提供滤波器系数
c = w.*n; % 数组相乘,作为自变量
acost = y.*cos(c); % zt = a(t)cos(wt) - b(t)sin(wt);
bsint = y.*sin(c);
zt = acost-bsint; %生成窄带随机过程
subplot(211); %划为两个格子,从第一个开始画
plot(zt); %产生一个1000个点的窄带随机过程
subplot(212); %划为两个格子,从第二个开始画
ksdensity(zt); %生成概率密度图
end
%实验二:利用for循环生成五个窄带随机过程。

function duogezhaidai
for i=1:1:5 %for循环产生多个随机过程
n=0:1:1000; %先生成两个数列,大小分别为1000
w=0:2*pi/1000:2*pi;
wn = pi*0.1;
[b,a] = butter(1,wn); % 阶数为1,wn截止频率为pi*0.1
g = randn(1,1001); % 高斯白噪声(正态随机)
y = filter(b,a,g); % g为滤波前序列,y为滤波结果序列,b/a 提供滤波器系数c = w.*n; % 数组相乘,作为自变量
acost = y.*cos(c); % zt = a(t)cos(wt) - b(t)sin(wt);
bsint = y.*sin(c);
zt = acost-bsint; %生成窄带随机过程
subplot(5,2,2*i-1); %划分为5*2=10个格子,逐一画图
plot(zt); %产生一个1000个点的窄带随机过程
subplot(5,2,2*i); %划分为5*2=10个格子,逐一画图
ksdensity(zt); %生成概率密度图
end
end
%实验三:求窄带随机过程的均值
%产生窄带的自相关函数
function junzhi_zixiangguan
n=0:1:1000; %先生成两个数列,大小分别为1000
w=0:2*pi/1000:2*pi;
wn = pi*0.1;
[b,a] = butter(1,wn); % 阶数为1,wn截止频率为pi*0.1
g = randn(1,1001); % 高斯白噪声(正态随机)
y = filter(b,a,g); % g为滤波前序列,y为滤波结果序列,b/a 提供滤波器系数c = w.*n; % 数组相乘,作为自变量
acost = y.*cos(c); % zt = a(t)cos(wt) - b(t)sin(wt);
bsint = y.*sin(c);
zt = acost-bsint; %生成窄带随机过程
RF = xcorr(zt); %产生窄带的自相关函数plot(RF); %画出窄带的自相关函数title('窄带的自相关函数');
u = mean(zt); %求均值
u %输出
end。

相关主题