激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

高速Viterbi譯碼器的優(yōu)化和實(shí)現

時(shí)間:2024-10-23 01:38:21 理工畢業(yè)論文 我要投稿
  • 相關(guān)推薦

高速Viterbi譯碼器的優(yōu)化和實(shí)現

摘要:大約束度卷積碼作為信道糾錯編碼在通信中得到了廣泛的應用,而其相應的Viterbi譯碼器硬件復雜度大,限制了譯碼速度。分析了Viterbi譯碼器的結構,優(yōu)化了各模塊,合理地組織了存儲器結構,簡(jiǎn)化了接口電路。用FPGA實(shí)現Viterbi譯碼器,提高了譯碼器速度。

Viterbi算法是一種基于最大后驗概率的卷積譯碼算法,應用廣泛。CDMA的IS-95標準和WCDMA 3 GPP標準將卷積碼作為高速實(shí)時(shí)數據傳輸的信道糾錯編碼,使Viterbi譯碼器成為移動(dòng)通信系統的重要組成部分。

為保證糾錯性能,卷積碼結束度一般選擇比較大的,在3 GPP中規定約束度K=9。出于實(shí)時(shí)性的考慮,移動(dòng)通信系統中對譯碼時(shí)延的要求比較高,需要高速譯碼器的支持?墒荲iterbi譯碼算法的復雜度、所需存儲器容量與結束長(cháng)度成指數增長(cháng)關(guān)系,成為限制譯碼器速度的瓶頸。Viterbi譯碼器每解碼一位信息位就需對2 k-1個(gè)寄存器的狀態(tài)進(jìn)行路徑度量,并對相應的存儲單元進(jìn)行讀寫(xiě)。這種情況下,可以采用狀態(tài)路徑存儲單元分塊的方法,以提高其譯碼性能,缺點(diǎn)是ACS單元與存儲器之間的接口電路十分復雜,不易實(shí)現。

本文分析和優(yōu)化了Viterbi譯碼器的結構,提出了一種FPGA實(shí)現方案,簡(jiǎn)化了接口電路,提高了速度。用這種結構實(shí)現的單片集成譯碼器譯碼速率達350kbps、時(shí)鐘頻率30MHz。以下先分析譯堿器總體結構,然后對各模塊設計和實(shí)現做詳細說(shuō)明。

1 算法簡(jiǎn)述及譯碼器結構

本文采用3 GPP標準規定的K=9,碼率r=1/2的(753,561)卷積碼,卷積編碼器送出的碼序列C,經(jīng)過(guò)信道傳輸后送入譯碼器的序列為R。譯碼器根據接受序列R,按最大似然準則力圖找出正確的原始碼序列。

Viterbi譯碼過(guò)程可用狀態(tài)圖表示,圖1表示2個(gè)狀態(tài)的狀態(tài)轉移圖。Sj,t和Sj N/2,t表示t時(shí)刻的兩個(gè)狀態(tài)。在t 1時(shí)刻,這兩個(gè)狀態(tài)值根據路徑為0或者1,轉移到狀態(tài)S2j 1和S2j 1,t 1。每一種可能的狀態(tài)轉移都根據接收到的有噪聲的序列R計算路徑度量,然后選擇出各個(gè)狀態(tài)的最小度量路徑(幸存路徑)。Viterbi算法就是通過(guò)在狀態(tài)圖中尋找最小度量路徑向前回溯L步,最后得到的即為譯碼輸出。

本設計采用Xilinx Virtex600E FPGA芯片,在A(yíng)LDEC公司的Active-HDL仿真環(huán)境下,用Verilog語(yǔ)言完成,并用Xilinx的ISE4綜合實(shí)現。Viterbi譯碼器系統框圖如圖2所示,主要由BMG(路徑計算模塊)、ACS(加比選模塊)、TB(路徑回溯模塊)、MMU(路徑存儲模塊)等部分組成。采用并行流水線(xiàn)結構,各個(gè)模塊在控制信號統一監控下工作,減少了讀取數據所需時(shí)間,充分發(fā)揮了FPGA高速計算的特性,提高了整個(gè)系統的效率。

2 子模塊的優(yōu)化和實(shí)現

2.1 ACS模塊

