0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

采用VHDL語言實(shí)現(xiàn)線性分組碼編/譯碼器的設(shè)計(jì)與仿真驗(yàn)證

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-05-03 08:24 ? 次閱讀

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

1 線性分組碼

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

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

采用VHDL語言實(shí)現(xiàn)線性分組碼編/譯碼器的設(shè)計(jì)與仿真驗(yàn)證

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

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

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

設(shè)

采用VHDL語言實(shí)現(xiàn)線性分組碼編/譯碼器的設(shè)計(jì)與仿真驗(yàn)證

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

采用VHDL語言實(shí)現(xiàn)線性分組碼編/譯碼器的設(shè)計(jì)與仿真驗(yàn)證

可得:

采用VHDL語言實(shí)現(xiàn)線性分組碼編/譯碼器的設(shè)計(jì)與仿真驗(yàn)證

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

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

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

采用VHDL語言實(shí)現(xiàn)線性分組碼編/譯碼器的設(shè)計(jì)與仿真驗(yàn)證

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

采用VHDL語言實(shí)現(xiàn)線性分組碼編/譯碼器的設(shè)計(jì)與仿真驗(yàn)證

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

采用VHDL語言實(shí)現(xiàn)線性分組碼編/譯碼器的設(shè)計(jì)與仿真驗(yàn)證

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

采用VHDL語言實(shí)現(xiàn)線性分組碼編/譯碼器的設(shè)計(jì)與仿真驗(yàn)證

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

采用VHDL語言實(shí)現(xiàn)線性分組碼編/譯碼器的設(shè)計(jì)與仿真驗(yàn)證

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

采用VHDL語言實(shí)現(xiàn)線性分組碼編/譯碼器的設(shè)計(jì)與仿真驗(yàn)證

3 仿真及分析

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

采用VHDL語言實(shí)現(xiàn)線性分組碼編/譯碼器的設(shè)計(jì)與仿真驗(yàn)證

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

