(盟訊(廣州)電子有限公司,廣東 廣州 510623)
摘要:文章描述了一種簡單的能按設定概率產生隨機誤碼的方法。
關鍵詞:隨機誤碼模擬;m序列;
在日常設計和測試驗證中,於某些場合例如信道模擬等,可能需要對隨機誤碼進行模擬。
一個自然而簡單的方法是,產生一個n位序列,然後將這個序列與隨機碼流進行比較,然後判斷該序列與碼流是否匹配。這裡的匹配不一定是全匹配,是指比較結果中至少有T位(T≤n)相同。T的大小取決於設定的誤碼概率,設定的誤碼概率越高,選取的T就越小,反之T越大。當出現匹配時,就可以對數據進行一定的處理,例如將當前數據位與「1」進行異或操作,這樣就產生了1位隨機誤碼。同時為了達到比較隨機的效果,我們需要更新這個n位序列,然後繼續與隨機碼流進行比較與判斷,模擬下一次誤碼的發生。
為了對誤碼概率進行準確的控制,我們需要推導(n, T)與誤碼設定概率的關係,通過簡單的分析,我們可以得到以下的關係:
設Q(T)表示n位比較結果中至少有T位相同的概率,P(T)表示n位比較結果中僅有T位相同的概率,它們滿足:
以上結果的基本分析思想是:至少有T位相同的概率Q(T)減去至少有(T+1)位相同的概率Q(T+1)就得到僅有T位相同的概率P(T);通過對式(1)進行迭代並將式(2)代入,我們可以得到Q(T)的計算式子:
在使用這個式子時,我們可根據要求的最小概率先確定所需要的n值,然後計算不同T值的概率Q(T),當然n值取得越大,我們可以獲得越多的概率等級。確定n值後,通過數學計算工具如matlab等,我們可以輕易獲得T從0到n所有的Q(T)值,然後將要求的設定概率與Q(T)值進行比較,選取滿足要求的T值。
在實際設計中,我們可以通過m序列發生器[1]來產生一個n位序列(這樣的序列一共有2n-1個),每一次匹配後,對m序列發生器進行一次移位就能產生一個新的n位序列。下面給出方案的示意圖:
Figure1隨機誤碼產生器
通過上面的方法,我們可以根據自己的需要,比較簡單地實現對隨機誤碼的模擬,且能得到統計上準確的誤碼設定概率。
參考文獻:
[1] 《糾錯碼-原理與方法》 王新梅肖國鎮編著 西安電子科技大學出版社