《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于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亚洲国产精品_日韩亚洲一区二区
久久精品一区二区三区四区 | 亚洲国产高清在线| 国产精品你懂的在线| 欧美日韩久久久久久| 欧美激情日韩| 欧美精品久久久久久久免费观看| 美女尤物久久精品| 美女脱光内衣内裤视频久久影院 | 欧美综合77777色婷婷| 亚洲欧美日韩一区二区三区在线观看| 亚洲神马久久| 亚洲午夜激情网站| 亚洲一级黄色片| 亚洲欧美日韩中文视频| 亚洲欧美中文在线视频| 亚洲欧洲av一区二区三区久久| 亚洲一二区在线| 亚洲在线视频观看| 亚洲免费影视第一页| 亚洲欧美美女| 久久不射网站| 91久久中文字幕| 一本色道88久久加勒比精品| 亚洲午夜久久久| 欧美一区二区三区在| 久久高清国产| 麻豆国产精品va在线观看不卡 | 国产精品国产精品| 国产欧美日韩综合一区在线观看| 国产婷婷色一区二区三区四区| 国产一区清纯| 亚洲国产精品电影| 亚洲免费av片| 午夜精品免费在线| 亚洲国产毛片完整版| 日韩视频在线免费观看| 亚洲一区二区综合| 欧美一区二区三区视频免费播放| 久久亚洲高清| 欧美日本韩国| 国产精品一卡| 一区二区三区在线视频免费观看| 亚洲激情影视| 亚洲无吗在线| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲伦理网站| 午夜日韩在线| 欧美 日韩 国产精品免费观看| 欧美色大人视频| 国产一区二区三区久久久| 亚洲黄页视频免费观看| 一区二区三区欧美成人| 久久精品夜色噜噜亚洲aⅴ| 日韩性生活视频| 欧美亚洲一区| 欧美va天堂在线| 国产精品日韩| 亚洲国产精品日韩| 亚洲自拍偷拍色片视频| 亚洲黄色高清| 亚洲在线免费视频| 久久中文欧美| 国产精品久久久久av免费| 黄色成人在线网站| 一区二区三区.www| 亚洲国产日韩欧美在线动漫| 亚洲一区久久久| 麻豆精品视频在线| 国产美女扒开尿口久久久| 亚洲人在线视频| 欧美一区二区| 亚洲影院在线| 欧美韩日高清| 国内精品伊人久久久久av一坑| 99re这里只有精品6| 亚洲第一毛片| 欧美一区二区三区久久精品茉莉花| 免费在线欧美视频| 国产视频亚洲精品| 在线午夜精品自拍| 亚洲精品资源美女情侣酒店| 久久精品在线视频| 国产精品豆花视频| 亚洲精品在线二区| 久久精品亚洲| 久久不见久久见免费视频1| 欧美日韩一区二区视频在线观看| 伊人精品成人久久综合软件| 午夜精品久久久久影视| 亚洲一区二区伦理| 欧美日本不卡高清| 亚洲高清在线播放| 亚洲国产精品999| 久久久www成人免费精品| 国产精品二区在线观看| 亚洲精品乱码视频| 亚洲靠逼com| 免费国产一区二区| 激情综合亚洲| 久久激情五月丁香伊人| 久久国产精品一区二区三区四区| 国产精品成人观看视频免费| 日韩午夜电影| 一区二区三区欧美成人| 欧美韩日一区| 亚洲国内自拍| 亚洲精品少妇网址| 免费短视频成人日韩| 一区二区在线观看视频| 久久国产一区二区| 久久久久久久久久久久久久一区| 国产精品一区二区三区四区| 亚洲视频一区二区| 亚洲一区在线播放| 国产精品久久夜| 亚洲视频碰碰| 亚洲一区二区在线看| 国产精品超碰97尤物18| 一区二区三区视频在线| 亚洲一区二区三区四区视频| 欧美日韩视频第一区| 日韩亚洲精品电影| 亚洲一区二区在线免费观看| 国产精品高清一区二区三区| 亚洲天堂男人| 性欧美video另类hd性玩具| 国产精品欧美久久久久无广告| 亚洲天堂网在线观看| 亚洲欧美日韩国产| 国产精品入口66mio| 亚洲欧美日韩爽爽影院| 久久国产欧美精品| 韩国av一区二区| 亚洲欧洲三级| 欧美日韩高清区| 中文有码久久| 久久国产手机看片| 伊人久久大香线蕉综合热线| 亚洲韩国日本中文字幕| 欧美精品日日鲁夜夜添| 中日韩美女免费视频网站在线观看| 香蕉久久精品日日躁夜夜躁| 国产无一区二区| 久久精品夜色噜噜亚洲aⅴ| 欧美风情在线| 一区二区三区精品国产| 欧美一级二区| 在线欧美日韩精品| 一区二区欧美视频| 国产精品综合不卡av| 亚洲高清色综合| 欧美区一区二区三区| 在线视频欧美一区| 久久久99国产精品免费| 亚洲经典在线| 亚洲一区二区三区精品动漫| 国产麻豆精品theporn| 亚洲欧洲精品成人久久奇米网| 欧美日韩www| 亚洲欧美日韩国产一区| 免费日韩一区二区| 一区二区三区精品国产| 久久精品1区| 91久久线看在观草草青青| 亚洲欧美日韩电影| 一区二区在线视频| 亚洲一区二区三区午夜| 国产一级精品aaaaa看| 亚洲久久一区二区| 国产精品免费网站在线观看| 久久国产加勒比精品无码| 欧美另类久久久品| 亚欧成人在线| 欧美日韩国产一区二区三区地区| 亚洲欧美在线免费观看| 欧美激情在线免费观看| 亚洲综合视频网| 欧美激情精品久久久久久变态 | 亚洲欧美国产va在线影院| 欧美大片免费久久精品三p | 欧美日韩播放| 久久av一区二区三区漫画| 欧美精品久久久久久久免费观看| 午夜久久99| 欧美色区777第一页| 亚洲成人在线视频播放 | 欧美精品在线一区| 香蕉成人伊视频在线观看 | 日韩视频在线免费观看| 国产午夜精品久久久久久久| 99国产精品久久久久老师| 国产亚洲在线| 亚洲欧美电影在线观看| 91久久久久久国产精品| 久久电影一区| 亚洲视频播放| 欧美精品激情blacked18| 欧美在线黄色| 国产精品久久综合| 一区二区av|