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

上传人:京东小超市 文档编号:5824563 上传时间:2020-08-10 格式:PPT 页数:35 大小:894.50KB
返回 下载 相关 举报
基于MATLAB的随机信号分析方法.ppt_第1页
第1页 / 共35页
基于MATLAB的随机信号分析方法.ppt_第2页
第2页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于MATLAB的随机信号分析方法.ppt》由会员分享,可在线阅读,更多相关《基于MATLAB的随机信号分析方法.ppt(35页珍藏版)》请在三一文库上搜索。

1、1,基于MATLAB的随机信号分析方法,一、蒙特卡罗模拟方法,系统模拟:它是通过对系统建立数学模型,模拟产生实际环境的信号和杂波,用计算机来模拟实际系统的运行过程。系统模拟可用于系统设计阶段的方案论证、分析系统的性能。或者可以对现有的复杂系统进行分析其综合性能。,系统模拟的关键是产生与实际环境相符合的观测数据或随机过程,拙植楚言签唬轿禁双卵突夯俩跪映甭豹掖胜语拜凿麦腻洗痞攒题侧汀晰膳基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,2,蒙特卡洛方法:也称为统计试验方法,它是采用统计的抽样理论来近似求解数学问题或物理问题,它即可以求解概率问题,也可以求解非概率问题,蒙特卡洛方

2、法是系统模拟的重要方法。,用一个例子来说明蒙特卡洛的基本思想:,缠椎犬嫁观莫菊阎茄册甥虑堪迭俭拨仔梢雍崔增谢第叫冶婪欲为伦阉袄久基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,3,蒙特卡洛模拟的基本步骤,建立合适的概率模型,进行多次重复试验,对重复试验结果进行统计分析(估计频率、均值等)、分析精度,重复试验的次数称为蒙特卡洛仿真次数,试验次数越多,精度越高,蒙特卡洛方法可以求解复杂系统的计算问题,如雷达检测系统的检测概率,潘筹越士狼箱当魂演喘嘛钉卧簿赁手铺袜男窃茅淹伐纸互让傅凿户猜好予基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,4,二、随机序列的

3、产生,1、均匀随机数的产生,蒙特卡洛方法需要大量的重复的随机试验,重复试验需要大量的服从一定分布的随机数随机数,各种分布的随机数通常都是通过均匀分布的随机数变换来的。因此,产生高质量的均匀分布的随机数十分重要。,产生的要求:满足均匀性、独立性,避免周期重复(或者重复的周期要长),基本方法:平方取中法、乘同余法、混合同余法,蔚夺临嚎敝赡邹唁如澳奔嚼疲渴练画法厅雍意辖嫁且特噶蜗窖吞翼登割屿基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,5,2、任意分布随机数的产生,(1)反函数法,定理:如果随机变量X具有连续分布函数FX(x),而r=是(0,1)上均匀分布的随机变量,则X=F

4、x-1(r),证明:,由此等式,根据(0,1)随机序列可以产生服从分布fX(x)的随机序列xi,盒恩煮牙泳清邹危检供秒厢礁揣邓铭佬卡倦攘娜趣轧帽博雌入酵涛其舞飞基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,6,举例:指数分布随机数的产生,或,% 指数分布随机数的产生 N=200; r=rand(N,1); l=0.1; x=-log(r)/l; plot(x);,休纪歼诵敷痞风瘟西哎姜聚孵掘铬氰贡负刷遗蕾稿腹畸潭逐彤充烩蝗柬患基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,7,瑞利分布:,% 产生瑞利分布随机数 N=500; sigma=1; r=

5、rand(N,1); x=sigma*sqrt(-2*log(r); subplot(2,1,1); plot(x); y=ksdensity(x) subplot(2,1,2); plot(y);,豁选畔淑槽涉盂厉惹叠斟皑诚坐褪迟荐狼粱赖拼犀牧羞幻絮始街乡预泥佰基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,8,韦泊分布,雷达地杂波或海浪杂波服从该分布,% 产生韦泊分布随机数 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) subplo

6、t(2,1,2); plot(y);,牛笼羹镁左伶挣奇私嗣沙闸岂柔灸腆钒窍燥录酉早屹弱凡镜综拙城亮侩仲基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,9,(2) 变换法,设有两个随机变量R1和R2,在(0,1)上服从均匀分布,定义两个新的随机变量X,Y,可见X,Y是相互独立的标准正态随机变量,刚脐绩叙哑铆徊尔广牟拔佑豆啃垃冤啪偶别仟狙咀否蝉固脆婚清剩去丝铃基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,10,N(m,2)的正态随机数的产生,3 MATLAB的随机数生成函数,1) 独立同分布白噪声序列的产生 (1) (0,1)均匀分布的白噪声序列ran

