新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 用FPGA在數字電視系統(tǒng)中進行級聯編碼(圖)

用FPGA在數字電視系統(tǒng)中進行級聯編碼(圖)

——
作者:劉鵬 李兵兵 時間:2007-02-06 來源: 收藏
摘 要:本文介紹了串型級聯編碼的原理,以及它在數字電視地面?zhèn)鬏斚到y(tǒng)中的應用,通過fpga設計電路實現編碼過程,最后說明串型級聯編碼的應用優(yōu)越性。
關鍵字:fpga;編碼;串型級聯編碼;數字電視地面?zhèn)鬏斚到y(tǒng)

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

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


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

 


  如圖1所示,級聯碼一般由內碼和外碼兩級組成,內碼是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,有n-k個校驗元,最小碼距為di,碼率ri=k/n,由此得到n個[n,k]內碼的碼字序列。兩級編碼總共得到nn個二進制碼元,kk個信息元,組成[nn,kk,dodi]級聯碼的碼。

  由上可知二級級聯碼是一個[nn,kk,dodi]二進制線性分組碼,碼率r=rori。

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

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

  級聯碼的實現中,內碼既可以做純糾錯,也可以用做糾錯與檢錯,但一般情況下,級聯碼被用在組合信道中,內碼中的某些碼子錯誤很多,往往超過了內碼的糾錯能力。所以,內碼通常僅用來糾正少量錯誤,其主要能力用來檢錯,指出錯誤位置;糾錯任務則由外碼譯碼器完成。這樣兩級譯碼的結果,得到了好的糾錯效果,還使得內/外譯碼器均較簡單,內譯碼器是檢錯譯碼器,外譯碼器是糾錯譯碼器。

  本質上講,級聯碼編碼是一種直接序列擴頻系統(tǒng),它把每個外碼的碼元,用碼長為n的內碼碼子填充,使得系統(tǒng)的帶寬擴展,從而提高了系統(tǒng)的抗干擾能力。


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

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

  reed_solomen碼(簡稱rs碼)是一種多進制的bch碼,在線性分組碼中它的糾錯能力和編碼效率是最高的,所以選擇它作為外碼。本方案中的rs(204,188,t=16)是rs(255,239,t=16)的截斷碼。將188字節(jié)的數據傳送包隨機化后,輸入編碼器,通過rs編碼生成16字節(jié)的監(jiān)督元,最后和188字節(jié)信息元組成rs碼。其碼長204字節(jié),可糾8字節(jié)長的隨機錯誤或突發(fā)錯誤,每個碼元都是有限域gf(256)上的元素。若設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)

  根據其編碼步驟,采用有限域除法電路即可實現rs編碼,如圖2所示。

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


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

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


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

參考文獻
1 王新梅,肖國鎮(zhèn).《糾錯碼原理與方法》.西安電子科技大學出版社,1996
2 digital video broadcasting (dvb),1997
3 張鳴瑞,鄒世開.《編碼理論》.北京航空航天大學出版社,1990
4 鄒翊匡鏡明,利用fpga技術實現數字通信中的交織器和解交織器,《電子技術應用》


關鍵詞:

評論


相關推薦

技術專區(qū)

關閉