當前位置:首頁 > EDA > 電子設計自動化
[導讀]摘要:為了解決傳統(tǒng)的維特比譯碼器結構復雜、譯碼速度慢、消耗資源大的問題,提出一種新型的適用于FPGA特點,路徑存儲與譯碼輸出并行工作,同步存儲路徑矢量和狀態(tài)矢量的譯碼器設計方案。該設計方案通過在ISE9.2i中仿

摘要:為了解決傳統(tǒng)的維特比譯碼器結構復雜、譯碼速度慢、消耗資源大的問題,提出一種新型的適用于FPGA特點,路徑存儲與譯碼輸出并行工作,同步存儲路徑矢量和狀態(tài)矢量的譯碼器設計方案。該設計方案通過在ISE9.2i中仿真驗證,譯碼結果正確,得到編碼前的原始碼元,速度顯著提高,譯碼器復雜程度明顯降低。并在實際的軟件無線電通信系統(tǒng)中信道編解碼部分得到應用,性能優(yōu)良。
關鍵詞:卷積碼;維特比;FPGA;軟件無線電(SDR)

    卷積碼是Elias在1955年最早提出的,稍后,Wozencraft在1957年提出了一種有效譯碼方法,即序列譯碼。Massey在1963年提出了一種性能稍差,但比較實用的門限譯碼方法,由于這一實用性進展使卷積碼從理論走向實用。而后Viterbi在1967年提出了最大似然譯碼法,該方法對存儲器級數(shù)較小卷積碼的譯碼很容易實現(xiàn),并具有效率高、速度快、譯碼器簡單等特點,人們后來稱其為維特比算法或維特比譯碼,廣泛應用于現(xiàn)代通信中。本文主要論述了基于Xilinx公司的FPGA的卷積編碼器及相應的維特比譯碼器的研究,并在幸存路徑存儲與譯碼輸出判決方面提出了改進算法,從而使譯碼器結構得到簡化。

1 卷積碼的編碼原理與實現(xiàn)
    卷積碼是一種重要的前向糾錯編碼FEC,用(n,k,m)表示。分組碼不同,其監(jiān)督元與本組的信息元和前若干組的信息元有關。這種編碼的糾錯能力強,不僅可糾正隨機差錯,而且可糾正突發(fā)差錯。卷積碼根據(jù)需要,有不同的結構及相應的糾錯能力,但都有類似的編碼規(guī)律。卷積碼的編碼器是一個具有k個輸入位(端)、n個輸出位(端),m級移位寄存器的有限狀態(tài)記憶系統(tǒng)。通常稱為時序網(wǎng)絡。其中R=k/n為編碼效率,m為約束長度。卷積碼編碼原理如圖1所示。


    卷積編碼充分利用各組信息元之間的相關性,在誤碼率和復雜度相同的情況下性能優(yōu)于分組碼,并且最佳譯碼更易實現(xiàn),因此在通信系統(tǒng)中得到廣泛應用。但是卷積碼沒有嚴格的代數(shù)結構,尚未找到嚴密的數(shù)學手段將糾錯性能與碼的構成有規(guī)律地聯(lián)系起來,目前大都采用計算機搜索好碼。通常是(2,1,3)卷積碼,本文以生成多項式G=(111,101)的(2,1,3)卷積碼為例介紹設計和實現(xiàn)過程。
    設初始狀態(tài)為SO編碼為00,根據(jù)生成矩陣分別帶入輸入O和輸入1時得到下一個狀態(tài)和相應輸出。依次代入,可得到如圖2所示的狀態(tài)圖。


    描述卷積碼的方法主要有兩類:圖解表示和解析表示。上文提到的生成多項式G=(111,101)即是解析表示。卷積碼的圖解表示又可分為樹狀圖、網(wǎng)格圖和狀態(tài)圖3種。下面介紹常用的樹狀圖表示(網(wǎng)格圖表示將在譯碼部分介紹)。在圖2所示的卷積編碼樹狀圖中,假設移位寄存器的起始狀態(tài)全為0,當?shù)?個輸入比特為O時,輸出比特為00;若輸入比特為1時,則輸出比特為11。隨著第2個比特輸入,第1個比特右移1位,此時輸出比特同時受當前輸入比特和第1個輸入比特的影響。第3個比特輸入時,第1、2比特分別右移1位,同時輸出2個由這3位移位寄存器存儲內容所共同決定的比特。當?shù)?個比特輸入時,第1個比特移出移位寄存器而消失。移位過程可能產(chǎn)生的各種序列如圖3中的二叉樹。



