《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > CDMA 2000系統(tǒng)中前向鏈路卷積編碼器的FPGA實現(xiàn)
CDMA 2000系統(tǒng)中前向鏈路卷積編碼器的FPGA實現(xiàn)
摘要: FPGA是可編程邏輯器件,,它的主要優(yōu)點在于可以借助EDA工具通過軟件編程對器件的硬件結(jié)構(gòu)和工作方式進行重構(gòu),,這就使得硬件設計具有軟件設計的靈活性和便捷性。本設計采用VHDL語言并選用可編程邏輯器件在QuartusⅡ下來實現(xiàn)CDMA 2000系統(tǒng)中的前向鏈路卷積編碼器,。
Abstract:
Key words :
  在通信系統(tǒng)中,,由于數(shù)字信號在傳輸過程中受到各種干擾的影響,,使信號碼元波形變壞,故傳輸?shù)浇邮斩撕罂赡馨l(fā)生錯誤判決,,為解決這一問題,,通常在設計數(shù)字通信系統(tǒng)時,首先應從合理地選擇調(diào)制制度,、解調(diào)方法以及發(fā)送功率等方面考慮,,若采取以上措施仍難滿足要求,就要考慮差錯控制措施,。在CDMA 2000系統(tǒng)的前向鏈路和反向鏈路中就采用了卷積編碼來實現(xiàn)前向差錯控制(FEC),。

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

  1 卷積編碼器原理

  卷積碼是由P.Elias在1954年首先提出來的,,它是一種非分組碼,通常它更適用于前向糾錯,,因為其性能對于許多實際情況常優(yōu)于分組碼,,而且設備簡單,。自從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ī)定:編碼率r=k/n,。其中,k表示一次移入編碼器的信息位數(shù),;n表示對應于移入k位信息編碼器輸出符號數(shù),。此外,用K表示約束長度,,它等于編碼器中移位寄存器的級數(shù),;實際上,第一個移位寄存器是多余的,。

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

a.jpg

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

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

b.jpg

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

c.jpg

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

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

d.jpg

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

e.jpg

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

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

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

f.jpg

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

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

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

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

g.jpg

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

  3 結(jié)語

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



 

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