① 糾錯碼的基本原理和性能參數
糾錯碼能夠檢錯或糾錯,主要是靠碼字之間有較大的差別。這可用碼字之間的漢明距離d(x,y)來衡量。它的定義為碼字x與y之間的對應位取不同值的碼元個數。一種糾錯碼的最小距離d定義為該種碼中任兩個碼字之間的距離的最小值。一種碼要能發現e個錯誤,它的最小距離d應不小於e+1。若要能糾正t個錯誤,則d應不小於2t+1。一個碼字中非零碼元的個數,稱為此碼字的漢明重量。一種碼中非零碼字的重量的最小值,稱為該碼的最小重量。對線性碼來說,一種碼的最小重量與其最小距離在數值上是相等的。
在構造線性碼時,數字上是從n維空間中選一k維子空間,且使此子空間內各非零碼字的重量盡可能大。當構造循環碼時,可進一步將每一碼字看成一多項式,將整個碼看成是多項式環中的理想,這一理想是主理想,故可由生成多項式決定;而多項式完全可由它的根規定。這樣,就容易對碼進行構造和分析。這是BCH碼等循環碼構造的出發點。一般地說,構造一種碼時,均設法將它與某種代數結構相聯系,以便對它進行描述,進而推導它的性質,估計它的性能和給出它的解碼方法。若一種碼的碼長為n,碼字數為M,或信息位為h,以及最小距離為d,則可把此碼記作【n,M,d】碼。若此碼為線性碼,常簡記作(n,k)或(n,k,d)碼。人們還常用R=log2M/n表示碼的信息率或簡稱碼率,單位為比特/碼元。R越大,則每個碼元所攜帶的信息量越大,編碼效率越高。 糾錯碼實現中最復雜的部分是解碼。它是糾錯碼能否應用的關鍵。根據式(1),採用的碼長n越大,則誤碼率越小。但n越大,編譯碼設備也越復雜,且延遲也越大。人們希望找到的解碼方法是:誤碼率隨碼長n的增加按指數規律下降;解碼的復雜程度隨碼長n的增加接近線性地增加;解碼的計算量則與碼長n基本無關。可惜,已經找到的碼能滿足這樣要求的很少。不過由於大規模集成電路的發展,即使應用比較復雜的但性能良好的碼,成本也並不太高。因此,糾錯碼的應用越來越廣泛。
糾錯碼傳輸的都是數字信號。這既可用硬體實現,也可用軟體實現。前者主要用各種數字電路,主要是採用大規模集成電路。軟體實現特別適合計算機通信網等場合。因為這時可以直接利用網中的計算機進行編碼和解碼,不需要另加專用設備。硬體實現的速度較高,比軟體可快幾個數量級。
在傳信率一定的情況下,如果採用糾錯碼提高可靠性,要求信道的傳輸率增加,帶寬加大。因此,糾錯碼主要用於功率受限制而帶寬較大的信道,如衛星、散射等系統中。糾錯碼還用在一些可靠性要求較高,但設備或器件的可靠性較差,而餘量較大的場合,如磁帶、磁碟和半導體存儲器等。
在分組碼的研究中,譜分析的方法受到人們的重視。糾同步錯誤碼、算術碼、不對稱碼、不等錯誤糾正碼等,也得到較多的研究。 分組碼是對信源待發的信息序列進行分組(每組K位)編碼,它的校驗位僅同本組的信息位有關。自20世紀50年代分組碼的理論獲得發展以來,分組碼在數字通信和數據存儲系統中已被廣泛應用。
分組碼的碼長n和碼字個數M是一個碼的主要構造參數。碼長為n的碼中所有碼字的位數均為n;若要用一個碼傳送k比特信息,則碼字的個數M必須滿足。典型的分組碼是由k位信息位和r位監督位組成的,這樣構成的碼一般稱為系統碼。
分組碼中應用最廣的線性分組碼。線性分組碼中的M個碼字之間具有一定線性約束關系,即這些碼字總體構成了n維線性空間的一個k維子空間。稱此k維子空間為(n,k)線性分組碼。線性系統碼的特點是每個碼字的前k位均由這個碼字所對應的信息位組成,並通過對這k位信息位的線性運算得到後面n—k是位監督位。
線性分組碼中應用最廣的是循環碼,循環碼的主要特徵是任何碼字在循環移位後個碼字。循環碼的優點在於其編碼和解碼手續比一般線性碼簡單,因而易於在設備上實現。在循環碼中,碼字可表示為多項式。循環碼的碼字多項式都可表示成為循環碼的生成多項式與這個碼字所代表的信息多項式的乘積,即,因此一個循環碼可以通過給出其生成多項式來規定。常用的循環碼有BCH碼和RS碼。
網格碼有多種描述方法,網格圖是常用方法之一,它能表示出編碼過程。一個碼率為1/2、包含四種狀態的網格碼的網格圖如圖所示。圖1中00,01,10,11表示編碼器所具有的四種狀態,以「·」示出,從每一狀態出發都存在兩條支路,位於上面的一條支路對應於編碼器輸入為「0」的情況,位於下面的一條支路對應於編碼器輸入為「1」的情況,而每一支路上所列出的兩個二進位碼則表示相應的編碼輸出。因而可知,編碼輸出不僅決定於編碼器的當前輸入,還決定於編碼器的狀態,例如在圖中從「00」狀態出發;,若輸入的二進制數據序列為1011,則編碼器的狀態轉移過程為00→01→10→01→11,而相應的編碼輸出序列為11010010。在網格圖中任意兩條從同一狀態出發;,經不同的狀態轉移過程後又歸於另一相同狀態(該狀態也可與初始狀態相同)的路徑間的距離的最小值稱為碼的自由距離。如該圖中的為5。對於卷積碼來說,的計算可簡化為始於且終於零狀態的非全零路徑與全零路徑間距離的最小值。是表徵網格碼糾錯能力的重要參數。維特比演算法是廣泛採用的網格碼的解碼方法。由於網格碼的狀態越多,解碼越復雜,所以狀態個數是度量網格碼解碼復雜性的重要參數。一般說來可以通過增大解碼復雜性來增加,從而提高碼的糾錯能力。
BCH碼、網格碼已被廣泛地應用於移動通信、衛星通信和頻帶數據傳輸中。RS碼也被廣泛應用於光碟的存儲中。
大多數糾錯碼是設計來糾隨機誤碼的,可以通過交織的方法使它適用於對突發誤碼的糾錯。交織是一種使得集中出現的突發誤碼在解碼時進行分散化的措施,從而使其不超出糾錯碼的糾錯能力范圍。 卷積碼不對信息序列進行分組編碼,它的校驗元不僅與當前的信息元有關,而且同以前有限時間段上的信息元有關。卷積碼在編碼方法上尚未找到像分組碼那樣有效的數學工具和系統的理論。但在解碼方面,不論在理論上還是實用上都超過了分組碼,因而在差錯控制和數據壓縮系統中得到廣泛應用。
② 糾錯碼的簡介
糾錯碼(error correcting code) ,是在接收端能自動地糾正數據傳輸中所發生差錯的碼。糾錯碼的基本思路是在所有的由發送符號組成的序列中,僅挑出其中一部分做為信息的代表向信道發送,並使得所挑出的這些序列之間有盡可能多的差異。每個被挑出的允許發送的序列被稱為一個碼字,而碼字的總合稱為碼。在發送端把信息變換成碼字的過程稱為編碼;在接收端從接收到的信號判定所發碼字、從而恢復信息的過程稱為解碼(或解碼)。在解碼時,若收到的信號不是碼中的一個碼字,則可以肯定在傳輸中出現了差錯,從而著手對差錯進行糾正。糾錯的方法是找到與接收到的信號最接近的碼字,並將其判定為發送信號。一般採用「距離」來度量信號間的接近程度,一種常用的「距離」稱為漢明距離,它被定義為兩碼字間對應位不同的個數總和。一個給定碼,其全部碼字兩兩之間距離的最小值被稱為這個碼的碼距。碼距是一個碼糾錯能力的重要參數,例如在漢明距離下,若接收到的信號出錯的位數不多於碼距的一半,則接收端總能正確地恢復所發送的碼字,從而正確地恢復所發送的信息。
糾錯編碼又稱信道編碼,它與信源編碼是信息傳輸的兩個方面。它們之間存在對偶的關系。應用信道解碼直接對一些自然信息進行處理,可以去掉剩餘度,以達到壓縮數據的目的。
為了使一種碼具有檢錯或糾錯能力,必須對原碼字增加多餘的碼元,以擴大碼字之間的差別,使一個碼字在一定數目內的碼元上發生錯誤時,不致錯成另一個碼字。准確地說,即把原碼字按某種規則變成有一定剩餘度的碼字,並使每個碼字的碼元間有一定的關系。關系的建立稱為編碼。碼字到達收端後,用編碼時所用的規則去檢驗。如果沒有錯誤,則原規則一定滿足,否則就不滿足。由此可以根據編碼規則是否滿足以判定有無錯誤。當不能滿足時,在可糾能力之內按一定的規則確定錯誤所在的位置,並予以糾正。糾錯並恢復原碼字的過程稱為解碼;碼元間的關系為線性時,稱為線性碼;否則稱為非線性碼。檢錯碼與其他手段結合使用,可以糾錯。檢錯反饋重發系統(ARQ系統)就是一例。
在構造糾錯碼時,將輸入信息分成k位一組以進行編碼。若編出的校驗位僅與本組的信息位有關,則稱這樣的碼為分組碼。若不僅與本組的k個信息位有關,而且與前若干組的信息位有關,則稱為格碼。這種碼之所以稱為格碼,是因為用圖形分析時它象籬笆或格架。線性格碼在運算時為卷積運算,所以叫卷積碼。 R.W.漢明於1950年首先給出可以糾正一個獨立錯誤的線性分組碼──漢明碼。差不多與此同時E.戈雷給出一種可以糾正三個錯誤的完備碼。完備碼雖然十分罕見,但有較大實用意義。1954年D.E.莫勒提出一種能糾正多個錯誤的碼;I.S.里德則立即給出它的解碼方法,用的是擇多判決法,這種碼常稱為RM碼。1957年,E.普勒齊引入了循環碼的概念。1959~1960年出現了BCH碼,引進有限域的概念,解決了循環碼的構造和性能估計等基本問題。後來成為線性分組碼中最重要的一類碼。它能糾正多個錯誤,且在實用范圍內接近信道編碼定理所指出的誤碼率值。但當n增大時,其誤碼率不能呈指數下降。BCH碼的解碼問題是W.W.彼得森解決的;錢天聞則提供了一種系統地搜索根的方法。1967年,E.R.伯利坎普提出一種迭代演算法,大大簡化了解碼,使糾錯碼趨於實用。1970年В.Д.戈帕提出一種線性分組碼的構造方法,原則上它可以達到吉爾伯特限,實現了理論上預期的目標。但至今仍未解決如何具體構造這種碼的問題。
卷積碼最早由P.伊萊亞斯於1955年提出。它的糾錯能力較強,設備復雜程度與分組碼大體相當。首先獲得成功的解碼方法是序列解碼。1967年A.J.維特比提出的解碼演算法,能較好地按最大似然准則解碼,且在許多領域中均可應用。卷積碼還可用代數方法解碼。它的設備雖較簡單,但性能較差。卷積碼在理論上不如分組碼成熟,所用的工具也比較多樣,尚缺乏系統的、統一的方法處理。
分組碼和卷積碼不但可以用來糾正獨立錯誤,而且可以用來恢復刪除錯誤和糾正突發錯誤。如分組碼中有里德-索洛蒙碼,法爾碼等;卷積碼中有岩垂碼及擴散卷積碼等。
為了實現低的誤碼率,根據式(1),要求碼長n較大。但已知的大多數碼,當n變大時不是性能欠佳或者難以構造,就是解碼過分復雜,不容易實現。但是,可以利用好的碼進行級連,以得到性能更好的碼。級連碼的內碼和外碼,用分組碼和卷積碼都可以。這在深空通信中應用較多。
③ LDPC碼或者Turbo碼比BCH碼強嗎 為什麼書上要單獨講。
BCH的本質就是線性循環碼,就是糾正一個錯誤循環碼,編碼也是和循環碼一樣採用生成多項式來編碼的,解碼的方法很多種,常用的硬體解碼電路就是用移位寄存器等主成,軟體解碼有錢搜索等方法,所以一般把BCH碼放在循環碼裡面或者緊挨著循環碼後面講,BCH碼講完了就是講RS碼,因為RS碼就是多進制的BCH碼,他們都是線性碼,應用范圍主要是短距離對碼率要求不高的地方,通信上很少用,但是LDPC和TURBO都不是線性碼,他們和線性循環等碼有本質的區別,無論編碼解碼都有自己的方法,而且這兩種碼都是最近幾年才出來的,LDPC1996年才開始大規模的研究,主要用於遠程移動通信上面,4G裡面用了很多LDPC,這兩種碼也是性能很高的碼,可以接近香農極限,當然,學習這兩種碼也是比較難的,當年我學的差點吐血。
至於哪種碼更好,我覺得不存在這樣一個問題,每個人每種碼都有自己的用處,比如要是用於光碟糾錯,非得BCH來,用於遠程通信,LDPC或者TURBO碼更勝任,沒有比較的意義,總之存在就是合理的,要是有一種碼是萬能的,其他碼就會消失了,你也聽不到那些名字了,所以你所了解到的東西,說明他們都是有用處的。
④ 關於RS碼的英文論文,急啊
摘要:提出了基於歐氏演算法和頻譜分析相結合的RS碼硬體編解碼方法;利用FPGA晶元實現了GF(2 8)上最高速率為50Mbps、最大延時為640ns的流式解碼方案,滿足了高速率的RS編解碼需求。
關鍵詞:RS碼 FPGA 伴隨式 關鍵方程 IDFT
差錯控制編碼技術對改善誤碼率、提高通信的可靠性具重要作用。RS碼既可以糾正隨機錯誤,又可以糾正突發錯誤,具有很強的糾錯能力,在通信系統中應用廣泛。由於RS碼的解碼復雜度高,數字運算量大,常見的硬體及軟體解碼方案大多不能滿足高速率的傳輸需求,一般適用於10Mbps以下。本文提出的歐氏演算法和頻譜結構分析相結合的RS硬體解碼方案,適用於FPGA單片實現,速率高、延遲小、通用性強、使用靈活。筆者在FPGA晶元上實現了GF(2 8)上符號速率為50Mbps的流式解碼方案,最大延時為640ns,參數可以根據需要靈活設置。
1 RS碼的結構
碼字長度為N=q-1(q=2i),生成多項式為,αi∈GF(q)的RS碼有最小碼距δ=2t+1,能夠糾正t個隨機或突發錯誤[1]。本文列舉的方案測試中採用的RS碼主要參數為N=255、m0=0、t=8,其中GF(2 8)的生成多項式為g(x)=x8+x4+x3+x2+1。由於RS碼的編碼邏輯結構比較簡單,文中僅給出模擬結果。
2 RS碼的解碼演算法
RS解碼演算法一般分為三步:伴隨式計算、關鍵方程獲得和錯誤圖樣的求解。其中關鍵方程的獲得是RS解碼中最困難、最為關鍵的一步。
在利用伴隨式求解關鍵方程時,BM演算法和Euclidean(歐氏)演算法是兩種較好的選擇。BM演算法涉及大量的變數存儲和復雜的邏輯控制,適用於軟體編程而不適合硬體實現。歐氏演算法數據存儲量少、控制便捷,適合硬體實現。且採用歐氏演算法確定關鍵方程所需時間與錯誤個數成正比,因此從處理時間上考慮,歐氏演算法也是較好的選擇。
在獲得關鍵方程後,採用時域處理方法,需要大量的運算單元和控制電路,在硬體實現中是不可取的。而採用頻譜結構分析方法,利用最短線性移位寄存器綜合及離散傅氏逆變換進行處理,邏輯簡單、耗時少,適合硬體實現。雖然在傅氏變換時需要較多的邏輯單元,但對GF(2n)在n<10的情況下,變換域解碼器要比時域解碼器簡單得多。因而本文提出歐氏演算法和頻譜結構分析相結合的方案,並在實踐中獲得了較好的效果。
Euclidean演算法[3]步驟如下:
(2)按所列方法進行迭代
3 方案流程
方案流程框圖如圖1所示。
3.1 伴隨式S0,S1,…,S2t-1的計算
令r1,r2,…,rn為接收到的RS碼字,根據系統碼監督矩陣的特性,可構造如圖2所示伴隨式計算電路Si=(((r1αi+r2)αi+r3)αi…+rn,從而實際伴隨式序列的計算。
3.2 利用伴隨式確定關鍵方式
Euclidean演算法的難點主工在於迭代計算過程中存在的被除數多項式和除數多項式長度的不確定性,使每次計算中產生的商序列的長度不等,以及因此可能涉及到的不定長多項式的相乘和相加問題,增加了硬體設計的難度。系統採用了嵌套雙循環的方法,利用'時鍾產生2'控制外循,'時鍾產生1'控制內循環,從而優化了演算法,得到了問題的解決方案。在獲得伴隨式的基礎上,圖3電路可具體完成Euclidean演算法對關鍵方程的求解σ(x)=σtxt+σt-1xt-1+…+σ1x+1。
3.3 利用最短線性移位寄存器綜合和離散傅氏變換獲取錯誤圖樣
在得到關鍵方程後,首先應進行錯誤位置(關鍵方程的根)的確定,這樣可減小電路的規模;利用錢搜索[1](工程上求解σ(x)根的實用方法)的方法可以簡捷的確定錯誤位置。然後,啟動最短線性移位寄存器綜合和離散傅氏逆變換,經過N次(運算所在域的長度)迭代,即可求得對應各個錯誤位置的錯誤圖樣,如圖4所示。用錯誤圖樣對接收碼字進行糾錯,就可得到正確的信息序列。
3.4 RS編解碼在FPGA上的實現
有限域的乘法、加法運算單元和各模塊的控制邏輯設計是系統成功的關鍵。涉及有限域的各個運算單元的運算速度制約了解碼器的速度,而控制邏輯引導了解碼的流程。硬體電路的軟體開發工具給設計復雜電路提供了簡捷思路。系統採用了QUARTUS與第三方軟體相結合的方法,用VHDL語言設計了大部分功能模塊。特別是在乘法器設計中,乘數確定、被乘數不定的有限域乘法器,經邏輯綜合和優化設計後,運算速度可分別在6.8ns和11.6ns內完成,完全可以滿足系統符號速率50Mbps的要求。應該指出,系統速度的進一步提高受到求逆運算的限制,求逆運算沒有明確的數學結構(通常採用查表的方法),這是制約運算速度的瓶頸。但針對流式解碼演算法,上述結構已能滿足要求。
4 模擬結果
4.1 編碼器的模擬
模擬的時鍾頻率為50MHz,在EN為高電平時輸入信息有效。為簡單起見,採用系統碼的縮短型,即信息為(00,00,…,00,02,01,02).編碼器的模擬結果如圖5所示。其中,IN為輸入信息,CLK為系統時鍾,C為編碼輸出(輸入和輸出均為16進制)。
4.2 解碼器的模擬
首先,給出系統的模擬全貌,如圖6所示。其中C為接收到的RS碼,SP為伴隨式S15,shang為運用歐氏演算法得到的商序列,SeryDA為S序列,anssd和ERTD分別對應碼字可能存在的第四個錯誤位置和錯誤值,模擬中的接收碼在位置(105,106,107,108,109,110,111,112)上錯誤均為(01)HEX。
伴隨式的計算結果:S15,S14,…,S1,S0為(FD,8D),CE,4A,51,B2,A1,CA,C4,0D,73,56,A6,F5,01),圖6和圖7中的sp即為S15。
這里重點給出利用伴隨式計算關鍵方程的電路模擬結果,如圖7所示。當輸入伴隨式結果以後,運算電路啟動,在計算商序列的同時進行聯接多項式的迭代運算。歐氏演算法的商序列shang為:(FF,58),(37,92),(50,45),(E9,C7),(F4,B9),(5D,33),(87,8F)。當滿足終止條件以後顯示標志QQC,同時,給出關鍵方程系數如圖7中(AI,AH,AG,AF,AE,AD,AC,AB,AA)即(00,19,2E,EC,A8,AD,41,E6,95),對應有限域上的表達式為:
δ(x)=α193x7+α130x6+α122x5+α144x4+α252x3+α191x2+α160x+α184;有解為(α105,α106,α107,α108,α109,α110,α111),與假定錯誤位置完全一致。然後求解S序列,同時針對各錯誤位置進行IDFT,就可以得到對應的錯誤值。圖6中anssd和ERTD表示位置108上存在的錯誤為(01)HEX。
圖5 編碼器模擬結果
系統模擬表明,解碼器獲得的錯誤位置和錯誤圖案與實際假設的錯誤位置(105,106,107,108,109,110,111)和錯誤值(01)HEX完全一致。
基於APEX架構的可編程單晶元RS編解碼硬體解決方案在中國普天集團西安藍牙通訊設備有限公司的二次群無線擴頻通信機的改造項目中得到了應用。它可用於離散解碼、流式解碼,在添加一級緩存的基礎上,同樣適用於連續解碼。
Abstract : Euclidean algorithm based on the combination of spectral analysis and RS hardware encryption; FPGA chip by GF (2 8), maximum rate of 50Mbps. 640ns delay the flow of the biggest decoding program to meet the demand for high-speed RS encryption. Keywords : RS-key equations with FPGA technology to improve IDFT error control coding error rate. improve communications with the reliability of an important role. RS random error correcting codes can also be corrected burst error correction capability is strong, widely used in communication systems. As RS decoder complexity, the number of large amount of computation. Most common hardware and software decoding program can not meet demand for high-speed transmission. Following are generally applicable to 10 Mbps. Euclidean algorithm and the proposed combination of spectral analysis RS hardware decoding program FPGA chip to achieve that rate, small delay, a strong and flexible. I realized in FPGA GF (2 8) symbols, the flow rate of 50Mbps decoding program maximum delay of 640ns, parameters can be set up based on the need for flexibility. 1 RS code word length of the structure N=q-1 (q=2i) for generating polynomial. α i ∈ GF (q) from the RS code with the smallest δ =2t+1. t random or unexpected error correction [1]. This paper listed in the test parameters for the RS code N=255, m0=0, pH7.5. which GF (2 8) for generating polynomial g (x) =x8+x4+x3+x2+1. As RS encoder logic structure is relatively simple, text only give the simulation results. 2 RS RS code decoding algorithm generally consists of three steps : With computers, The key equation solving and design errors. RS decoding is the key equation is the most difficult and most crucial step. With the use of key-solving equations, BM algorithm and Euclidean (Euclidean) algorithm is two better choices. BM algorithm involves a large number of variables to store and complex control logic applies to software programming without appropriate hardware. Euclidean algorithm for data storage less control convenient and suitable hardware. Also use the Euclidean algorithm to determine the key equation is proportional to the number of errors and the time required, from time to consider. Euclidean algorithm is a good choice. Access to the key equation, using time-domain approach requires a large amount of computational moles and control circuit the hardware is not desirable. Using spectrum analysis method, the shortest inverse linear shift register integrated and discrete Fourier transform, simple logic and less time suitable hardware. While the Fourier transform need more logic unit, but GF (2n) n <10 in the circumstances, Domain encoder decoder is much simpler than the time domain. Euclidean algorithm, and therefore this paper combine spectrum analysis program, and to gain better results in practice. Euclidean algorithm [3] The following steps : (2) 3 iterative methods listed in the program flow program flow chart shown in Figure 1. With 3.1 - S0, S1,…, S2t-1 calculated so r1, r2,…, rnΔyn to receive the RS code word, Under supervision of the character matrix code system. Construction can be calculated as shown in figure 2 with Si= circuit (((r1 - i+r2) - i+r3) - i… +rn. With so that the actual sequence of calculations. With 32,000 officially confirmed the key ways to use the Euclidean algorithm for the main difficulty lies in the iterative process of calculation and arithmetic polynomial length polynomial dividend, the uncertainty Thus, each calculation of the length of the serial range and thus may be involved in the multiplication of polynomials and the sum of variable length. increase the difficulty of hardware design. Two of the nesting cycle system using the method of 'Clock 2' control through. 'Clock 1' inner loop control, optimize the algorithm, a solution to the problem. The ceremony was accompanied by the foundation, Figure 3 circuit can be completed Euclidean algorithm specific key equations of σ (x) = σ txt+ σ t-1xt-1+… + σ 1x+1. 330 linear shift register using the shortest access to integrated and discrete Fourier transform has been key in the wrong design equation, First, should the wrong location (the root of the key equation) determined that this will rece the size of circuits; use the money to search [1] (works for σ (x) root practical method), a simple method to determine the wrong location. Then, shortest start inverse linear shift register integrated and discrete Fourier transform, through N (computational domain where the length) iteration. be all wrong location corresponding to the wrong design, as shown in figure 4. Drawing on the takeover code used for correcting mistakes. can get the correct message sequence. RS 3.4 encryption in the FPGA to achieve limited domain multiplication, Adder moles and the molar design of the control logic systems is the key to success. Operation of the various moles involved in the limited domain of the decoder speed computational speed constraints, and control logic guiding the decoding process. Hardware complexity of circuit design software development tools to provide a simple idea. QUARTUS system with a combination of third-party software. VHDL design of most functional moles. especially in the multiplier, multiplier determined. multiplicand volatile finite field multiplier, logic synthesis and optimization design, 11.6ns 6.8ns and the computational speed can be completed. Symbol rate of 50Mbps system can meet the requirements. It should be noted that further improve the system by inverse calculation speed restrictions no clear inverse calculation of the mathematical structure (look-up table method is usually used). This is a bottleneck restricting the operation speed. However, in view of flow algorithm. the structure can meet the above requirements. 4 simulation results of the simulation 4.1 encoder clock frequency of 50MHz. EN input to the generator when the information effectively. for the sake of simplicity, the use of the shortened code systems, information (00, 00…, 00,02,01,02). The simulation results shown in Figure 5 encoder. Among them, IN to input information, for the system clock CLK, C coding output (both input and output, 16-ary). Simulation 4.2 Decoder First, The simulation gives the whole picture, as illustrated in figure 6. C for receipt of the RS code, as with SP-S15. shang Euclidean algorithm for the use of the serial, SeryDA S Series, anssd ERTD corresponding code and the fourth may be wrong position and erroneous values Simulation code in the receiving position (105,106,107,108,109,110,111. 112) were wrong (01) HEX. With results like : S15, S14,…, S1. S0 (FD,8D) CE,4A,51, B2, A1, CA, C4,0D,73,56, A6, F5,01) Figure 6 and Figure 7 sp namely the S15. With the focus here is calculated by using the key to the equation circuit simulation results shown in figure 7. When the input syndrome result, the circuit operation in the calculation of serial link at the same time polynomial iteration. Euclidean algorithm serial shang : (FF,58), (37,92), (50,45). (E9, C7), (F4, B9), (5D,33), (87,8F). When shown signs QQC meet after the termination conditions, while the key equation coefficients is given in Figure 7 (AI AH AG. AF, AE, AD, AC, AB, AA) : (00,19,2E, EC, A8, AD,41, E6,95) limited domain corresponding to the formula : δ (x) = α - 122x5+ 130x6+ 193x7+ α - α 191x2+ 252x3+ 144x4+ α - α 184; 160x+ Solution (α 105, - 106, - 107, - 108, - 109, - 110, - 111). exactly the same position with the wrong assumptions. And then the S Series, IDFT against the wrong location, it could be the wrong response value. 6 anssd ERTD plan and said there is the wrong position for the 108 (01) HEX. Figure 5 encoder System Simulation results show that Decoder the wrong place and wrong patterns and the actual position of the erroneous assumption (105,106,107. 108,109,110,111) and the wrong values (01) HEX totally consistent. RS APEX structure based on a programmable chip encryption hardware solutions in China Putian Group Limited, the second group Xi'an Bluetooth wireless communication equipment spread spectrum communication mechanism has been applied to the reconstruction project. It can be used for discrete decoding, streaming decoding, in addition to the basic level cache, the same applies to successive decoding.
⑤ RS解碼是什麼
RS碼是一種糾錯能力很強的多進制BCH碼,能夠糾正隨機錯誤和突發錯誤,廣泛應用於各種差錯編碼中。針對不同的碼型,保密通信中的首選碼型為RS(31,15)碼。該文分析了這種編解碼方法的基本原理以及編解碼演算法的運算步驟,並利用Verilog硬體描述語言在FPGA硬體平台上完成了編解碼實現,驗證了編解碼的正確性,並使用流水線技術優化設計。
⑥ 常用差錯控制編碼有哪些
常用的差錯控制編碼方法有:奇偶校驗、恆比碼、矩陣碼、循環冗餘校驗碼、卷積碼、Turbo碼。
1、奇偶校驗
奇偶校驗是一種校驗代碼傳輸正確性的方法。根據被傳輸的一組二進制代碼的數位中「1」的個數是奇數或偶數來進行校驗。採用奇數的稱為奇校驗,反之,稱為偶校驗。
採用何種校驗是事先規定好的。通常專門設置一個奇偶校驗位,用它使這組代碼中「1」的個數為奇數或偶數。若用奇校驗,則當接收端收到這組代碼時,校驗「1」的個數是否為奇數,從而確定傳輸代碼的正確性。
2、恆比碼
恆比碼一般指定比碼 。
定比碼是指一組碼中1和0的碼元個數成一定比例的一種編碼。換言之,它是選用比特序列中1和0碼元之比例為定值,所以又稱為恆比碼。定比碼是一種常用的檢錯碼。
3、矩陣碼
矩陣碼屬二維條碼的一種,是將圖文和數據編碼後,轉換成一個二維排列的多格黑白小方塊圖形。
矩陣式二維條形碼是以矩陣的形式組成,在矩陣相應元素位置上,用點(Dot)的出現表示二進制的 「1」,不出現表示二進制的 「0」,點的排列組合確定了矩陣碼所代表的意義。其中點可以是方點、圓點或其它形狀的點。矩陣碼是建立在電腦圖像處理技術、組合編碼原理等基礎上的圖形符號自動辨識的碼制,已較不適合用「條形碼」稱之。
4、循環冗餘校驗碼
循環冗餘校驗碼(CRC),簡稱循環碼,是一種常用的、具有檢錯、糾錯能力的校驗碼,在早期的通信中運用廣泛。循環冗餘校驗碼常用於外存儲器和計算機同步通信的數據校驗。奇偶校驗碼和海明校驗碼都是採用奇偶檢測為手段檢錯和糾錯的(奇偶校驗碼不具有糾錯能力),而循環冗餘校驗則是通過某種數學運算來建立數據位和校驗位的約定關系的。
5、卷積碼
卷積碼將k個信息比特編成n個比特,但k和n通常很小,特別適合以串列形式進行傳輸,時延小。卷積碼的糾錯性能隨m的增加而增大,而差錯率隨N的增加而指數下降。在編碼器復雜性相同的情況下,卷積碼的性能優於分組碼。
6、Turbo碼
Turbo碼是Claude.Berrou等人在1993年首次提出的一種級聯碼。Turbo碼有一重要特點是其解碼較為復雜,比常規的卷積碼要復雜的多,這種復雜不僅在於其解碼要採用迭代的過程,而且採用的演算法本身也比較復雜。這些演算法的關鍵是不但要能夠對每比特進行解碼,而且還要伴隨著解碼給出每比特譯出的可靠性信息,有了這些信息,迭代才能進行下去。
(6)糾正突發錯誤的編解碼擴展閱讀:
差錯控制編碼是指在實際信道上傳輸數字信號時,由於信道傳輸特性不理想及加性雜訊的影響,所收到的數字信號不可避免地會發生錯誤。
為了在已知信噪比的情況下達到一定的誤比特率指標,首先應合理設計基帶信號,選擇調制、解調方式,採用頻域均衡和時域均衡,使誤比特率盡可能降低,但若誤比特率仍不能滿足要求,則必須採用信道編碼,即差錯控制編碼。
差錯控制編碼的基本做法是:在發送端被傳輸的信息序列上附加一些監督碼元,這些多餘的碼元與信息碼元之間以某種確定的規則相互關聯(約束)。接收端按照既定的規則檢驗信息碼元與監督碼元之間的關系,一旦傳輸過程中發生差錯,則信息碼元與監督碼元之間的關系將受到破壞,從而可以發現錯誤,乃至糾正錯誤。研究各種編碼和解碼方法正式差錯控制編碼所要解決的問題。
⑦ 交織編碼的模擬原理
在實際通信系統中常常存在突發性錯誤。突發錯誤一般是一個錯誤序列。糾正突發錯誤的通常採用交織編碼。交織編碼的基本思路是,將i個能糾t個錯的分組碼(n,k)中的碼元比特排列成i行n列的方陣。每個碼元比特記作B(i,n)。交織前如果遇到連續j個比特的突發錯誤(用陰影方塊表示),且j>>t,對其中的連續兩個碼組而言,錯誤數已遠遠大於糾錯能力t,因而無法正確對出錯碼組進行糾錯。交織後,總的比特數不變,傳輸次序由原來的B(1,1),B(1,2),B(1,3)…B(1,n),B(2,1),B(2,2),B(2,3)…B(2,n),……B(i,1),B(i,2),B(i,3)…B(i,n)轉變為B(1,1),B(2,1),B(3,1)…B(i,1),B(1,2),B(2,2),B(3,2)…B(i,2)………B(1,n),B(2,n),B(3,n),…B(i,n)的次序。此時因干擾或衰落引起的突發錯誤圖樣正好落在分組碼的糾錯能力范圍內,可以正確糾錯錯誤。通常把碼組數i稱為交織度,用這種方法構造的碼稱為交織碼。 使用交織編碼的好處是提高了抗突發錯誤的能力但不增加新的監督碼元,從而不會降低編碼效率。理論上交織度i越大,抗突發錯誤的能力就越強,但是要求解碼器的暫存區就越大,而且解碼延時也相應加大。因此,實際工程中會根據設計成本和系統的延時要求選取合適的i。
交織編碼的模擬實驗原理在進行交織編碼以前,先將數據用戈雷碼編碼器進行了糾錯編碼,然後再進行23行、23列的交織編碼。在傳輸信道上用了一個周期為1Hz、脈寬為100ms、幅度為2V的方波信號模擬突發錯誤。圖12.28為輸入數據、解碼輸出及被干擾產生突發錯誤的波形覆蓋示意圖。100ms的突發錯誤被完全糾正。由於使用交織編碼所以應該存在2倍的編碼、解碼延時,即2×23×23個采樣。因此要觀察到一個以上完整的反交織周期的數
據信號,系統的采樣點數應該稍微設置長一些。
除此之外,SystemView還提供了另外一個交織編碼器圖符——卷積交織編碼。當使用較短的移位寄存器時,該編碼器比上述實驗中先進行BCH編碼再交織的方法實時性要好,而且參數設置也相對簡單。
⑧ 大學學習的《通信原理》科目大概是講什麼的
1.緒論
通信系統和通信網的構成,信源、信宿和信號,信源編解碼設備,信道及信道編解碼設備,交換設備
2.確定信號分析
確定信號的分類,周期信號的傅利葉級數分析,傅利葉變換,,能量譜密度和功率譜密度,確定信號的相關函數,卷積,希爾伯特變換,解析信號,頻帶信號與帶通系統
3. 隨機過程
隨機過程的統計(概率)特性,平穩隨機過程,高斯隨機過程(正態),平穩隨機過程通過線性系統,高斯白雜訊,窄帶平穩隨機過程,餘弦波加窄帶平穩高斯隨機過程,匹配濾波器,循環平穩隨機過程
4. 模擬通信系統
幅度調制,雙邊帶抑制載波調幅(DSB/SC AM),具有離散大載波的雙邊帶幅度調制(AM),單邊帶調幅(SSB AM),殘留邊帶調幅(VSB AM),角度調制,線性調制系統的抗雜訊性能,角度調制系統的抗雜訊性能,頻分復用
5.數字信號的基帶傳輸
數字基帶信號波形及其功率譜密度,AWGN下數字基帶信號的接收,數字PAM信號通過限帶基帶信道的傳輸,在理想限帶及加性白高斯雜訊干擾信道條件下數字PAM信號,眼圖,信道均衡,部分響應系統
6. 數字信號的頻帶傳輸
二進制數字信號正弦型載波調制,四相移相鍵控,M進制數字調制,恆包絡連續相位調制
7. 信源和信源編碼
信息熵,互信息I(X;Y),無失真離散信源編碼,信息率失真R(D)函數,失真信源編碼定理與限失真信源編碼,連續信源的限失真編碼,數字化基本原理,取樣,量化,相關信源的限失真信源編碼
8. 信道
信道的定義和分類,信道的數學模型,參信道特性及其對信號傳輸的影響,隨參信道特性及其對信號傳輸的影響,分集接收,信道容量,信道復用
9. 信道編碼
線性分組碼,循環,BCH碼,卷積碼,糾正突發錯誤碼,交織,級聯碼,Turbo碼
10. 正交碼與偽隨機碼
正交碼,偽隨機碼,Gold碼
11.通信網的基本知識
通信網的組成要素和性能要求,交換技術的基本原理,信令和協議
⑨ 糾錯編碼的分類
1.自動請求重發(ARQ)
採用這種方法時,當接收端檢測到所接收的信息有錯以後,通過反向信道向發送端要求重發原信息,直到接收端認可為止,從而達到糾正誤碼的目的。這種方法的優點是糾錯編解碼設備簡單,但需要具備反向信道,且實時性較差。
2.前向糾錯(FEC)
前向差錯控制編碼的基本做法是在發送端被傳輸的信息序列上附加一些監督碼元,這些多餘的監督碼元與信息碼元之間以某種確定的規則相互關聯(約束)。接收端按照既定的關聯規則檢驗信息碼元與監督碼元之間的關系,一旦傳輸過程中發生差錯,則信息碼元與監督碼元之間的關系將受到破壞,從而可以發現錯誤,乃至糾正錯誤。具體說就是接收端對接收到的碼字施加一定的演算法,從而發現誤碼並予以糾正。這種方式的優點是不需要反向信道,糾錯編解碼的實時性較好。缺點是糾錯編解碼較復雜,且糾錯能力有限。
3.混合糾錯(HEC)
該方式是前兩種方式的結合。接收端對所接收的碼流中少量的誤碼可通過前向糾錯方式進行自動糾正;而對超過前向糾正能力的誤碼,但能檢測出來,則接收端通過反向信道請求發端重發,以此對錯碼加以糾正。
以上三種差錯控制方式可以用圖1來概括。無論採用那種糾錯方法,都要在原信息中插入冗餘碼才能實現糾錯或檢錯。由於前向糾錯方法簡單,不需要反向信道,且能實時實現。因此在實時圖像通信系統中,多採用前向糾錯的方法來進行對圖像信號和系統控制信號的差錯控制。
4.BCH糾錯編碼
實測表明,對圖像信息進行了BCH(511,493)的糾錯處理,通過增加4%的冗餘度信息可以將信道誤碼率由10-6改善到10-9,從而確保了圖像信息的可靠傳輸。
糾錯碼的實現框圖如圖2所示,圖像數據首先被分成一個個的493比特的數據組,組與組之間空18比特,有待於插入校驗位。圖像數據組進入BCH糾錯編碼單元,按照上述的BCH(511,493)的演算法,算出18位校驗位。延時單元主要的目的就是補償BCH編碼所花費的時間,使得經編碼輸出的校驗位和相應的數據剛好對齊,然後將兩者復合起來形成一路經BCH糾錯編碼的圖像信號送至多路復用單元和音頻、數據信號進行多路復用。
圖1差錯控制方式
圖2糾錯編碼框圖
在接收端,解碼器對圖像進行BCH解碼。在解碼電路中,解碼器根據18位校驗信號對相應的493點陣圖像信號進行驗算,如果圖像數據中有一位隨機誤碼,則通過這樣的校驗可以將它們自動糾正。如果有2位,則可以將它檢測出來。
5.比特交織
在實際應用中,還可以將比特交織和前向糾錯相結合,以期進一步提高糾錯能力,如圖3所示。FEC和編碼交織在分組前完成,在接收端通過反交織可以使突發錯誤分散開來,這樣,具有糾隨機錯誤能力的糾錯碼能糾突發錯誤,這在無線或分組視頻通信中特別有效。
圖3FEC和比特交織
⑩ 在工程應用中應用的最多的誤差檢驗碼和誤差糾錯碼分別是哪兩種
在工程應用中,應用的最多的誤差檢驗碼和誤差糾錯碼分別是奇偶校驗碼和漢明碼。
由於存在干擾,二進制信息在傳輸過程中會出現錯誤。為發現並糾正錯誤,提高數字設備的抗干擾能力,必須使代碼具有發現錯誤並糾正的能力,這種代碼稱為誤差檢驗碼(Error-detectingCodes)。最常用的誤差檢驗碼為奇偶校驗碼。它的編碼方法是在信息碼組外增加一位監督碼元,增加監督碼元後,使得整個碼組中「1」碼元的數目為奇數或為偶數。若為奇數,稱為奇校驗碼(Oddparity);若為偶數,稱為偶校驗碼(Evenparity)。
奇偶校驗碼的特點:
1、奇偶校驗碼可以檢測單向單錯。
2、奇偶校驗碼中,信息碼和校驗碼是可以分離的,故稱為可分離碼。
3、無需任何附加電路可以從收到的奇偶校驗碼中取得信息碼,從而簡化了解碼過程。
誤差糾錯碼又稱誤差信道編碼,它與信源編碼是信息傳輸的兩個方面。它們之間存在對偶的關系。應用信道解碼直接對一些自然信息進行處理,可以去掉剩餘度,以達到壓縮數據的目的。在計算、電信、資訊理論和編碼理論中,糾錯碼用於控制不可靠或嘈雜的通信信道上的數據錯誤。中心思想是發送者以ECC的形式用冗餘信息對消息進行編碼。冗餘允許接收器檢測在消息中任何地方可能發生的有限數量的錯誤,並且通常無需重傳即可糾正這些錯誤。美國數學家RichardHamming在1940年代開創了這一領域,並於1950年發明了糾錯碼:Hamming(7,4)碼。
最常用的誤差糾錯碼為漢明碼,漢明碼是一種能糾一位錯的線性分組碼,由於它的編解碼簡單,在數據通信和計算機存儲系統中廣泛應用,如在藍牙技術和硬碟陣列中。它的最小碼距為3,可以糾正一位錯誤,但對於兩位錯不能檢測,還可能會造成誤糾。盡管發生一位錯的概率相對最高,但在一些要求較高的應用中漢明碼不能滿足要求。合理地用k位數據位形成r個校驗位的值,即保證用k個數據位中不同的數據位組合來形成每個校驗位的值,使任何一個數據位出錯時,蔣影響r個校驗位中不同的校驗位組合起變化。換言之,通過檢查是哪種校驗位組合起了變化,就能確定是哪個數據位錯,對該位求反則實現糾錯。有時兩位錯與某種情況的一位錯對校驗位組合的影響相同,必須加以區分與解決。