基于 VCP2 協(xié)處理器的 Viterbi 譯碼器實現(xiàn)
基于 VCP2 協(xié)處理器的 Viterbi 譯碼器實現(xiàn)
文/唐貴林 張金菊 侯小毛
針對LTE通信系統(tǒng)采用的卷積編碼,介紹了采用TI公司多核定點 DSP 芯片 TMS320C6670 中內(nèi)嵌的VCP2協(xié)處理器實現(xiàn)快速Viterbi譯碼的原理和方法,并在DSP硬件平臺上對VCP2的譯碼性能進行了實驗與分析。
【關(guān)鍵詞】TMS320C6670 VCP2 Viterbi 譯碼 誤碼率
1 引言
卷積編碼是3G和LTE等無線通信系統(tǒng)中廣泛應(yīng)用的信道編碼方式,可以增強數(shù)字信號的抗干擾能力,提高通信系統(tǒng)的可靠性。本文介紹了一種新的快速信道譯碼的方案,即基于TI 公司高速多核定點 DSP 芯片 TMS320C6670中嵌入的第二代維特比譯碼協(xié)處理器(VCP2)實現(xiàn)卷積信道譯碼。
卷積碼的 Viterbi 譯碼算法通過使整個碼序列成為一個最大似然序列,同時利用網(wǎng)格圖的重復(fù)性結(jié)構(gòu),減少譯碼所需的計算次數(shù)。TMS320C6670 中的 Viterbi 譯碼協(xié)處理器 VCP2 在 333MHz 時鐘工作頻率時能夠處理 76212.2Kbps 的 AMR 語音信道,支持限制長度 K 為 5、6、7、8、9,碼速率為 1/2、1/3和 1/4 的 Viterbi 譯碼。它使用歐氏距離衡量接收信號同分支標(biāo)號之間的差異,即分支度量(Branch Metric)。考慮到對稱性,對于限制長度 K,輸入 n 比特,碼速率 1/R 的卷積碼,譯碼的每個時刻需要預(yù)先計算 2(R − 1)個分支度量作為輸入。每個時刻均有 2(K − 1)個狀態(tài)。可以通過比較進入某一狀態(tài)不同路徑的狀態(tài)度量來決定幸存路徑,并可以靈活地設(shè)置生成多項式及輸出軟判決或硬判決的譯碼結(jié)果。VCP控制寄存器負(fù)責(zé)控制整個譯碼過程,VCP2 通過直接存儲器訪問單元 EDMA3 與片內(nèi)L2 存儲器進行數(shù)據(jù)交換,從而和CPU 協(xié)同完成譯碼任務(wù)。
2 VCP2譯碼的實現(xiàn)
VCP2 的譯碼需要進行分支度量、數(shù)據(jù)量化、寄存器設(shè)置和數(shù)據(jù)交互等工作,本文重點介紹分支度量和詳細的譯碼步驟。
2.1 分支度量
Viterbi 譯碼算法必須計算前一個狀態(tài)到各個新狀態(tài)的分支度量值。當(dāng)采用硬判決輸入時,分支度量值可用漢明距離表示。對于限制長度為 K,輸入為 n 比特,碼速率為 1/R 的卷積碼,譯碼的每個時刻需要預(yù)先計算 (2R-1)個分支度量作為輸入。設(shè) r(t) 為初始符號,則針對不同編碼速率R,BM算法迭代次數(shù)不同。當(dāng)R=1/2 時,算法為:BM0(t)=r0(t)+r1(t)BM1(t)=r0(t)-r1(t)
2.2 譯碼實現(xiàn)步驟
(1)根據(jù)待譯碼數(shù)據(jù)預(yù)先計算其分支度量,寫入指定的DSP緩沖區(qū)。
(2)分配 DSP 輸出緩沖區(qū),準(zhǔn)備存儲譯碼結(jié)果。
(3)準(zhǔn)備 VCP2 的寄存器配置參數(shù),放在 DSP 的內(nèi)存或外存,當(dāng) VCP2 啟動時由EDMA3寫入VCP2內(nèi)部寄存器。
(4) 設(shè) 置 EDMA3 通 道 29 參 數(shù), 由VCPXEVT 觸 發(fā), 搬 移 VCP2 配 置 參 數(shù) 到VCP2 內(nèi)部寄存器,搬移待譯碼數(shù)據(jù)的分支度量及量化值到 VCP 內(nèi)部輸入 FIFO;設(shè)置EDMA3 通道 28 參數(shù),由 VCPREVT 觸發(fā),從 VCP2 輸出 FIFO 搬移 VCP 譯碼結(jié)果到指定的輸出緩沖區(qū)。
(5)使能 EDMA3 通道 28 和 29,使其可以響應(yīng) VCPREVT 和 VCPXEVT 同步觸發(fā)事件。
(6)寫“開始”命令到 VCP2 內(nèi)部的命令寄存器 VCPEXE,使 VCP2 生成 VCPXEVT事件,觸發(fā) EDMA3 通道 29,搬移配置參數(shù)和待譯碼數(shù)據(jù)的分支度量到VCP2。
(7)VCP2 譯碼完成后觸發(fā) EDMA3,由EDMA3 通道 28 搬移譯碼結(jié)果到指定的輸出緩沖區(qū),并產(chǎn)生到 DSP 內(nèi)核的中斷;DSP 響應(yīng)中斷,對譯碼結(jié)果進行處理。
3 VCP2譯碼性能分析
實驗產(chǎn)生了固定長度的 LTE 信道數(shù)據(jù)并進行卷積編碼,然后進行 BPSK 調(diào)制,將已調(diào)信號加入高斯白噪聲,對含噪信號進行AGC、定標(biāo)和防溢出處理,計算分支度量后將待譯碼數(shù)據(jù)輸入到 VCP2 中進行譯碼。最后,將譯碼結(jié)果與最初生成的隨機序列相比較,計算其誤碼率。結(jié)果如圖1所示。
由圖 1 可見,誤碼率隨著信噪比的提高而降低,隨著數(shù)據(jù)長度的增加而減小。在有限范圍內(nèi)誤碼率始終未超過50%,且當(dāng)信噪比高于 0dB 時誤碼率很低(< 20%),高于 1.5dB時誤碼率達到 數(shù)量級。通過對不同碼速率在同一高斯白噪聲分量的標(biāo)準(zhǔn)差 (Sigma) 的比較還可以發(fā)現(xiàn)碼速率越大則誤碼率越高。
4 結(jié)束語
VCP2 作為 TMS320C6670 的協(xié)處理器,在卷積碼譯碼性能有較大的提高。用戶只需通過簡單的速率適配、數(shù)據(jù)量化和參數(shù)設(shè)置就可以方便地實現(xiàn)高效的 Viterbi 譯碼,同傳統(tǒng)硬件實現(xiàn)方法及軟件譯碼算法相比具有巨大的優(yōu)勢。
作者單位
湖南信息學(xué)院電子信息系 湖南省長沙市 410151
本站論文資源均為來自網(wǎng)絡(luò)轉(zhuǎn)載,免費提供給廣大作者參考,不進行任何贏利,如有版權(quán)問題,請聯(lián)系管理員刪除! 快速論文發(fā)表網(wǎng)(www.vortexsignal.com)本中心和國內(nèi)數(shù)百家期刊雜志社有良好的合作關(guān)系,可以幫客戶代發(fā)論文投稿.
投稿郵箱:ksfbw@126.com
客服Q Q:
82702382
聯(lián)系電話:15295038833
本站論文資源均為來自網(wǎng)絡(luò)轉(zhuǎn)載,免費提供給廣大作者參考,不進行任何贏利,如有版權(quán)問題,請聯(lián)系管理員刪除!