《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的結構改進型(2,1,4)維特比譯碼器
基于FPGA的結構改進型(2,1,4)維特比譯碼器
2020年電子技術應用第2期
吳雪玲,江 虹
西南科技大學 信息工程學院,四川 綿陽621000
摘要: 在資源受限的處理器中實現高性能的Viterbi譯碼算法是近年來研究的熱點。基于XC6SLX16-2CSG324型FPGA處理器,在資源有限情況下,為兼顧Viterbi譯碼時延與資源消耗的問題,提出了一種結構改進算法。在傳統Viterbi譯碼算法基礎上,首先通過最大限度地預定義存儲路徑度量值的寄存器,達到控制路徑度量值的目的,其次采用步進式幸存路徑信息存儲結構,完成幸存路徑信息的存儲,簡化譯碼器硬件實現復雜度,減小譯碼時延和資源消耗。通過ISE Design Suite 14.7平臺,對回溯深度為20、3 bit軟判決的(2,1,4)維比特譯碼器進行了基于FPGA的驗證,并結合MATLAB仿真進行分析。結果表明,本方法能夠有效減小譯碼時延并降低資源消耗。
中圖分類號: TN911
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.191229
中文引用格式: 吳雪玲,江虹. 基于FPGA的結構改進型(2,1,4)維特比譯碼器[J].電子技術應用,2020,46(2):43-47.
英文引用格式: Wu Xueling,Jiang Hong. FPGA-based structurally improved(2,1,4) Viterbi decoder[J]. Application of Electronic Technique,2020,46(2):43-47.
FPGA-based structurally improved(2,1,4) Viterbi decoder
Wu Xueling,Jiang Hong
School of Information Engineering, Southwest University of Science and Technology,Mianyang 621000,China
Abstract: The implementation of high-performance Viterbi decoding algorithm in resource-constrained processors is a hot topic in recent years. This paper is based on the XC6SLX16-2CSG324 type FPGA processor. In the case of limited resources, in order to balance the problem of Viterbi decoding delay and resource consumption, an improved algorithm is proposed. On the basis of the traditional Viterbi decoding algorithm, the purpose of controlling the path metric value is achieved by maximizing the pre-defined storage path metric value register, and then the stepped survivor path information storage structure is used to complete the storage of the surviving path information and simplifying the decoder hardware implements complexity, reducing decoding delay and resource consumption. Based on the ISE Design Suite 14.7 platform, FPGA-based verification of(2,1,4)-dimensional bit decoders with 20- and 3-bit soft-decision depths is performed, and combined with MATLAB simulation. The results show that the method can effectively reduce the decoding delay and reduce the resource consumption.
Key words : FPGA;Viterbi decoder;metric control;stepped storage structure

0 引言

    糾錯碼技術在數字通信中具有重要作用,其中卷積碼的編碼方式,由于優良的糾錯性能被廣泛應用,而Viterbi譯碼方式作為卷積碼的一種最佳概率譯碼方法,對于卷積碼的廣泛應用具有重要價值[1-2]。近年來,FPGA作為一種半定制電路,廣泛應用于數字信號處理系統中,為Viterbi譯碼器的實現提供了有利條件[3]

    評價Viterbi譯碼器性能的指標主要是譯碼速度和資源消耗,因此如何減小譯碼時延、提高譯碼速度、降低資源消耗成為近年來研究的熱點[4]。文獻[5-6]通過改進文獻[7-8]網格圖的構造來降低譯碼時延、提高譯碼速率,文獻[5]采用基二算法,文獻[6]采用基四算法。其中基二算法的資源消耗小,但基二算法的數據處理能力比基四算法弱;基四算法處理數據能力比基二算法強,但基四算法的主頻低,速度難以提升。文獻[9-10]通過改進Viterbi的迭代方式提高譯碼速度,但是該方法復雜度高,資源消耗大。文獻[11]通過改進回溯結構來降低譯碼時延、提高譯碼速率,在文獻[6]的基礎上提出了基于滑窗流水的前向回溯基四算法,但該方法添加了冗余滑窗,資源消耗大,不適用于資源有限的場景。

    為了使Viterbi譯碼算法可以在XC6SLX16-2CSG-324型FPGA上實現,并針對目前大多數改進算法在資源有限條件下難以兼顧時延與資源消耗,本文在基二算法的基礎上提出了一種改進算法。該算法在基二算法的基礎上,對Viterbi譯碼器的度量控制和幸存路徑信息存儲模塊分別進行了改進,提高基二算法的數據處理能力,在資源有限條件下,能夠有效簡化譯碼器的實現結構,進而兼顧時延與資源消耗,提高譯碼性能。