2 Velerbi(維特比)譯碼器原理
    卷積碼的譯碼方式有3種:Veterbi譯碼、門限譯碼和序列譯碼。其中維特比譯碼具有最佳譯碼性能,但硬件實現(xiàn)相對復雜。veterbi算法是檢測離散馬兒可夫過程有限狀態(tài)序列的優(yōu)化算法。在數(shù)字通信系統(tǒng)中,前向糾錯卷積碼編碼和維特比譯碼用來提高系統(tǒng)性能,應用廣泛。
    維特比算法是一種最大似然譯碼算法。它不是在網(wǎng)格圖上一次比較所有可能的2條完整路徑,而是接收一段,計算比較一段,選擇一段最有可能的碼段,從而達到整個碼序列是一個有最大似然函數(shù)的序列。其基本原理是:以斷續(xù)的接收碼流為基礎,逐個計算它與其他所有可能出現(xiàn)的連續(xù)的格狀圖路徑的距離,選出其中概率最大的一條作為譯碼輸出。
    維特比(Veterbi)譯碼算法是基于卷積碼的網(wǎng)格圖表示中路徑的計算,其核心思想就是通過計算路徑矢量進而尋找最短路徑從而最終得到譯碼序列并可以糾正傳輸過程中的錯誤碼字。圖4中給出(2,1,3)卷積碼的網(wǎng)格圖表示。


    圖4中的網(wǎng)格圖中共有2k(N-1)種狀態(tài),每個狀態(tài)(節(jié)點)有2k條支路進入,同時也有2k條支路引出。由于本文討論的是(2,1,3)卷積碼的情況,因此k=1,假設起始狀態(tài)為全0。
    在不同時刻對于同一節(jié)點的所有8個狀態(tài),分別計算以其為終點的2條分支路徑的對數(shù)似然函數(shù)累加值并進行比較,舍棄其中對數(shù)似然函數(shù)累加值小的路徑,保留對數(shù)似然函數(shù)累加值較大的路徑,并將此路徑稱為剩余路徑。由此可見,上述過程可以歸納為“加-比-選”算法,經(jīng)過“加-比-選”電路以后,通過結束信息來確定最終得到的譯碼序列,其中每到來一個結束信息時,只將與已知發(fā)送信息相符的那條支路保留,以此類推,經(jīng)過N-1個結束信息后,即可得到與發(fā)送序列最相似的譯碼路徑。

3 譯碼器設計與實現(xiàn)
    維特比譯碼器包括4個子模塊,如圖5所示。


    1)控制單元 向各個功能模塊提供控制信號,保證譯碼器的工作時序正確,協(xié)調各個功能模塊從而促使整個譯碼器的正常工作。
    2)路徑度量和“加-比-選單元”計算和比較每條支路的路徑度量,得到并保存剩余路徑提供給回溯單元。對于(2,1,3)卷積碼,譯碼深度D=5(m+1)=20,為保證存儲單元和回溯單元同時并行工作,存儲單元為2D(m+1)2m=1280 bit。
    3)回溯單元 從前面“加-比-選”電路送來的剩余路徑中選擇量度最小的剩余路徑,從這條路徑對應的狀態(tài)開始向前尋找,直到找完前面所有狀態(tài),并從存儲單元中讀出譯碼信息送給譯碼控制單元。
    4)譯碼控制單元 將回溯單元送來的譯碼序列反轉順序輸出即為所要輸出的正確的接收序列。其中反轉順序的操作可由RAM實現(xiàn),順序寫入倒序讀出。

4 譯碼器設計中改進和優(yōu)化算法
    本文采取狀態(tài)路徑和判決比特同時存儲,在表示狀態(tài)信息的比特前加上1位判決比特來表示相應狀態(tài)的輸入支路的譯碼信息,因此,譯碼器在回溯時就可直接輸出判決比特作為譯碼器的輸出,降低了譯碼器的判決難度,節(jié)省了存儲回溯路徑所需要的內存,從而降低了譯碼器結構復雜性。
    本設計中譯碼器在計算所有狀態(tài)的路徑量度的同時進行路徑存儲,從而大大提高了譯碼速度。路徑量度是指每個狀態(tài)的2條輸入支路和2條輸出支路,路徑存儲指的是狀態(tài)存儲以及相應的譯碼判決比特存儲。該結構的譯碼器對每一個狀態(tài)都具有獨立的處理單元,彼此互補影響,并行工作,提高了譯碼速度。對于(2,1,3)卷積碼,一個時鐘需要進行2x2x2m=32次路徑量度計算和2m=8次4比特存儲操作。充分發(fā)揮了FPGA擁有大量LCS和RAM的優(yōu)勢。
    在網(wǎng)格圖中,隨著狀態(tài)的改變,每個狀態(tài)的輸出支路的路徑量度逐漸增加,造成存儲資源壓力增大,設計中在每次進行路徑量度計算時,將該狀態(tài)的量度值與上次剩余路徑量度的最小值做差后進行保存,以達到減小存儲器空間的需求。對于編碼效率為1/2的卷積碼,以上差值最大不超過2m,因此,路徑量度的量化寬的為1b(2m)。對于(2,1,3)卷積碼,存儲路徑量度的寄存器位寬為lb(2×3)=3。

5 驗證仿真
    本設計采用Xilinx公司的ISE 9.2i為開發(fā)平臺,選用的是Xilinx Virtex 4 FPGA為開發(fā)芯片用于設計和驗證所提出的卷積編碼和維特比(Veterbi)譯碼算法。
5.1 卷積編碼器
    如圖6所示,clk為時鐘信號,reset為復位信號,din為輸入信號,out_1,out_2為編碼后得到的并行碼字序列??煽闯觯狠斎氪a元為“101010111011 000100011011111111100……”經(jīng)過編碼得到編碼結果為“1101000100010010101000101011001101110011101001010101010 10101011”結果正確。

 


5.2 Verterbi譯碼器
    Vertrbi譯碼器仿真波形如圖7所示,rev[1:0]為輸入譯碼器的接收序列,clk為時鐘信號,rst為復位信號,enable為使能信號,h_out為譯碼器輸出序列??煽闯觯鹤g碼輸出碼元為“10101011101100010001101111111l100……”。結果正確。

6 結束語
    通過對卷積編碼原理與維特比譯碼算法的深入研究,在理解傳統(tǒng)實現(xiàn)方法的基礎上提出適合FPGA存儲器和獨立運算單元豐富的特點的優(yōu)化算法,有效地提高了譯碼器的處理速度,簡化了譯碼器的復雜程度。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