《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于VHDL的線性分組碼編譯碼器設(shè)計
基于VHDL的線性分組碼編譯碼器設(shè)計
摘要: 在通信系統(tǒng)中,由于信道存在大量的噪聲和干擾,使得經(jīng)信道傳輸后的接收碼與發(fā)送碼之間存在差異,出現(xiàn)誤碼。在數(shù)字通信系統(tǒng)中常采用差錯控制信道編碼技術(shù),以此來減少傳輸過程的誤碼,提高數(shù)字通信系統(tǒng)的傳輸質(zhì)量。
Abstract:
Key words :

  在通信系統(tǒng)中,由于信道存在大量的噪聲和干擾,使得經(jīng)信道傳輸后的接收碼與發(fā)送碼之間存在差異,出現(xiàn)誤碼。在數(shù)字通信系統(tǒng)中常采用差錯控制信道編碼技術(shù),以此來減少傳輸過程的誤碼,提高數(shù)字通信系統(tǒng)的傳輸質(zhì)量。它的基本原理是:發(fā)送端的信道編碼器在信息碼元序列中按照一定的關(guān)系加入一些冗余碼元(稱為監(jiān)督碼元),使得原來相關(guān)性很小的信息碼元產(chǎn)生某種相關(guān)性,從而在接收端利用這種相關(guān)性來檢查并糾正信息碼元在傳輸中引起的差錯。冗余度的引入提高了傳輸?shù)目煽啃?,但降低了傳輸效率?/p>

  1 線性分組碼

  分組碼是由一組固定長度為n,稱之為碼字的矢量構(gòu)成的。線性分組編碼時,將每k個信息位分為一組獨立處理,按一定規(guī)則給每個信息組增加(n-k)個監(jiān)督碼元,組成長度為n的二進(jìn)制碼字,這種編碼方式記為是(n,k)分組碼。信息位和監(jiān)督位采用的關(guān)系式由一組線性方程所決定,稱之為線性分組碼。

  若線性分組碼的輸入信息位為U=(U0,U1,…,Uk),編碼輸出為C=(C0,C1,…,Cn),則有如下關(guān)系:

公式

  式中:G為線性分組碼的生成矩陣;H為監(jiān)督矩陣。當(dāng)G確定后,編碼的方法就完全確定了,而H給定后,編碼時監(jiān)督位和信息位的關(guān)系也就確定了。因此,在設(shè)計分組碼編碼器時,需要確定生成矩陣G;在設(shè)計分組碼譯碼器時,需要確定監(jiān)督矩陣H。

  2 線性分組碼編譯碼器設(shè)計

  2.1 線性分組碼編碼器設(shè)計

  設(shè)公式,由于生成矩陣G是k行n列,所以k=3,n=6,改(n,k)碼為(6,3)碼。根據(jù)生成矩陣和式(1)運算后得到相應(yīng)的編碼。即由:

公式

  可得:

公式

  COUT=(C0,C1,C2,C3,C4,C5)為編碼輸出,其中前3個分量為增加的監(jiān)督碼元,后3個為原輸入信息位。

 

  2.2 線性分組碼譯碼器設(shè)計

  將生成矩陣G進(jìn)行初等運算:原矩陣的第2,3,1行分別作為典型矩陣的第1,2,3行,可得典型生成矩陣:

公式

  于是,典型監(jiān)督矩陣H為:

公式

  監(jiān)督碼元與信息碼元之間的關(guān)系稱為監(jiān)督方程式(監(jiān)督關(guān)系式),監(jiān)督矩陣的每行中“1”的位置表示相應(yīng)碼元之間存在的監(jiān)督關(guān)系,即下述三個監(jiān)督方程:

公式

  發(fā)送的碼字C=(C0,C1,…,Cn)。e表示傳輸中的差錯;Y表示接收的碼字。如果碼字在傳輸過程中沒有出現(xiàn)差錯,則有公式HYT=HeT=O;出現(xiàn)差錯時,則有,S=eHT。其中,S稱為伴隨子,又稱為校正子。由于S只與序列傳輸中的差錯e有關(guān),因此在編碼的能力之內(nèi),一定的e序列必然對應(yīng)一定的S組合??梢栽诮邮諜C(jī)中做好對應(yīng)表,然后根據(jù)序列S準(zhǔn)確地判斷差錯位置,再根據(jù)出錯位置進(jìn)行糾正,可得到正確的譯碼輸出。根據(jù)式(2)可計算接收矢量Y的伴隨子S=Y·HT。這里:

公式

  錯誤圖樣即校正子與錯碼位置的關(guān)系,因為r=3,所以有3個校正子,相應(yīng)的有3個監(jiān)督關(guān)系式。將式(3)改寫為:

公式

  則可得由伴隨子S決定對應(yīng)的錯誤圖樣集e,即為典型監(jiān)督矩陣的轉(zhuǎn)置HT,如表1所示。

錯誤圖樣表

  3 仿真及分析

  圖1、圖2分別為線性仿真分組編碼器、譯碼器電路的仿真波形。圖中各參數(shù)含義如下:clk是系統(tǒng)時鐘信號輸入;UI是編碼器中三位線性分組碼的輸入;CO是編碼器中六位編碼的輸出;Y是解碼器中六位編碼的輸入;c是解碼器中六位譯碼的輸出。

線性仿真分組編碼器

  在圖1、圖2中,截取了仿真的部分波形進(jìn)行分析,產(chǎn)生的六位編碼CO、六位譯碼Y完全依據(jù)線性分組碼的編譯碼規(guī)則,任意兩個許用碼組之和(逐位模2加)仍為一許用碼組,即具有封閉性。

  4 結(jié)語

  對線性分組碼編、譯碼器的設(shè)計基于VHDL(硬件描述語言),與傳統(tǒng)設(shè)計相比較,采用VHDL語言設(shè)計的線性分組碼編、譯碼器無需考慮具體電路的實現(xiàn),只需要掌握編譯碼原理,根據(jù)相應(yīng)的編譯碼規(guī)則轉(zhuǎn)換成VHDL語言,大大減少了設(shè)計人員的工作量,提高了設(shè)計的準(zhǔn)確性和效率。程序已在Max+PlusⅡ10.O工具軟件上進(jìn)行了編譯、仿真和調(diào)試。經(jīng)過實驗結(jié)果的分析,說明本設(shè)計是正確的。本文給出的設(shè)計思想也適用于其他基于PLD芯片的系統(tǒng)設(shè)計。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。