1 改進Viterbi算法

1.1 算法原理

    Viterbi算法是一種用于解決有限狀態離散時間馬爾科夫鏈的狀態估計問題的優化算法[12]。圖1[1]所示的基二網格圖顯示了卷積碼的譯碼過程,具體描述可參見文獻[1]。時間節點t表示第t個信息碼元,Viterbi譯碼器從網格中找出最大似然路徑。

wdz3-t1.gif

    Viterbi譯碼器的工作流程如圖2[3]所示。將接收機[13]每一時刻從信道接收到的信息序列與編碼網格中所有的信息序列進行比較,根據軟判決原理計算各分支路徑度量值,并與該分支下一時刻進入狀態的度量值進行累加,保留進入每個狀態的度量值最小的分支路徑和幸存路徑信息,當達到回溯深度時,選出度量值最小的狀態作為開始逆向回溯的初始狀態,根據幸存路徑信息找到回溯的最大似然路徑。

wdz3-t2.gif

    記(n0,k0,m)為卷積碼編碼器,該編碼器共有2k0×m個狀態,Viterbi譯碼器必須具備同樣的2k0×m個狀態發生器,且每個狀態必須有一個存儲路徑度量值的存儲器和一個存儲幸存路徑信息的存儲器,所以Viterbi譯碼器的復雜度呈2k0×m指數增長[1]

1.2 算法改進的具體描述

    基二Viterbi譯碼器主要由分支度量計算單元(BMU)、加比選單元(ACSU)、路徑度量存儲單元(PMU)、幸存路徑存儲單元(SMU)、回溯單元(TBU)構成,系統框圖如圖3[3]所示。

wdz3-t3.gif

    改進算法在基二算法的基礎上,主要對ACSU中度量控制結構和SMU的存儲結構進行改進。記Si為狀態i,PMi為狀態Si的路徑度量累加值,τ為回溯深度(τ=L+m,L為信息碼元數),Sub_bit為幸存路徑信息,算法改進的具體描述如下:

wdz3-t4-s1.gif

wdz3-t4.gif

2 理論分析

2.1 離散無記憶信道(DMC)模型

    Viterbi譯碼算法的性能可由譯碼器輸出的誤碼率進行分析。由于改進算法采用軟判決,這里主要針對高斯白噪聲(AWGN)下,BPSK調制的DMC信道模型根據不同回溯深度τ,τ=(5~10)m做誤碼率分析。DMC信道模型如圖5[1]所示,q為電平量化序列,左邊表示信道輸入為二進制0、1,右邊表示信道輸出為0~(q-1),p(q-1|0)表示輸入為0輸出為q-1的概率[1]

wdz3-t5.gif

    根據信道編碼定理,二進制對稱信道(BSC)下,對某一給定的(n0,k0,m)卷積碼,采用最大似然譯碼的Viterbi譯碼器產生錯誤事件的概率PE[1]

wdz3-gs1-3.gif

2.2 改進算法分析

    給定(2,1,4)卷積碼,對于Viterbi的截尾譯碼器,回溯深度τ滿足τ=(5~10)m即可[1],為節約度量寄存器資源,本文選擇τ=20。然后在τ=20的情況下改變Q值,如圖6所示。可以看出Q<8時判決增益增加比較明顯,當Q>8后判決增益增加很慢。因此實際應用中一般選用八電平和十六電平量化,譯碼器不會太復雜,且有2~3 dB軟判決增益[1]。因此選擇τ=20,Q=8能有效保證譯碼器性能。

wdz3-t6.gif

3 仿真分析

3.1 MATLAB仿真結果分析

    在MATLAB中,對Viterbi譯碼器分別在AWGN信道和平坦瑞利衰落信道中譯碼進行建模,給定(2,1,4)卷積碼,當τ=20,Q=8時,對傳統和改進后的譯碼器分別在AWGN信道和平坦瑞利衰落信道中進行仿真。該模型中,輸入信道的信號為二進制相移鍵控(Binary Phase Shift Keying,BPSK)調制信號,信道的輸出量化成八進制。誤比特率(Bit Error Rate,BER)統計性能如圖7所示。從BER性能來看,在AWGN信道中本文采用的Viterbi算法與傳統的Viterbi算法相比,增益提高了約0.5 dB;在平坦瑞利衰落信道中本文采用的Viterbi算法與傳統的Viterbi算法性能相比,在低信噪比時增益提高不明顯,在高信噪比時增益提高了約1 dB。

