新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用FPGA在數(shù)字電視系統(tǒng)中進行級聯(lián)編碼

用FPGA在數(shù)字電視系統(tǒng)中進行級聯(lián)編碼

作者: 時間:2017-06-06 來源:網(wǎng)絡(luò) 收藏
概述


  數(shù)字電視地面?zhèn)鬏斚到y(tǒng)是一個無線通信系統(tǒng)。無線信道中,由于環(huán)境的影響,以及外來無線信號的干擾,通信質(zhì)量較有線信道差許多。為了提高系統(tǒng)的抗噪聲性能,必須設(shè)計合理的信道編譯碼部分,要求不但可以糾隨機錯,更重要是可以糾突發(fā)錯。因為在許多同時出現(xiàn)隨機錯誤和突發(fā)錯誤的復(fù)合信道上,往往發(fā)生一個錯誤會波及后面一串?dāng)?shù)據(jù),導(dǎo)致突發(fā)誤碼超過糾錯碼的糾錯能力。

  糾正突發(fā)錯誤的一種有效方法是以一個可以糾正隨機錯誤的碼為內(nèi)碼,而以一個糾正突發(fā)錯誤性能良好的碼作為外碼,構(gòu)成兩級級聯(lián)的編碼方式。內(nèi)碼起到為外碼糾正突發(fā)錯誤而清除離散誤碼的作用,從而提高信道整體糾錯能力。本文基于數(shù)字電視地面?zhèn)鬏斚到y(tǒng)的基帶編碼方案來介紹串型級聯(lián)碼的應(yīng)用。


原理


  由信道編碼理論可知,隨著碼長n的增加,譯碼錯誤概率以指數(shù)方式趨近于零。因此為提高糾錯碼有效性,就必須使用長碼。但碼長增加,碼率會相應(yīng)下降,譯碼設(shè)備復(fù)雜性與計算量也相應(yīng)增加,以致難以實現(xiàn)。FORNEY于1966年提出了級聯(lián)碼的概念,有針對性的解決了這一矛盾。該方法將編碼過程分為前后串行的幾級完成,可以滿足信道糾錯對編碼長度的要求,得到與長碼相同的糾錯能力和高的編碼增益;而且不增加編/譯碼復(fù)雜度。利用級聯(lián)碼,通過合理的構(gòu)造方法可以達到信道編碼定理給出的碼限,構(gòu)造出漸近好碼(SHANNON碼)。







  如圖1所示,級聯(lián)碼一般由內(nèi)碼和外碼兩級組成,內(nèi)碼是GF(2)上的一個[n,k]碼,外碼是GF(2k)上的[N,K]碼,編碼規(guī)則如下:
  (1)先將Kk個二進制信息元劃分成K段,每段有k個信息元。
  (2)每段的k個信息元可看成是GF(2k)上的一個符號。將K個符號按外碼的編碼規(guī)則編成一個外碼,碼長為N,有K個信息符號,N-K個校驗符號,最小碼距為do,碼率Ro=K/N。
  (3)外碼的每一個符號,看成是k個二進制碼元的碼組,輸入內(nèi)碼編碼器,得到一個內(nèi)碼,碼長為n,有n-k個校驗元,最小碼距為di,碼率Ri=k/n,由此得到N個[n,k]內(nèi)碼的碼字序列。兩級編碼總共得到Nn個二進制碼元,Kk個信息元,組成[Nn,Kk,dodi]級聯(lián)碼的碼。

  由上可知二級級聯(lián)碼是一個[Nn,Kk,dodi]二進制線性分組碼,碼率R=RoRi。

  級聯(lián)碼的譯碼也對應(yīng)采用分級處理。先按內(nèi)碼的規(guī)則譯碼,得到N個有k個碼元組成的碼后,再送入外譯碼器,最后由外譯碼器輸出的是經(jīng)過糾錯的Kk個信息元。

  兩級級聯(lián)編碼時,如果信道產(chǎn)生少量的隨機錯誤,通過內(nèi)碼就可以糾錯,當(dāng)產(chǎn)生較長的突發(fā)錯誤或隨機錯誤很多,已經(jīng)超過內(nèi)碼的糾錯能力時,內(nèi)譯碼器輸出的碼子會有少量的幾個錯誤。這僅相當(dāng)于外碼的幾個符號錯誤,所以外碼譯碼器能較容易地糾錯??梢钥闯?,級聯(lián)碼用來糾正錯誤情況嚴(yán)重的組合信道錯誤非常有效。

  級聯(lián)碼的實現(xiàn)中,內(nèi)碼既可以做純糾錯,也可以用做糾錯與檢錯,但一般情況下,級聯(lián)碼被用在組合信道中,內(nèi)碼中的某些碼子錯誤很多,往往超過了內(nèi)碼的糾錯能力。所以,內(nèi)碼通常僅用來糾正少量錯誤,其主要能力用來檢錯,指出錯誤位置;糾錯任務(wù)則由外碼譯碼器完成。這樣兩級譯碼的結(jié)果,得到了好的糾錯效果,還使得內(nèi)/外譯碼器均較簡單,內(nèi)譯碼器是檢錯譯碼器,外譯碼器是糾錯譯碼器。   本質(zhì)上講,級聯(lián)碼編碼是一種直接序列擴頻系統(tǒng),它把每個外碼的碼元,用碼長為n的內(nèi)碼碼子填充,使得系統(tǒng)的帶寬擴展,從而提高了系統(tǒng)的抗干擾能力。


