APP下载

复合测量误差分布的蒙特卡罗仿真

2011-06-30王辉

现代电子技术 2011年9期

王辉

摘 要:针对用传统方法计算复合测量误差分布十分困难的情况,提出了基于蒙特卡罗法的复合测量量的误差分布的统计处理方法。仿真分析表明,采用蒙特卡罗和传统的方法统计的复合测量函数的均方差基本相同,相对于传统的统计方法,蒙特卡罗法不用考虑复合测量函数的逆变换,可以利用计算机直接仿真具有特定分布的随机误差,能够很快统计出复合测量随机误差的分布特性,具有一定的推广价值。

关键词:复合测量; 蒙特卡罗仿真; 均方差; Matlab

中图分类号:TN911-34

文献标识码:A

文章编号:1004-373X(2011)09-0025-03

Monte-Carlo Simulation for Composite Measurement Error Distribution

WANG Hui

(The 93.Detachment, Unit 92941 of PLA, Huludao 125000, China)

Abstract: Monte Carlo simulation method is put forward for solving the difficulty of traditional composite measurement error distribution calculation methods. Simulation results prove that their root-mean square deviation are same, but the Monte-Carlo simulation does not need to calculate reverse transform. It can calculate random error distribution by computer and has generalization.

Keywords: composite measurement; Monte-Carlo simulation; root-mean square deviation; Matlab

0 引 言

在外测中,绝大多数问题是复合测量。通常,将需多个测量量才能解算得到所需要的量,称为复合测量[1]。例如,在对外测数据进行事后处理时,利用雷达测量数据斜距R、方位角α和高低角β,通过坐标转换得到目标在测量坐标系中的位置X=(x,y,z)琓[1]。复合测量误差通常由直接测量与被测量之间的函数关系来计算,因此又称为函数误差。研究随机变量的函数误差的概率分布问题,传统的做法为[2]:根据概率论的知识,设测量量x1,x2,…,xn的联合密度函数为fx(x1,x2,…,xn),而:

Yi=gi(x1,x2,…,xn), i=1,2,…,n

构成x1,x2,…,xn到y1,y2,…,yn的一一对应变换,则其存在逆变换,设其逆变换的雅可比行列式为:

J(y1,y2,…,yn)=

礸-11/祔1…礸-11/祔n

螵鳓

礸-1n/祔1…礸-1n/祔n

则得到y1,y2,…,yn的联合概率密度函数为:

fy(y1,y2,…,yn)=J(y1,y2,…,yn)*

fx[g-11(y1,y2,…,yn),g-12(y1,y2,…,yn),…,

g-1n(y1,y2,…,yn)]

(1)

但是,当复合测量函数为非线性函数时,要求得 x1,x2,…,xn到y1,y2,…,yn的一一对应变换的逆变换是十分困难的,所以采用上述解析方法是不可能的。

为解决上述问题,本文结合单脉冲雷达坐标转换模型的随机误差分布的统计处理问题,介绍了一种使用简单、计算精度高的方法——蒙特卡罗法,并利用Matlab软件编程对复合测量量的统计特性进行分析,不仅可以模拟复合测量随机误差的分布,还可以计算标准差等数字特征,从而全面、完整地评定复合测量的结果。

1 蒙特卡罗仿真方法的一般原理

蒙特卡罗仿真的实质是利用服从某种分布随机数来模拟现实系统中可能出现的随机现象,由于每次仿真试验仅能描述所考察系统出现的一种可能状态,故若能进行大量次数的仿真试验,就能得到与现实所期望的情况相一致的统计结果。

1.1 均匀随机数发生器

大多数计算机的软件库中都包含着一个均匀随机数发生器,它是以等概率产生在0和1之间的一个数,这个随机数发生器的输出是一个随机变量,其取值为0≤A≤1,从实际应用角度看,可近似地认为计算机在(0,1)内能输出的数位足够大,以至于它可以产生(0,1)间的任何连续值。

1.2 给定概率分布函数(PDF)的随机变量的产生方法

均匀随机数发生器产生随机变量的范围为0≤A≤1,其概率密度函数pA(a)=1。由于随机变量A的概率分布函数(CDF)取值范围为0≤F(a≤A)≤1,故可以用此随机数发生器均匀地生成任意CDF的值。在已知该PDF的情况下,反求该随机过程的随机变量(即样本值)。如某随机过程,其随机变量X的PDF为:

pX(x)=(1/b0)砮-x/b0, x≥0

(2)

那么,它的CDF为:

F(X)=p(x≤X)=∫琗-∞pxdx=1-e-X/b0,X≥0

(3)

由于F(X)∈[0,1],其概率取值显然决定于X的取值,而X取值概率又应服从pX(x)的指数分布,这样很自然会想到用均匀随机发生器在[0,1]间随机生成一个数,以该数作为pX(x)的概率,从而得到随机变量X。故有A=F(X)=1-e-X/b0,即:

X=b0*ln[1/(1-A)]