4 結(jié)語

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


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編碼器
    +關(guān)注

    關(guān)注

    45

    文章

    3646

    瀏覽量

    134657
  • 譯碼器
    +關(guān)注

    關(guān)注

    4

    文章

    311

    瀏覽量

    50357
  • vhdl
    +關(guān)注

    關(guān)注

    30

    文章

    817

    瀏覽量

    128159
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    線性分組碼原理

    線性分組碼原理線性分組碼的構(gòu)成方式是把信息序列分成每k 個(gè)碼元一段,并由這k 個(gè)碼元按一定規(guī)則產(chǎn)生r 個(gè)校驗(yàn)位,組成長(zhǎng)度為n = k + r 的碼字,用(n, k) 表示。信息碼元與校
    發(fā)表于 05-30 16:02

    截短Reed-Solomon譯碼器的FPGA實(shí)現(xiàn)

    截短Reed-Solomon譯碼器的FPGA實(shí)現(xiàn)提出了一種改進(jìn)的BM算法,并在此基礎(chǔ)上提出了一種大量采用并行結(jié)構(gòu)的截短RS
    發(fā)表于 09-19 09:39

    基于vhdl語言(15,7)bch譯碼器程序設(shè)計(jì)

    對(duì)不同的設(shè)計(jì)方法進(jìn)行分析和比較,選擇優(yōu)化的設(shè)計(jì)方法,利用VHDL分別設(shè)計(jì)(15,7)BCH的編碼譯碼器,并能夠?qū)刹糠诌M(jìn)行單獨(dú)仿真調(diào)試
    發(fā)表于 05-10 11:36

    如何利用VHDL實(shí)現(xiàn)線性分組碼譯碼器的設(shè)計(jì)?

    如何利用VHDL實(shí)現(xiàn)線性分組碼譯碼器的設(shè)計(jì)?
    發(fā)表于 04-28 06:41

    怎么實(shí)現(xiàn)RS編譯碼器的設(shè)計(jì)?

    本文研究了RS實(shí)現(xiàn)方法,并基于Xilinx的FPGA芯片Spartan-6 XC6SLX45完成了RS編譯碼器的設(shè)計(jì),同時(shí)對(duì)其進(jìn)行了仿真和在線調(diào)試,并給出了功能
    發(fā)表于 06-21 06:23

    分組碼,分組碼 是什么意思

    分組碼,分組碼 是什么意思 分組碼是一組固定長(zhǎng)度的組,可表示為(n , k),通常它用于前向糾錯(cuò)。在分組碼中,監(jiān)督位被加到信息位之后,形
    發(fā)表于 03-17 17:40 ?1w次閱讀

    線性分組碼,線性分組碼是什么意思

    線性分組碼,線性分組碼是什么意思 分組碼是一組固定長(zhǎng)度的組,可表示為(n , k),通常
    發(fā)表于 04-03 12:08 ?1w次閱讀

    空時(shí)分組碼預(yù)編碼的均衡算法

    為了提高正交空時(shí)分組碼的MIMO系統(tǒng)性能,提出了采用預(yù)編碼的空時(shí)分組碼信號(hào)檢測(cè)方案,該方案在發(fā)射端將正交分組編碼和預(yù)編碼矩陣相結(jié)合,在接收端采用
    發(fā)表于 05-03 18:09 ?0次下載

    基于FPGA的RS譯碼器的設(shè)計(jì)

    介紹了符合CCSDS標(biāo)準(zhǔn)的RS(255,223)譯碼器的硬件實(shí)現(xiàn)結(jié)構(gòu)。譯碼器采用8位并行時(shí)域譯碼
    發(fā)表于 01-25 16:43 ?68次下載
    基于FPGA的RS<b class='flag-5'>碼</b><b class='flag-5'>譯碼器</b>的設(shè)計(jì)

    數(shù)字通信系統(tǒng)中基于線性分組碼的交織檢測(cè)

    數(shù)字通信系統(tǒng)中基于線性分組碼的交織檢測(cè)_張玉
    發(fā)表于 01-07 16:06 ?0次下載

    RS編碼的實(shí)現(xiàn)方法與基于FPGA的RS編譯碼器的設(shè)計(jì)

    提出了RS編碼的實(shí)現(xiàn)方法,并對(duì)編碼進(jìn)行了時(shí)序仿真仿真結(jié)果表明,該譯碼器實(shí)現(xiàn)良好的糾錯(cuò)功能。 RS(ReedSolomon)
    發(fā)表于 10-17 11:21 ?47次下載
    RS編碼的<b class='flag-5'>實(shí)現(xiàn)</b>方法與基于FPGA的RS編<b class='flag-5'>譯碼器</b>的設(shè)計(jì)

    基于RS譯碼器設(shè)計(jì)和仿真

    (;A平臺(tái),利用Xilinx lSE軟件和Verilog硬件描述語言,對(duì)譯碼器中各個(gè)子模塊進(jìn)行了設(shè)計(jì)和仿真。整個(gè)譯碼器設(shè)計(jì)過程采用流水線處理
    發(fā)表于 11-07 15:27 ?15次下載
    基于RS<b class='flag-5'>譯碼器</b>設(shè)計(jì)和<b class='flag-5'>仿真</b>

    采用FPGA芯片實(shí)現(xiàn)多碼率QC-LDPC譯碼器的設(shè)計(jì)與測(cè)試

    的重視。基于準(zhǔn)循環(huán)LDPC(QC-LDPC)結(jié)構(gòu)特點(diǎn),提出了一種支持多種碼率QC-LDPC 譯碼器的設(shè)計(jì)方法,并設(shè)計(jì)實(shí)現(xiàn)了一個(gè)能夠?qū)崟r(shí)自適應(yīng)支持三個(gè)不同H 陣的通用QC-LDPC 譯碼器
    的頭像 發(fā)表于 01-08 09:22 ?3295次閱讀
    <b class='flag-5'>采用</b>FPGA芯片<b class='flag-5'>實(shí)現(xiàn)</b>多碼率QC-LDPC<b class='flag-5'>譯碼器</b>的設(shè)計(jì)與測(cè)試

    使用VHDL硬件描述語言實(shí)現(xiàn)基帶發(fā)生的程序設(shè)計(jì)與仿真

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用VHDL硬件描述語言實(shí)現(xiàn)基帶發(fā)生的程序設(shè)計(jì)與仿真免費(fèi)下載。
    發(fā)表于 01-20 13:44 ?16次下載
    使用<b class='flag-5'>VHDL</b>硬件描述<b class='flag-5'>語言實(shí)現(xiàn)</b>基帶<b class='flag-5'>碼</b>發(fā)生<b class='flag-5'>器</b>的程序設(shè)計(jì)與<b class='flag-5'>仿真</b>

    深度解讀VHDL語言的卷積和Viterbi譯碼實(shí)現(xiàn)

    介紹并用VHDL語言實(shí)現(xiàn)了卷積編碼和維特比譯碼。根據(jù)編碼特征設(shè)計(jì)了一種具有針對(duì)性的簡(jiǎn)潔的維特比譯碼器結(jié)構(gòu),
    的頭像 發(fā)表于 05-12 15:22 ?2518次閱讀
    深度解讀<b class='flag-5'>VHDL</b><b class='flag-5'>語言</b>的卷積<b class='flag-5'>碼</b>和Viterbi<b class='flag-5'>譯碼</b>的<b class='flag-5'>實(shí)現(xiàn)</b>