当前位置:文档之家› 基于MATLAB的随机信号分析方法

基于MATLAB的随机信号分析方法


1 均值函数mean()
用法:m=mean(x) 功能:返回X(n)按
1 N
N
估x(计n)的均值,其中x为样
n1
本序列x(n)(n=1,2,…,N-1)构成的数据矢量。
2 方差函数var()
用法:sigma2=var(x)
功能:返回X(n)按
1 N1
N 1 n0
x[n] mˆ x
其他分布的随机数产生函数还有瑞利分布、伽玛分 布、指数分布等,在此不一一列举。
韦伯分布白噪声序列weibrnd()
4
30
3 20
2
10 1
0
0
100
200
300
0
-2
0
2
4
6
4、相关正态随机矢量的产生
X [ X1,..., X N ]T
产生N维正态随机矢量,要求服从如下概率密度
f
X
( x1 ,
随机信号分析的MATLAB 函数
一、特征估计
对于各态历经过程,我们可以通过对随机序列的一条 样本函数来获得该过程的统计特性,利用MATLAB的 统计分析函数我们可以分析随机序列的统计特性。在 以下的介绍中,我们假定随机序列X(n)和Y(n)是各态 历经过程,他们的样本分别为x(n)和y(n),其中 n=0,1,2,…N-1。
x2 , ...,
xN
)

(2)N
1 /2 |
K
|1/ 2
exp

1 2
(x
-
M)T
K 1(x
-
M)
其中K为协方差矩阵 是对称正定矩阵
kij cov( X i , X j )
k11 k12 L
K


k21
M
k22 L MO
kNN
kN2 L
k1N
k2N

M
x0
雷达地杂波或海浪 杂波服从该分布
1
ri
xi 1 x
0




e(x/) dx exp (xi / )
xi ( ln ri )
% 产生韦泊分布随机数 N=500; b=1; a=1.2; r=rand(N,1); x=b*(log(r)).^(1/a); subplot(2,1,1); plot(x); y=ksdensity(x) subplot(2,1,2); plot(y);
2
估计的方差,这一估计是无偏估计。在实际中也经常采
用下式估计方差,
1 N
N 1 n0
x[n] mˆ x
2
互相关函数的估计
3 互相关函数估计xcorr c = xcorr(x,y) c = xcorr(x)
c = xcorr(x,y,'option') c = xcorr(x,'option')
MATLAB的统计函数
(1)正态概率密度函数normpdf() 用法:Y=normpdf(X,MU,SIGMA)
对于给定的MU()和SIGMA(),上式计算正态 概率密度在X处的值,X为标量或矢量。对于标准正态分布, MU=0,SIGMA=1,这时可简写为normpdf(X)。
(2)正态概率分布函数normcdf() 用法:Y=normcdf(X,MU,SIGMA)
(2) 变换法
xi 2 ln r1i cos 2r2i yi 2 ln r1i sin 2r2i
N(m,2)的正态随机数的产生
ui m xi m 2ln r1i cos 2r2i
3 MATLAB的随机数生成函数
1) 独立同分布白噪声序列的产生
(1) (0,1)均匀分布的白噪声序列rand()
x x
瑞利分布随机数 4
3
2
1
0 0 50 100 150 200 250 300 350 400 450 500
N 概率密度函数 0.8
0.6
0.4
0.2
0 0 10 20 30 40 50 60 70 80 90 100
N
韦泊分布
1
f
X
(x)

1

x

e( x /)
MATLAB的语句为: x=+.*randn(100,1)。
正态分布白噪声序列randn()
4
60
2 40
0
20 -2
-4
0
0
500
1000
-5
0
5
(3) 韦伯分布白噪声序列weibrnd() 用法:x=weibrnd(A,B,m,n); 功能:产生mn的韦伯分布随机数矩阵,其中A、
B是韦伯分布的两个参数。例如, x=weibrnd(1,1.5,100,1),产生一个100个样本的 韦分布白噪声列矢量,韦伯分布参数a=1,b=1.5。
xcorr(x,y)计算X与Y的互相关,矢量X表示序列x(n), 矢量Y表示序列y(n)。xcorr(x)计算X的自相关。option 选项是:
'biased' 'unbiased'
Rˆx (m)