FPGA設(shè)計


  在數(shù)字電視地面?zhèn)鬏斚到y(tǒng)中,所用的級聯(lián)碼是外碼為RS(204,188)線性分組碼,內(nèi)碼為碼率可變的(2,1,6)卷積碼,交織為卷積交織。

  這里只介紹編碼器端設(shè)計,至于譯碼端電路,由于譯碼方法比較多,電路設(shè)計不同,不同方案譯碼性能也有很大差距,這里就不作介紹了。

  Reed_Solomen碼(簡稱RS碼)是一種多進制的BCH碼,在線性分組碼中它的糾錯能力和編碼效率是最高的,所以選擇它作為外碼。本方案中的RS(204,188,T=16)是RS(255,239,T=16)的截斷碼。將188字節(jié)的數(shù)據(jù)傳送包隨機化后,輸入編碼器,通過RS編碼生成16字節(jié)的監(jiān)督元,最后和188字節(jié)信息元組成RS碼。其碼長204字節(jié),可糾8字節(jié)長的隨機錯誤或突發(fā)錯誤,每個碼元都是有限域GF(256)上的元素。若設(shè)m(x)是信息多項式,g(x)是碼生成多項式,C(x)是碼多項式,整個編碼步驟如下。

  (1)先用X乘m(x),實際上是把信息碼后附加(n-k)個“0”。
  (2)再用g(x)除X,得到商Q(x)和余式r(x),即
  Xm(x)/g(x)=Q(x)+r(x)/g(x)
  (3)編出碼多項式C(x)
  C(x)=Xm(x)+r(x)

  根據(jù)其編碼步驟,采用有限域除法電路即可實現(xiàn)RS編碼,如圖2所示。



  編碼電路的工作過程是,首先對所有寄存器置零,開關(guān)接至數(shù)據(jù)處,此時門連通;然后數(shù)據(jù)依次送入電路,同時送到輸出端;當(dāng)188字節(jié)信息輸入完畢后,開關(guān)切換至校驗端,此時門斷開,b0,b1,…,b15里寄存的數(shù)據(jù)就是所需的校驗碼元,順序輸出后就得到全部204字節(jié)的RS編碼碼字。

  卷積碼是一種有記憶的編碼,在任意給定的時間單元,編碼器的n個輸出碼字不僅與此時間單元的k個輸入有關(guān),而且也與前m個輸入有關(guān)。目前國際上很多通信系統(tǒng)中首選的標(biāo)準(zhǔn)卷積碼為(2,1,6)碼,該碼能使誤碼率達到最小,且能克服相位誤差。所以在本方案中內(nèi)碼采用(2,1,6)碼,子生成元為(171,133)均為8進制。若通過一個鑿孔單元對(2,1,6)碼刪余,還可實現(xiàn)高碼率傳輸,且在提高碼率的情況下不增加譯碼器的復(fù)雜性。所以整個電路主要由主卷積編碼電路、控制電路和鑿孔單元電路構(gòu)成。主卷積編碼實現(xiàn)碼率R=1/2的卷積編碼,然后用一個鑿孔電路按規(guī)則要求對輸出碼字中的特定位置予以刪除,以產(chǎn)生較高碼率,例如2/3,3/4等碼率的卷積碼。主卷積碼(1/2碼率)的實現(xiàn)由6個移位寄存器構(gòu)成,如圖3示。



  在兩級編碼之間,還進行了數(shù)據(jù)交織,以進一步提高編碼抗干擾性能??梢圆捎梅纸M交織器,通過一個讀寫地址產(chǎn)生器控制數(shù)據(jù)按照不同的順序?qū)懭牒妥x出存儲器,從而達到數(shù)據(jù)亂序的目的,交織深度M=102,可以滿足使用要求。


結(jié)論


  在現(xiàn)代通信系統(tǒng)中,信道編碼技術(shù)已經(jīng)得到了廣泛的應(yīng)用。編碼問題就是在一定的抗干擾能力要求下,合理設(shè)計和選擇多余度最小碼字的問題,也就是如何使可靠性和有效性能夠合理兼顧的問題。串型級聯(lián)編碼很好地解決了組合信道錯誤,使通信系統(tǒng)具有良好的抗干擾能力,短碼的利用也提高了傳輸碼率(相對同樣糾錯效果的長碼),串型級聯(lián)碼還有效地控制了信道編碼設(shè)備的復(fù)雜性。


參考文獻


1 王新梅,肖國鎮(zhèn).《糾錯碼原理與方法》.西安電子科技大學(xué)出版社,1996
2 Digital Video Broadcasting (DVB),1997
3 張鳴瑞,鄒世開.《編碼理論》.北京航空航天大學(xué)出版社,1990
4 鄒翊匡鏡明,利用FPGA技術(shù)實現(xiàn)數(shù)字通信中的交織器和解交織器,《電子技術(shù)應(yīng)用》


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