由于采用的卷積碼約束度K=9,在譯碼過(guò)程中,每一時(shí)刻有2k-1=256個(gè)狀態(tài),512個(gè)度量路徑值,為了獲得高速率,需采用盡可能多的ACS單元。但由于實(shí)際應用中需求電路面積小、功耗低,決定了ACS單元的數目不能太多。經(jīng)過(guò)實(shí)驗證明,采用4個(gè)ACS單元并行處理,完成可以達到應用要求。

圖3 度量路徑狀態(tài)分組圖

ACS單元用來(lái)計算選擇狀態(tài)的路徑度量。它需要不斷地讀出路徑度量作為操作數,然后將更新的度量寫(xiě)回各個(gè)狀態(tài)。由于采用4個(gè)ACS單元并行處理,為不造成流水線(xiàn)堵塞,如何對RAM中的度量數據進(jìn)行讀寫(xiě)是關(guān)鍵。如前述,本文采用狀態(tài)路徑存儲單元分塊的方法。將所有狀態(tài)分成4組,分別對應于4個(gè)ACS。每次運算時(shí),4個(gè)ACS同時(shí)從各組狀態(tài)值中讀取數據進(jìn)行操作。

由圖1可知,狀態(tài)Sj和Sj 2/N在狀態(tài)轉移中同時(shí)得到兩個(gè)新?tīng)顟B(tài)S2J和S2j 1。因此為了ACS能夠同時(shí)取出這兩個(gè)狀態(tài)值,Sj和Sj 2/N必須存儲在不同的RAM組中。同樣,兩個(gè)計算出來(lái)的新?tīng)顟B(tài)S2j和S2j 1也應如此。遵循這種準則,則時(shí)也簡(jiǎn)化接口電路,采用如下的分組算法:假設待分配狀態(tài)=Sj=Sk-2Sk-1…S1S0,所對應的RAM組為Rm,由于RAM共分成4組,則m=(Sk-2S1)S0(兩位二進(jìn)制數表示)。狀態(tài)分組圖如圖3所示,從中可以看出,從狀態(tài)S128開(kāi)始的后續狀態(tài)都有規律地交錯位置存儲。由此,ACS單元和狀態(tài)路徑存儲單元的接口電路只需采用兩個(gè)2×2交換器,如圖4所示。每一個(gè)交換器上連著(zhù)兩個(gè)ACS單元和兩個(gè)RAM組。這兩個(gè)交換器由輸入狀態(tài)Sj的最高位Sk-2控制。當Sk-2=1時(shí),交換器交叉互聯(lián),如果Sk-2為0時(shí),各ACS和RAM直接相連。這種接口設計十分容易實(shí)現。

在Viterbi譯碼算法中,譯碼狀態(tài)的轉移導致度量的讀出和寫(xiě)入地址的不同,這樣用FPGA實(shí)現時(shí)就需要兩塊RAM采用乒乓模式實(shí)現。本文更新路徑存儲采用原位運算方法,也就是找出狀態(tài)轉移的規律性,建立轉移后的新?tīng)顟B(tài)和轉移前的老狀態(tài)際址映射關(guān)系,使度量的更新在原位上進(jìn)行,使存儲空間減小一半。

2.2幸存路徑管理模塊

幸存路徑的存回溯是Viterbi算法關(guān)鍵的一步,最終的譯碼輸出從對幸存的回溯中得到。由于采用基2的狀態(tài)轉移算法,當前時(shí)刻對應的前序時(shí)刻狀態(tài)只有2個(gè),所以在路徑回溯中采用1bit指針算法。也就是說(shuō),在每個(gè)狀態(tài)路徑更新時(shí),只需寫(xiě)1bit路徑狀態(tài)轉移信

【高速Viterbi譯碼器的優(yōu)化和實(shí)現】相關(guān)文章:

高速VITERBI譯碼器的研究與設計03-07

探討實(shí)現英語(yǔ)教學(xué)優(yōu)化的途徑03-20

優(yōu)化稅制,實(shí)現增值稅轉型03-20

3-DES算法的FPGA高速實(shí)現03-20

高速紅外VFIR控制器的設計與實(shí)現12-05

網(wǎng)絡(luò )化系統集成優(yōu)化控制的實(shí)現03-18

高速公路視頻超速臨控系統的實(shí)現03-21

USB接口的高速數據采集卡的設計與實(shí)現03-18

換體DMA高速數據采集電路的CPLD實(shí)現03-18

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频