《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > CDMA 2000系統(tǒng)中前向鏈路卷積編碼器的FPGA實現(xiàn)[圖]
CDMA 2000系統(tǒng)中前向鏈路卷積編碼器的FPGA實現(xiàn)[圖]
來源:現(xiàn)代電子技術(shù)
作者:張高記 羅朝霞 西安郵電學(xué)院
摘要: 為了縮短卷積編碼器設(shè)計周期,使硬件設(shè)計更具靈活性,在介紹卷積編碼器原理的基礎(chǔ)上,論述了一種基于
Abstract:
Key words :
摘要:為了縮短卷積編碼器設(shè)計周期,使硬件設(shè)計更具靈活性,在介紹卷積編碼器原理的基礎(chǔ)上,論述了一種基于可編程邏輯器件,采用模塊化設(shè)計方法,利用VHDL硬件描述語言實現(xiàn)CDMA2000系統(tǒng)前向鏈路卷積編碼器的方法,給出了在QuartusⅡ軟件下的仿真結(jié)果,并在FPGA器件上驗證實現(xiàn)。仿真和實驗都證明了這種方法的可行性和正確性。

0 引言

在通信系統(tǒng)中,由于數(shù)字信號在傳輸過程中受到各種干擾的影響,使信號碼元波形變壞,故傳輸?shù)浇邮斩撕罂赡馨l(fā)生錯誤判決,為解決這一問題,通常在設(shè)計數(shù)字通信系統(tǒng)時,首先應(yīng)從合理地選擇調(diào)制制度、解調(diào)方法以及發(fā)送功率等方面考慮,若采取以上措施仍難滿足要求,就要考慮差錯控制措施。在CDMA 2000系統(tǒng)的前向鏈路和反向鏈路中就采用了卷積編碼來實現(xiàn)前向差錯控制(FEC)。

FPGA是可編程邏輯器件,它的主要優(yōu)點(diǎn)在于可以借助EDA工具通過軟件編程對器件的硬件結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),這就使得硬件設(shè)計具有軟件設(shè)計的靈活性和便捷性。本設(shè)計采用VHDL語言并選用可編程邏輯器件在QuartusⅡ下來實現(xiàn)CDMA 2000系統(tǒng)中的前向鏈路卷積編碼器。

1 卷積編碼器原理

卷積碼是由P.Elias在1954年首先提出來的,它是一種非分組碼,通常它更適用于前向糾錯,因為其性能對于許多實際情況常優(yōu)于分組碼,而且設(shè)備簡單。自從A.J.Viterbi于1967年發(fā)現(xiàn)了一種有效的譯碼算法,并由J.Omura于1969年證明這是一種ML譯碼算法后,使用Vit-erbi譯碼算法的卷積碼就成為現(xiàn)代通信系統(tǒng)中必不可少的編碼方案。CDMA 2000系統(tǒng)亦采用此種編碼方案。

1.1 卷積編碼器原理

與分組碼編碼器不同,卷積碼編碼器是有記憶的,即:編碼器在任何一段時間內(nèi)產(chǎn)生的n個碼元,不僅取決于這段時間中的k個信息位,而且還取決于前N-1段規(guī)定時間內(nèi)的信息位;即編碼器產(chǎn)生的n個碼元跟正在移入的每一個k位的信息比特有關(guān)。為了便于說明問題,在這里規(guī)定:編碼率r=k/n。其中,k表示一次移入編碼器的信息位數(shù);n表示對應(yīng)于移入k位信息編碼器輸出符號數(shù)。此外,用K表示約束長度,它等于編碼器中移位寄存器的級數(shù);實際上,第一個移位寄存器是多余的。

描述卷積編碼過程的方法很多,如:多項式法、矩陣法、樹狀圖和網(wǎng)格圖等。這里采用與卷積編碼器結(jié)構(gòu)密切相關(guān)的多項式法來說明卷積碼的編碼原理。已知一個編碼率r=1/2,約束長度K=3的卷積編碼器,其卷積碼的生成多項式矩陣為:

CDMA 2000系統(tǒng)中前向鏈路卷積編碼器的FPGA實現(xiàn)

式中:D為延遲算子,生成多項式的第一項為1+D2,表示編碼器輸出的第一個碼元c1等于輸入碼元b1與前輸入碼元b3的模2和;其第二項為D+D2,表示輸出的第二個碼元c2為前兩個輸入碼元b2和b3的模2和。

根據(jù)卷積碼的生成多項式矩陣可直接得到編碼器的結(jié)構(gòu)圖,如圖1所示。圖中s1,s2為移位寄存器;m1,m2為模2和加法器;其中b1代表當(dāng)前輸入的信息位;移位寄存器狀態(tài)b2,b3存儲以前的信息位;c1,c2代表編碼后的輸出碼元。

CDMA 2000系統(tǒng)中前向鏈路卷積編碼器的FPGA實現(xiàn)