1 N
N m 1
xnm xn
n0
Rˆx (m)
N
1 m
N m 1
xnm xn
基于MATLAB的随机信号分析方法
一、蒙特卡罗模拟方法
系统模拟:它是通过对系统建立数学模型,模拟 产生实际环境的信号和杂波,用计算机来模拟实 际系统的运行过程。系统模拟可用于系统设计阶 段的方案论证、分析系统的性能。或者可以对现 有的复杂系统进行分析其综合性能。
系统模拟的关键是产生与实际环境相符合的 观测数据或随机过程
a
m
a<1
产生公式
xi axi1 ui
MATLAB程 序
a=0.8; sigma=2; N=500; u=randn(N,1); x(1)=sigma*u(1)/sqrt(1-a^2); for i=2:N
x(i)=a*x(i-1)+sigma*u(i); end plot(x); xlabel('N'); ylabel('x');title(‘相关正态随机序列');
对重复试验结果进行统 计分析(估计频率、均 值等)、分析精度
重复试验的次数称 为蒙特卡洛仿真次 数,试验次数越多, 精度越高
蒙特卡洛方法可以求解复杂系统的计 算问题,如雷达检测系统的检测概率
二、随机序列的产生 1、均匀随机数的产生
利用MATLAB函数 x=rand(m,n)
x=rand(100,1)
fX (x) ex
x0
ri
xi
fX
( x)dx

xi exdx 1 exi
0
1 xi ln(1 ri )

1 xi ln ri
% 指数分布随机数的产生 N=200; r=rand(N,1); l=0.1; x=-log(r)/l; Subplot(2,1,1); plot(x); xlabel('N'); ylabel('x'); title('指数分布随机数');
2、任意分布随机数的产生
反函数法 变换法
(1)反函数法
定理:如果随机变量X具有连续分
布函数FX(x),而r=是(0,1)上均匀 分布的随机变量,则X=Fx-1(r)
ri FX (x)
xi
fX
(x)dx
由此等式,根据(0,1)随机 序列可以产生服从分布 fX(x)的随机序列xi
举例:指数分布随机数的产生
蒙特卡洛方法:
也称为统计试验方法,它是采用统 计的抽样理论来近似求解数学问题 或物理问题,它即可以求解概率问 题,也可以求解非概率问题,蒙特 卡洛方法是系统模拟的重要方法。
用一个例子来说明蒙
特卡洛的基本思想:
11
f(x) 0.5 (0.5 x)2
1 f(x) dx 0.417 0 p(100) 0.45
用法:x=rand(m,n)
功能:产生mn的均匀分布随机数矩阵,
例如,x=rand(100,1),产生一个100个样本
的均匀分布白噪声列矢量。
1
80
60
0.5
40
20
0
0
(2) 正态分布白噪声序列randn()
用法:x=randn(m,n)
功能:产生mn的标准正态分布随机数矩阵, 例如,x=randn(100,1),产生一个100个样本 的正态分布白噪声列矢量。如果要产生服从 N(,2)分布的随机矢量,则可以通过标准正态随 机矢量来产生,
对于给定的MU()和SIGMA(),上式计算 正态概率密度在X处的值,X为标量或矢量,对于标准 正态分布,MU=0,SIGMA=1,这时可简写为normcdf(X)。
(3)瑞利分布概率密度raylpdf()
用法:Y= raylpdf(X, )
计算参数为的瑞利分布概率密度函数在X处的值。
x = 0:0.1:3; p = raylpdf(x,1); plot(x,p);
p(10000) 0.418
f(x) 0.5
00
0
0.5
1
0
x
1
p(M) N 0 for i 0M 1 x rnd(1) y rnd(1) N N 1 if x 1 y f(x) N P M
蒙特卡洛模拟的基本步骤
建立合适的概率模型
进行多次重复试验
y=ksdensity(x);%概率密度函
相关主题