基于TMS320C54X的RS+變織+卷積的級(jí)聯(lián)糾錯(cuò)碼
發(fā)布時(shí)間:2008/5/26 0:00:00 訪問次數(shù):854
來(lái)源:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)應(yīng)用 作者:解放軍理工大學(xué) 羅愛國(guó)
摘要:糾錯(cuò)編碼被廣泛應(yīng)用在各種數(shù)字通訊、數(shù)字廣播和數(shù)據(jù)存儲(chǔ)系統(tǒng)中。隨著單片機(jī)、dsp和fpga等器件的發(fā)展,越來(lái)越容易在各種通用硬件平臺(tái)上實(shí)現(xiàn)糾錯(cuò)編碼。本文基于ti的54系列dsp,實(shí)現(xiàn)由常用rs碼、卷積編碼、viterbi解碼、交織技術(shù)構(gòu)成的級(jí)聯(lián)碼,并提供編碼原理和實(shí)現(xiàn)方案。
關(guān)鍵詞:rs碼 viterbi解碼 級(jí)聯(lián)糾錯(cuò)碼隨著越來(lái)越多的系統(tǒng)采用數(shù)字技術(shù)來(lái)實(shí)現(xiàn),糾錯(cuò)編碼技術(shù)也得到了越來(lái)越廣泛的應(yīng)用。如gsm標(biāo)準(zhǔn)中,對(duì)語(yǔ)音的信道編碼采用卷積糾錯(cuò)、分組碼檢錯(cuò)。美國(guó)的蜂窩數(shù)字分組數(shù)據(jù)系統(tǒng)(cdpd)中采用了m=6的(63,47)rs(reed solomon)碼。cdma標(biāo)準(zhǔn)中,主要包括卷積編碼(turbo碼等)、交織編碼、幀循環(huán)校驗(yàn)等。dvd采用rs糾錯(cuò)編碼。近些年來(lái),隨著軟件無(wú)線電技術(shù)的發(fā)展,糾錯(cuò)編碼一般都在通用的硬件平臺(tái)上實(shí)現(xiàn),這樣有利于保證靈活性和通用性。通常采用基于fpga的vhdl編碼硬件實(shí)現(xiàn),或者在dsp、單片機(jī)上用c和匯編編程軟件實(shí)現(xiàn)。本文基于tms320c54x的dsp,實(shí)現(xiàn)一種rs+交織+卷積的級(jí)聯(lián)糾錯(cuò)碼。
1 級(jí)聯(lián)糾錯(cuò)編碼原理
糾錯(cuò)編碼技術(shù)是通過引入可控制的冗余來(lái)提高系統(tǒng)的可靠性。它的理論基石是1948年shannon在《通信的數(shù)字理論》中提出的著名的有擾信道編碼定理。糾錯(cuò)碼按照不同的分類標(biāo)準(zhǔn),有著不同的分類。我們常用的是按照對(duì)信息元處理的不同方法來(lái)分類的,分為分組碼和卷積碼。分組碼是把信源輸出的信息序列,以k個(gè)碼元?jiǎng)澐譃橐欢危ㄟ^編碼器把這段的k個(gè)信息元,按一定規(guī)則產(chǎn)生r個(gè)校驗(yàn)(監(jiān)督)元,輸出長(zhǎng)為n=k+r的一個(gè)碼組。比較常用的有bch碼、rs碼、hamming碼等。卷積碼是把輸出信源輸出的信息序列,以k0個(gè)(k0通常小于k)碼元分為段,通過編碼器輸出長(zhǎng)為n0(≥通常小于k)碼元分為一段,通過編碼器輸出長(zhǎng)為n0(≥通常小于k)碼元分為一段,通過編碼器輸出為n0(≥k0)的一的碼以。但是該碼段的n0-k0個(gè)校驗(yàn)元不僅與本組的信息有關(guān),而且也與其前m段信息元有關(guān),稱m為編碼存儲(chǔ)。因此卷積碼用(n0,k0,k)表示。
由信道編碼理論可知,隨著碼長(zhǎng)n的增加,解碼錯(cuò)誤概率以指數(shù)方式趨近于零。因此,為提高糾錯(cuò)碼的有效性,就必須使用長(zhǎng)碼。但碼長(zhǎng)增加,碼率會(huì)相應(yīng)下降,解碼設(shè)備的復(fù)雜性與計(jì)算量也相應(yīng)增加,級(jí)聯(lián)碼有針對(duì)性的解決這了一矛盾。它將編碼過程分為前后串行的幾級(jí)完成,可以滿足信道糾錯(cuò)對(duì)編碼長(zhǎng)度的要求,得到與長(zhǎng)碼相同的糾錯(cuò)能力和高編碼增益;而且增加的編/解碼復(fù)雜度不是很大。其原理示意框圖如圖1所示。
級(jí)聯(lián)碼有內(nèi)碼和外碼兩級(jí),內(nèi)碼是gf(2)上的一個(gè)[n,k]碼,外碼是gf(2k)上的[n,k]壽終正寢,編碼規(guī)則如下。
①先將k×k個(gè)二進(jìn)制信息元?jiǎng)澐殖蒶段,每段有k個(gè)信息元。
②每段的k個(gè)信息元可看成是gf(2k)上的一個(gè)符號(hào)。將k個(gè)符號(hào)按外碼的編碼規(guī)則編成一個(gè)外碼,碼長(zhǎng)為n,有k個(gè)信息符號(hào),n-k個(gè)校驗(yàn)符號(hào),最小碼距為do,碼率ro=k/n。
③外碼的每一個(gè)符號(hào),看成是k個(gè)二進(jìn)制碼元的碼組,輸入內(nèi)碼編碼器,得到一個(gè)內(nèi)存,碼長(zhǎng)n,有n-k個(gè)校驗(yàn)元,最小碼距為di,碼率ri=k/n,由此得到n個(gè)[n,k]內(nèi)碼的碼字序徇。兩級(jí)編碼總共得到n×n個(gè)二進(jìn)制碼元,k×k個(gè)信息元,組成[k×n,k×k,do×di]級(jí)聯(lián)碼的碼。
我們選用的外碼為rs(31,15)碼,生成多項(xiàng)式為g(x)=1+x2+x3,內(nèi)碼用卷積碼(2,1,7),其生成多項(xiàng)式g0=171,g1=131(都是八進(jìn)制)。rs碼是gf(q)(q!=2)上,碼長(zhǎng)n=q-1的本原bch碼,具有很強(qiáng)的糾錯(cuò)能力,其最大可能的最小距離是校驗(yàn)元的個(gè)數(shù)加1,因而rs碼是一種極大最小距離可分碼(mds),是一種最佳的線性循環(huán)碼。本例中使用的rs(31,15)碼的漢明距為17,可以糾8個(gè)錯(cuò)誤。交織技術(shù)是抗突發(fā)干擾的重要手段,它是采用一個(gè)交織矩陣,存儲(chǔ)方向與發(fā)送時(shí)的方向不一樣,從而將突發(fā)錯(cuò)誤離散化,提高抗突發(fā)干擾的能力。本方案中rs編碼按行存儲(chǔ),發(fā)送時(shí)按列,并且對(duì)每列都進(jìn)行卷積編碼,可以抵抗8×列長(zhǎng)的突發(fā)干擾。卷積編碼viterbi軟判決解碼,可以充分的利用各個(gè)碼組之間的相關(guān)性,提高很高的編碼增益。各個(gè)組成碼和級(jí)聯(lián)后的糾錯(cuò)性能仿真圖如圖2所示。
2 級(jí)聯(lián)碼的dsp編程實(shí)現(xiàn)由于rs碼和卷積碼的viterbi解碼運(yùn)算量都很大,所以需要大量的存儲(chǔ)空間。本方案中實(shí)現(xiàn)在100kbps的信道上,rs碼的解碼運(yùn)算量為8mips,viterbi解碼需要14mips。整個(gè)編解碼程序需要24mips,因而選用在tms320c54x芯片上實(shí)現(xiàn)。使用ti公司推出有xxa進(jìn)行編程開發(fā),考慮到編程的可移植性、可讀性和效率,采用c語(yǔ)言與dsp匯編語(yǔ)言混合編程實(shí)現(xiàn)。viterbi解碼的算法由于程序運(yùn)算量很大,采用dsp匯編語(yǔ)言來(lái)實(shí)現(xiàn),蓁部分結(jié)構(gòu)如圖3所示。下面我們分別對(duì)整個(gè)系統(tǒng)中的關(guān)鍵部分r
來(lái)源:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)應(yīng)用 作者:解放軍理工大學(xué) 羅愛國(guó)
摘要:糾錯(cuò)編碼被廣泛應(yīng)用在各種數(shù)字通訊、數(shù)字廣播和數(shù)據(jù)存儲(chǔ)系統(tǒng)中。隨著單片機(jī)、dsp和fpga等器件的發(fā)展,越來(lái)越容易在各種通用硬件平臺(tái)上實(shí)現(xiàn)糾錯(cuò)編碼。本文基于ti的54系列dsp,實(shí)現(xiàn)由常用rs碼、卷積編碼、viterbi解碼、交織技術(shù)構(gòu)成的級(jí)聯(lián)碼,并提供編碼原理和實(shí)現(xiàn)方案。
關(guān)鍵詞:rs碼 viterbi解碼 級(jí)聯(lián)糾錯(cuò)碼隨著越來(lái)越多的系統(tǒng)采用數(shù)字技術(shù)來(lái)實(shí)現(xiàn),糾錯(cuò)編碼技術(shù)也得到了越來(lái)越廣泛的應(yīng)用。如gsm標(biāo)準(zhǔn)中,對(duì)語(yǔ)音的信道編碼采用卷積糾錯(cuò)、分組碼檢錯(cuò)。美國(guó)的蜂窩數(shù)字分組數(shù)據(jù)系統(tǒng)(cdpd)中采用了m=6的(63,47)rs(reed solomon)碼。cdma標(biāo)準(zhǔn)中,主要包括卷積編碼(turbo碼等)、交織編碼、幀循環(huán)校驗(yàn)等。dvd采用rs糾錯(cuò)編碼。近些年來(lái),隨著軟件無(wú)線電技術(shù)的發(fā)展,糾錯(cuò)編碼一般都在通用的硬件平臺(tái)上實(shí)現(xiàn),這樣有利于保證靈活性和通用性。通常采用基于fpga的vhdl編碼硬件實(shí)現(xiàn),或者在dsp、單片機(jī)上用c和匯編編程軟件實(shí)現(xiàn)。本文基于tms320c54x的dsp,實(shí)現(xiàn)一種rs+交織+卷積的級(jí)聯(lián)糾錯(cuò)碼。
1 級(jí)聯(lián)糾錯(cuò)編碼原理
糾錯(cuò)編碼技術(shù)是通過引入可控制的冗余來(lái)提高系統(tǒng)的可靠性。它的理論基石是1948年shannon在《通信的數(shù)字理論》中提出的著名的有擾信道編碼定理。糾錯(cuò)碼按照不同的分類標(biāo)準(zhǔn),有著不同的分類。我們常用的是按照對(duì)信息元處理的不同方法來(lái)分類的,分為分組碼和卷積碼。分組碼是把信源輸出的信息序列,以k個(gè)碼元?jiǎng)澐譃橐欢,通過編碼器把這段的k個(gè)信息元,按一定規(guī)則產(chǎn)生r個(gè)校驗(yàn)(監(jiān)督)元,輸出長(zhǎng)為n=k+r的一個(gè)碼組。比較常用的有bch碼、rs碼、hamming碼等。卷積碼是把輸出信源輸出的信息序列,以k0個(gè)(k0通常小于k)碼元分為段,通過編碼器輸出長(zhǎng)為n0(≥通常小于k)碼元分為一段,通過編碼器輸出長(zhǎng)為n0(≥通常小于k)碼元分為一段,通過編碼器輸出為n0(≥k0)的一的碼以。但是該碼段的n0-k0個(gè)校驗(yàn)元不僅與本組的信息有關(guān),而且也與其前m段信息元有關(guān),稱m為編碼存儲(chǔ)。因此卷積碼用(n0,k0,k)表示。
由信道編碼理論可知,隨著碼長(zhǎng)n的增加,解碼錯(cuò)誤概率以指數(shù)方式趨近于零。因此,為提高糾錯(cuò)碼的有效性,就必須使用長(zhǎng)碼。但碼長(zhǎng)增加,碼率會(huì)相應(yīng)下降,解碼設(shè)備的復(fù)雜性與計(jì)算量也相應(yīng)增加,級(jí)聯(lián)碼有針對(duì)性的解決這了一矛盾。它將編碼過程分為前后串行的幾級(jí)完成,可以滿足信道糾錯(cuò)對(duì)編碼長(zhǎng)度的要求,得到與長(zhǎng)碼相同的糾錯(cuò)能力和高編碼增益;而且增加的編/解碼復(fù)雜度不是很大。其原理示意框圖如圖1所示。
級(jí)聯(lián)碼有內(nèi)碼和外碼兩級(jí),內(nèi)碼是gf(2)上的一個(gè)[n,k]碼,外碼是gf(2k)上的[n,k]壽終正寢,編碼規(guī)則如下。
①先將k×k個(gè)二進(jìn)制信息元?jiǎng)澐殖蒶段,每段有k個(gè)信息元。
②每段的k個(gè)信息元可看成是gf(2k)上的一個(gè)符號(hào)。將k個(gè)符號(hào)按外碼的編碼規(guī)則編成一個(gè)外碼,碼長(zhǎng)為n,有k個(gè)信息符號(hào),n-k個(gè)校驗(yàn)符號(hào),最小碼距為do,碼率ro=k/n。
③外碼的每一個(gè)符號(hào),看成是k個(gè)二進(jìn)制碼元的碼組,輸入內(nèi)碼編碼器,得到一個(gè)內(nèi)存,碼長(zhǎng)n,有n-k個(gè)校驗(yàn)元,最小碼距為di,碼率ri=k/n,由此得到n個(gè)[n,k]內(nèi)碼的碼字序徇。兩級(jí)編碼總共得到n×n個(gè)二進(jìn)制碼元,k×k個(gè)信息元,組成[k×n,k×k,do×di]級(jí)聯(lián)碼的碼。
我們選用的外碼為rs(31,15)碼,生成多項(xiàng)式為g(x)=1+x2+x3,內(nèi)碼用卷積碼(2,1,7),其生成多項(xiàng)式g0=171,g1=131(都是八進(jìn)制)。rs碼是gf(q)(q!=2)上,碼長(zhǎng)n=q-1的本原bch碼,具有很強(qiáng)的糾錯(cuò)能力,其最大可能的最小距離是校驗(yàn)元的個(gè)數(shù)加1,因而rs碼是一種極大最小距離可分碼(mds),是一種最佳的線性循環(huán)碼。本例中使用的rs(31,15)碼的漢明距為17,可以糾8個(gè)錯(cuò)誤。交織技術(shù)是抗突發(fā)干擾的重要手段,它是采用一個(gè)交織矩陣,存儲(chǔ)方向與發(fā)送時(shí)的方向不一樣,從而將突發(fā)錯(cuò)誤離散化,提高抗突發(fā)干擾的能力。本方案中rs編碼按行存儲(chǔ),發(fā)送時(shí)按列,并且對(duì)每列都進(jìn)行卷積編碼,可以抵抗8×列長(zhǎng)的突發(fā)干擾。卷積編碼viterbi軟判決解碼,可以充分的利用各個(gè)碼組之間的相關(guān)性,提高很高的編碼增益。各個(gè)組成碼和級(jí)聯(lián)后的糾錯(cuò)性能仿真圖如圖2所示。
2 級(jí)聯(lián)碼的dsp編程實(shí)現(xiàn)由于rs碼和卷積碼的viterbi解碼運(yùn)算量都很大,所以需要大量的存儲(chǔ)空間。本方案中實(shí)現(xiàn)在100kbps的信道上,rs碼的解碼運(yùn)算量為8mips,viterbi解碼需要14mips。整個(gè)編解碼程序需要24mips,因而選用在tms320c54x芯片上實(shí)現(xiàn)。使用ti公司推出有xxa進(jìn)行編程開發(fā),考慮到編程的可移植性、可讀性和效率,采用c語(yǔ)言與dsp匯編語(yǔ)言混合編程實(shí)現(xiàn)。viterbi解碼的算法由于程序運(yùn)算量很大,采用dsp匯編語(yǔ)言來(lái)實(shí)現(xiàn),蓁部分結(jié)構(gòu)如圖3所示。下面我們分別對(duì)整個(gè)系統(tǒng)中的關(guān)鍵部分r
熱門點(diǎn)擊
- 高性能語(yǔ)音撥號(hào)器的設(shè)計(jì)與實(shí)現(xiàn)
- 基于IDL的SAR圖像處理及質(zhì)量評(píng)估系統(tǒng)
- 高性能浮點(diǎn)DSP芯片TMS320VC33
- 基于TMS320VC5416的多路加速度采集
- ADSP-TSl01的DMA在紅外圖像處理系
- 多通道故障信號(hào)的采集處理及實(shí)現(xiàn)
- 基于TMS320C54X的RS+變織+卷積的
- 采用DSP內(nèi)核技術(shù)進(jìn)行語(yǔ)音壓縮開發(fā)
- 語(yǔ)音處理系統(tǒng)中的周期性沖激噪聲及其消除
- C8051F040中CAN控制器的應(yīng)用
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究