国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      通用可重構維特比譯碼裝置及其方法

      文檔序號:7507220閱讀:165來源:國知局
      專利名稱:通用可重構維特比譯碼裝置及其方法
      技術領域
      本發(fā)明涉及一種維特比譯碼裝置(Viterbi Decoder),尤其涉及一種適用GSM、CDMA、802.11等各個通信系統(tǒng),并能根據(jù)系統(tǒng)的協(xié)議要求進行在線重構的Viterbi譯碼器。
      本發(fā)明還涉及一種維特比譯碼裝置的譯碼方法,尤其涉及一種適應GSM、CDMA、802.11等各個通信標準并能根據(jù)不同標準進行重構的維特比譯碼裝置的譯碼方法。
      背景技術
      提高信息傳輸?shù)目煽啃院陀行允峭ㄐ畔到y(tǒng)一直追求的目標。1948年香農(nóng)(Shannon)信息論的提出,首次闡明了在有擾信道中進行可靠傳輸?shù)姆椒ǎ瑸榧m錯碼的出現(xiàn)奠定了基石,尋找性能優(yōu)越的編解碼方法成為通信工作者們研究的重點。現(xiàn)今,卷積編碼方法作為在實際中得到實際驗證的信道編碼方式,廣泛應用于現(xiàn)代無線通信系統(tǒng)、衛(wèi)星通信、深空通信中,是前向糾錯系統(tǒng)中應用最廣泛的一種編碼方式。卷積碼的應用系統(tǒng)和編碼參數(shù)如表1所示。
      表1不同標準協(xié)議定義的卷積編碼格式

      隨著卷積編碼方式的普遍應用,對其譯碼方法的研究也不斷深入,提出的主要的譯碼方法有門限譯碼、序列譯碼、維特比(Viterbi)譯碼等。其中Viterbi譯碼算法于1967年由A.Jviterbi提出,是基于網(wǎng)格圖(trellis)的卷積碼最大似然譯碼方式,目前是主流的卷積碼譯碼方法,與卷積碼的應用一樣廣泛。
      對于譯碼裝置的硬件實現(xiàn),目前都是基于ASIC或FPGA的固定參數(shù)設計,國際上有許多文獻介紹了其基于FPGA或者VLSI的結構設計,或是以Viterbi譯碼裝置的某一特定模塊為主導來設計。比如中國專利一種多信道維特比譯碼裝置及方法(申請?zhí)?1107468.x),僅僅適用CDMA的協(xié)議,應用范圍窄。
      現(xiàn)今,隨著通信系統(tǒng)不同標準和協(xié)議的發(fā)展,定義的卷積編碼參數(shù)的多樣性,這種固定結構和譯碼參數(shù)的Viterbi譯碼裝置已經(jīng)不能滿足通信的新需求,也不利于實現(xiàn)各種通信標準的兼容,顯然這在實際使用中有這樣的缺大,有必要進行改進。

      發(fā)明內(nèi)容
      本發(fā)明涉及一種通用可重構維特比譯碼裝置及其譯碼方法,根據(jù)不同通信系統(tǒng)和信道特征卷積碼的編碼參數(shù)的不同,設計的譯碼裝置可以根據(jù)應用需要進行動態(tài)配置,具體可配置的參數(shù)有約束長度,譯碼方式,及回溯深度等。本發(fā)明兼容各種通信標準,可支持不同參數(shù),應用于不同通信系統(tǒng),可以重新配置各個參數(shù),使用方便,結構簡單,節(jié)省資源,節(jié)約成本。
      為實現(xiàn)上述目的,本發(fā)明采用下面的方法一種通用可重構維特比譯碼裝置至少包括一加比選模塊(ACSU模塊),分別連接一分支度量模塊(BMU模塊),一回溯譯碼模塊(SMU模塊)和控制模塊,所述的ACSU采用ACS(加比選)單元來計算,每次運算完成后,通過全局交換網(wǎng)絡和局部交換網(wǎng)絡完成狀態(tài)交換,將幸存路徑信息對應的狀態(tài)交換到原來的排列順序,送入加比選存儲器中保存;一分支度量模塊(BMU模塊),分別連接ACSU模塊和控制模塊,所述的BMU模塊按照配置的參數(shù)對輸入的數(shù)據(jù)進行處理并輸給ACSU模塊,并且每次計算和更新的狀態(tài)與ACSU模塊同步;
      一回溯譯碼模塊(SMU模塊),分別連接ACSU模塊和控制模塊,所述的SMU模塊處理ACSU完成的幸存路徑信息,然后倒置譯碼輸出;一控制模塊,分別連接ACSU模塊、BMU模塊和SMU模塊三個模塊,所述的控制模塊完成對ACSU模塊、BMU模塊和SMU模塊三大模塊之間的重構、協(xié)調、流水控制及時序配合。
      所述的ACSU模塊采用8個加比選(ACS)單元并行計算的N級流水結構。
      所述的ACSU模塊所采用的8個ACS單元為4個并行的蝶形運算單元并且每個蝶形運算單元又由兩個加-比-選單元組成。
      所述的ACSU模塊所采用的全局交換網(wǎng)絡完成狀態(tài)路徑距離的空間交換。
      所述的ACSU模塊所采用的局部交換網(wǎng)絡(SEU)完成狀態(tài)路徑距離時間上的交換。
      所述的ACSU模塊所采用的加比選存儲器由8個雙端口存儲器(DpRAM)組成。
      所述的BMU模塊至少包括一由串/并轉換模塊(s2p)以及一BMG計算模塊(BMG_Calculate),根據(jù)輸入的控制信息計算分支度量值;一BMG控制單元(BMG_control),提供BMG計算模塊需要的時鐘信號并為同步ACS模塊狀態(tài)而產(chǎn)生16個參考分支度量并送給BMG計算模塊。
      所述的SMU模塊至少包括一幸存路徑存儲器,分別連接邏輯模塊和運算模塊,所述的存儲器保存ACSU模塊計算得到的幸存路徑信息;一SMU控制模塊,分別連接運算模塊、可重構計數(shù)器、邏輯模塊和棧模塊,所述的控制模塊完成對運算模塊、可重構計數(shù)器和邏輯模塊之間的協(xié)調、控制、重構及時序配合;一運算模塊,分別連接幸存路徑存儲器、控制模塊、邏輯運算模塊和棧運算模塊,所述的運算模塊讀取幸存路徑存儲器的信息,計算其回溯時刻;一可重構計數(shù)器,分別連接控制模塊和邏輯運算模塊,所述的計數(shù)器計算回溯時刻對應的幸存路徑的狀態(tài);
      一邏輯運算模塊,分別連接幸存路徑存儲器、控制模塊和棧運算模塊,所述的邏輯運算模塊計算各個讀寫地址并輸出;一棧運算模塊,分別連接控制模塊和運算模塊,所述的棧運算模塊倒置譯碼輸出比特并把倒置結果輸入。
      所述的幸存路徑模塊所采用的存儲器為雙端口存儲器。
      一種通用可重構維特比譯碼裝置的譯碼方法,采取下列步驟a、參數(shù)化配置步驟,采用N級流水線處理數(shù)據(jù)方法,每一級對數(shù)據(jù)幀處理的功能分成兩個階段功能,每一階段功能對應不同的配置,在不同時段,每一級對數(shù)據(jù)幀配置不一樣;b、控制模塊接收配置信息,并生成相應的配置數(shù)據(jù);c、BMU模塊接收經(jīng)過信道傳輸?shù)妮斎胄盘柡涂刂颇K生成的配置參數(shù),,處理生成所需的分支度量;d、ACSU模塊對BMU模塊輸出的分支路徑度量和舊的狀態(tài)路度量進行累加-比較-選擇處理,更新狀態(tài)度量,并將幸存路徑信息存入加比選存儲器;c、SMU模塊從加比選存儲器中讀入幸存路徑信息,并對幸存路徑信息進行判決譯碼輸出。


      圖1為Viterbi譯碼裝置的端口說明;圖2為本發(fā)明譯碼裝置結構框圖;圖3為本發(fā)明ACS模塊結構設計;圖4為本發(fā)明ACS蝶形運算單元;圖5a為本發(fā)明SBU1模塊圖;圖5b為本發(fā)明SEU1功能說明;圖6為本發(fā)明ACS模塊的流水結構;圖7為本發(fā)明各次ACS迭代運算讀寫地址關系;圖8為本發(fā)明BMU模塊的結構圖;圖9為本發(fā)明單指針回溯算法;圖10為本發(fā)明讀寫端口地址數(shù)據(jù)對應圖;圖11為本發(fā)明SMU模塊幸存路徑存儲器;
      圖12為本發(fā)明讀寫地址對應關系及狀態(tài)幸存路徑信息分配;圖13為本發(fā)明參數(shù)配置和重構示意圖具體實施方式
      下面結合附圖對本發(fā)明作進一步詳細的說明Viterbi譯碼裝置的譯碼流程rst復位以后譯碼裝置進行相關的初始化,主要的操作是根據(jù)約束長度、譯碼方式、編碼矢量的初始化參數(shù)內(nèi)部配置得到各個模塊的控制參數(shù)。初始化完成后,當run信號有效時譯碼裝置開始工作,接收待解碼數(shù)據(jù)Bit_in輸入為軟判決數(shù)據(jù)時使能信號SD_in_en有效,在Decision_in_clk的上升沿待判決數(shù)據(jù)進入譯碼裝置,當輸入完SD_length個數(shù)據(jù)時SD_in_en無效,輸入軟判決數(shù)據(jù)結束。輸入的軟判決序列經(jīng)過一段時間的處理后,譯碼輸出使能信號有效,在譯碼序列輸出控制時鐘bit_out_clk信號的每個上升沿將譯碼數(shù)據(jù)送到端口bit_out.當送完DC_length個數(shù)據(jù)時,譯碼結束,信號finish變?yōu)橛行А?jù)此譯碼流程,定義了需要的控制信號,如圖1為Viterbi譯碼裝置的頂層模塊綜合后的端口說明。
      對于不同編碼格式的卷積碼,Viterbi譯碼裝置的組成結構是相同的,不同的只是各模塊內(nèi)部的配置參數(shù)。如圖2所示,一種通用可重構維特比譯碼裝置至少包括一加比選模塊(ACSU模塊),分別連接一分支度量模塊分支度量模塊(BMU模塊),一回溯譯碼模塊(SMU模塊)和控制模塊,所述的ACSU采用ACS(加比選)單元來計算,每次運算完成后,通過全局交換網(wǎng)絡和局部交換網(wǎng)絡完成狀態(tài)交換,將幸存路徑信息對應的狀態(tài)交換到原來的排列順序,送入加比選存儲器中保存;一分支度量模塊(BMU模塊),分別連接ACSU模塊和控制模塊,所述的BMU模塊按照配置的參數(shù)對輸入的數(shù)據(jù)進行處理并輸給ACSU模塊,并且每次計算和更新的狀態(tài)與ACSU模塊同步;一回溯譯碼模塊(SMU模塊),分別連接ACSU模塊和控制模塊,所述的SMU模塊處理ACSU計算得到的的幸存路徑信息,然后倒置譯碼輸出;一控制模塊,分別連接ACSU模塊、BMU模塊和SMU模塊三個模塊,所述的控制模塊完成對ACSU模塊、BMU模塊和SMU模塊三大模塊之間的重構、協(xié)調、流水控制及時序配合。
      本發(fā)明綜合硬件資源和譯碼速度兩種因素,對ACSU采用8個ACS單元(4個BFU)并行計算的N級流水結構,這樣,更新一次狀態(tài)路徑距離需要2K-4個clock,并通過巧妙的分配各次更新狀態(tài)的排列關系,采用統(tǒng)一的硬件結構實時更新狀態(tài)路徑距離,另一方面還可以節(jié)省RAM資源,其結構如圖3所示。
      其中,BFU0~BFU3為4個并行的蝶形運算單元,如圖4所示。一個BFU又由兩個加-比-選單元組成,一次更新兩個狀態(tài)路徑距離值,其完成的操作如下式所示。其中PMj表示狀態(tài)j的路徑距離,BMi,j表示狀態(tài)i到狀態(tài)j的分支轉移路徑距離,v=N-1,N為卷積碼的約束長度。PMj=min(PM2j+BM2j,j,PM2j+1+BM2j+1,j)PMj+2v-1=min(PM2j+BM2j,j+2v-1,PM2j+1+BM2j+1,j+2v-1)]]>DpRAM0~7為8個雙端口RAM,用于存儲幸存狀態(tài)路徑距離。ACS單元與DpRAM之間通過全局交換網(wǎng)絡和局部交換網(wǎng)絡連接,全局交換網(wǎng)絡實現(xiàn)狀態(tài)路徑距離的空間交換,局部交換網(wǎng)絡SEU則實現(xiàn)的是狀態(tài)路徑距離時間上的交換,其結構如圖5a所示,圖5b舉例說明了交換前后的數(shù)據(jù)關系。
      采用8個ACS單元并行計算、原位更新的方法來更新幸存路徑信息要求一次迭代運算完成后,也即2K-4個clock后,幸存路徑對應的狀態(tài)要恢復原位,因此,狀態(tài)的分配和讀寫管理是至關重要的。本發(fā)明提取了K=7,8,9時N次迭代運算后狀態(tài)分配轉換的共同特征,巧妙的運用交換網(wǎng)絡的設計,找到了一種通用的狀態(tài)分配和讀寫管理原則,下面以K=7為例具體說明。各個路徑距離對應的狀態(tài)在DpRAM里面的初始分配如表2所示。
      表2K=7時初始狀態(tài)分配


      按圖2所示的結構經(jīng)過第一次ACS迭代運算后各個DpRAM存儲的路徑距離所對應的狀態(tài)分配如表3所示。
      表3一次迭代運算后狀態(tài)分配

      各次ACS運算的8個周期里,各個周期DpRAM寫的地址次序與讀的次序相同如表2所示,可以看到按照上述的讀寫地址次序以及交換網(wǎng)絡的設計,DpRAM0和DpRAM1的內(nèi)容在各次ACS迭代運算下分配如下表所示。
      表4各次迭代運算DPRAM對應的狀態(tài)

      各次ACS運算的8個周期里,各個周期DpRAM讀的地址次序如下表5所示。
      表58個周期DpRAM讀的地址順序

      從表4,表5可見,對于每一次ACS迭代運算,各個周期里從DpRAM0和DpRAM1所讀取的狀態(tài)路徑距離所對應的狀態(tài)都是相同的,對于其他的DpRAM也可以得到同樣的結論。綜上所述,采用如上的安排可以實現(xiàn)64個狀態(tài)的ACS計算共享4個蝶形運算單元,而且所需的狀態(tài)路徑距離的存儲器容量即為狀態(tài)的數(shù)目,相較乒乓存儲操作方式可以節(jié)省一半的RAM資源。
      采用上述結構的另一個優(yōu)點是對于ACS計算可以采用流水線結構實現(xiàn),提高整個譯碼裝置的譯碼速度。ACS模塊可以采用如圖7所示的流水線處理過程,采用DpRAM對狀態(tài)路徑距離存儲器的讀和寫操作可以在一個Cycle內(nèi)完成,系統(tǒng)處理的瓶頸在與ACS的處理,由表5可見,對于一個ACS操作得到的新的狀態(tài)路徑距離一般要在兒個Cycle后才會被讀取,其間均可以用來做ACS運算,故ACS運算單元可以分成多個Cycle流水處理完成。表6分析了各個Cycle內(nèi)ACS單元處理的最大Cycle數(shù)目,可知ACS的單元運算最多可以在4級流水線來完成,此時對DpRAM0到DpRAM7的讀寫次序如表7所示。
      表6ACS處理需要的周期數(shù)

      表7流水結構時DpRAM讀寫地址


      上述對K=8,9情況同樣有相同的地址讀寫規(guī)律,也可采用相同的結構來實現(xiàn)狀態(tài)路徑距離的更新。
      上面所述的BMU模塊至少包括一串/并轉換模塊(s2p)以及一BMG計算模塊(BMG_Calculate),根據(jù)輸入的控制信息計算分支度量值;一BMG控制單元(BMG_control),提供BMG計算模塊需要的時鐘信號并為同步ACS模塊狀態(tài)而產(chǎn)生16個參考分支度量并送給BMG計算模塊。
      BMU的功能主要是計算分支路徑距離,即計算輸入的接受序列和對應的分支輸出之間的距離,計算的結果送給ACSU單元模塊。對于約束長度為K的卷積碼,Viterbi譯碼裝置共需計算2K條分支與接收輸入序列的距離,對于某一固定編碼參數(shù)形式的卷積碼,這2K條分支的輸出在每個時間階段均為固定的值,故只需將接收到的序列符號與這些固定的值進行比較就可以得到相應的分支距離。為與ACS模塊的狀態(tài)更新匹配,一個clock計算16個分支度量(一次更新8個狀態(tài)),圖8所示為BMU模塊的結構圖。
      ACSU模塊完成一次ACS迭代運算是分為2K-4周期完成的,故對于BMU來說,對所有的分支路徑距離計算一遍也需分2K-4個周期來完成,并且要與ACSU單元的計算相對應。對分支路徑距離標號(Branch_segment)的產(chǎn)生必須滿足兩個要求,一要與ACSU模塊的狀態(tài)計算安排相吻合,二是對不同約束長度可重新配置產(chǎn)生相應的分支輸出。
      表8約束長度為K的譯碼裝置BFU處理的數(shù)據(jù)


      如表8,不同約束長度對Branch_Segment排列順序的要求,僅僅橫向來看,約束長度的變化影響迭代周期的次數(shù),隨著迭代運算周期j從0到2v-3-1的增加,Branch_Segment的值每次增加2,這樣關鍵就在于確定Branch Segment的初值。初值的確定與約束長度密切相關,將Branch_Segment每4個分為一組分析,Branch_Segment有表9的關系。
      表9Branch Segment排列關系

      綜上所述,Branch_Segment值的產(chǎn)生分成兩部分,一部分是2*j,一部分是固定部分i*2v-2。對于j來說,可用一個v-3位的計數(shù)器來獲得。由于v隨約束長度K變化,可以采用可配置的計數(shù)器來實現(xiàn)。
      本發(fā)明采用回溯方法為單指針回溯算法。而單指針回溯算法如圖9所示,圖中讀寫都只有一個指針,但是讀的速度是寫的速度的K倍。幸存路徑存儲器被分成K+1塊,每一塊有M/(K-1)列,譯碼延時為(K+1)M/(K-1)。當K塊幸存路徑存儲器讀取回溯完成的同時,剛好一塊幸存路徑存儲器被寫滿。寫指針從左向右循環(huán)將ACSU模塊得到的幸存路徑信息寫入,讀指針從右向左循環(huán)讀取幸存路徑信息向前進行回溯譯碼。圖9中K=3,即讀是寫的速度的3倍。
      本發(fā)明采用單指針回溯的方法來實現(xiàn)幸存路徑存儲的管理和譯碼,結合上面說,作如下處理上面所述的SMU模塊至少包括一幸存路徑存儲器,分別連接邏輯模塊和運算模塊,所述的存儲器讀取ACSU模塊的幸存路徑信息和邏輯模塊的信息,發(fā)給運算模塊;一SMU控制模塊,分別連接運算模塊、可重構計數(shù)器、邏輯模塊和棧模塊,所述的控制模塊完成對運算模塊、可重構計數(shù)器和邏輯模塊之間的協(xié)調、控制、重構及時序配合;
      一運算模塊,分別連接幸存路徑存儲器、控制模塊、邏輯運算模塊和棧運算模塊,所述的運算模塊讀取幸存路徑存儲器的信息,運算其回溯時刻;一可重構計數(shù)器,分別連接控制模塊和邏輯運算模塊,所述的計數(shù)器計算回溯時刻對應的幸存路徑的狀態(tài);一邏輯運算模塊,分別連接幸存路徑存儲器、控制模塊和棧運算模塊,所述的邏輯運算模塊計算各個讀寫地址并輸出;一棧運算模塊,分別連接控制模塊和運算模塊,所述的棧運算模塊倒置譯碼輸出比特并把倒置結果輸出。幸存路徑存儲器可以采用數(shù)據(jù)端口寬度不同的DpRAM來實現(xiàn)。對于幸存路徑存儲器的讀寫具有如下的規(guī)律,由于ACSU在每個clock,輸出只有8bit的幸存路徑信息,故每個clock只需寫入8bit信息,而回溯每次只需讀1個bit。該規(guī)律對于不同的約束長度的Viterbi譯碼裝置的幸存路徑存儲器的讀寫都一樣。DpRAM的結構特點剛好與幸存路徑讀寫操作的特點吻合,回溯只是讀寫地址的管理。
      由于回溯的時候處理是由后向前的所以時間在先的譯碼比特最后譯碼輸出,因此必須將譯碼輸出比特進行倒置。可以利用FILO棧運算模塊來實現(xiàn)。如圖10所示,為SMU模塊的結構設計框圖。
      參看圖11~12,以約束長度為7的Viterbi譯碼裝置的SMU模塊設計實施例加以說明。對于約束長度為7,譯碼裝置狀態(tài)數(shù)目為64,回溯深度一般為約束長度的5倍為35,由于采取0狀態(tài)起始回溯的方法,回溯深度應該更大一些。同時考慮對于約束長度為7的ACSU模塊的設計,每一次ACS迭代運算得到的64個bit的幸存路徑信息分8個clock輸出寫入幸存路徑存儲器。設每兩個clock讀一次幸存路徑信息回溯一步,故讀寫速度比K=4,取回溯深度M為48,每次回溯譯碼比特數(shù)目為16,其間寫入64×16個比特的幸存路徑信息即16次ACS迭代運算的結果。因此約束長度為7的DpRAM容量為64×80比特。對于寫端口相當于數(shù)據(jù)寬度為8深度為640的存儲器,對于讀端口相當于數(shù)據(jù)寬度為1深度為5120的存儲器。
      幸存路徑存儲器DpRAM寫的地址控制可按圖12(a)所示從低位到高依次寫入,當寫滿640個地址時,回到0重新開始??梢杂靡粋€計數(shù)器即可實現(xiàn)。
      幸存路徑存儲器DpRAM讀的控制較為復雜。它的地址由回溯的時刻(Stage)以及該時刻幸存路徑對應的狀態(tài)數(shù)值(State)共同決定。讀端口數(shù)據(jù)寬度為1,對于一個時刻的幸存路徑信息需要64個地址空間。讀寫端口兩個端口的地址數(shù)據(jù)對應關系以及各狀態(tài)幸存路徑信息與地址的對應關系。設狀態(tài)數(shù)值為State,其在64個地址空間中的地址為ADD_State,有ADD_State=3<<(State and 0000111)+State>>3,設回溯時刻為Stage,因為幸存路徑存儲器只有80個時刻的狀態(tài)路徑幸存信息,采用循環(huán)存儲最新的80個時刻的狀態(tài)路徑幸存信息?;厮輹r刻為Stagc,則其對應的起始地址為(Stage mod 80)*64,故在回溯時刻為Stage,狀態(tài)State對應的幸存路徑信息的地址為(Stage mod 80)*64+Add_State。Stage初始值為63,每回溯一步則遞減1,遞減到0后,回到79。State初始值為0。每回溯64,譯碼16比特,然后繼續(xù)重復上面過程,對于不同的約束長度7、8、9,對應的譯碼裝置SMU模塊的不同之處見表16,控制模塊主要通過這些參數(shù)來控制其他部分模塊。
      表16不同約束長度的SMU模塊的不同

      從表中數(shù)據(jù)可知,要支持7,8,9三種約束長度,寫地址計數(shù)器應取12位,讀寫延時可以通過計數(shù)器來控制,計數(shù)器12位,Stage的計數(shù)器7位,回溯深度及譯碼比特的數(shù)目可以用一個模64(6位)的計數(shù)器來實現(xiàn),F(xiàn)ILO可以用一個16×1位的DpRAM來實現(xiàn),控制讀寫地址即可。讀地址的生成比較的復雜,可以采用多路選擇的模式,及將三個通過上述分析只要控制一系列的計數(shù)器的參數(shù)以及多路選擇器的參數(shù)可以實現(xiàn)對不同約束長度的支持。控制模塊對上面BMG模塊、ACSU模塊和SMU模塊進行協(xié)調控制,從而達到可重構可通用的發(fā)明目的。
      而這都是基于通用可重構維特比譯碼方法所設計的,此方法采取下列步驟a、參數(shù)化配置步驟,采用N級流水線處理數(shù)據(jù)方法,每一級對數(shù)據(jù)幀處理的功能分成兩個階段功能,每一階段功能對應不同的配置,在不同時段,每一級對數(shù)據(jù)幀配置不一樣;b、控制模塊接收配置信息,并生成相應的配置數(shù)據(jù)流;c、BMU模塊接收經(jīng)過信道傳輸?shù)妮斎胄盘柡涂刂颇K生成的配置參數(shù),,處理生成所需的分支度量;d、ACSU模塊對BMU模塊輸出的分支路徑度量和舊的狀態(tài)路度量進行累加-比較-選擇處理,更新狀態(tài)度量,并將幸存路徑信息存入加比選存儲器;e、SMU模塊從加比選存儲器中讀入幸存路徑信息,并對幸存路徑信息進行判決譯碼輸出。
      其中考慮不同參數(shù)Viterbi譯碼裝置硬件結構上的相似性和配置參數(shù)的不同性,提出一種參數(shù)化配置的重構方法,這樣大大減少要配置的數(shù)據(jù),減少重構時間,可實現(xiàn)功能上的動態(tài)接續(xù)。
      本發(fā)明采用流水線處理結構的譯碼裝置流水配置示意如圖13。
      表17參數(shù)化配置系統(tǒng)動態(tài)重構過程


      數(shù)據(jù)是一幀一幀過來,對數(shù)據(jù)幀F(xiàn)rame1進行Function1處理,數(shù)據(jù)幀F(xiàn)rame2進行Function2處理,而對于Function1和Function2兩種處理都可以分為兩個階段來執(zhí)行,F(xiàn)unction1分為function11和function12兩個階段,對應的配置數(shù)據(jù)為Configure11和Configure12;Function2分為function21和function22兩個階段,對應的配置數(shù)據(jù)為Configure21和Configure22。則按照表17所示進行配置,可以看到對于Frame1進行的是Function1處理,對于Frame2進行的是Function2處理。而電路功能從Function1到Function2的切換只需在T+1時段將Step1的配置數(shù)據(jù)由Configure11變?yōu)镃onfigure21,在T+2時段將Step2的配置數(shù)據(jù)由Configure12變?yōu)镃onfigure22。這樣即可在固定時鐘周期內(nèi)完成功能的動態(tài)切換。
      FPGA器件的配置靈活性和重構特性正好可以滿足viterbi譯碼裝置設計的需求。設計的參數(shù)可重構Viterbi譯碼裝置可應用于不同的通信系統(tǒng)中,該結構可大大節(jié)省硬件資源,方便實現(xiàn)參數(shù)的重配置,有一定的實用價值。
      以上所述,僅是本發(fā)明較佳可行的實施例而已,不能因此即局限本發(fā)明的權利范圍,對熟悉本領域的普通技術人員來說,舉凡運用本發(fā)明的技術方案和技術構思作出其他各種相應的改變和變形,而所有這些改變和變形都應屬在本發(fā)明權利要求的保護范圍之內(nèi)。
      權利要求
      1.一種通用可重構維特比譯碼裝置,其特征在于,所述的譯碼裝置至少包括一加比選模塊(ACSU模塊),分別連接一分支度量模塊(BMU模塊),一回溯譯碼模塊(SMU模塊)和控制模塊,所述的ACSU采用ACS(加比選)單元來計算,每次運算完成后,通過全局交換網(wǎng)絡和局部交換網(wǎng)絡完成狀態(tài)交換,將幸存路徑信息對應的狀態(tài)交換到原來的排列順序,送入加比選存儲器中保存;一分支度量模塊(BMU模塊),分別連接ACSU模塊和控制模塊,所述的BMU模塊按照配置的參數(shù)對輸入的數(shù)據(jù)進行處理并輸給ACSU模塊,并且每次計算和更新的狀態(tài)與ACSU模塊同步;一回溯譯碼模塊(SMU模塊),分別連接ACSU模塊和控制模塊,所述的SMU模塊處理ACSU完成的幸存路徑信息,然后倒置譯碼輸出;一控制模塊,分別連接ACSU模塊、BMU模塊和SMU模塊三個模塊,所述的控制模塊完成對ACSU模塊、BMU模塊和SMU模塊三大模塊之間的重構、協(xié)調、流水控制及時序配合。
      2.根據(jù)權利要求1所述的一種通用可重構維特比譯碼裝置,其特征在于,所述的ACSU模塊采用8個加比選(ACS)單元并行計算的N級流水結構。
      3.根據(jù)權利要求2所述的一種通用可重構維特比譯碼裝置,其特征在于,所述的ACSU模塊所采用的8個ACS單元為4個并行的蝶形運算單元并且每個蝶形運算單元又由兩個加-比-選單元組成。
      4.根據(jù)權利要求1所述的一種通用可重構維特比譯碼裝置,其特征在于,所述的ACSU模塊所采用的全局交換網(wǎng)絡完成狀態(tài)路徑距離的空間交換。
      5.根據(jù)權利要求1所述的一種通用可重構維特比譯碼裝置,其特征在于,所述的ACSU模塊所采用的局部交換網(wǎng)絡(SEU)完成狀態(tài)路徑距離時間上的交換。
      6.根據(jù)權利要求1所述的一種通用可重構維特比譯碼裝置,其特征在于,所述的ACSU模塊所采用的加比選存儲器由8個雙端口存儲器(DpRAM)組成。
      7.根據(jù)權利要求1所述的一種通用可重構維特比譯碼裝置,其特征在于,所述的BMU模塊至少包括一由串/并轉換模塊(s2p)以及一BMG計算模塊(BMG_Calculate),根據(jù)輸入的控制信息計算分支度量值;一BMG控制單元(BMG_control),提供BMG計算模塊需要的時鐘信號并為同步ACS模塊狀態(tài)而產(chǎn)生16個參考分支度量并送給BMG計算模塊。
      8.根據(jù)權利要求1所述的一種通用可重構維特比譯碼裝置,其特征在于,所述的SMU模塊至少包括一幸存路徑存儲器,分別連接邏輯模塊和運算模塊,所述的存儲器保存ACSU模塊計算得到的幸存路徑信息;;一SMU控制模塊,分別連接運算模塊、可重構計數(shù)器、邏輯模塊和棧模塊,所述的控制模塊完成對運算模塊、可重構計數(shù)器和邏輯模塊之間的協(xié)調、控制、重構及時序配合;一運算模塊,分別連接幸存路徑存儲器、控制模塊、邏輯運算模塊和棧運算模塊,所述的運算模塊讀取幸存路徑存儲器的信息,計算其回溯時刻;一可重構計數(shù)器,分別連接控制模塊和邏輯運算模塊,所述的計數(shù)器計算回溯時刻對應的幸存路徑的狀態(tài);一邏輯運算模塊,分別連接幸存路徑存儲器、控制模塊和棧運算模塊,所述的邏輯運算模塊計算各個讀寫地址并輸出;一棧運算模塊,分別連接控制模塊和運算模塊,所述的棧運算模塊倒置譯碼輸出比特并把倒置結果輸入。
      9.根據(jù)權利要求8所述的一種通用可重構維特比譯碼裝置,其特征在于,所述的幸存路徑模塊所采用的存儲器為雙端口存儲器。
      10.一種通用可重構維特比譯碼裝置的譯碼方法,采取下列步驟a、參數(shù)化配置步驟,采用N級流水線處理數(shù)據(jù)方法,每一級對數(shù)據(jù)幀處理的功能分成兩個階段功能,每一階段功能對應不同的配置,在不同時段,每一級對數(shù)據(jù)幀配置不一樣;b、控制模塊接收配置信息,并生成相應的配置數(shù)據(jù)流;c、BMU模塊接收經(jīng)過信道傳輸?shù)妮斎胄盘柡涂刂颇K生成的配置參數(shù),處理生成所需的分支度量;d、ACSU模塊對BMU模塊輸出的分支路徑度量和舊的狀態(tài)路度量進行累加-比較-選擇處理,更新狀態(tài)度量,并將幸存路徑信息存入加比選存儲器;e、SMU模塊從加比選存儲器中讀入幸存路徑信息,并對幸存路徑信息進行判決譯碼輸出。
      全文摘要
      本發(fā)明涉及一種通用可重構維特比譯碼裝置及其譯碼方法,根據(jù)不同通信系統(tǒng)和信道特征卷積碼的編碼參數(shù)的不同,設計的譯碼裝置可以根據(jù)應用需要進行動態(tài)配置,具體可配置的參數(shù)有約束長度,譯碼方式,及回溯深度等。本發(fā)明兼容各種通信標準,可支持不同參數(shù),應用于不同通信,可以重新配置各個參數(shù),使用方便,結構簡單,節(jié)省時間,節(jié)約成本。
      文檔編號H03M13/00GK1780153SQ20041009145
      公開日2006年5月31日 申請日期2004年11月24日 優(yōu)先權日2004年11月24日
      發(fā)明者朱明程, 覃祥菊, 徐淵, 杜超 申請人:朱明程
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1