<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 基于TMS320C54X的RS 變織 卷積的級聯糾錯碼

    時間:2024-06-28 18:17:54 理工畢業論文 我要投稿
    • 相關推薦

    基于TMS320C54X的RS 變織 卷積的級聯糾錯碼

    摘要:糾錯編碼被廣泛應用在各種數字通訊、數字廣播和數據存儲系統中。隨著單片機、DSP和FPGA等器件的發展,越來越容易在各種通用硬件平臺上實現糾錯編碼。本文基于TI的54系列DSP,實現由常用RS碼、卷積編碼、Viterbi解碼、交織技術構成的級聯碼,并提供編碼原理和實現方案。

    隨著越來越多的系統采用數字技術來實現,糾錯編碼技術也得到了越來越廣泛的應用。如GSM標準中,對語音的信道編碼采用卷積糾錯、分組碼檢錯。美國的蜂窩數字分組數據系統(CDPD)中采用了m=6的(63,47)RS(Reed Solomon)碼。CDMA標準中,主要包括卷積編碼(Turbo碼等)、交織編碼、幀循環校驗等。DVD采用RS糾錯編碼。近些年來,隨著軟件無線電技術的發展,糾錯編碼一般都在通用的硬件平臺上實現,這樣有利于保證靈活性和通用性。通常采用基于FPGA的VHDL編碼硬件實現,或者在DSP、單片機上用C和匯編編程軟件實現。本文基于TMS320C54X的DSP,實現一種RS 交織 卷積的級聯糾錯碼。

    1 級聯糾錯編碼原理

    糾錯編碼技術是通過引入可控制的冗余來提高系統的可靠性。它的理論基石是1948年Shannon在《通信的數字理論》中提出的著名的有擾信道編碼定理。糾錯碼按照不同的分類標準,有著不同的分類。我們常用的是按照對信息元處理的不同方法來分類的,分為分組碼和卷積碼。分組碼是把信源輸出的信息序列,以k個碼元劃分為一段,通過編碼器把這段的k個信息元,按一定規則產生r個校驗(監督)元,輸出長為n=k r的一個碼組。比較常用的有BCH碼、RS碼、Hamming碼等。卷積碼是把輸出信源輸出的信息序列,以k0個(k0通常小于k)碼元分為段,通過編碼器輸出長為n0(≥通常小于k)碼元分為一段,通過編碼器輸出長為n0(≥通常小于k)碼元分為一段,通過編碼器輸出為n0(≥k0)的一的碼以。但是該碼段的n0-k0個校驗元不僅與本組的信息有關,而且也與其前m段信息元有關,稱m為編碼存儲。因此卷積碼用(n0,k0,k)表示。

    由信道編碼理論可知,隨著碼長n的增加,解碼錯誤概率以指數方式趨近于零。因此,為提高糾錯碼的有效性,就必須使用長碼。但碼長增加,碼率會相應下降,解碼設備的復雜性與計算量也相應增加,級聯碼有針對性的解決這了一矛盾。它將編碼過程分為前后串行的幾級完成,可以滿足信道糾錯對編碼長度的要求,得到與長碼相同的糾錯能力和高編碼增益;而且增加的編/解碼復雜度不是很大。其原理示意框圖如圖1所示。

    級聯碼有內碼和外碼兩級,內碼是GF(2)上的一個[n,k]碼,外碼是GF(2k)上的[N,K]壽終正寢,編碼規則如下。

    ①先將k×k個二進制信息元劃分成K段,每段有k個信息元。

    ②每段的k個信息元可看成是GF(2k)上的一個符號。將K個符號按外碼的編碼規則編成一個外碼,碼長為N,有K個信息符號,N-K個校驗符號,最小碼距為do,碼率Ro=K/N。

    ③外碼的每一個符號,看成是k個二進制碼元的碼組,輸入內碼編碼器,得到一個內存,碼長n,有n-k個校驗元,最小碼距為di,碼率Ri=k/n,由此得到N個[n,k]內碼的碼字序徇。兩級編碼總共得到N×n個二進制碼元,K×k個信息元,組成[K×n,K×k,do×di]級聯碼的碼。

    我們選用的外碼為RS(31,15)碼,生成多項式為G(X)=1 x2 x3,內碼用卷積碼(2,1,7),其生成多項式G0=171,G1=131(都是八進制)。RS碼是GF(q)(q!=2)上,碼長N=q-1的本原BCH碼,具有很強的糾錯能力,其最大可能的最小距離是校驗元的個數加1,因而RS碼是一種極大最小距離可分碼(MDS),是一種最佳的線性循環碼。本例中使用的RS(31,15)碼的漢明距為17,可以糾8個錯誤。交織技術是抗突發干擾的重要手段,它是采用一個交織矩陣,存儲方向與發送時的方向不一樣,從而將突發錯誤離散化,提高抗突發干擾的能力。本方案中RS編碼按行存儲,發送時按列,并且對每列都進行卷積編碼,可以抵抗8×列長的突發干擾。卷積編碼Viterbi軟判決解碼,可以充分的利用各個碼組之間的相關性,提高很高的編碼增益。各個組成碼和級聯后的糾錯性能仿真圖如圖2所示。

    2 級聯碼的DSP編程實現

    由于RS碼和卷積碼的Viterbi解碼運算量都很大,所以需要大量的存儲空間。本方案中實現在100kbps的信道上,RS碼的解碼運算量為8MIPS,Viterbi解碼需要14MIPS。整個編解碼程序需要24MIPS,因而選用在TMS320C54X芯片上實現。使用TI公司推出有XXA進行編程開發,考慮到編程的可移植性、可讀性和效率,采用C語言與DSP匯編語言混合編程實現。Viterbi解碼的算法由于程序運算量很大,采用DSP匯編語言來實現,蓁部分結構如圖3所示。下面我們分別對整個系統中的關鍵部分RS碼迭代解碼和卷積碼Viterbi解碼中的編程進行闡述。

    2.1 RS碼迭代解碼的實現

    RS解碼分頻域解碼和時域解碼,比較常用的解碼方法是時域的迭代解碼。解碼的主要步驟如下:①由接收碼字r(x)求出部分伴隨式Si的值,若Si全為0,則輸出接收碼字r(x);②由伴隨式Si求出σi(i=1,2,…K),確定差錯多項式σ(x);③通過搜索法得到σ(x)的根,進一步確定差錯位置βi;

    ④由部分伴隨式Si及其差錯位置βi求出差錯大小;⑤由差錯位置和差錯大小求出誤碼多項式e(x),計算c(x)=r(x)-e(x);⑥校驗是否成立,若成立,則輸出c(x),否則輸出r(x)。

    程序設計的關鍵在于域中運算的實現。對于中的乘法,可以采用指數形式表示元素,從而將相乘運算轉換成相加運算。對于域中的加法,我們采用矢量形式表示,從而將加法運算轉換成位異或運算。因而我們需要設計兩張查找表,當遇到加法運算時,可以很方便的將元素從指數形式轉換成矢量形式;遇到乘法時,可以將元素從矢量從指數形式轉換成矢量形式;遇到乘法時,可以將元素從矢量形式轉換成多項式形式。下面給出的是GF(2 4)域中,元素從指數形式轉換矢量形式查表Alpha_to,由矢量形式轉換成指數形式查表Index_of,其中域的生成多項式是g(x)=x5 x2 1。

    Int Index_of[]={-1,3

    【基于TMS320C54X的RS 變織 卷積的級聯糾錯碼】相關文章:

    基于卷積曲面的臉部皺紋生成03-07

    基于CPLD的RS485通信實現方法研究03-07

    基于RS-485總線的土工膜水力性能測試系統03-18

    基于熵變的企業品牌擴展控制03-22

    擴頻系統中卷積編碼的Verilog設計與仿真03-07

    基于單片機的選頻表自動變步長的設計實現03-19

    RS-485總線的理論與實踐12-04

    基于μC/OS-Ⅱ的變頻器變結構控制系統設計03-18

    TMS320C54x系列DSP中的應用03-19

    主站蜘蛛池模板: 日本aⅴ精品中文字幕| 国产精品第13页| 国产精品人成在线播放新网站| 成人午夜精品网站在线观看 | 精品国内片67194| 东京热TOKYO综合久久精品| 国产精品人成在线播放新网站| 精品人妻伦一二三区久久| 国产精品JIZZ在线观看老狼| 亚洲国产精品lv| 国产精品毛片一区二区| 精品福利一区二区三区免费视频| 久久精品国产亚洲AV高清热| 精品视频无码一区二区三区| 久久久精品日本一区二区三区| 久久精品国产欧美日韩| 国产精品一二二区| 久久棈精品久久久久久噜噜| 久久精品成人一区二区三区| 日本人精品video黑人| 国产精品白浆在线观看免费| 亚洲精品乱码久久久久久蜜桃图片| 亚洲精品国产美女久久久| 国产精品内射视频免费| 国产精品手机在线| 国产精品污WWW在线观看| 少妇人妻偷人精品免费视频| 500av大全导航精品| 中文无码久久精品| 久久精品国产亚洲av麻豆小说| 日本一区二区三区精品国产| 亚洲国产精品特色大片观看完整版| 国产精品无码专区在线观看| 亚洲国产精品一区二区第一页免| 日本伊人精品一区二区三区| 无码人妻精品一区二| 欧美精品色婷婷五月综合| 久久99国内精品自在现线| 亚洲欧美精品丝袜一区二区| 国产午夜精品无码| 久久精品亚洲日本波多野结衣 |