誤碼率仿真,蒙特卡羅方法,置信度

本文將介紹利用蒙特卡羅方法對誤碼率進行仿真的基本原理和基本原則。算法

1. 簡介

    誤碼率是通訊系統性能評價的一個重要指標,在給定信道、編譯碼方式下,誤碼率是一個固定取值。少部分狀況下,能夠經過理論推導獲得理論的誤碼率,可是在大多數狀況下,理論誤碼率沒法推得,這時每每考慮採用蒙特卡羅方法對誤碼率進行仿真。(誤比特率、誤碼率同理)ide

    蒙特卡羅方法是一種經過隨機採樣得到數值解的一類計算方法。誤碼率,即給定條件下傳輸的錯誤機率,能夠近似計算爲錯誤碼數和總碼數之間的比值,所以很容易經過蒙特卡羅方法求解數值解。其基本原理見下節。性能

2. 基本原理

    參見維基百科,蒙特卡羅方法的基本步驟包括this

  1. 定義給定域上的全部可能的輸入
  2. 按照輸入的機率分佈隨機生成給定域上的輸入取值
  3. 按照指定的計算方法對輸入值進行處理
  4. 計算結果

    那麼對應通訊系統的誤碼率仿真而言,具體步驟爲編碼

  1. 隨機產生(知足要求的)明文
  2. 利用給定算法進行加密、調製
  3. 隨機產生(知足要求的)信道噪聲
  4. 計算接收端接收信號,利用給定算法解調、譯碼判決
  5. 計算誤碼/幀/比特

    至少對於通訊系統誤碼率仿真而言,這一過程是極其簡單且容易理解的,能夠簡單的認爲這是真實通訊系統的數學等效仿真過程。加密

3. 精度

    一個基本的、重要的問題是,仿真結果到底有多可靠?顯然在給定條件下,理論誤碼率是一個常數,可是每次的仿真結果卻不盡相同。假設理論誤碼率爲,蒙特卡羅方法的估計值爲,那麼咱們通常關注的是範圍內的機率有多大。在回答這個問題以前,首先分析的機率分佈。有3d

其中是錯誤碼字數,是總碼字數。此處不考慮糾錯編碼,認爲每一個碼字錯誤與否和其餘碼字是獨立的。那麼對於單個碼字來講,服從伯努利分佈,出現錯誤的機率爲 。則,且有orm

    當 足夠大時,二項分佈近似爲高斯分佈,所以 近似服從均值爲 ,方差爲的高斯分佈。此時,能夠回答如下幾個問題blog

  • 當給定時,仿真獲得誤碼率的可靠程度
  • 指定可靠性要求,計算取值
  • 足夠大,的取值爲多少,才能使可靠性知足要求

    這裏先給可靠程度/可靠性作一個定義,即依機率落在區間上,這個機率被稱爲置信度,區間爲置信區間。一個來自百度百科的簡單的介紹爲ip

「在統計學中,一個機率樣本的置信區間(Confidence interval)是對這個樣本的某個整體參數的區間估計。置信區間展示的是這個參數的真實值有必定機率落在測量結果的周圍的程度。置信區間給出的是被測量參數的測量值的可信程度,即前面所要求的「必定機率」。這個機率被稱爲置信水平。「 ——百度百科

   

    據此可推得

    其中是正態分佈的累積機率密度。當給定時,給定置信度,能夠查表推得精度,給定 ,能夠計算置信度 。 同理,另外兩個問題也能夠獲得解決。

4. 舉例

    當固定時,誤碼率仿真結果和置信區間(置信度爲95%)

image

    其中取值爲10000000,式中利用估計。能夠看出在BER很小的時候,區間顯然過大了。通常來看,咱們可能會有兩個要求

  • 爲了計算在給定BER下的編碼增益,須要使得在給定BER下,置信區間知足要求。
  • 知足相對精度要求下的取值。

    第一個問題即求,若要使得誤碼率下,精度達到,那麼

    計算得,,此時仿真結果爲

image

    第二個問題,若要求,此時有

    此處假設足夠大,利用這種方法能夠下降仿真時間(因爲K知足要求後就跳出了循環)。

5. 參考

    Monte Carlo method

    Confidence interval

相關文章
相關標籤/搜索