基于FPGA的移動(dòng)通信中卷積碼編碼器設(shè)計(jì)
摘要:卷積碼是一種性能優(yōu)良的差錯(cuò)控制編碼。介紹了卷積碼編碼原理,基于FPGA利用VHDL硬件描述語言實(shí)現(xiàn)了一個(gè)(2,1,9)卷積碼編碼器。給出了仿真結(jié)果,并在FPGA器件上驗(yàn)證實(shí)現(xiàn)。仿真及測試結(jié)果表明,達(dá)到了預(yù)期的設(shè)計(jì)要求,并用于實(shí)際項(xiàng)目中。
關(guān)鍵詞:卷積碼;編碼器;現(xiàn)場可編程門陣列;VHDL
0 引言
數(shù)字信號(hào)在有噪聲的信道中傳輸時(shí),由于受到干擾的影響,會(huì)發(fā)生誤碼。在設(shè)計(jì)數(shù)字通信系統(tǒng)時(shí),首先應(yīng)合理設(shè)計(jì)基帶信號(hào),選擇調(diào)制、解調(diào)方式,并采用均衡措施等,使誤碼率達(dá)到指標(biāo)要求。若仍然不能滿足要求時(shí),則必須采用差錯(cuò)控制編碼等信道編碼技術(shù),使誤碼率進(jìn)一步降低。
卷積碼是深度空間通信系統(tǒng)和無線通信系統(tǒng)中常用的一種差錯(cuò)控制編碼。在編碼過程,卷積碼充分利用了各碼字之間的相關(guān)性。卷積碼廣泛應(yīng)用于衛(wèi)星通信,GSM,CDMA數(shù)字移動(dòng)通信等通信系統(tǒng),對其進(jìn)行研究具有很大的現(xiàn)實(shí)意義。
FPGA是可編程邏輯器件,采用FPGA等新型可編程器件進(jìn)行數(shù)字系統(tǒng)設(shè)計(jì),不僅使設(shè)計(jì)的電子產(chǎn)品達(dá)到微型化、高集成化和高可靠性,而且開發(fā)周期短、成本低、風(fēng)險(xiǎn)小。本設(shè)計(jì)采用VHDL語言并選用FPGA設(shè)計(jì)了一個(gè)(2,1,9)卷積碼編碼器。
1 卷積碼編碼器原理
卷積碼是1955年由Elias等人提出的一種十分常見且有效的前向糾錯(cuò)碼(FEC)。卷積碼(n,k,N)主要用來糾隨機(jī)錯(cuò)誤,它的碼元與前后碼元有一定的約束關(guān)系。卷積碼(n,k,N)將是個(gè)信息比特編為n個(gè)比特,N為約束長度。即卷積碼的當(dāng)前碼元不僅與當(dāng)前輸入的k個(gè)信息碼元有關(guān),而且還與前面(N-1)個(gè)時(shí)刻輸入的信息碼元有關(guān),卷積碼的糾錯(cuò)能力不僅與約束長度有關(guān),還與采用的譯碼方式有關(guān)??傊?,由于n,k較小,且利用了各組之間的相關(guān)性,在同樣的碼率和設(shè)備的復(fù)雜性條件下,無論在理論上還是實(shí)踐上都證明:卷積碼的性能至少不比分組碼差。
2 卷積碼編碼器設(shè)計(jì)
2.1 編碼設(shè)計(jì)原理
卷積碼(n,k,N),其一般形式為一個(gè)由N段組成的輸入移位寄存器,每段有k級;一組n個(gè)模2和相加器;一個(gè)由n級組成的輸出移位寄存器。對應(yīng)于每段k個(gè)比特的輸入序列,輸出n個(gè)比特。整個(gè)編碼過程可以看成是輸入信息序列與由移位寄存器與模2和連接方式所決定的另一個(gè)序列的卷積。
本設(shè)計(jì)的卷積碼是(2,1,9),編碼效率是1/2比率,約束長度為9,碼發(fā)生器函數(shù)為:g(1,1)=(111101011),g(1,2)=(101110001)。對于每個(gè)輸入到編碼器的數(shù)據(jù)比特產(chǎn)生兩個(gè)編碼符號(hào)v1和v2,然后依次輸出;編碼符號(hào)v1,用發(fā)生器函數(shù)編碼g(1,1),第一個(gè)輸出;編碼符號(hào)v2用發(fā)生器函數(shù)g(1,2)編碼,第二個(gè)輸出。卷積碼編碼器初始狀態(tài)為全“0”狀態(tài)。隨后第一個(gè)輸出編碼符號(hào)為發(fā)生器函數(shù)g(1,1)產(chǎn)生的編碼符號(hào)。
電路框圖如圖1所示。
評論