误码率仿真,蒙特卡罗方法,置信度

本文将介绍利用蒙特卡罗方法对误码率进行仿真的基本原理和基本原则。

1. 简介

    误码率是通信系统性能评价的一个重要指标,在给定信道、编译码方式下,误码率是一个固定取值。少部分情况下,可以通过理论推导得到理论的误码率,但是在大多数情况下,理论误码率无法推得,这时往往考虑采用蒙特卡罗方法对误码率进行仿真。(误比特率、误码率同理)

    蒙特卡罗方法是一种通过随机采样获得数值解的一类计算方法。误码率,即给定条件下传输的错误概率,可以近似计算为错误码数和总码数之间的比值,因此很容易通过蒙特卡罗方法求解数值解。其基本原理见下节。

2. 基本原理

    参见维基百科,蒙特卡罗方法的基本步骤包括

  1. 定义给定域上的所有可能的输入
  2. 按照输入的概率分布随机生成给定域上的输入取值
  3. 按照指定的计算方法对输入值进行处理
  4. 计算结果

    那么对应通信系统的误码率仿真而言,具体步骤为

  1. 随机产生(满足要求的)明文
  2. 利用给定算法进行加密、调制
  3. 随机产生(满足要求的)信道噪声
  4. 计算接收端接收信号,利用给定算法解调、译码判决
  5. 计算误码/帧/比特

    至少对于通信系统误码率仿真而言,这一过程是极其简单且容易理解的,可以简单的认为这是真实通信系统的数学等效仿真过程。

3. 精度

    一个基本的、重要的问题是,仿真结果到底有多可靠?显然在给定条件下,理论误码率是一个常数,但是每次的仿真结果却不尽相同。假设理论误码率为,蒙特卡罗方法的估计值为,那么我们一般关注的是范围内的概率有多大。在回答这个问题之前,首先分析的概率分布。有

其中是错误码字数,是总码字数。此处不考虑纠错编码,认为每个码字错误与否和其他码字是独立的。那么对于单个码字来说,服从伯努利分布,出现错误的概率为 。则,且有

    当 足够大时,二项分布近似为高斯分布,因此 近似服从均值为 ,方差为的高斯分布。此时,可以回答以下几个问题

  • 当给定时,仿真得到误码率的可靠程度
  • 指定可靠性要求,计算取值
  • 足够大,的取值为多少,才能使可靠性满足要求

    这里先给可靠程度/可靠性做一个定义,即依概率落在区间上,这个概率被称为置信度,区间为置信区间。一个来自百度百科的简单的介绍为

“在统计学中,一个概率样本的置信区间(Confidence interval)是对这个样本的某个总体参数的区间估计。置信区间展现的是这个参数的真实值有一定概率落在测量结果的周围的程度。置信区间给出的是被测量参数的测量值的可信程度,即前面所要求的“一定概率”。这个概率被称为置信水平。“ ——百度百科

   

    据此可推得

    其中是正态分布的累积概率密度。当给定时,给定置信度,可以查表推得精度,给定 ,可以计算置信度 。 同理,另外两个问题也可以得到解决。

4. 参考

    Monte Carlo method

    Confidence interval

时间: 2024-10-29 04:59:16

误码率仿真,蒙特卡罗方法,置信度的相关文章

VHDL TestBench 测试终止时自动结束仿真——assert方法

可在结束仿真位置添加如下代码: assert false report "Simulation is finished!" severity Failure; 则在Modelsim run -all下自动终止并打印"Simulation is finished!". VHDL TestBench 测试终止时自动结束仿真--assert方法,布布扣,bubuko.com

(转)阮一峰-蒙特卡罗方法入门

本文转载自阮一峰-蒙特卡罗方法入门 本文通过五个例子,介绍蒙特卡罗方法(Monte Carlo Method). 一.概述 蒙特卡罗方法是一种计算方法.原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值. 它非常强大和灵活,又相当简单易懂,很容易实现.对于许多问题来说,它往往是最简单的计算方法,有时甚至是唯一可行的方法. 它诞生于上个世纪40年代美国的"曼哈顿计划",名字来源于赌城蒙特卡罗,象征概率. 二.π的计算 第一个例子是,如何用蒙特卡罗方法计算圆周率π. 正方形内部有

