在通信系統中,由于信道存在大量的噪聲和干擾,使得經信道傳輸后的接收碼與發送碼之間存在差異,出現誤碼。在數字通信系統中常采用差錯控制信道編碼技術,以此來減少傳輸過程的誤碼,提高數字通信系統的傳輸質量。它的基本原理是:發送端的信道編碼器在信息碼元序列中按照一定的關系加入一些冗余碼元(稱為監督碼元),使得原來相關性很小的信息碼元產生某種相關性,從而在接收端利用這種相關性來檢查并糾正信息碼元在傳輸中引起的差錯。冗余度的引入提高了傳輸的可靠性,但降低了傳輸效率。
1 線性分組碼
分組碼是由一組固定長度為n,稱之為碼字的矢量構成的。線性分組編碼時,將每k個信息位分為一組獨立處理,按一定規則給每個信息組增加(n-k)個監督碼元,組成長度為n的二進制碼字,這種編碼方式記為是(n,k)分組碼。信息位和監督位采用的關系式由一組線性方程所決定,稱之為線性分組碼。
若線性分組碼的輸入信息位為U=(U0,U1,…,Uk),編碼輸出為C=(C0,C1,…,Cn),則有如下關系:
式中:G為線性分組碼的生成矩陣;H為監督矩陣。當G確定后,編碼的方法就完全確定了,而H給定后,編碼時監督位和信息位的關系也就確定了。因此,在設計分組碼編碼器時,需要確定生成矩陣G;在設計分組碼譯碼器時,需要確定監督矩陣H。
2 線性分組碼編譯碼器設計
2.1 線性分組碼編碼器設計
設
,由于生成矩陣G是k行n列,所以k=3,n=6,改(n,k)碼為(6,3)碼。根據生成矩陣和式(1)運算后得到相應的編碼。即由:
可得:
COUT=(C0,C1,C2,C3,C4,C5)為編碼輸出,其中前3個分量為增加的監督碼元,后3個為原輸入信息位。
2.2 線性分組碼譯碼器設計
將生成矩陣G進行初等運算:原矩陣的第2,3,1行分別作為典型矩陣的第1,2,3行,可得典型生成矩陣:
于是,典型監督矩陣H為:
監督碼元與信息碼元之間的關系稱為監督方程式(監督關系式),監督矩陣的每行中“1”的位置表示相應碼元之間存在的監督關系,即下述三個監督方程:
發送的碼字C=(C0,C1,…,Cn)。e表示傳輸中的差錯;Y表示接收的碼字。如果碼字在傳輸過程中沒有出現差錯,則有HYT=HeT=O;出現差錯時,則有,S=eHT。其中,S稱為伴隨子,又稱為校正子。由于S只與序列傳輸中的差錯e有關,因此在編碼的能力之內,一定的e序列必然對應一定的S組合。可以在接收機中做好對應表,然后根據序列S準確地判斷差錯位置,再根據出錯位置進行糾正,可得到正確的譯碼輸出。根據式(2)可計算接收矢量Y的伴隨子S=Y·HT。這里:
錯誤圖樣即校正子與錯碼位置的關系,因為r=3,所以有3個校正子,相應的有3個監督關系式。將式(3)改寫為:
則可得由伴隨子S決定對應的錯誤圖樣集e,即為典型監督矩陣的轉置HT,如表1所示。
3 仿真及分析
圖1、圖2分別為線性仿真分組編碼器、譯碼器電路的仿真波形。圖中各參數含義如下:clk是系統時鐘信號輸入;UI是編碼器中三位線性分組碼的輸入;CO是編碼器中六位編碼的輸出;Y是解碼器中六位編碼的輸入;c是解碼器中六位譯碼的輸出。
在圖1、圖2中,截取了仿真的部分波形進行分析,產生的六位編碼CO、六位譯碼Y完全依據線性分組碼的編譯碼規則,任意兩個許用碼組之和(逐位模2加)仍為一許用碼組,即具有封閉性。
4 結語
對線性分組碼編、譯碼器的設計基于VHDL(硬件描述語言),與傳統設計相比較,采用VHDL語言設計的線性分組碼編、譯碼器無需考慮具體電路的實現,只需要掌握編譯碼原理,根據相應的編譯碼規則轉換成VHDL語言,大大減少了設計人員的工作量,提高了設計的準確性和效率。程序已在Max+PlusⅡ10.O工具軟件上進行了編譯、仿真和調試。經過實驗結果的分析,說明本設計是正確的。本文給出的設計思想也適用于其他基于PLD芯片的系統設計。
-
編碼器
+關注
關注
45文章
3663瀏覽量
135027 -
譯碼器
+關注
關注
4文章
312瀏覽量
50408 -
vhdl
+關注
關注
30文章
817瀏覽量
128258
發布評論請先 登錄
相關推薦
評論