随机信号分析实验报告(基于MATLAB语言)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
随机信号分析实验报告
——基于MATLAB语言
姓名: _
班级: _
学号:
专业:
目录
实验一随机序列的产生及数字特征估计 (2)
实验目的 (2)
实验原理 (2)
实验内容及实验结果 (3)
实验小结 (6)
实验二随机过程的模拟与数字特征 (7)
实验目的 (7)
实验原理 (7)
实验内容及实验结果 (8)
实验小结 (11)
实验三随机过程通过线性系统的分析 (12)
实验目的 (12)
实验原理 (12)
实验内容及实验结果 (13)
实验小结 (17)
实验四窄带随机过程的产生及其性能测试 (18)
实验目的 (18)
实验原理 (18)
实验内容及实验结果 (18)
实验小结 (23)
实验总结 (23)
实验一随机序列的产生及数字特征估计
实验目的
1.学习和掌握随机数的产生方法。
2.实现随机序列的数字特征估计。
实验原理
1.随机数的产生
随机数指的是各种不同分布随机变量的抽样序列(样本值序列)。进行随机信号仿真分析时,需要模拟产生各种分布的随机数。
在计算机仿真时,通常利用数学方法产生随机数,这种随机数称为伪随机数。伪随机数是按照一定的计算公式产生的,这个公式称为随机数发生器。伪随机数本质上不是随机的,而且存在周期性,但是如果计算公式选择适当,所产生的数据看似随机的,与真正的随机数具有相近的统计特性,可以作为随机数使用。
(0,1)均匀分布随机数是最最基本、最简单的随机数。(0,1)均匀分布指的是在[0,1]区间上的均匀分布, U(0,1)。即实际应用中有许多现成的随机数发生器可以用于产生(0,1)均匀分布随机数,通常采用的方法为线性同余法,公式如下:
y0=1,y n=ky n(mod N)
⁄
x n=y n N
序列{x n}为产生的(0,1)均匀分布随机数。
定理1.1若随机变量X 具有连续分布函数F x(x),而R 为(0,1)均匀分布随机变量,则有
X=F x−1(R)
2.MATLAB中产生随机序列的函数
(1)(0,1)均匀分布的随机序列函数:rand
用法:x = rand(m,n)
功能:产生m×n 的均匀分布随机数矩阵。
(2)正态分布的随机序列
函数:randn
用法:x = randn(m,n)
功能:产生m×n 的标准正态分布随机数矩阵。
如果要产生服从N(μ,σ2)分布的随机序列,则可以由标准正态随机序列产生。
(3)其他分布的随机序列
分布函数分布函数
二项分布binornd 指数分布exprnd
泊松分布poissrnd 正态分布normrnd 离散均匀分布unidrnd 瑞利分布raylrnd 均匀分布unifrnd X2分布chi2rnd
3.随机序列的数字特征估计
对于遍历过程,可以通过随机序列的一条样本函数来获得该过程的统计特征。这里我们假定随机序列X(n)为遍历过程,样本函数为x(n),其中n=0,1,2,……N-1。那么,
X(n)的均值、方差和自相关函数的估计为
m̂X=1
N
∑x(n)
N−1
n=0
σ̂X2=
1
N−1
∑[x(n)−m̂X]2
N−1
n=0
R̂X(m)=
1
N−|m|
∑x(n)x(n+m) m=0,±1,±2⋯
N−1
n=0
利用MATLAB的统计分析函数可以分析随机序列的数字特征。
(1)均值函数
函数:mean
用法:m = mean(x)
功能:返回按1.3式估计X(n)的均值,其中x为样本序列x(n)。
(2)方差函数
函数:var
用法:sigma2 = var(x)
功能:返回按(1.4)式估计X(n)的方差,其中x为样本序列x(n),这一估计为无偏估计。
(3)互相关函数
函数:xcorr
用法:c = xcorr(x,y)
c = xcorr(x)
c = xcorr(x,y,'opition')
c = xcorr(x,'opition')
功能:xcorr(x,y)计算X(n)与Y(n)的互相关,xcorr(x)计算X(n)的自相关。
option 选项可以设定为:
'biased' 有偏估计
'unbiased' 无偏估计
'coeff' m = 0 时的相关函数值归一化为1
'none' 不做归一化处理
实验内容及实验结果
1.采用线性同余法产生均匀分布随机数1000个,计算该序列均值和方差与理论值之
间的误差大小。改变样本个数重新计算。
程序代码:
y=1;
k=7;
N=10^10;
xn=[];
for i=1:1000
y=mod(y*k,N);
x=y/N;
xn=[xn x];
end
m=mean(xn)
n=var(xn)
me=0.5-m
ne=1/12-n
实验结果:
m = 0.4813
n = 0.0847
me= 0.0187
ne= -0.0013
2.参数为λ的指数分布的分布函数为
F X(x)=1−e−λx
利用反函数法产生参数为0.5的指数分布随机数1000个,测试其方差和相关函数。
程序代码:
j=1:1999;
y=1;
k=7;
N=10^10;
xn=[];
for i=1:1000
y=mod(y*k,N);
x=y/N;
xn=[xn x];
end
y=(-2)*log(1-xn);
n=var(y)
c=xcorr(y,'coeff');
plot(j-1000,c);
实验结果:
方差 n=3.7596