999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于FPGA的多通道復用Viterbi譯碼器的設計與實現

2017-11-15 22:08:35龐志鋒劉欣欣王曉君
電腦知識與技術 2017年28期

龐志鋒+劉欣欣+王曉君

摘要:衛星定位接收機中的卷積碼譯碼即Viterbi譯碼,在處理器中面臨著占有資源比較多、處理時間太長等問題,為了減少處理器中資源占用和提高它的處理速度,采用了多通道復用和串行加比選蝶形單元的方法,在FPGA平臺上用硬件描述語言設計出一種高性能Viterbi譯碼器,大大減少資源占用,提高了接收機的處理速度。

關鍵詞:卷積碼;Viterbi算法;FPGA;資源占用

中圖分類號:TN919 文獻標識碼:A 文章編號:1009-3044(2017)28-0251-03

Abstract: Satellite positioning receiver decoding convolutional code Viterbi decoder, facing the problem of share more resources and processing time in the processor, the processor in order to reduce the occupied resources and improve the processing speed, using multi channel multiplexing and serial plus selection butterfly unit method, using hardware description language to design a high performance Viterbi decoder FPGA platform, greatly reduce the resource utilization, improve the processing speed of the receiver.

Key words: convolutional code; Viterbi algorithm; FPGA; resource consumption

卷積碼是廣泛應用于無線通信、衛星通信等多種通信系統中的信道編碼方式。Viterbi算法是卷積碼的最大似然譯碼算法,該算法譯碼速度快、性能好,并且實現硬件結構也比較簡單,是最優的卷積碼譯碼算法[1]。在現代通信系統中,要使信號能夠更可靠地在信道中傳輸,往往需要在信道編碼中采用糾錯碼來降低信號受噪聲的影響,以降低傳輸的誤碼率。卷積碼及其Viterbi譯碼是比較常用的信道編碼方案。

1 卷積編碼及Viterbi算法基本原理

卷積碼是由移位寄存器和n個模2加法器組成,當前狀態的輸入進來的數據和寄存器組中的數據共同決定著編碼器的輸出結果。(2,1,7)卷積碼的生成多項式為G=(171,133),電路圖如圖1所示[2]。(2,1,7)卷積碼編碼器由6個延時器(圖1中的q-1模塊,可用寄存器實現)和兩個模2加法器組成,它的編碼約束度為7,碼率為1/2,即輸入端輸入1b信息,輸出端輸出2b編碼信息,并分為上、下兩路并行輸出。

