无线通信中FEC 编码原理及评价
轉自:http://blog.csdn.net/wiznet2012/article/details/7492146
大家好,前面我們給大家介紹了無線通信中FEC編碼原理(1)和(2),今天繼續獻上FEC編碼原理及評價(3),關于不同FEC種類的評價,希望對大家有所幫助~
對于不同FEC的評價
這里我們介紹一些典型的FEC的應用并且做出一些解釋和評價。我們根據不同的使用將這一部分分為兩塊。
1.互聯網中的FEC
這一部分,我們主要關注三個FEC的例子。
(1)Hamming碼
Hamming碼是由Hamming在1950年最初使用的,它是一種線性的糾錯碼,能自動監測出兩個同時出現的比特錯誤并且糾正其中一個。這要比基礎的奇偶校驗碼有效。
Hamming碼不僅有很好的性能,而且它的編碼和解碼的電路都非常的簡單并且易于實施。所以,它被廣泛應用于小的電腦中。但是,Hamming碼不能用于兩個或兩個以上錯誤比特的糾正。
Hamming碼的例子
2)CRC碼
CRC,是Cyclic Redundancy Check的縮寫,是通信系統中最普遍也是最強大的錯誤檢測碼。它根據信息字段的長度而設計,而校驗字段的長度可以隨意選擇。
利用CRC進行的錯誤檢測的過程可以簡單的描述為:發送端產生一段k比特的二進制碼序列,之后根據特定的規則得出CRC碼并附在原始碼字后面。這個具有(k+r)比特的二進制碼序列就可以被發送了。傳輸過程之后,接收端根據原始碼與CRC碼之間的規則檢測到其中是否有錯誤。
CRC在互聯網及其他領域的應用非常廣泛,因為它具有很強的錯誤檢測能力,低成本并且易于實現。CRC不能檢測到錯誤的概率僅為0.0047%或更少。對于性能和成本來講,CRC要比奇偶校驗和算術檢測要好的多。但是,CRC也很有可能會對于不同的信息產生相同的CRC碼,尤其是當大量信息同時出現的時候。在這種情況下,CRC將會出現錯誤并且對于接收方重建原始信息增加了困難。例如,接收方必須要逐個比特進行檢查來避免錯誤,這樣會增加很多處理時間,所以,我們需要高性能的發送端和接收端。還有,CRC顯然并不適合只具有低端CPU的設備。
CRC碼的計算
(3)BCH碼
BCH碼,最初由Bose、Ray-Chaudhuri and Hocquenghem提出,是Cyclic碼的另一種重要分支。它具有糾正多個錯誤的能力。BCH碼有嚴格的代數理論,是一種被最深入研究的編碼方式。
BCH碼的理論優勢就是它的解碼非常簡便,通過被稱為綜合解碼的代數方法來進行解碼。這種方法只需要非常簡單的電子硬件來完成這一任務,并不需要電腦。這樣,解碼的設備就可以做的很小并且需要很少的能源。所以,在BCH碼的幫助下,我們可以利用低端的CPU和小型的設備高效的完成錯誤糾正,比如我們的手機。
無線通信中FEC 編碼原理及評價(2)請參考:http://blog.csdn.net/wiznet2012/article/details/7468178
總結
以上是生活随笔為你收集整理的无线通信中FEC 编码原理及评价的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Spring开发的DUBBO服务接口
- 下一篇: LeetCode 24 Swap Nod