在卷積碼的編碼過程中,編碼器從全零狀態(tài)出發(fā),最后必須回到全零狀態(tài),故當(dāng)送完信息后,還要向編碼器再送入K-1段全零信息,以迫使編碼器回到全零狀態(tài)。設(shè)此編碼器的起始狀態(tài)為零,即b1b2b3為000。當(dāng)輸入的信息位為11010時,為保證輸入的全部信息位都能通過移位寄存器,并對移位寄存器進(jìn)行復(fù)位,必須在信息位后加約束長度減一個零,即兩個零;此時對應(yīng)的輸出碼元序列為:10111001011100,丟棄后四位可得編碼器的輸出信息:1011100101。整個工作過程中編碼器的狀態(tài)如表1所示。

CDMA 2000系統(tǒng)中前向鏈路卷積編碼器的FPGA實現(xiàn)

1.2 CDMA 2000系統(tǒng)中的前向鏈路卷積編碼器

在CDMA 2000系統(tǒng)中,前向鏈路使用編碼率為1/2,約束長度為9的卷積編碼器。前向鏈路卷積碼的生成多項式矩陣為:

CDMA 2000系統(tǒng)中前向鏈路卷積編碼器的FPGA實現(xiàn)

由此生成多項式矩陣可得前向編碼器的結(jié)構(gòu)圖,如圖2所示。圖中s1~s8為移位寄存器;m1,m2為模2和加法器;其中b1代表當(dāng)前輸入的信息位;移位寄存器狀態(tài)b2~b9存儲以前的信息位;c代表編碼后的輸出碼元。

CDMA 2000系統(tǒng)中前向鏈路卷積編碼器的FPGA實現(xiàn)

2 CDMA 2000系統(tǒng)中前向鏈路卷積編碼器的實現(xiàn)

2.1 CDMA 2000前向鏈路卷積編碼器的電路組成

該設(shè)計采用模塊化的設(shè)計方法,根據(jù)CDMA2000系統(tǒng)中的前向鏈路卷積編碼器的功能將其內(nèi)部結(jié)構(gòu)分為:移位寄存器組、模2和加法器、輸出控制器以及時鐘電路等四個模塊,每一模塊對應(yīng)一部分VHDL的設(shè)計文件,這樣利于程序的編寫和調(diào)試,從而降低了整個程序的調(diào)試難度,提高了軟件的可維護(hù)性和可讀性。前向鏈路卷積編碼器的組成框圖如圖3所示。

CDMA 2000系統(tǒng)中前向鏈路卷積編碼器的FPGA實現(xiàn)

其中,時鐘信號clk1和clk2可由基站控制器(BSC)的時鐘電路直接提供,或由本次設(shè)計的時鐘電路將基站控制器(BSC)提供的原始時鐘信號進(jìn)行分頻得到;輸出控制器包括輸出數(shù)據(jù)合成電路和整形電路兩部分。

2.2 CDMA 2000前向鏈路卷積編碼器的仿真實現(xiàn)

根據(jù)卷積編碼器電路框圖,采用VHDL語言編寫前向鏈路卷積編碼器的源程序輸入到QuartusⅡ開發(fā)軟件中進(jìn)行編譯、仿真、綜合得到可下載文件,然后通過對器件編程完成設(shè)計。

仿真前假設(shè)編碼器的初始狀態(tài)為零,即:b1~b9為00000000;輸入的信息為11010,為保證輸入的全部信息位都能通過移位寄存器,并對移位寄存器進(jìn)行復(fù)位,在信息位后加8個零,其輸出結(jié)果為11010111000001111111101100,,仿真時,輸入數(shù)據(jù)data的速率為9.6Kb/s;輸出碼元c的速率為19.2Kb/s。仿真結(jié)果如圖4所示,其中b為寄存器組各個時刻的狀態(tài)。

CDMA 2000系統(tǒng)中前向鏈路卷積編碼器的FPGA實現(xiàn)

在前向鏈路卷積編碼器的設(shè)計中有一些需要注意的問題:首先要明確VHDL語言不同于其他的計算機(jī)語言,它是一種硬件描述語言,它描述的對象是客觀的電路系統(tǒng)。其次,不同的EDA工具對VHDL語言的支持程度不同。本次設(shè)計中采用的QuartusⅡ開發(fā)工具主要是針對可編程邏輯器件的軟件,它并不支持所有的VHDL語句,它只支持RTL級描述,不支持行為級描述。再有,在設(shè)計中需要根據(jù)設(shè)計要求和可編程邏輯器件的資源情況、速度等進(jìn)行合理的選擇。該設(shè)計中采用的EP2C8Q208器件就可滿足資源和速度方面的要求。

3 結(jié)語

本文實現(xiàn)了一種適用于CDMA 2000系統(tǒng)的前向鏈路卷積編碼器,通過對整體電路的設(shè)計、仿真和調(diào)測,結(jié)果表明本編碼器可達(dá)到CDMA 2000系統(tǒng)要求,具有一定的實用價值,同時,本設(shè)計采用基于可編程邏輯器件借助VHDL語言及EDA工具進(jìn)行設(shè)計的思路,大大縮短了設(shè)計周期,降低了成本,提高了設(shè)計的可靠性、靈活性,為通信系統(tǒng)設(shè)計提供了一種有效的設(shè)計方法。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。