wdz3-t7.gif

3.2 ISE仿真結果分析

    針對τ=20,Q=8的(2,1,4)譯碼器,本文基于Verilog硬件描述語言對各模塊進行了RTL級描述,并用ISE Design Suite 14.7進行了功能仿真。

    對改進前與改進后的Viterbi譯碼器進行ISE仿真,資源消耗與時延如表1所示。表中可以看出,采用本文提出的度量控制方法和幸存路徑存儲結構的Viterbi譯碼器達到回溯深度后只需15個CLK延遲便可以譯出第一個碼元,采用傳統的度量控制與RE幸存路徑存儲結構的Viterbi譯碼器需要32個CLK延遲。改進后的譯碼器在速度上有了很大的提高,同時資源消耗也有了一定的節約。

wdz3-b1.gif

    Viterbi譯碼器的測試主要包括功能驗證與譯碼器的糾錯性能兩部分。

    首先進行功能驗證,所有數據都是理想的。因為τ=20,則譯碼器以20個數據為一組譯碼,本文的Viterbi譯碼器采用的是截尾譯碼,故利用MATLAB產生16個隨機序列加上4個0組成一組信息序列為C1:11111101101110110000,經過編碼器后的輸出序列為C2:11_10_11_01_10_10_01_11_11_11_00_11_00_10_11_11_11_11_01_11,八電平量化后的序列為C3:111111_111000_111111_000111_111000_111000_000111_111111_111111_111111_000000_111111_000000_111000_111111_111111_111111_111111_000111_111111,將C3序列作為Viterbi譯碼器的輸入,ISE仿真結果如圖8所示。

wdz3-t8.gif

    圖中Clk為碼元時鐘,code是C3序列,TB_flag為1表示達到回溯深度,code_in為譯碼輸出結果:11111101101110110000,與C1序列完全相同,故此譯碼器功能正確。

    其次是糾錯性能測試,在理想數據中人為加入錯誤的干擾信息。經計算,(2,1,4)譯碼器的df=7,故理論上此譯碼器可在5段連續譯碼中糾正3個隨機錯誤。經測試,在20個連續碼元段中加入3個隨機錯誤碼元,即誤比特率為2.5%的情況下,譯碼器可以將錯誤完全糾正。在20個連續碼元段中加入4個隨機錯誤碼元,即誤比特率為3.33%時不能將錯誤完全糾正,但若錯誤碼元之間間隔≥5段碼元時也可完全糾正。理論值的糾錯性能是在譯碼深度無限長時計算出來的,而無限長的譯碼深度在硬件上是無法實現的,因此在實際應用中的糾錯性能會與理論值有一定的差距,但在實際通信系統中,調制后通過信道傳輸的錯誤碼率遠未達到10-2這個數量級[1]。如圖7所示,在AWGN信道中,只要信噪比大于4.5 dB,誤碼率就小于10-2這個數量級;在平坦瑞利衰落信道中,只要信噪比大于14 dB,誤碼率就小于10-2這個數量級,而實際通信系統中信道的信噪比遠遠大于14 dB,因此本文改進的Viterbi譯碼器能夠滿足實際應用中的需求[1]

4 結論

    本設計主要針對ACS和SMU單元,簡化譯碼器的結構,降低硬件實現的復雜度,提高運算速度。在加比選單元的控制度量部分,為了解決路徑度量數據溢出問題,本文提出了預定義存儲度量值寄存器容量法,減小了運算量,提高了譯碼速度。在幸存路徑存儲部分,優化了存儲方式, 采用步進式存儲方法,降低了譯碼器的功耗。回溯譯碼時,采用奇偶回溯法譯碼方式,根據幸存狀態的奇偶性完成輸出,減小了RAM的存儲空間。仿真結果表明,本文的優化設計能夠大大簡化硬件電路的結構,在譯碼器的設計中具有應用價值。

參考文獻

[1] 王新梅,肖國鎮.糾錯碼—原理與方法(修訂版)[M].西安:西安電子科技大學出版社,2001.

[2] GAO Z,ZHU J,HAN R,et al.Design and implementation of configuration memory SEU-Tolerant Viterbi decoders in SRAM-based FPGAs[J].IEEE Transactions on Nanotechnology,2019,18:691-699.

