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

上传人:乐*** 文档编号:115512115 上传时间:2019-11-13 格式:PPT 页数:31 大小:736.50KB
返回 下载 相关 举报
基于matlab的随机信号分析方法_第1页
第1页 / 共31页
基于matlab的随机信号分析方法_第2页
第2页 / 共31页
基于matlab的随机信号分析方法_第3页
第3页 / 共31页
基于matlab的随机信号分析方法_第4页
第4页 / 共31页
基于matlab的随机信号分析方法_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《基于matlab的随机信号分析方法》由会员分享,可在线阅读,更多相关《基于matlab的随机信号分析方法(31页珍藏版)》请在金锄头文库上搜索。

1、基于MATLAB的随机信号分析方法,一、蒙特卡罗模拟方法,系统模拟:它是通过对系统建立数学模型,模拟产生实际环境的信号和杂波,用计算机来模拟实际系统的运行过程。系统模拟可用于系统设计阶段的方案论证、分析系统的性能。或者可以对现有的复杂系统进行分析其综合性能。,系统模拟的关键是产生与实际环境相符合的观测数据或随机过程,蒙特卡洛方法: 也称为统计试验方法,它是采用统计的抽样理论来近似求解数学问题或物理问题,它既可以求解概率问题,也可以求解非概率问题,蒙特卡洛方法是系统模拟的重要方法。,用一个例子来说明蒙特卡洛的基本思想:,蒙特卡洛模拟的基本步骤,建立合适的概率模型,进行多次重复试验,对重复试验结果

2、进行统计分析(估计频率、均值等)、分析精度,重复试验的次数称为蒙特卡洛仿真次数,试验次数越多,精度越高,蒙特卡洛方法可以求解复杂系统的计算问题,如雷达检测系统的检测概率,二、随机序列的产生,1、均匀随机数的产生,利用MATLAB函数,x=rand(m,n),x=rand(100,1),2、任意分布随机数的产生,(1)反函数法,定理:如果随机变量X具有连续分布函数FX(x),而r=是(0,1)上均匀分布的随机变量,则X=Fx-1(r),由此等式,根据(0,1)随机序列可以产生服从分布fX(x)的随机序列xi,举例:指数分布随机数的产生,或,% 指数分布随机数的产生 N=200; r=rand(N

3、,1); l=0.1; x=-log(r)/l; plot(x);,瑞利分布:,% 产生瑞利分布随机数 N=500; sigma=1; r=rand(N,1); x=sigma*sqrt(-2*log(r); subplot(2,1,1); plot(x); y=ksdensity(x) subplot(2,1,2); plot(y);,韦泊分布,雷达地杂波或海浪杂波服从该分布,% 产生韦泊分布随机数 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) subpl

4、ot(2,1,2); plot(y);,(2) 变换法,N(m,2)的正态随机数的产生,3 MATLAB的随机数生成函数,1) 独立同分布白噪声序列的产生 (1) (0,1)均匀分布的白噪声序列rand() 用法:x=rand(m,n) 功能:产生mn的均匀分布随机数矩阵,例如,x=rand(100,1),产生一个100个样本的均匀分布白噪声列矢量。,(2) 正态分布白噪声序列randn() 用法:x=randn(m,n) 功能:产生mn的标准正态分布随机数矩阵,例如,x=randn(100,1),产生一个100个样本的正态分布白噪声列矢量。如果要产生服从N(,2)分布的随机矢量,则可以通过标

5、准正态随机矢量来产生, MATLAB的语句为: x=+.*randn(100,1)。,(3) 韦伯分布白噪声序列weibrnd() 用法:x=weibrnd(A,B,m,n); 功能:产生mn的韦伯分布随机数矩阵,其中A、B是韦伯分布的两个参数。例如,x=weibrnd(1,1.5,100,1),产生一个100个样本的韦分布白噪声列矢量,韦伯分布参数a=1,b=1.5。 其他分布的随机数产生函数还有瑞利分布、伽玛分布、指数分布等,在此不一一列举。,4、相关正态随机矢量的产生,产生N维正态随机矢量,要求服从如下概率密度,其中K为协方差矩阵 是对称正定矩阵,基本方法是先产生零均值、单位方差,且各个

6、分量相互独立的标准正态随机矢量U,然后做变换 X=AU+M,其中A由协方差矩阵K确定,A可以用矩阵分解函数得到,Chol(),5 相关正态随机序列的产生-已知相关函数,产生公式,a=0.8; sigma=2; N=500; u=randn(N,1); x(1)=sigma*u(1)/sqrt(1-a2); for i=2:N x(i)=a*x(i-1)+sigma*u(i); end plot(x);,MATLAB程序,如果要产生任意形式的相关函数的相关正态随机序列,在进行矩阵分解时可以利用MATLAB的Cholesky矩阵分解函数chol(),利用chol()函数可以直接得到A矩阵,随机信号

7、分析的MATLAB函数,一、特征估计,对于各态历经过程,我们可以通过对随机序列的一条样本函数来获得该过程的统计特性,利用MATLAB的统计分析函数我们可以分析随机序列的统计特性。在以下的介绍中,我们假定随机序列X(n)和Y(n)是各态历经过程,他们的样本分别为x(n)和y(n),其中n=0,1,2,N-1。,1 均值函数mean() 用法:m=mean(x) 功能:返回X(n)按 估计的均值,其中x为样本序列x(n)(n=1,2,N-1)构成的数据矢量。,2 方差函数var() 用法:sigma2=var(x) 功能:返回X(n)按 估计的方差,这一估计是无偏估计。在实际中也经常采用下式估计方

8、差,,互相关函数的估计,3 互相关函数估计xcorr c = xcorr(x,y) c = xcorr(x) c = xcorr(x,y,option) c = xcorr(x,option) xcorr(x,y)计算X与Y的互相关,矢量X表示序列x(n),矢量Y表示序列y(n)。xcorr(x)计算X的自相关。option选项是:,biased unbiased coeff none,Normalizes the sequence so the autocorrelations at zero lag are identically 1.0,to use the raw, unscaled

9、cross-correlations (default),功率谱估计,4 概率密度估计,概率密度的估计有两个函数:ksdensity(),hist() ksdensity()函数直接估计随机序列概率密度的估计,它的用法是: f,xi = ksdensity(x) 它的功能是估计用矢量x表示的随机序列在xi处的概率密度f。也可以指定xi,估计对应点的概率密度值,用法为: f = ksdensity(x,xi),MATLAB程序如下: a=0.8; sigma=2; N=200; u=randn(N,1); x(1)=sigma*u(1)/sqrt(1-a2); for i=2:N x(i)=a*x(i-1)+sigma*u(i); end f,xi = ksdensity(x); plot(xi,f); xlabel(x); ylabel(f(x); axis(-15 15 0 0.13);,直方图hist(),他的用法为hist(y,x),他的功能是画出用矢量y表示的随机序列的直方图,参数x表示计算直方图划分的单元,也是用矢量表示。,例 产生一组随机序列,并画出他的直方图。 MATLAB程序如下: x = -2.9:0.1:2.9; y = normrnd(0,1,1000,1); hist(y,x); 以上程序产生1000个标准正态随机数,画出的直方图如图所示。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号