预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共26页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PAGE-26- 实验十八随机信号的仿真与分析 一.实验目的 利用计算机仿真随机信号,考察其数字特征,以此加深对满足各种分布的随机信号的理解。熟悉常用的信号处理仿真软件平台:matlab或c/c++语言. 二.实验原理 ⑴随机信号的产生和定义 随机信号是随机变量在时间上推进产生的过程量,它同时具有过程性和不确定性。定义如下: 给定参量集T与概率空间(Ω,F,P),若对于每个,都有一个定义在(Ω,F,P)上的实随机变量X(t)与之对应,就称依赖于参量t的随机变量族为一(实)随机过程或随机信号。 ⑵高斯分布随机信号 统计分布是正态分布(高斯分布)的随机信号为高斯分布随机信号。高斯分布的随机变量概率密度函数满足下式: ⑶均匀分布随机信号 统计分布是均匀分布的随机信号为均匀分布随机信号。均匀分布的随机变量概率密度函数满足下式: ⑷正弦随机信号 给定具有某种概率分布的振幅随机变量A、角频率随机变量Ω与相位随机变量Θ,(具体概率分布与特性视应用而定),以(时间)参量t建立随机变量:。于是,相应于某个参量域T的随机变量族为正弦随机信号(或称为正弦随机过程)。 贝努里随机信号 贝努里随机变量X(s)基于一个掷币实验(s表示基本结果事件):1表示s为正面,0表示s不为正面;s不为正面的概率为P[X(s)=1]=p,s为正面的概率为P[X(s)=0]=q,其中p+q=1。 若无休止地在t=n(n=0,1,2,…)时刻上,独立进行(相同的)掷币实验构成无限长的随机变量序列:,其中与n和s都有关,应记为X(n,s),于是, 而且有概率: 其中,p+q=1。上述的随机变量序列:通常被称为随机序列(或随机过程),也被称为(离散)随机信号,即贝努里随机信号。 正式的定义如下: 给定某个序列随机实验,观测某事件B发生与否,建立事件B的指示函数, 而且,序列随机实验间彼此统计独立并有相同的概率, 于是,是一个(0,1)贝努里随机变量,相应的随机变量序列为(0,1)贝努里随机序列(或称随机信号,有时也称为随机过程)。 三.实验任务与要求 ⑴用matlab或c/c++语言编程并仿真。 ⑵生成满足几种概率分布的仿真随机信号,自己编写程序计算几种概率分布的仿真随机信号的特征。具体要求: ①随机数的产生与测量:产生的10000个泊松分布随机数,计算它们的均值、方差与概率密度、频谱、功率谱密度,自相关函数,并绘出函数曲线。确定泊松过程是一个马尔可夫过程。 ②产生N(0,3)与N(2,3)的随机数,计算它们的概率密度、频谱、功率谱密度,自相关函数,并绘出函数曲线。确定它们是否属于白噪声。 ③统计分析:二维正态分布(X,Y),N(0,1;0,4;0.5)的联合概率密度函数为 其中μ1=0,σ1=1,μ2=0,σ2=4,ρ=0.5。 求①;②);③)。 ⑶计算二维正态分布(X,Y),N(0,1;0,4;0.5)的概率密度、频谱、功率谱密度,自相关函数,并绘出函数曲线。 ⑷按要求写实验报告。 四.实验仿真与分析 1.随机信号的仿真 (1)高斯分布随机信号的仿真 MATLAB程序: N=1000; M=0; SIGMA2=3; SIGMA=sqrt(SIGMA2); X=M+SIGMA.*randn(N,1); t=0:N-1 plot(t,X); gridontitle('高斯分布的随机信号'); xlabel('t'); 说明: M为均值,SIGMA2为其方差; 用randn(N,1)函数产生一个N个样本的正态分布的列矢量; 用X=M+SIGMA.*randn(N,1)仿真产生N(M,SIGMA2)的高斯分布的随机数; 取t=0:N-1,用plot(t,X)对随机数进行仿真绘图。 编程运行后得到的高斯分布随机信号的仿真图如下: (2)均匀分布随机信号的仿真 程序: a=5; b=8; N=1000; x=b-(b-a).*rand(N,1); t=0:N-1; plot(t,x); title('均匀分布随机信号'); 说明: 用rand(N,1)函数产生一个N个样本的(0,1)均匀分布的列矢量; 用x=b-(b-a).*rand(N,1)仿真产生(a,b)的均匀分布随机数; 取t=0:N-1,用plot(t,x)对随机数进行仿真绘图; 编程运行后得到的均匀分布随机信号的仿真图如下: (3)正弦随机信号的仿真 程序: t=0:pi/50:2*pi; fori=1:100 A=rand(); w=rand()*2; B=rand()*2*pi; y(i)=A*sin(w*t(i)+B); end figure(1); plot(y,'-r'); gridon; title('y=Asin(\Omegat+\Theta)'); xlabel