[3] 張慎.卷積碼編碼器及Viterbi譯碼器的設計[D].成都:電子科技大學,2008.

[4] 平磊.面向5G通信的咬尾卷積碼和Turbo碼技術研究[D].西安:西安電子科技大學,2017.

[5] MAMARDE R,KHOJE S.Viterbi decoder using Zynq-7000 AP-SoC[C].2018 Second International Conference on Intelligent Computing and Control Systems(ICICCS).IEEE,2018:941-944.

[6] EL-GOHARY A,SAAD M,MAHMOUD O,et al.Low utilization FPGA implementation of OFDM transceiver based on IEEE 802.11 n standard[C].2019 8th International Conference on Modern Circuits and Systems Technologies(MOCAST).IEEE,2019:1-4.

[7] ZHOU L,TANG M,LIU D,et al.A flexible viterbi decoder for software defined radio[J].Journal of Theoretical and Applied Information Technology,2013,47(2):702-706.

[8] SANTHI M,LAKSHMINARAYANAN G,SUNDARAM R,et al.Synchronous pipelined two-stage radix-4 200Mbps MB-OFDM UWB Viterbi decoder on FPGA[C].2009 International SoC Design Conference(ISOCC).IEEE,2009:468-471.

[9] 朱明哲,肖瑞,蘇小凡,等.混合噪聲下基于Viterbi同步壓縮S變換的FM信號分析[J].電子與信息學報,2018,40(12):2913-2918.

[10] YOSHIKAWA H.Error performance analysis of the K-best viterbi decoding algorithm[C].2018 International Symposium on Information Theory and Its Applications(ISITA).IEEE,2018:257-260.

[11] AHMED S,SIDDIQUE F,WAQAS M,et al.Viterbi algorithm performance analysis for different constraint length[C].2019 16th International Bhurban Conference on Applied Sciences and Technology(IBCAST).IEEE,2019:930-932.

[12] 楊敏.高速率低延時Viterbi譯碼器的設計與實現[J].電子技術應用,2018,44(9):56-58,62.

[13] 辛淵博,侯宏.基于FPGA的數字信道化接收機的研究及實現[J].電子技術應用,2009,35(5):163-165,170.

[14] 仇佩亮,陳惠芳,謝磊.數字通信基礎[M].北京:電子工業出版社,2007.



作者信息:

吳雪玲,江  虹