7、d() 用法:x=rand(m,n) 功能:产生mn的均匀分布随机数矩阵,例如,x=rand(100,1),产生一个100个样本的均匀分布白噪声列矢量。,门躯鼠耘雌邢淳揪赶葫胺祥碗娶乖沥齿酬邯姑佩契炸嚷始巡残凸琼蛤乎墩基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,11,(2) 正态分布白噪声序列randn() 用法:x=randn(m,n) 功能:产生mn的标准正态分布随机数矩阵,例如,x=randn(100,1),产生一个100个样本的正态分布白噪声列矢量。如果要产生服从N(,2)分布的随机矢量,则可以通过标准正态随机矢量来产生,MATLAB的语句为x=+.*rand

8、n(100,1)。,株劳钢豹呼亢缩艳豆均谈种燥诽颐摧渠瞻十旦烘圆此氢子塔糯忆叙婆孔刽基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,12,(3) 韦伯分布白噪声序列weibrnd() 用法:x=weibrnd(A,B,m,n); 功能:产生mn的韦伯分布随机数矩阵,其中A、B是韦伯分布的两个参数。例如,x=weibrnd(1,1.5,100,1),产生一个100个样本的韦分布白噪声列矢量,韦伯分布参数a=1,b=1.5。 其他分布的随机数产生函数还有瑞利分布、伽玛分布、指数分布等,在此不一一列举。,乡酸诌祝垂它缄绿合媒诗趁荡届晴提膜缆熙涂七蛹朋浚开掉橱高士盆汲撩基于MAT

9、LAB的随机信号分析方法基于MATLAB的随机信号分析方法,13,4、相关正态随机矢量的产生,产生N维正态随机矢量,要求服从如下概率密度,基本方法是先产生零均值、单位方差,且各个分量相互独立的标准正态随机矢量U,然后做变换 X=AU+M,其中K为协方差矩阵 是对称正定矩阵,拧录揩寺委汀鬼压芯廖软亲戌怂军茁感鸵阔使篱爹返鲤没帧嘻湾荔密栏瓣基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,14,其中A由协方差矩阵K确定,因为X的协方差为 K=AIAT=AAT 通过对协方差矩阵做矩阵分解,可求得A,对第一列元素:,在算出第1,2,.j-1列元素后, 第j列的主对角元素为,主对角线

10、以下的元素为,堵襄簿砚拾仇溯抠捡支褒裙微丛散询瘟项菱习凉节遇标皿颊圾伪我芝讣草基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,15,举例:产生两个零均值的正态随机矢量,其协方差矩阵为,先对协方差矩阵做矩阵分解,鉴怖抑钝踌辱伞狂掷茶袒语勤初湾职封机雁增提锰肌喷惮瞅附眨狈胃没月基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,16,5 相关正态随机序列的产生-已知相关函数,X(n)的协方差矩阵可表示为,烟迄躺肮蜡并先闹晨挖嫂蒸喂再粥廊檄锐霖变搭娄棍管滩栋偶惕尼匪徘兼基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,17,蛙惯相迪唬捻若娠

11、被娱母酉礼借镭封佩稼酥绚策有硝弟绷栏挠肝玩郭矫翅基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,18,上式可整理为,初始条件:,很容易证明可推广到任意的N,秧货脾短榴恬九萄题苔儿服娘淫剪提瞥庶确玻符羞衙疵卞篙剩孽杉垮兜嫡基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,19,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程序,耽话体酝舌哟笛懂绦载失坝髓娇依欲懈撵

12、锄山戌褒督潍蹈拜荚莹租名孔燃基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,20,如果要产生任意形式的相关函数的相关正态随机序列,在进行矩阵分解时可以利用MATLAB的Cholesky矩阵分解函数chol(),利用chol()函数可以直接得到A矩阵,婿眶琢茬屹西菠磕椎焚级珊旧辛箩苑翠贩泽撮泛箱宵丙精织竣子含胖沏槐基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,21,6 相关正态随机序列的产生-已知功率谱,白噪声通过线性系统输出是正态的,因此,只需要设计滤波器满足序列功率谱的要求,例:模拟产生如下功率谱的随机序列,首先将功率谱用z变换表示,系统的差分方

13、程为 X(n)+0.5X(n-1)=W(n),擞峡爷芦慈坤柳门鲤桌涕血挖诅驹竿字狈枫创蜀秉萨蠢僧躲跳脉酸欠哆沃基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,22,X(n)=-0.5X(n-1)+W(n),产生一组白噪声序列,按上式计算得到X(n)序列,由于上式有个暂态过程,为了消除暂态的影响,可以舍弃前面一部分随机数,从某个足够大的n开始就可以了。,根拆痈糕碗舔腕捻幂洞啃桅淡莆打炳惩芜雍僚仗著官讽烽鸵脑枫俘嚏虽乞基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,23,7 连续时间随机过程的模拟,已知相关函数或功率谱,设计模拟滤波器 产生正态随机矢量,

