亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于FPGA的多通道復(fù)用Viterbi譯碼器的設(shè)計與實現(xiàn)

        2017-11-15 22:08:35龐志鋒劉欣欣王曉君
        電腦知識與技術(shù) 2017年28期
        關(guān)鍵詞:卷積碼

        龐志鋒+劉欣欣+王曉君

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

        關(guān)鍵詞:卷積碼;Viterbi算法;FPGA;資源占用

        中圖分類號:TN919 文獻標(biāo)識碼: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

        卷積碼是廣泛應(yīng)用于無線通信、衛(wèi)星通信等多種通信系統(tǒng)中的信道編碼方式。Viterbi算法是卷積碼的最大似然譯碼算法,該算法譯碼速度快、性能好,并且實現(xiàn)硬件結(jié)構(gòu)也比較簡單,是最優(yōu)的卷積碼譯碼算法[1]。在現(xiàn)代通信系統(tǒng)中,要使信號能夠更可靠地在信道中傳輸,往往需要在信道編碼中采用糾錯碼來降低信號受噪聲的影響,以降低傳輸?shù)恼`碼率。卷積碼及其Viterbi譯碼是比較常用的信道編碼方案。

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

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

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

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

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

        2.1 仲裁邏輯設(shè)計

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

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

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

        2.2 控制模塊

        控制模塊主要的任務(wù)是產(chǎn)生系統(tǒng)內(nèi)部各個模塊的各種控制信號,這些內(nèi)部的控制信號保證了各個功能模塊的協(xié)調(diào)工作。因此,控制模塊對于系統(tǒng)有序高效的運行非常重要,是整個Viterbi譯碼系統(tǒng)的核心模塊[3]。

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

        2.3 加比選(ACS)模塊

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

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

        3 仿真及接收機測試結(jié)果

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

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

        4 結(jié)束語

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

        參考文獻:

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

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

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

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

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

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

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

        [8] 吳厚航.深入淺出玩轉(zhuǎn)FPGA[M].北京:北京航空航天大學(xué)出版社,2010.

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

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

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

        猜你喜歡
        卷積碼
        卷積編碼的識別技術(shù)研究
        有限域上兩類卷積碼的構(gòu)造
        (n,1,L)卷積碼的邏輯運算譯碼方法
        擴展卷積碼生成矩陣的統(tǒng)一表述*
        一種改進的時不變LDPC卷積碼構(gòu)造方法*
        国产黄色一区二区在线看| 国产精品毛片久久久久久久| 成片免费观看视频大全| 国产鲁鲁视频在线播放| 亚洲男人天堂av在线| 黄页免费人成网址大全| 人妻少妇精品视频一区二区三区l| 99久久久无码国产精品性| 夜夜添夜夜添夜夜摸夜夜摸| 少妇脱了内裤让我添| 欧美自拍区| 日韩精品一二区在线视频| 亚州av高清不卡一区二区| 国产精品黑丝高跟在线粉嫩 | 亚洲精品久久久久久| 亚洲va欧美va人人爽夜夜嗨| 女优av性天堂网男人天堂| 亚洲视频高清一区二区| 漂亮人妻被中出中文字幕久久| 四虎影院在线观看| 欧美日韩中文字幕日韩欧美| 一区二区三区亚洲免费| 成年美女黄网站色大免费视频| 国产白嫩护士被弄高潮| 欧美va免费精品高清在线| 日本大胆人体亚裔一区二区| 亚洲天堂久久午夜福利| 国产精品久免费的黄网站| 丰满熟妇乱子伦| 97久久精品人人妻人人| 亚洲免费观看一区二区三区| 国产三级av在线精品| 久久亚洲精品中文字幕| 午夜福利麻豆国产精品| 中文字幕无码免费久久9一区9| 熟妇人妻精品一区二区视频| 欧美狠狠入鲁的视频777色| 国产熟妇搡bbbb搡bb七区| 91华人在线| 国产三级三级精品久久| 欧美性猛交aaaa片黑人|