<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于CPLD的卷積碼編解碼器的設計

基于CPLD的卷積碼編解碼器的設計

作者: 時(shí)間:2008-01-21 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要是一種性能優(yōu)良的差錯控制編碼。本文闡述了的基本工作原理,在MAX+PLUS2軟件平臺上,給出了利用復雜可編程邏輯器件設計的(2,1,6)電路,并進(jìn)行了編譯和波形仿真。綜合后下載到復雜可編程邏輯器件EPM7128SLC84-15中,測試結果表明,達到了預期的設計要求。
關(guān)鍵詞卷積碼;編碼器;解碼器;復雜可編程邏輯器件

數字通信系統進(jìn)行數據傳輸時(shí),由于噪聲干擾的影響,不可避免地會(huì )在接收端產(chǎn)生差錯。為了在已知信噪比的情況下達到一定的誤碼率指標,在合理設計基帶信號,選擇調制、解調方式,并采用均衡措施的基礎上,還應采用差錯控制編碼等信道編碼技術(shù)來(lái)降低誤碼率。分組碼和卷積碼是差錯控制編碼的兩種主要形式,在編碼器復雜程度相同的情況下,卷積碼的性能優(yōu)于分組碼,因此,在諸如GSM、IS95和CDMA2000等無(wú)線(xiàn)通信標準中,都應用了卷積碼。

是復雜可編程邏輯器件的簡(jiǎn)稱(chēng),它是20世紀90年代初期出現的高密度可編程邏輯器件,采用E2CMOS工藝制作,一般由三種可編程電路組成,即可編程邏輯宏單元,可編程輸入/輸出單元和可編程內部連線(xiàn)。它可利用EDA技術(shù)中的MAX+PLUS2作為開(kāi)發(fā)工具,將設計的電路圖或硬件描述語(yǔ)言編寫(xiě)的程序綜合成網(wǎng)表文件寫(xiě)入其中,制成ASIC芯片。的突出優(yōu)點(diǎn)是可反復編程,集成度非常高,數據速率快,同時(shí)具有較大的靈活性。

1、卷積碼編碼器

卷積碼(又稱(chēng)連環(huán)碼),是由伊萊亞斯(P.Elis)提出的一種非分組碼。它把k比特信息段編成n比特的碼組,該碼組不僅同當前的k比特信息段有關(guān),而且還同前面的(N-1)個(gè)信息段有關(guān)聯(lián)(N為大于1的整數)。通常,把卷積碼記作(n,k,N),其中k為輸入碼元數,n為輸出碼元數,N為約束長(cháng)度,表示編碼器的存儲器級數。卷積編碼屬于信道編碼,主要用來(lái)糾正碼元的隨機差錯,它是以犧牲效率來(lái)?yè)Q取可靠性,利用增加監督位,進(jìn)行檢錯和糾錯。

卷積碼編碼器是一個(gè)由k個(gè)輸入端、n個(gè)輸出端,且具有(N-1)節移位寄存器構成的有限狀態(tài)記憶系統,通常稱(chēng)為時(shí)序網(wǎng)絡(luò )。卷積碼的編碼方法有三種運算方式:離散卷積法、生成矩陣法和多項式乘積法。此外,卷積碼的編碼過(guò)程還可以用狀態(tài)圖、碼樹(shù)圖和網(wǎng)格圖來(lái)描述。本文設計的編碼器原理圖如圖1所示,它為(2,1,6)卷積碼編碼器(圖中T為移位寄存器)。

圖1 卷積碼編碼器原理圖

由圖1可知,該編碼器是一個(gè)(2,1,6)卷積編碼器,即k=1(一個(gè)輸入端)、n=2(兩個(gè)輸出端)、N=6(5級移位寄存器)。

若輸入信息序列為:U=(u0 u1 u2 …),則對應輸出為兩個(gè)碼字序列:

C1=(c0(1)c1(1)c2(1)…) C2=(c0(2)c1(2)c2(2)…)

其相應編碼方程可寫(xiě)為:C1 = U * G(1) C2 = U * G(2)

