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

  FPGA是可編程邏輯器件,它的主要優(yōu)點在于可以借助EDA工具通過軟件編程對器件的硬件結構和工作方式進行重構,這就使得硬件設計具有軟件設計的靈活性和便捷性。本設計采用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個碼元,不僅取決于這段時間中的k個信息位,而且還取決于前N-1段規(guī)定時間內的信息位;即編碼器產生的n個碼元跟正在移入的每一個k位的信息比特有關。為了便于說明問題,在這里規(guī)定:編碼率r=k/n。其中,k表示一次移入編碼器的信息位數(shù);n表示對應于移入k位信息編碼器輸出符號數(shù)。此外,用K表示約束長度,它等于編碼器中移位寄存器的級數(shù);實際上,第一個移位寄存器是多余的。

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

a.jpg

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

  根據(jù)卷積碼的生成多項式矩陣可直接得到編碼器的結構圖,如圖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

  由此生成多項式矩陣可得前向編碼器的結構圖,如圖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)中的前向鏈路卷積編碼器的功能將其內部結構分為:移位寄存器組、模2和加法器、輸出控制器以及時鐘電路等四個模塊,每一模塊對應一部分VHDL的設計文件,這樣利于程序的編寫和調試,從而降低了整個程序的調試難度,提高了軟件的可維護性和可讀性。前向鏈路卷積編碼器的組成框圖如圖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個零,其輸出結果為11010111000001111111101100,,仿真時,輸入數(shù)據(jù)data的速率為9.6Kb/s;輸出碼元c的速率為19.2Kb/s。仿真結果如圖4所示,其中b為寄存器組各個時刻的狀態(tài)。

g.jpg

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

  3 結語

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



 

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