因此,(0,1)内均匀分布的随机变量可用来产生具有其他概率分布函数的随机变量,一般方法是:假设想产生一个随机变量C,其概率分布函数为F(C),由于0≤F(C)≤1,故可事先在(0,1)内均匀产生一个随机变量A,F(C)=A求反函数得C=F-1(A),这样就解出具有F(C)=A的C值,重复这一步骤,求得具有CDF为F(C)的一系列新的随机变量[3]C。

2 MC仿真测量系统的一般步骤

对于测量随机误差统计问题,仿真的对象为测量系统,所关心的问题是测量诸因素的变化对测量值的影响。

用蒙特卡罗仿真方法求解复合测量误差分布的一般步骤如下[4]:

(1) 输入各直接测量量R1i,R2i,…,Rni;α1i,α2i,…,αni和β1i,β2i,…,βni,剔除野值及系统误差。

(2) 利用Matlab函数mean,std计算出算数平均值,,和标准偏差σR,σα,σβ。

(3) 根据测量过程中诸直接测量量的概率分布特征,仿真测量过程中诸直接测量量的大样本伪随机数,并绘制描述各输入直接测量量误差分布的统计直方图。

(4) 将直接测量量的平均值,,加上诸直接测量量的仿真样本,得出测量过程的“伪测量数据”,此时“伪测量数据”可以看作是实际过程数据。

(5) 按函数测量模型计算复合量y,并绘制函数随机误差分布的统计直方图。

(6) 统计并输出该复合量的最佳估值,标准差s。

3 实例仿真

本文的数据仿真程序选用Matlab作为软件开发平台。Matlab是基于向量或矩阵的数学软件,具有非常强大的数值计算能力和卓越的数据可视化能力,Matlab的这种强大功能为误差数据处理提供了便利,可以迅速编出科学高效的计算程序,大大提高了效率[5]。下面以实例说明之。

通过直接测量R,α,β来求复合测量量X=Rcos βcos α

Rsin β

Rcos βsin α。剔除了野值及系统误差的R,α,β测量数据见表1。

上述程序为Matlab的脚本程序,直接运行,得到的结果如图1和图2所示。

图1 模拟随机数的误差分布图

图2 蒙特卡罗仿真法输出函数y误差分布图

由图2可直观地得到函数误差分布的密度函数,由仿真程序求得函数y的标准差为80.506 6 m。又因为直接测量量R,α与β彼此之间不相关,根据误差传播理论,复合测量函数的标准差表示为[7]:

σ=(礷/礡)2σ2R+(礷/郸)2σ2α+(礷/郸)2σ2β

(4)

式中:σR,σα和σβ表示R,α和β的标准差。按式(2)计算坐标转换模型中y的标准差:σy=81.965 0 m。可见,由随机模拟法求得的标准差与理论计算值相差1.359 0 m,说明随机模拟法的计算精度是相当高的。

4 结 论

通过比较可以看出,采用传统的方法统计复合测量函数误差的标准差以及用蒙特卡罗法对复合测量函数的标准差进行模拟计算的结果基本相同。但蒙特卡罗法相对于传统的方法有明显的优势:

(1) 虽然利用概率密度函数可以全面准确地反映复合测量结果的分布,但当概率密度函数的表达式较为复杂时,采用解析的方法非常复杂甚至是不可能的。采用蒙特卡罗法,只要通过数学建模,选择合适的算法和编程,即可由计算机输出的统计直方图直观地求出该复合测量的随机误差分布,计算出误差的标准差等信息,与采用定量解析公式计算的方法相比,该方法不局限于显函数的数学模型,也不受方差传播非线性严重的限制,是一种解决复杂测量模型误差分析的有效途径。

(2) 在重复性的评定过程中,蒙特卡罗法能够根据大样本的仿真数据更加真实地反映出测量结果的分布特征。

参考文献

[1]刘利生.外侧数据事后处理[M].北京:国防工业出版社,2000.

[2]王国玉.电子系统小子样试验理论与方法[M].北京:国防工业出版社,2003.

[3]庄铭杰.蒙特卡罗仿真在移动通信中的应用研究[J].计算机仿真,2004,21(11):116-120.

[4]陈光,任志良,孙海柱.基于Matlab的函数误差分布模拟与计算[J].计量技术,2006(5):116-120.

[5]王成刚.测试性建模与分析中的故障概率获取方法研究[J].测试技术学报,2010,24(1):10-13.

[6]田社平.基于Matlab的间接测量数据处理[J].计量技术,2004(3):6-8.

[7]费业泰.误差理论与数据处理[M].北京:国防工业出版社,2008.

[8]鲁培耿.海军装备试验常用词典[M].北京:国防工业出版社,2007.

[9]曲宝忠.海军战术导弹试验与鉴定[M].北京:国防工业出版社,2005.

[10]陈彦发,吕国强,蔡斐.Ka波段E面波导滤波器的误差研究[J].现代电子技术,2009,32(13):11-14.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文