式中“*”表示卷積運算,G(1)和G(2)表示編碼器的兩個(gè)沖激響應。編碼輸出可由輸入信息序列U和編碼器的兩個(gè)脈沖沖激響應的卷積得到,故稱(chēng)卷積碼。由于編碼器有5級寄存器,所以沖激響應至多可持續到6位,圖1所示卷積碼編碼器的兩個(gè)沖激響應可寫(xiě)成:

G(1)=(100000) G(2)=(100111)

若輸入信息序列為:U=(11010101),則:

C1=(11010101)*(100000)=(1101010100000)

C2=(11010101)*(100111)=(1100010001011)

經(jīng)過(guò)并串轉換,最后輸出的碼字為:C=(11110010001100100001000101)

2、卷積碼解碼器

卷積碼的解碼可分為代數解碼和概率解碼兩類(lèi)。大數邏輯解碼器是代數解碼最主要的解碼方法,它即可用于糾正隨機錯誤,又可用于糾正突發(fā)錯誤,但要求卷積碼是自正交碼或可正交碼,對于(2,1,6)卷積碼大數邏輯解碼器原理圖如圖2所示。

圖2 (2,1,6)卷積碼大數邏輯解碼器原理圖

圖2中,輸入的數字序列,經(jīng)串/并轉換為兩路,1路輸出信息碼元,2路輸出校驗碼元。解碼器把接收到的1路中的每一段信息元送入編碼器求出本地校驗元,與其后面收到的校驗元模2加。若兩者一致,則求出的伴隨式分量為0,否則為1。把加得的值送入伴隨式寄存器中寄存。當接收完碼段后開(kāi)始對第0碼段糾錯,若此時(shí)大數邏輯門(mén)的輸出為1,則說(shuō)明第0碼段的信息元有錯。這時(shí)正好第0子組的信息元移至解碼器的輸出端,從而糾正它們。同時(shí),糾錯信號也反饋至伴隨式寄存器修正伴隨式,以消去此錯誤對伴隨式的影響。如果大數判決門(mén)沒(méi)有輸出,則說(shuō)明第0子組的信息元沒(méi)有錯誤,這時(shí)從編碼器中直接把信息元輸出。

3、利用實(shí)現的卷積碼

3.1 利用CPLD實(shí)現的(2,1,6)卷積碼編碼器

基于CPLD設計的(2,1,6)卷積碼編碼器電路如圖3所示。

圖3 基于CPLD設計的(2,1,6)卷積碼編碼器電路

圖3所示卷積編碼器的引腳關(guān)系為:引腳DATA表示數據輸入,引腳CLK1表示“并串轉換”輸入時(shí)鐘,引腳CLK表示數據時(shí)鐘輸入引腳(它可由CLK1二分頻得到),引腳DATA1表示卷積編

碼器輸出碼C1的數據,引腳DATA2表示卷積編碼器輸出碼C2的數據。引腳DATAOUT表示卷積編碼器經(jīng)過(guò)并串轉換,最后輸出的碼C的數據。

5級移位寄存器從MAX+PLUS2器件庫中調用一個(gè)串入并出移位寄存器74164實(shí)現;4級模2加從MAX+PLUS2器件庫中調用一個(gè)4級異或門(mén)“XOR4”組成;“21mux”實(shí)現2位并串轉換;編碼器的兩個(gè)輸出碼和并串轉換后的輸出碼之后各增加了一個(gè)D觸發(fā)器“DFF”,其作用是利用D觸發(fā)器的輸入端對毛刺信號不敏感的特點(diǎn),去處CPLD器件輸出引腳上可能產(chǎn)生的毛刺。

3.2 利用CPLD設計(2,1,6)卷積碼解碼器

基于CPLD設計的(2,1,6)卷積碼大數邏輯解碼器如圖4所示。

圖4 基于CPLD設計的(2,1,6)卷積碼大數邏輯解碼器

(2,1,6)卷積碼大數邏輯解碼器由2位串/并轉換電路,監督碼產(chǎn)生電路,校正子計算電路和大數邏輯電路組成。

2位串/并轉換“chuanbing12”是從MAX+PLUS2器件庫中調用4個(gè)D觸發(fā)器“DFF”,2個(gè)非門(mén)設計成一個(gè)二分頻電路和一個(gè)一輸入二輸出串/并轉換電路并進(jìn)行元件包裝入庫而形成,其中時(shí)鐘CLK由CLK1二分頻得到。