(西南科技大學 信息工程學院,四川 綿陽621000)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲高清电影| 亚洲午夜激情| 国产精品视频在线观看| 欧美日本一区二区三区| 麻豆精品视频在线观看视频| 久久久精品视频成人| 欧美一区免费视频| 香蕉久久一区二区不卡无毒影院| 亚洲一区二区三区四区五区午夜| 亚洲无线视频| 亚洲午夜女主播在线直播| 一区二区三区欧美在线| 一本久久青青| 亚洲视频视频在线| 中文日韩欧美| 亚洲女同在线| 午夜精品久久久久久久久| 亚洲一区二区三区视频| 在线视频日本亚洲性| 一区二区三区高清在线| 亚洲午夜视频| 香蕉亚洲视频| 久久精品国产一区二区电影| 久久午夜电影| 欧美成人一品| 欧美日韩精品二区| 欧美亚洲第一页| 国产精品丝袜91| 国产最新精品精品你懂的| 国内成人精品视频| 在线成人av.com| 亚洲美女视频网| 亚洲一区二区三区在线| 欧美一区二区精美| 亚洲区在线播放| 一区二区三区欧美日韩| 午夜精品国产| 久久亚洲精品欧美| 欧美精品三级日韩久久| 国产精品捆绑调教| 国产专区综合网| 亚洲精品乱码久久久久| 宅男精品视频| 欧美一区二区三区四区视频| 亚洲国产精品成人| 中国成人亚色综合网站| 性xx色xx综合久久久xx| 久久九九精品| 欧美日本乱大交xxxxx| 国产精品欧美日韩久久| 黄色国产精品一区二区三区| 亚洲国产精品久久人人爱蜜臀 | 国产精品视频精品视频| 国产亚洲一级| 亚洲精品孕妇| 欧美在线综合视频| 一区二区三区免费看| 久久久999精品| 欧美日韩免费精品| 国产自产在线视频一区| 日韩亚洲视频在线| 欧美伊人久久久久久久久影院| 亚洲精品综合精品自拍| 欧美一区高清| 欧美精品一区二区三区蜜桃 | 亚洲欧美三级伦理| 日韩一级黄色av| 久久动漫亚洲| 欧美日韩国产页| 黑人操亚洲美女惩罚| 99精品欧美一区| 亚洲国产成人porn| 亚洲欧美日韩国产综合| 欧美精品一区二区在线播放| 国产日韩一区二区三区| 99国产精品久久久久久久| 久久经典综合| 午夜精品久久久久久99热| 欧美精品高清视频| 国产综合精品| 午夜国产精品视频| 一区二区三区四区五区在线| 蜜臀av一级做a爰片久久| 国产麻豆午夜三级精品| 99精品国产在热久久| 91久久中文字幕| 久久久久久综合| 国产麻豆精品theporn| 夜夜嗨av一区二区三区四季av| 亚洲二区在线视频| 久久精品一二三区| 国产精品综合| 一个色综合导航| 亚洲剧情一区二区| 美女主播一区| 揄拍成人国产精品视频| 欧美中文字幕在线观看| 欧美在线不卡| 国产美女搞久久| 亚洲尤物视频网| 亚洲欧美国产精品va在线观看| 亚洲精品自在在线观看| 亚洲欧美成人一区二区三区| 亚洲精品美女在线观看| 亚洲嫩草精品久久| 一本大道久久a久久综合婷婷 | 亚洲人午夜精品| 亚洲视频在线观看一区| 99国内精品久久| 噜噜噜91成人网| 国内精品伊人久久久久av影院 | 欧美一级在线视频| 午夜精彩视频在线观看不卡 | 黄色成人小视频| 欧美在线视频播放| 久久精品欧美| 国产自产女人91一区在线观看| 亚洲欧美视频在线观看| 欧美在线看片| 国产麻豆午夜三级精品| 亚洲欧美中日韩| 久久国内精品自在自线400部| 国产裸体写真av一区二区| 亚洲欧美日韩一区在线观看| 欧美一区二区日韩| 国产日本精品| 欧美一区二区三区四区高清| 久久aⅴ乱码一区二区三区| 国产日韩精品在线观看| 欧美在线视频日韩| 久久五月激情| 亚洲国内欧美| 亚洲系列中文字幕| 国产精品三级久久久久久电影| 亚洲一区免费网站| 欧美在线播放一区二区| 国产一区二区三区久久久久久久久| 欧美伊人精品成人久久综合97| 久久裸体艺术| 亚洲黄色天堂| 亚洲影院在线| 国产欧美综合一区二区三区| 久久精品国产亚洲一区二区| 免费av成人在线| 亚洲乱码国产乱码精品精可以看| 亚洲一区中文| 国产午夜精品美女毛片视频| 亚洲国产激情| 欧美精品在线看| 亚洲一区在线直播| 久久久青草青青国产亚洲免观| 亚洲国产cao| 亚洲午夜高清视频| 国产欧美亚洲一区| 91久久国产自产拍夜夜嗨| 欧美日本久久| 亚洲欧美国产高清va在线播| 久久亚洲精品欧美| 99视频在线观看一区三区| 欧美伊人久久大香线蕉综合69| 国产一区日韩一区| 99re6这里只有精品视频在线观看| 欧美日韩综合一区| 欧美制服丝袜| 欧美日韩精品在线| 欧美影院在线| 欧美日韩国产精品一区| 亚洲欧美一区二区三区极速播放| 免费在线亚洲| 亚洲婷婷国产精品电影人久久| 久久久综合免费视频| 99re在线精品| 麻豆久久婷婷| 亚洲一区二区在线| 欧美国产极速在线| 亚洲欧美一区二区原创| 欧美精品免费播放| 欧美在线免费一级片| 欧美日韩另类丝袜其他| 久久国产精品电影| 国产精品激情偷乱一区二区∴| 久久国产欧美精品| 欧美午夜a级限制福利片| 久久精品人人做人人综合| 国产精品白丝黑袜喷水久久久| 亚洲第一偷拍| 国产精品久久久久久久久久三级| 亚洲国产一区二区三区a毛片| 欧美调教视频| 亚洲精品视频免费| 国产最新精品精品你懂的| 亚洲免费影院| 亚洲久色影视| 女女同性精品视频| 欧美影院成年免费版| 国产精品二区在线| 一区二区电影免费在线观看| 韩国av一区二区三区四区| 亚洲欧美在线视频观看| 亚洲精品乱码久久久久久蜜桃麻豆 |