用蒙特卡罗方法计算五人传球问题

蒙特卡罗方法百度解释http://baike.baidu.com/link?url=XwVnK6P_gip61_P9RzC9u6T4KQP5hmoZIvx57XBM66hPBONRRl3-yAwldGr3orFe 问题描述: 有A B C D E 五个人,围成一圈,开始球在A的手上,然后由A向与自己相邻的两边的某一人传球,然后要求计算球被传十次,最后又回到A手中的概率. 如上图所示,A只能把球传给B或者E,其几率是相同的. 对每个人来说把球传给左边或者右边的人的几率都是相同的,且为1/2: 这样

蒙特卡罗方法python简单实现

蒙特卡罗方法是一种计算方法.原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值. 1.估算pi值 import random n = 10000 k = 0 for i in range(n): x = random.uniform(-1,1) y = random.uniform(-1,1) if x**2 + y**2 <1: k +=1 print(4*float(k)/float(n)) 2.计算y=x^2在[0,1]的积分 import random n = 1000 k =

蒙特卡罗方法入门

蒙特卡罗方法入门 原文出处: 阮一峰的日志(@ruanyf)   欢迎分享原创到伯乐头条 本文通过五个例子,介绍蒙特卡罗方法(Monte Carlo Method). 一.概述 蒙特卡罗方法是一种计算方法.原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值. 它非常强大和灵活,又相当简单易懂,很容易实现.对于许多问题来说,它往往是最简单的计算方法,有时甚至是唯一可行的方法. 它诞生于上个世纪40年代美国的”曼哈顿计划”,名字来源于赌城蒙特卡罗,象征概率. 二.π的计算 第一个例子是,如

蒙特卡罗方法计算圆周率

蒙特卡罗方法计算圆周率 前几天读到了一篇网志:蒙特卡罗方法入门,http://www.ruanyifeng.com/blog/2015/07/monte-carlo-method.html 其中介绍了用概率计算圆周率的方法,所以就用程序做了以下尝试. 作为常量的PI值的近似在Math.PI中为3.141592653589793. Ⅰ.方形中的所有像素计算 package yumu.probability.montecarlo; public class CalculatePI { private

MCMC(一)蒙特卡罗方法

MCMC(一)蒙特卡罗方法 MCMC(二)马尔科夫链(待填坑) MCMC(三)M-H采样和Gibbs采样(待填坑) 作为一种随机采样方法,马尔科夫链蒙特卡罗(Markov Chain Monte Carlo,以下简称MCMC)在机器学习,深度学习以及自然语言处理等领域都有广泛的应用,是很多复杂算法求解的基础.比如我们前面讲到的分解机(Factorization Machines)推荐算法,还有前面讲到的受限玻尔兹曼机(RBM)原理总结,都用到了MCMC来做一些复杂运算的近似求解.下面我们就对MC

[数学建模]蒙特卡罗方法

1.概念 蒙特卡罗方法(随机取样法)是一种计算方法.原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值. 2.两个应用例子 例子1:求π的值. 正方形内部有一个相切的圆,它们的面积之比是π/4.现在,在这个正方形内部,随机产生1000000个点(即1000000个坐标对 (x, y)),计算它们与中心点的距离,从而判断是否落在圆的内部.如果这些点均匀分布,那么圆内的点应该占到所有点的 π/4,因此将这个比值乘以4,就是π的值. MATLAB实现: N=1000000;    %随机点的

蒙特卡罗方法(Monte Carlo method)

蒙特卡罗方法(Monte Carlo method) 蒙特卡罗方法概述   蒙特卡罗方法又称统计模拟法.随机抽样技术,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法,是使用随机数(或更常见的伪随机数)来解决很多计算问题的方法.将所求解的问题同一定的概率模型相联系,用电子计算机实现统计模拟或抽样,以获得问题的近似解.为象征性地表明这一方法的概率统计特征,故借用赌城蒙特卡罗命名. 蒙特卡罗方法的提出   蒙特卡罗方法于20世纪40年代美国在第二次世界大战中研制原子弹的"曼哈顿计划&qu