馬 駿
(長春職業(yè)技術(shù)學院工程技術(shù)分院,吉林長春 130033)
隨著現(xiàn)代通信技術(shù)和計算機技術(shù)的迅速發(fā)展,每天都在不斷涌現(xiàn)新的通信業(yè)務(wù)和信息業(yè)務(wù),同時用戶對通信業(yè)務(wù)質(zhì)量和數(shù)據(jù)傳輸速率的要求也在不斷提高。由于通信信道固有的噪聲和衰落特性,信號在經(jīng)過信道傳輸?shù)竭_通信接收端的過程中不可避免地會受到干擾而出現(xiàn)信號失真,所以需要通過采用差錯控制碼來檢測和糾正由失真引起的信息傳輸錯誤。
由于解碼是在接收機進行解調(diào)之后執(zhí)行的,所以信道編碼是一種后檢測技術(shù)。信道編碼通常有兩類:分組碼和卷積碼。分組碼是把單個碼字作為孤立的獨立單元,編碼過程所加入的冗余度、相關(guān)性局限于單個碼字內(nèi),而碼字之間是彼此無關(guān)的。卷積碼的出現(xiàn)改變了這種狀況。卷積碼不是把信息序列分組后再進行單獨的編碼,而是由連續(xù)輸入的信息序列得到連續(xù)輸出的已編碼序列。它的編碼器也是每輸入k個信息比特后,編碼得到n個比特輸出,但k和n通常很小,所以時延較短,特別適合以串行形式進行傳輸。與分組碼不同,卷積碼編碼后的n個碼元不僅與當前段的k個信息有關(guān),還與當前的(N-1)段信息有關(guān)。卷積碼的糾錯性能隨N的增加而增大,而差錯率隨N的增加而指數(shù)下降。在同樣的復(fù)雜度下,卷積碼相對于分組碼可以獲得更大的編碼增益。
卷積碼不是把信息序列分組后再進行單獨地編碼,而是由連續(xù)輸入的信息序列得到連續(xù)輸出的編碼序列。卷積碼又稱連環(huán)碼,它和分組碼有明顯的區(qū)別。(n,k)線性分組碼中,本組r(r=n-k)個監(jiān)督元僅與本組k個信息元有關(guān),與其他各組無關(guān),也就是說分組碼編碼器本身并無記憶性。卷積碼則不同,每個(n,k)碼段(也稱子碼,通常較短)內(nèi)的n個碼元不僅與該碼段內(nèi)的信息元有關(guān),而且與前面m段的信息元有關(guān)。通常稱m為編碼存儲[1]。
卷積碼(又稱連環(huán)碼)是由伊萊亞斯(P.Elis)提出的一種非分組碼。它把k比特信息段編成n比特的碼組,該碼組不僅同當前的k比特信息段有關(guān),而且還同前面的(N-1)個信息段有關(guān)聯(lián)(N為大于1的整數(shù))。通常,把卷積碼記作(n,k,N),其中:k為輸入碼元數(shù),n為輸出碼元數(shù),N為約束長度,表示編碼器的存儲器級數(shù)。卷積編碼屬于信道編碼,主要用來糾正碼元的隨機差錯,它是以犧牲效率來換取可靠性,利用增加監(jiān)督位,進行檢錯和糾錯。卷積碼的編碼原理如圖1所示。
圖1 卷積碼的編碼原理
數(shù)字化移動信道中傳輸過程會產(chǎn)生隨機差錯,也會出現(xiàn)成串的突發(fā)差錯。卷積碼既能糾正隨機差錯,又具有一定的糾正突發(fā)差錯的能力。糾正突發(fā)差錯主要靠交織編碼來解決。在CDMA移動通信系統(tǒng)中采用了卷積碼和交織編碼。因此,下面討論這兩種碼的編碼原理和糾錯原理。
卷積碼也是分組的,但它的監(jiān)督元不僅與本組的信息元有關(guān),而且還與前若干組的信息元有關(guān)。這種碼的糾錯能力強,不僅可糾正隨機差錯,而且可糾正突發(fā)差錯。卷積碼根據(jù)需要,有不同的結(jié)構(gòu)和不同的糾錯能力,但都有類似的編碼規(guī)律。圖2所示為(3,1)卷積碼編碼器,它由3個移位寄存器(D)和2個加法器組成。每輸入1個信息元mj,就編出 2 個監(jiān)督元 pj1,pj2,順次輸出成為 mj,pj1,pj2,碼長為3,其中信息元只占1位,構(gòu)成卷積碼的一個分組(即 1 個碼字),稱作(3,1)卷積碼[2]。
圖2 (3,1)卷積碼編碼器原理圖
由圖2可知,監(jiān)督元pj1,pj2不僅與本組輸入的信息元Mj有關(guān),還與已存入到寄存器的信息元mj-1,mj-2和mj-3有關(guān)。關(guān)系式為:
式(1)為卷積碼的監(jiān)督方程。
圖3所示為(2,1)卷積碼、約束長度k=2的編碼器,它可在4比特范圍內(nèi)糾正一個差錯。每輸入一個信息元 Mj,編碼輸出為 mj,pj,其中 pj為式中mj-1為mj之前的信息元。假定輸入信息元序列為 100(1為先輸入),經(jīng)過編碼輸出為110 100(其中1為最先輸出)。下面具體分析卷積碼編碼過程。編碼開始前,先對移位寄存器進行復(fù)位(即置0)。當輸入第一個信息元“1”時,輸出為1,由于pj=1⊕0=1,輸出端開關(guān)接到pj,輸出又為1。輸出端開關(guān)速率是信息元速率的2倍,即每輸入1個信息元,開關(guān)同步地轉(zhuǎn)換1次。因此,上述編碼過程可寫成:
所以輸出為11;
所以輸出為01;所以輸出為00。
圖3 (2,1)卷積碼(k=2)編碼器
程序開始先輸入所要編寫的器件,連接后卷積碼進行計算,隨后進行編碼,并通過串并轉(zhuǎn)換輸出結(jié)果。然后進行引腳鎖定,鎖定成功后就進行下載,下載完畢,程序結(jié)束。圖4所示為卷積碼的總體流程圖。
圖4 卷積碼的總體流程圖
數(shù)字通信系統(tǒng)進行數(shù)據(jù)傳輸時,由于噪聲干擾的影響,不可避免地會在接收端產(chǎn)生差錯。為了在已知信噪比的情況下達到一定的誤碼率指標,在合理設(shè)計基帶信號,選擇調(diào)制、解調(diào)方式,并采用均衡措施的基礎(chǔ)上,還應(yīng)采用差錯控制編碼等信道編碼技術(shù)來降低誤碼率。分組碼和卷積碼是差錯控制編碼的兩種主要形式,在編碼器復(fù)雜程度相同的情況下,卷積碼的性能優(yōu)于分組碼。因此,在諸如GSM、IS95和CDMA2000等無線通信標準中,都應(yīng)用了卷積碼[3]。
本文設(shè)計的編碼器原理圖如圖5所示,它為(2,1,6)卷積碼編碼器(圖中T為移位寄存器)。k=1(一個輸入端),n=2(兩個輸出端),N=6(5級移位寄存器)。
圖5 編碼器原理圖
若輸入信息序列為U=(u0u1u2…),則對應(yīng)輸出為兩個碼字序列:
對應(yīng)的編碼方程可寫為:
式中:“*”表示卷積運算;G(1)和G(2)表示編碼器的兩個沖激響應(yīng)。編碼輸出可由輸入信息序列U和編碼器的兩個脈沖沖激響應(yīng)的卷積得到,故稱卷積碼。由于編碼器有5級寄存器,所以沖激響應(yīng)至多可持續(xù)到6位,圖1所示的卷積碼編碼器的兩個沖激響應(yīng)可寫成:
若輸入信息序列為:
U=(11010101),
則:
經(jīng)過并串轉(zhuǎn)換,最后輸出的碼字為:
C=(11110010001100100001000101)
利用MAX+PLUS2開發(fā)工具進行編譯和仿真,(2,1,6)卷積碼編碼器仿真波形如圖6所示。
圖6 (2,1,6)卷積碼編碼器仿真波形
圖6 中“DATA”是數(shù)據(jù)輸入端,系統(tǒng)輸入的數(shù)據(jù)比特若為“11010101”,經(jīng)卷積碼編碼器后,延時約80ns后“DATAOUT”輸出的數(shù)據(jù)比特為“11110010001100100001000101”,仿真結(jié)果表明,編碼器輸出數(shù)據(jù)與理論設(shè)計完全一致。仿真結(jié)果見表1。
表1 (2,1,6)卷積碼編碼器仿真結(jié)果
卷積碼編碼器的引腳鎖定如圖7所示。
圖7 (2,1,6)卷積碼編碼器引腳鎖定
若目標器件是EP1K30,本實驗根據(jù)模式1,引腳鎖定為:用鍵1和2(PIO8― PIO11,PIO12―PIO15)控制DATA(十六進制),狀態(tài)時鐘CLK1接clock1,CLRN 接 clock0, 在 程 序 中 把“11110010001100100001000101”轉(zhuǎn)換為十進制的數(shù)。鎖存輸出顯示為數(shù)碼8到數(shù)碼1(PIO16―PIO47)。鎖定好后下載到實驗箱中,然后看實驗箱上的結(jié)果和仿真的結(jié)果是否一致,包括和理論結(jié)果的比較,最后就可以確定下載成功。
本文對卷積碼進行了仿真,并對卷積碼的性能進行了分析,由于是在不同情況下選擇卷積編碼方案,所以卷積編碼的性能也有所不同,因此卷積編碼器的研究還有待于進一步深入,以期找到更多性能優(yōu)良的解決方案。未來CDMA移動通信系統(tǒng)的發(fā)展,卷積編碼器的研究是熱點。
[1] 周海賢,許國良,姚偉.基于OCDMA的新型卷積碼譯碼方案[J].通信學報,2009,34(3):26-28.
[2] 黃新林,王剛,劉春剛.基于FPGA的卷積碼分組譯碼方法[J].吉林大學學報:工學版,2009,26(2):177-182.
[3] 龔建榮.現(xiàn)代電子技術(shù)[M].北京:人民郵電出版社,2008.