隨機誤碼模擬方法淺談

2021-02-19 硬體十萬個為什麼

(盟訊(廣州)電子有限公司,廣東    廣州 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] 《糾錯碼-原理與方法》  王新梅肖國鎮編著   西安電子科技大學出版社

相關焦點

  • 加快誤碼率測試的置信度和精度估算方法
    在無線系統誤碼率測試中,通過在測試前進行置信度和精度估算,可以提高測試結果的可靠性並縮短測試時間,本文介紹加快誤碼率測試的置信度和精度估算方法。
  • 什麼是接收機比特誤碼率(BER)?
    本文轉載自【微信公眾號:通信百科,ID:Txbaike】經微信公眾號授權轉載,如需轉載與原文作者聯繫接收機比特誤碼率即BER(Bit Error Ratio),在光通信中,主要是由於放大器的噪聲和非線性等幹擾造成碼元在傳輸過程中出現差錯,即本應該是0的,在接收端收到為1,為1的在接收端收到為
  • LDPC 碼解碼算法及性能分析應用設計
    1.1 校驗矩陣的構造根據式子n*j = m*k 可知,規則的LDPC碼(n,j,k),當參數n, j, k 確定後,可以得到校驗方程的數目m,則校驗矩陣H 的大小就可以定為m × n.構造LDPC 碼校驗矩陣的一般步驟為:先生成一個m 行n 列的全0矩陣,然後隨機地將每列中的j 個0換成1,每行中的k 個0換成1.但在隨機置l的過程中,必須避免出現長度為4的環[4].
  • 詳談Turbo碼特點及應用分析
    錯誤平層效應指的是在中高信噪比情況下,誤碼曲線變平。也就是說,即使是再增大信噪比,無碼率也降不下來(一般的系統,比如說是BPSK的誤碼曲線,誤碼率隨著信噪比的增大是單調下降的) 。  2. 交織器的設計  交織器是影響Turbo碼性能的一個關鍵因素,它可以便Turbo碼的距離譜細化,即碼重分布更為集中。它的特性的好壞直接關係著Turbo碼的性能。
  • 淺談模擬電路中波特圖技術分析
    打開APP 淺談模擬電路中波特圖技術分析 工程師飛燕 發表於 2018-11-09 09:57:02 在模擬電路中,波特圖佔據一個非常重要的地位
  • Python基礎知識:以實例教你學隨機數產生和字符/ASCII碼轉換操作
    基本實現方法1使用python內置的random模塊產生隨機數,我們知道字符「a」和「z」對應的ASCII碼分別為97和122,所以對於題目要求產生「a」-「z」之間的隨機字符序列,只需使用random模塊產生97-122之間的隨機數,然後將其轉換為對應的字符即可。其中,字符轉數字的函數為ord函數,數字轉字符的函數為chr函數。
  • 高速隨機數發生器簡化眼圖測試(05-100)
    評估數字通信鏈路質量的有效方法之一是眼圖,眼圖給出了每一位(第N位,介於N-1位隨機數和N+1位隨機數之間)的窗口。通信系統工程師一般採用傳統的測試儀器來測量和分析信道的誤碼率。但大部分專業工程師並不這樣做。對他們來說,圖1電路提供了一個替代方法——激勵來自一個數位訊號源。
  • 蒙特卡洛模擬方法及應用案例
    是把概率現象作為研究對象的數值模擬方法。是按抽樣調查法求取統計值來推定未知特性量的計算方法。蒙特卡羅法作為一種計算方法,是由美國數學家烏拉姆與美籍匈牙利數學家馮·諾伊曼在20世紀40年代中葉,為研製核武器的需要而首先提出來的。蒙特卡羅是摩納哥的著名賭城,該法為表明其隨機抽樣的本質而命名,故適用於對離散系統進行計算仿真試驗。
  • 非規則LDPC碼解碼改進算法及其DSP實現
    為了降低非規則低密度奇偶校驗(low-densityparity-check,LDPC)碼解碼算法的複雜度,提出一種適合數位訊號處理囂(digital signal processor,DSP)實現的低運算複雜度、低誤碼平臺解碼的改進
  • 源無關量子隨機數研究獲重要進展—新聞—科學網
    中國科學技術大學郭光燦團隊王雙、韓正甫等人針對源無關量子隨機數系統中測量設備的實際特性,提出測量端由於探測器後脈衝、探測效率不匹配、探測器對光源分布敏感等特性所帶來的安全性問題
  • 淺談隨機漫步理論及其應用實例
    隨機漫步理論的真正含義就是,任何一方都是無法戰勝。 作為股市的早期理論,隨機漫步理論的觀點就是買方與賣方同樣聰明機智,他們都能夠接觸到同樣的情報,因此在買賣的雙方都認為價格公平合理時侯,交易才會完成,股價確切地反應出股票實質。結果,股價無法在買賣的雙方能夠預測的範圍之內變動,其變動基本上都是隨機的。
  • 使用準循環LDPC碼的OFDM系統性能分析
    特別是Mackay等重新發現最初由Gallager提出的低密度校驗碼(LDPC),它在採用長的分塊長度的時候,與Turbo碼有極其相似的性能。但與Turbo碼相比,一方面,LDPC碼的解碼極其簡單;另一方面,良好設計的LDPC碼可以具有簡單的編碼器實現結構,在較低的誤碼率下不存在誤碼平臺。
  • 理論與實踐:隨機噪聲對時序抖動的影響
    引言   時序抖動和時序噪聲屬於人們了解甚少的工程概念,而它們又是模擬設計和數字設計中最重要的參數。尤其是在高速通信系統中,惡劣的抖動性能會導致更高的誤碼率,並限制系統速度。時序抖動一般定義為數位訊號在某一重要時刻相對於其理想時間位置的短時間偏離。
  • 自主創新研發隨機絕熱法首次利用量子模擬識別拓撲序
    近期我國科研人員利用自主創新研發的隨機絕熱法,在全球率先實現利用量子模擬識別二維系統中的Z2拓撲序。這為研究量子物質和實現量子計算打下重要基礎。自主創新研發隨機絕熱法據10月20日消息,這項研究由復旦大學物理學系孔令欣團隊、萬義頓團隊同中國科學技術大學中科院微觀磁共振重點實驗室杜江峰、彭新華團隊共同合作。最新研究成果以研究長文的形式在線發表於國際權威學術期刊《自然·物理》雜誌。近幾十年來,針對新的具有拓撲序物質態的研究成為凝聚態物理的最前沿。
  • 中國科大在源無關量子隨機數研究方面取得新進展
    我校郭光燦院士團隊在源無關量子隨機數研究領域取得新進展。該團隊的王雙、韓正甫等人針對源無關量子隨機數系統中測量設備的實際特性展開研究,提出了測量端由於探測器後脈衝、探測效率不匹配、探測器對光源分布敏感等特性所帶來的安全性問題,並給出了相應的解決方案。
  • 蒙特卡洛模擬方法
    數學家馮·諾伊曼用馳名世界的賭城—摩納哥的Monte Carlo—來命名這種方法,為它蒙上了一層神秘色彩。在這之前,蒙特卡羅方法就已經存在。1777年,法國Buffon提出用投針實驗的方法求圓周率∏。這被認為是蒙特卡羅方法的起源。 很簡單的一個小例子,在長寬都為1cm的正方形中有一個最大圓,如何用數理統計的思想去求解這個面積呢?
  • 模擬信號和數位訊號有什麼區別
    數位訊號也可以轉換為模擬信號。 模擬信號與數位訊號的區別: 模擬信號和數位訊號的最主要的區別是一個是連續的,一個是離散的。模擬信號 模擬信號的優點是直觀且容易實現,但存在兩個主要缺點。 (1) 保密性差 模擬信號,尤其是微波通信和有線明線通信,很容易被竊聽。只要收到模擬信號,就容易得到通信內容。
  • Python學習第130課——蒙特卡洛模擬隨機遊走
    之前我們用代碼實現了醉漢隨機遊走的過程。現在我們用蒙特卡洛模擬計算一下,醉漢在不同的條件下打車回家的概率。我們先定義幾個參數。how_many_steps,表示醉漢走多少步數算完成一次隨機遊走。foot_limit,表示醉漢超過出發的原點多少米就不走了,要打車回家。
  • 淺談Java中的幾種隨機數
    眾所周知,隨機數是任何一種程式語言最基本的特徵之一。而生成隨機數的基本方式也是相同的:產生一個0到1之間的隨機數。看似簡單,但有時我們也會忽略了一些有趣的功能。我們從書本上學到什麼?它的方法必須是通過一個實例來調用,這意味著必須先調用它的構造函數。如果在內存充足的情況下,像上面的表達式是可以接受的;但內存不足時,就會帶來問題。一個簡單的解決方案,可以避免每次需要生成一個隨機數時創建一個新實例,那就是使用一個靜態類。猜你可能想到了java.lang.Math,很好,我們就是改良java.lang.Math的初始化。
  • 王皓毅團隊首次在體外模擬了人類X染色體的隨機失活
    在後續的分化過程中,首次在體外模擬了人類X染色體的隨機失活。該模型為人類XCI的研究提供了高效的平臺,並為X染色體相關疾病的攻克打下堅實的基礎。之前X染色體失活相關研究大部分依賴於小鼠胚胎幹細胞模型,由於X染色體調控在人和鼠的早期胚胎中存在較大差異,建立人類胚胎幹細胞模型模擬