監督碼產(chǎn)生電路是從MAX+PLUS2器件庫中調用一個(gè)串入并出移位寄存器74164,一個(gè)4級異或門(mén)“XOR4”組成。

校正子計算電路是從MAX+PLUS2器件庫中調用5個(gè)D觸發(fā)器“DFF”,4個(gè)異或門(mén)“XOR”設計組成電路。

大數邏輯電路是從MAX+PLUS2器件庫中調用4個(gè)與非門(mén)“NAND3”,1個(gè)與非門(mén)“NAND4”和1個(gè)異或門(mén)“XOR”設計組成電路。

3.3 利用CPLD設計(2,1,6)卷積碼編解碼器

將設計的(2,1,6)卷積碼編碼器進(jìn)行元件包裝入庫為“juan216”,將設計的(2,1,6)卷積碼解碼器進(jìn)行元件包裝入庫為“decode216”,之后將它們連接在一起,可組成的(2,1,6)卷積碼編解碼器如圖5所示。

圖5 (2,1,6)卷積碼編解碼器

(2,1,6)卷積碼編解碼器的引腳關(guān)系為:引腳DATA表示數據輸入,引腳CLK表示輸入時(shí)鐘(其速率是數據速率的二倍),引腳CLRN表示清零端,引腳CD表示(2,1,6)卷積碼編碼器輸出,引腳OUT表示(2,1,6)卷積碼解碼器輸出。

4、實(shí)驗結果

利用MAX+PLUS2開(kāi)發(fā)工具進(jìn)行編譯和仿真,(2,1,6)卷積碼編解碼器仿真波形如圖5所示。

圖5 (2,1,6)卷積碼編解碼器仿真波形

其中“DATA”是數據輸入端,系統輸入的數據比特若為“11010101”,經(jīng)卷積碼編碼器后,延時(shí)約150ns后“CD”輸出的數據比特為“11110010001100100001000101”;再經(jīng)卷積碼解碼器,延時(shí)約1us后“OUT”恢復輸出數據比特為“11010101”。仿真結果表明:編碼器輸出數據與理論計算完全一致。然后將綜合后生成的網(wǎng)表文件通過(guò)ByteBlaste下載電纜,以在線(xiàn)配置的方式下載到CPLD器件EPM7128SLC84-15中,從而完成了器件的編程。上電后,在輸入端加入待編碼信息,用數字存儲示波器測試編碼器輸出,實(shí)測結果完全正確,達到了設計要求。

5 結論

本文闡述了卷積碼編解碼器的工作原理,利用CPLD器件,設計出了(2,1,6)卷積碼編解碼器。本文作者創(chuàng )新點(diǎn)是利用了EDA技術(shù)中的MAX+PLUS2作為開(kāi)發(fā)工具,將設計的電路圖綜合成網(wǎng)表文件寫(xiě)入其中,制成ASIC芯片,突出優(yōu)點(diǎn)是可反復編程,集成度非常高,數據速率快,自頂向下設計,查找和修改錯誤方便,同時(shí)先仿真,正確后再下載測試并應用,因而具有較大的靈活性;根據本文提出的設計思路,可方便的設計其它卷積碼編解碼器,有廣闊的應用前景。

[參 考 文 獻]

[1]謝平,陳建輝,胡記文.基于CPLD的模數轉換組合研究[J].微計算機信息,2005,26:153-155.

[2]龍光利.CDMA手機卷積碼編碼器的設計與FPGA的實(shí)現[J].陜西工學(xué)院學(xué)報,2005,21(2):1-3.

[3]王新梅,肖國強.糾錯碼――原理與方法.修訂版[M].西安:西安電子科技大學(xué)出版社,2001.

[4]趙曙光,郭萬(wàn)有,楊頌華.可編程邏輯器件原理、開(kāi)發(fā)與應用[M].西安:西安電子科技大學(xué)出版社,2001.

[5]樊昌信,張甫翊,徐炳祥等.通信原理.第五版[M].北京:國防工業(yè)出版社,2002.

[6]閻石.數字電子技術(shù)基礎[M].第四版.北京:高等教育出版社,1999.



關(guān)鍵詞: CPLD 卷積碼 編解碼器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>