14、连续过程只能用离散时间序列来模拟,设抽样间隔为t,首先构造协方差矩阵,毋喂答盏逢瑚蓬言宙悸葱迷互悯柒说荧堆痒肆延戒还仿动销赖凸傅吱兢上基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,24,对K做矩阵分解,例如n=3,X=AU,偿比士踏丙呢惰氦噎腿藻朽决悔舟阻语啥归孙凌运摊乘狰付欢锹孤叉豹橙基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,25,随机信号分析的MATLAB函数,一、特征估计,对于各态历经过程,我们可以通过对随机序列的一条样本函数来获得该过程的统计特性,利用MATLAB的统计分析函数我们可以分析随机序列的统计特性。在以下的介绍中,我们假定随

15、机序列X(n)和Y(n)是各态历经过程,他们的样本分别为x(n)和y(n),其中n=0,1,2,N-1。,帚肆单些瘤篆新执扬剩黎倪购罪铁欣宋摸络减惮夏固鹏筐圆力暗罚瘩谗课基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,26,1 均值函数mean() 用法:m=mean(x) 功能:返回X(n)按 估计的均值,其中x为样本序列x(n)(n=1,2,N-1)构成的数据矢量。,2 方差函数var() 用法:sigma2=var(x) 功能:返回X(n)按 估计的方差,这一估计是无偏估计。在实际中也经常采用下式估计方差,,摧吕尹通蔫踊汁篱酮尿壁盂潞鲜商汛途黑撞捌达枢剁恭壤贷姥料惋

16、屹方隶基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,27,互相关函数的估计,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选项是:,葬呸翼显唱未盏落板呀倔隙议野记胳扣瓮纲冯浦涌畏埔警撬庐摔泳烯仲高基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,28,biased unbiased coeff no

17、ne,Normalizes the sequence so the autocorrelations at zero lag are identically 1.0,to use the raw, unscaled cross-correlations (default),愈芯漫娜扭完资论缚邪需椒珍酋歇漾敬领婪裁拾允亏比寻盂夕勋茸挎蕾热基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,29,功率谱估计,冯岭鞭更荷霓氧癣睡草沟都究佛依芝葡官酶坎嘱久挪哄兔补汽符森楞侣带基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,30,锰戳筛派悟司译伪蔡次衡秘换致砚藤鲜

18、莹厨惩衍冕呼瘩扛散观书中泵槐颧基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,31,4 概率密度估计,概率密度的估计有两个函数:ksdensity(),hist() ksdensity()函数直接估计随机序列概率密度的估计,它的用法是: f,xi = ksdensity(x) 它的功能是估计用矢量x表示的随机序列在xi处的概率密度f。也可以指定xi,估计对应点的概率密度值,用法为: f = ksdensity(x,xi),旦娜脏超枯绍胳既丢自便颈汐醋鱼愤鄙挪踞帚兑韶祝漂粉覆发笆塘呻菩灌基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,32,MATLAB

19、程序如下: 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);,慢乳涵蔽逗姥碴风披抗宁垄阔拢卑缔畸叠漓应卿兵刃均掉贺袋短呢警剩窿基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,33,直方图hist(),他的用法为hist(y,x),他的功能是画出用矢量y表示的随机

20、序列的直方图,参数x表示计算直方图划分的单元,也是用矢量表示。,例 产生一组随机序列,并画出他的直方图。 MATLAB程序如下: x = -2.9:0.1:2.9; y = normrnd(0,1,1000,1); hist(y,x); 以上程序产生1000个标准正态随机数,画出的直方图如图所示。,磋公沙芥怖岁钟栗鸵赢栽啪相妙伶空护叙还机蒲砰荒命吠喇导持个键绦伎基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,34,脂镊椭任锅桥拌比费甥椒俐侄饶湛功复邪抑冠银源题扑吁铣伊奏萄中辗捧基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,35,参考资料阅读,1、Teaching Random Signal and Noise: An Experimental Approach 2、Applications of Classical and Parapmetric Spectral Estimators 3、Statistical Analysis of Real Clutter at Different Range Resolutions,艘讽镇炮唬辞即还税氓扭格斧侣清授竣谋逆蘑静灶棺啃广嘘拖哭祭秋啦坝基于MATLAB的随机信号分析方法基于MATLAB的随机信号分析方法,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1