Viterbi譯碼算法是找最大度量的最大似然路徑,即找出局部最優的幸存信息就等效于找到最優幸存信息,它將比較進入每一狀態下的所有路徑,然后得出最優路徑并存儲,即幸存路徑,步驟為:(1)從某一時間單位[l=m]開始,將每個路徑中的分支度量值計算出來,然后將所有狀態的分支度量值和幸存路徑存儲下來;(2)[l]增加l,[l=m+1],累加更新后的分支度量值和之前的分支度量值,然后計算出來最大度量的路徑,然后把更新后的幸存路徑及其度量值存儲下來,并刪掉其他路徑;(3)若[l

2 基于硬件描述語言的Viterbi算法

由Viterbi譯碼算法可以得出Viterbi譯碼器的結構框圖,圖2是Viterbi譯碼器結構框圖,一個Viterbi譯碼器,一般都會包括圖2所示的幾個基本部分:控制模塊、分支度量計算模塊、加比選模塊、幸存路徑管理模塊和一些必要的存儲模塊。

2.1 仲裁邏輯設計

仲裁寫控制,首先輪詢一遍所有通道,將通道使能轉為寫信號暫存在寫使能寄存器中,并且在此輪詢中將數據也暫存,并將寫使能與暫存數據例化進相應的FIFO中。

通道FIFO數據向緩存FIFO中導入控制,判斷每一個FIFO中的數據是否滿足了譯碼的條件的數量,若滿足了譯碼條件的數量,并且緩存FIFO的空信號有效時,則可以將數據從滿足條件的通道FIFO中導入到緩存FIFO中,此時通道FIFO的讀使能與緩存FIFO的寫使能信號的高電平長短應該為486個主鐘,這樣控制輸入到緩存FIFO中的數據為486,當導入到緩存FIFO中的數據達到了486個時,將產生Decode_start信號與相應的通道號。

仲裁讀控制,當譯碼模塊處于忙狀態,然后譯碼模塊的讀使能有效,并且FIFO不空時,則將啟動FIFO讀使能,再利用讀使能將FIFO中數據進行輸出。仲裁邏輯模塊的原理圖如圖3所示。

2.2 控制模塊

控制模塊主要的任務是產生系統內部各個模塊的各種控制信號,這些內部的控制信號保證了各個功能模塊的協調工作。因此,控制模塊對于系統有序高效的運行非常重要,是整個Viterbi譯碼系統的核心模塊[3]。

當Decode_start信號有效時,譯碼控制模塊中的Control_vaild信號置高電平,在主鐘和Control_vaild信號有效下主鐘計數器Clk_cnt加1,每當Clk_cnt為0時,RD_FIFO置高電平持續1個鐘,蝶形狀態計數器Status_num根據當前Clk_cnt的計數值減1處理,在Status_num輸出延遲2個主鐘后輸出Butter_select(為了匹配距離計算模塊的節奏)將每對蝶形單元的輸出送譯碼計算模塊,當Clk_cnt為32時,Status_num保持31不變,當Clk_cnt計數值達到37時,清零重新開始計數,每當Clk_cnt清零時,送存儲模塊的Ping_Pang信號翻轉,同時譯碼控制模塊的Bit_cnt計數器加一,當Bit_cnt計數為242時,輸出Frame_over信號送仲裁模塊,當Bit_cnt計數值為242且Clk_cnt計數值為35時,輸出Combine_result_enable信號送譯碼輸出模塊進行最后64位結果的拼接。當Bit_cnt計數值為134且Clk_cnt計數值為0時,輸出ID_bit_enable信號送譯碼輸出模塊進行ID號輸出。控制模塊的時序圖如圖4所示。

2.3 加比選(ACS)模塊

ACS單元把前一狀態的度量值,與當前輸入信號的分支度量相加得到該分支的度量值,比較不同分支路徑度量的大小,選擇最小的度量值,更新當前狀態的新度量值,并存儲到RAM中,當更新完所有狀態的度量值,將讀出RAM中的數據給ACS模塊使用。所以可以得出,加比選模塊由加法器、比較器和選擇器組成。加比選模塊將度量值保存到距離存儲單元,更新距離度量值。同時將最優路徑存到路徑存儲單元,更新最優路徑。

加法器是距離計算模塊得出的分支度量值和存儲單元得到的累加度量值相加;比較器是0狀態下輸入為0時相加的結果和1狀態下輸入為0時相加的結果作比較。0狀態下輸入為32相加的結果和1狀態下輸入為32時相加的結果作比較,上面兩個結果作比較得出最優路徑;選擇器是比較選出較小的一個度量值輸出給存儲單元,選擇出的最優路徑也存入存儲單元。

3 仿真及接收機測試結果

整個系統使用Verilog HDL完成了設計,在Modelsim SE 6.6d平臺上進行了仿真,將Matlab生成的數據寫入一個Modelsim待讀的存儲器中,然后利用測試激勵文件來讀取數據,數據經過頂層模塊后,數據主要經過仲裁復用模與譯碼模塊還有中斷模塊中進行仲裁復用、譯碼和叫中斷,在Modelsim中產生最后輸出的數據。利用Modelsim產生的數據與Matlab仿真生成的數據進行對比,Modelsim仿真出來的誤碼個數和誤碼的位置都和Matlab一一對應,兩種仿真的數據都嚴格對應,并且在Xilinx ISE Design Suite 13.2平臺上進行了綜合。仿真結果如圖5所示。

誤碼性能圖6是根據Matlab仿真出來的RD維特比譯碼case列表畫出來的,該表格的數據與誤比特率理論值都一一對應。

4 結束語

本文通過研究(2,1,7)卷積碼Viterbi譯碼的FPAG(Field Programmable Gate Array現場可編程門陣列)實現算法,設計了采用多通道情況下使用仲裁邏輯、雙口RAM、加比選單元選擇最優路徑的軟判決Viterbi譯碼器。該譯碼器既滿足了譯碼速度,又比并行算法節省了約50%的硬件資源,而且還便于和其他系統模塊結合。

參考文獻:

[1] 傅民倉,馮立杰,李文波.基于FPGA的高速Viterbi譯碼器優化設計和實現[J].現代電子技術,2006,29(7):52-54.

[2] 蔡志龍,馮文江,楊洋.一種基于FPGA的Viterbi譯碼器優化算法[J].現代電子技術,2008,31(17):105-107.

[3] 丘磊,張巖.基于FPGA的高性能Viterbi譯碼器的設計[J].微電子學與計算機,2010,27(7):246-249.

[4] 韓可,鄧中亮,施樂寧.(2,1,7)卷積碼Viterbi譯碼器FPGA實現方案[J].現代電子技術,2007,30(15):90-96.

[5] 牛晨曦,張輝.一種基于FPGA的Viterbi譯碼器[J].現代電子技術,2005,28(3):56-57.

[6] 王連成.基于FPGA的Viterbi譯碼器設計[J].電子元器件應用,2010,12(5):39-40.

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

[8] 吳厚航.深入淺出玩轉FPGA[M].北京:北京航空航天大學出版社,2010.

[9] 張傳達,李小文.卷積碼編碼及其Viterbi譯碼器的實現[J].無線電工程,2006,36(07).

[10] 樊昌信,曹麗娜.通信原理[M].北京:國防工業出版社,2008.

[11] Scllegel C.Fundamentals of Digital Communication and Blocking Coding, Chapter 4: Convolutional Codes[M].IEEE Press, 2002.endprint

主站蜘蛛池模板: 亚洲青涩在线| 久久精品日日躁夜夜躁欧美| 大乳丰满人妻中文字幕日本| 中文毛片无遮挡播放免费| 中文字幕亚洲专区第19页| 国产一区二区三区在线无码| 亚洲成人高清无码| 国产拍揄自揄精品视频网站| 97青草最新免费精品视频| 亚洲三级色| 亚洲精品制服丝袜二区| 久久久久青草线综合超碰| 国产成人精品第一区二区| 91黄视频在线观看| 国产91视频免费观看| 亚洲人成人伊人成综合网无码| 99一级毛片| 亚洲精品成人福利在线电影| 国产亚洲精品无码专| 91丨九色丨首页在线播放| 啊嗯不日本网站| 成人第一页| 欧美性爱精品一区二区三区| 国产日韩欧美视频| 99人妻碰碰碰久久久久禁片| 欧美特黄一免在线观看| 精品视频第一页| 亚洲热线99精品视频| 国产午夜无码专区喷水| 日韩视频精品在线| 成年女人18毛片毛片免费| 四虎精品国产AV二区| 一本久道久久综合多人| av在线5g无码天天| 亚洲a免费| 亚洲综合色区在线播放2019| a级毛片在线免费观看| 五月天天天色| 国产91色在线| 一级全黄毛片| 亚洲中文字幕久久精品无码一区| 日韩精品一区二区深田咏美| 日韩精品少妇无码受不了| 色视频国产| 欧美日韩另类国产| 手机在线国产精品| 国产视频a| 2021亚洲精品不卡a| 无码AV动漫| 亚洲综合精品第一页| 亚洲永久视频| 国产极品美女在线观看| 99久久99视频| 国产原创演绎剧情有字幕的| 一级毛片无毒不卡直接观看| 91在线精品免费免费播放| 国产午夜看片| 激情综合图区| 高清无码一本到东京热| 欧美一级夜夜爽www| 日本在线欧美在线| 五月天综合婷婷| 亚洲无码高清视频在线观看| 六月婷婷激情综合| 天天躁日日躁狠狠躁中文字幕| 高清国产在线| 国产亚洲成AⅤ人片在线观看| 18禁不卡免费网站| a亚洲视频| 久久毛片基地| 一级毛片中文字幕| 91综合色区亚洲熟妇p| 亚洲中文字幕手机在线第一页| 91香蕉视频下载网站| 亚洲天堂日本| av无码一区二区三区在线| 免费 国产 无码久久久| 麻豆精品在线| 亚洲AV无码乱码在线观看代蜜桃| 性69交片免费看| 国产v欧美v日韩v综合精品| 久996视频精品免费观看|