專利名稱:一種高速低功耗多碼率的Viterbi譯碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域Viterbi譯碼器,尤其涉及一種高速低功耗多碼率的 Viterbi譯碼器。
背景技術(shù):
在無線通信系統(tǒng)中,由于無線信道存在反射、散射和衍射而造成的多徑衰落,會造 成時間、頻率和空間域上的彌散,必然會對傳輸數(shù)據(jù)引入失真和信號判決錯誤。信道編碼技 術(shù)通過在信息序列中加入冗余碼元,來發(fā)現(xiàn)、糾正傳輸中發(fā)生的信號錯誤,從而提高系統(tǒng)的
可靠性。目前無線通信對數(shù)據(jù)吞吐率提出了越來越高的要求,如下一代無線局域網(wǎng)(WLAN) 協(xié)議IEEE 802. Iln采用正交頻分復(fù)用(OFDM)、多輸入多輸出(ΜΙΜΟ)、空時編碼(STBC)等 技術(shù),物理層理想速率最高達(dá)600Mbps。為了抵抗由于頻率選擇性衰落信道造成的OFDM子 載波衰落效應(yīng),它采用前向糾錯碼(FEC)和交織。在IEEE 802. Iln中的信道編碼方式之一 是卷積碼,碼率有4種1/2,2/3,3/4和5/6?,F(xiàn)代無線通信中常常需要達(dá)到幾百兆的數(shù)據(jù) 吞吐率,這對譯碼器的工作頻率及數(shù)據(jù)吞吐率提出很高的要求。同時無線設(shè)備成本和功耗 的要求提出了需要降低譯碼器實現(xiàn)的復(fù)雜度和功耗。為了提高頻譜的利用率,多碼率的卷 積碼一般都應(yīng)用到現(xiàn)代的無線通信中。因此實際應(yīng)用中對卷積碼的要求,相應(yīng)的Viterbi 譯碼器需要能有高速、低功耗、多碼率的設(shè)計。因此,在實際Viterbi譯碼器實現(xiàn)中,需要綜合考慮這速度、功耗和多碼率三個方 面,如何在提高數(shù)據(jù)吞吐率的前提下盡量降低譯碼器的功耗。
發(fā)明內(nèi)容
(一)要解決的技術(shù)問題有鑒于此,本發(fā)明的主要目的是提供一種高速低功耗多碼率的Viterbi譯碼器。( 二 )技術(shù)方案為達(dá)到上述目的,本發(fā)明提供了一種高速低功耗多碼率的Viterbi譯碼器,包含 分支度量單元、加比選單元、路徑度量存儲單元、幸存路徑存儲單元、輸出單元和控制單元, 其中分支度量單元,用于計算接收符號與網(wǎng)格圖分支上相應(yīng)分支符號之間的距離,并 將計算結(jié)果輸出給加比選單元;加比選單元,用于將進(jìn)入每一狀態(tài)的兩條分支的前一時刻的幸存路徑度量值與相 應(yīng)分支度量分別進(jìn)行相加,進(jìn)行比較并選取其中較小的為更新的幸存路徑度量值,對應(yīng)的 路徑為幸存路徑,然后將幸存路徑度量值輸出給路徑度量存儲單元,將幸存路徑輸出給幸 存路徑存儲單元;路徑度量存儲單元,用于存儲加比選單元輸出的更新的路徑度量值;幸存路徑存儲單元,用于通過對加比選單元輸出的幸存路徑進(jìn)行處理來得到譯碼比特,并輸出給輸出單元;輸出單元,用于完成譯碼器的緩沖輸出;控制單元,用于控制譯碼器中分支度量單元、加比選單元、路徑度量存儲單元、幸 存路徑存儲單元和輸出單元的協(xié)調(diào)工作與同步。上述方案中,該譯碼器的每個模塊都帶有輸入使能的信號,這樣可讓譯碼器工作 在不同的碼率和不同的輸入數(shù)據(jù)的形式。上述方案中,所述分支度量單元以絕對距離來表示收符號與網(wǎng)格圖分支上相應(yīng)分 支符號之間的距離,并通過減法器來實現(xiàn)。上述方案中,所述的分支度量單元采用絕對距離的方法,對于不同碼率,在補孔單 元中根據(jù)碼率在相應(yīng)的補孔的量化數(shù)前面加上一個標(biāo)志位來標(biāo)志此處碼符號為補孔值,相 應(yīng)在分支度量計算單元中通過這個標(biāo)志位來禁止相應(yīng)比特的度量值的計算,此時得到相應(yīng) 的碼符號處的絕對距離為0。上述方案中,所述加比選單元是基于蝶形運算單元,蝶形運算單元的個數(shù)與譯碼 器的狀態(tài)數(shù)有關(guān),每個蝶形運算單元包含4個加法器、2個比較器和2個選擇器。上述方案中,所述幸存路徑存儲單元包含輸入選擇單元、寄存器交換單元和輸出 選擇單元,其中輸入選擇單元將加比選單元得到的幸存路徑依次循環(huán)寫入到寄存器交換單元的 寄存器交換小組中,這種循環(huán)寫入是通過一個計數(shù)器來控制寫入的寄存器交換小組的序 號,序號是從0增加到最大寄存器小組的數(shù)目,增加由幸存路徑有效時將計數(shù)器加1,再根 據(jù)計數(shù)器的數(shù)值將相應(yīng)的幸存路徑存入與計數(shù)器相同數(shù)值的寄存器交換小組中,當(dāng)計數(shù)器 達(dá)到最大的值,即寄存器交換小組的數(shù)目時,計數(shù)器置位0,接下來重復(fù)前面的過程;寄存器交換單元由一定數(shù)量的寄存器交換小組單元構(gòu)成,組數(shù)一般為約束長度的 5 7倍,寄存器交換小組的輸出反饋給輸入選擇單元中,通過輸入選擇單元中的計數(shù)器來 選擇當(dāng)前的寄存器交換小組的輸入是當(dāng)前寄存器交換小組的輸出還是當(dāng)前的幸存路徑,當(dāng) 計數(shù)器的數(shù)值等于寄存器交換小組的序號時,則將幸存路徑輸入到當(dāng)前的寄存器交換小組 中,若不等,則將當(dāng)前寄存器交換小組的輸出作為輸入給當(dāng)前的寄存器交換小組;輸出選擇單元是依次循環(huán)的讀取寄存器交換小組中的數(shù)據(jù)得到譯碼比特。(三)有益效果從上述技術(shù)方案可以看出,本發(fā)明具有以下有益效果1、本發(fā)明提供的這種高速低功耗多碼率的Viterbi譯碼器,并行的加比選單元提 高了數(shù)據(jù)的吞吐率。2、本發(fā)明提供的這種高速低功耗多碼率的Viterbi譯碼器,動態(tài)的輸入輸出選擇 單元,將加比選單元處理得到的幸存路徑動態(tài)的輸入到幸存路徑存儲單元中的寄存器交換 小組中,經(jīng)過一定時鐘周期的譯碼處理后,通過輸出選擇單元動態(tài)的選擇寄存器交換小組 中的數(shù)據(jù)作為譯碼輸出,從而在得到譯碼比特的同時降低譯碼器的功耗。3、本發(fā)明提供的這種高速低功耗多碼率的Viterbi譯碼器,模塊采用使能信號的 設(shè)計方法,可以靈活處理不同碼率下的不同輸入數(shù)據(jù)流的形式。
圖1是(2,1,7)卷積碼編碼器;圖2是本發(fā)明中利用到的Viterbi譯碼的網(wǎng)格圖;圖3是本發(fā)明提供的高速低功耗多碼率Viterbi譯碼器的結(jié)構(gòu)示意圖;圖4是本發(fā)明的加比選單元的結(jié)構(gòu)圖;圖5是加比選單元中的蝶形單元圖;圖6是最高為清零電路的結(jié)構(gòu)圖;圖7a是本發(fā)明幸存路徑存儲單元的結(jié)構(gòu)示意圖;圖7b是本發(fā)明寄存器交換小組單元的結(jié)構(gòu)示意圖;圖8是本發(fā)明譯碼器在TGN信道A下的誤碼率曲線圖;圖9是本發(fā)明譯碼器在TGN信道B下的誤碼率曲線圖;圖10是在TGN信道A下寄存器翻轉(zhuǎn)減少比例圖;圖11是在TGN信道B下寄存器翻轉(zhuǎn)減少比例圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下結(jié)合具體實施例,并參照 附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。 以WLAN中使用的卷積碼為例。在WLAN中1/2碼率的卷積碼是通過生成多項式Gl =1330CT和Gl = 1710CT來定義的,約束長度為7,如圖1所示,其余碼率(2/3,3/4,4/5) 是在1/2碼率的基礎(chǔ)上按照相應(yīng)的刪余模式進(jìn)行刪余得到的。如圖2所示是(2,1,7)卷積碼的網(wǎng)格圖。Viterbi譯碼算法的實質(zhì)就是在如圖2 中網(wǎng)格圖上選擇與接收符號序列距離最短的一條路徑作為結(jié)果來進(jìn)行譯碼。從圖2的網(wǎng)格 圖中可以看到,如果從狀態(tài)0出發(fā)的2條路徑,在某一狀態(tài)會匯合,而且以后這2條路徑一 直復(fù)合在一起,由于復(fù)合部分分支對于路徑度量的貢獻(xiàn)是相同的,所以在匯合點上就可以 刪掉這2條路徑中前面部分路徑度量較大的那一條。因此在任何時刻,對進(jìn)入每一狀態(tài)的 所有路徑只需保留其中一條具有最小部分路徑度量的路徑,這條被保留的路徑稱為幸存路 徑。(2,1,7)卷積碼的狀態(tài)數(shù)為64個,在任何時刻,譯碼器需要保存64條幸存路徑,同時保 存這64條幸存路徑所對應(yīng)的路徑度量值。在時刻6以后,每個狀態(tài)都有2條路徑進(jìn)入,每 條路徑的部分路徑度量值都等于前一時刻出發(fā)狀態(tài)的幸存路徑度量值與相應(yīng)的分支度量 之和,比較這兩個和,取其中較小的為幸存路徑度量值,對應(yīng)的路徑為幸存路徑,并把幸存 路徑度量值和幸存路徑存儲在相應(yīng)的存儲器中。這樣,在以后時刻進(jìn)行類似的操作來獲得 幸存路徑度量值和幸存路徑,將得到的幸存路徑進(jìn)行處理即可得到譯碼。圖3是本發(fā)明提供的高速低功耗多碼率Viterbi譯碼器的結(jié)構(gòu)示意圖,輸入數(shù)據(jù) 是以塊的形式出現(xiàn),通過信號framejtart和frame_end分別標(biāo)示數(shù)據(jù)塊的開始和結(jié)束,通 過信號din_Valid標(biāo)示數(shù)據(jù)塊中輸入譯碼器數(shù)據(jù)的有效性,譯碼器接口上定義的這三個標(biāo) 示信號是由譯碼器外的系統(tǒng)中的控制單元根據(jù)實際的情況而產(chǎn)生的,同時這樣的信號標(biāo)示 定義可以讓譯碼器靈活性增強以處理不同輸入的數(shù)據(jù)流的形式。再參照圖3,本發(fā)明提供的高速低功耗多碼率Viterbi譯碼器包含分支度量單元、 加比選單元、路徑度量存儲單元、幸存路徑存儲單元、輸出單元和控制單元。其中,分支度
6量單元用于計算接收符號與網(wǎng)格圖分支上相應(yīng)分支符號之間的距離,并將計算結(jié)果輸出給 加比選單元;分支度量單元以絕對距離來表示收符號與網(wǎng)格圖分支上相應(yīng)分支符號之間的 距離,并通過減法器來實現(xiàn)。加比選單元用于將進(jìn)入每一狀態(tài)的兩條分支的前一時刻的幸 存路徑度量值與相應(yīng)分支度量分別進(jìn)行相加,進(jìn)行比較并選取其中較小的為更新的幸存路徑 度量值,對應(yīng)的路徑為幸存路徑,然后將幸存路徑度量值輸出給路徑度量存儲單元,將幸存路 徑輸出給幸存路徑存儲單元;路徑度量存儲單元用于存儲加比選單元輸出的更新的路徑度量 值;幸存路徑存儲單元用于通過對加比選單元輸出的幸存路徑進(jìn)行處理來得到譯碼比特,并輸 出給輸出單元;輸出單元用于完成譯碼器的緩沖輸出;控制單元用于控制譯碼器中分支度量單 元、加比選單元、路徑度量存儲單元、幸存路徑存儲單元和輸出單元的協(xié)調(diào)工作與同步。如圖4所示,加比選單元包含并行的32個蝶形單元和歸一化防溢出處理單元,(2, 1,7)共有64個狀態(tài),需要32個蝶形單元,每個蝶形單元的結(jié)構(gòu)圖如圖5所示,這樣每個蝶 形運算單元需要4個加法器、2個比較器和2個選擇器。如圖6所示,歸一化防溢出處理單元的輸入來自于32個蝶形運算單元得到的64 個路徑度量值的最高位,判斷64個路徑度量值的最高位比特同時位1時產(chǎn)生一個flag_ clear信號,通過這個信號是否為1來將64個路徑度量值的最高位置位0,這樣完成了防溢 出的處理。圖7a是本發(fā)明幸存路徑存儲單元的結(jié)構(gòu)示意圖,幸存路徑存儲單元包含輸入選 擇單元、寄存器交換單元和輸出選擇單元,輸入選擇單元將加比選單元得到的幸存路徑依 次循環(huán)寫入到寄存器交換單元的寄存器交換小組中,這種循環(huán)寫入是通過一個計數(shù)器來控 制寫入的寄存器交換小組的序號,序號是從0增加到最大寄存器小組的數(shù)目,增加由幸存 路徑有效時將計數(shù)器加1,再根據(jù)計數(shù)器的數(shù)值將相應(yīng)的幸存路徑存入與計數(shù)器相同數(shù)值 的寄存器交換小組中,當(dāng)計數(shù)器達(dá)到最大的值,即寄存器交換小組的數(shù)目時,計數(shù)器置位0, 接下來重復(fù)前面的過程。圖7b是本發(fā)明寄存器交換小組單元的結(jié)構(gòu)示意圖。寄存器交換單元由一定數(shù)量 的圖7(b)所示的寄存器交換小組單元構(gòu)成,組數(shù)一般為約束長度的5 7倍,這里我們選 擇組數(shù)位40,每個寄存器交換小組單元由64個寄存器和64個2選1的選擇器組成,寄存 器交換小組的輸出反饋給輸入選擇單元中,通過輸入選擇單元中的計數(shù)器來選擇當(dāng)前的寄 存器交換小組的輸入是當(dāng)前寄存器交換小組的輸出還是當(dāng)前的幸存路徑,當(dāng)計數(shù)器的數(shù)值 等于寄存器交換小組的序號時,則將幸存路徑輸入到當(dāng)前的寄存器交換小組中,若不等,則 將當(dāng)前寄存器交換小組的輸出作為輸入給當(dāng)前的寄存器交換小組。輸出選擇單元是依次循 環(huán)的讀取寄存器交換小組中的數(shù)據(jù)得到譯碼比特。這種方法不需要在寄存器交換小組之間 進(jìn)行數(shù)據(jù)傳遞,只是在寄存器交換小組內(nèi)進(jìn)行數(shù)據(jù)選擇傳遞,經(jīng)過一定次數(shù)的選擇交換后 每組中的寄存器會收斂于譯碼的比特,這樣就會減少寄存器組之間數(shù)據(jù)傳遞引起的狀態(tài)翻 轉(zhuǎn),從而達(dá)到降低功耗的目的。圖8是本發(fā)明譯碼器在TGN信道A下的誤碼率曲線圖,此信道只有一條徑,分別得 到了不同調(diào)制方式和碼率下的誤碼率曲線圖。圖9是本發(fā)明譯碼器在TGN信道B下的誤碼率曲線圖,此信道有九條徑,分別得到 了不同調(diào)制方式和碼率下的誤碼率曲線圖。圖10是在TGN信道A下得到的寄存器翻轉(zhuǎn)減少比例的曲線圖,其中寄存器組深度為40。隨著信噪比的增加,寄存器翻轉(zhuǎn)減少比例也增加,能根據(jù)信噪比的大小自動調(diào)整 功率。在BPSK和1/2碼率(MCS = 1)下,從信噪比5到25,寄存器翻轉(zhuǎn)減少的比例一直在 0. 6以上;在64QAM和2/3碼率(MCS = 7)下,寄存器翻轉(zhuǎn)減少的比例也隨著信噪比增加而 增大。可見,此方法能減少寄存器翻轉(zhuǎn),降低的功耗隨著信噪比增加而增加。圖11是在TGN信道B下得到的寄存器翻轉(zhuǎn)減少比例的曲線圖,其中寄存器組深度 為40。可以得到類似的結(jié)論。由于多徑的影響其減小的幅度沒有信道A的明顯。以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳 細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限制本發(fā)明,凡 在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保 護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種高速低功耗多碼率的Viterbi譯碼器,其特征在于,包含分支度量單元、加比選 單元、路徑度量存儲單元、幸存路徑存儲單元、輸出單元和控制單元,其中分支度量單元,用于計算接收符號與網(wǎng)格圖分支上相應(yīng)分支符號之間的距離,并將計 算結(jié)果輸出給加比選單元;加比選單元,用于將進(jìn)入每一狀態(tài)的兩條分支的前一時刻的幸存路徑度量值與相應(yīng)分 支度量分別進(jìn)行相加,進(jìn)行比較并選取其中較小的為更新的幸存路徑度量值,對應(yīng)的路徑 為幸存路徑,然后將幸存路徑度量值輸出給路徑度量存儲單元,將幸存路徑輸出給幸存路 徑存儲單元;路徑度量存儲單元,用于存儲加比選單元輸出的更新的路徑度量值;幸存路徑存儲單元,用于通過對加比選單元輸出的幸存路徑進(jìn)行處理來得到譯碼比 特,并輸出給輸出單元;輸出單元,用于完成譯碼器的緩沖輸出;控制單元,用于控制譯碼器中分支度量單元、加比選單元、路徑度量存儲單元、幸存路 徑存儲單元和輸出單元的協(xié)調(diào)工作與同步。
2.根據(jù)權(quán)利要求1所述的高速低功耗多碼率的Viterbi譯碼器,其特征在于,該譯碼器 的每個模塊都帶有輸入使能的信號,這樣可讓譯碼器工作在不同的碼率和不同的輸入數(shù)據(jù) 的形式。
3.根據(jù)權(quán)利要求1所述的高速低功耗多碼率的Viterbi譯碼器,其特征在于,所述分支 度量單元以絕對距離來表示收符號與網(wǎng)格圖分支上相應(yīng)分支符號之間的距離,并通過減法 器來實現(xiàn)。
4.根據(jù)權(quán)利要求3所述的高速低功耗多碼率的Viterbi譯碼器,其特征在于,所述的分 支度量單元采用絕對距離的方法,對于不同碼率,在補孔單元中根據(jù)碼率在相應(yīng)的補孔的 量化數(shù)前面加上一個標(biāo)志位來標(biāo)志此處碼符號為補孔值,相應(yīng)在分支度量計算單元中通過 這個標(biāo)志位來禁止相應(yīng)比特的度量值的計算,此時得到相應(yīng)的碼符號處的絕對距離為0。
5.根據(jù)權(quán)利要求1所述的高速低功耗多碼率的Viterbi譯碼器,其特征在于,所述加比 選單元是基于蝶形運算單元,蝶形運算單元的個數(shù)與譯碼器的狀態(tài)數(shù)有關(guān),每個蝶形運算 單元包含4個加法器、2個比較器和2個選擇器。
6.根據(jù)權(quán)利要求1所述的高速低功耗多碼率的Viterbi譯碼器,其特征在于,所述幸存 路徑存儲單元包含輸入選擇單元、寄存器交換單元和輸出選擇單元,其中輸入選擇單元將加比選單元得到的幸存路徑依次循環(huán)寫入到寄存器交換單元的寄存 器交換小組中,這種循環(huán)寫入是通過一個計數(shù)器來控制寫入的寄存器交換小組的序號,序 號是從0增加到最大寄存器小組的數(shù)目,增加由幸存路徑有效時將計數(shù)器加1,再根據(jù)計數(shù) 器的數(shù)值將相應(yīng)的幸存路徑存入與計數(shù)器相同數(shù)值的寄存器交換小組中,當(dāng)計數(shù)器達(dá)到最 大的值,即寄存器交換小組的數(shù)目時,計數(shù)器置位0,接下來重復(fù)前面的過程;寄存器交換單元由一定數(shù)量的寄存器交換小組單元構(gòu)成,組數(shù)一般為約束長度的5 7倍,寄存器交換小組的輸出反饋給輸入選擇單元中,通過輸入選擇單元中的計數(shù)器來選擇 當(dāng)前的寄存器交換小組的輸入是當(dāng)前寄存器交換小組的輸出還是當(dāng)前的幸存路徑,當(dāng)計數(shù) 器的數(shù)值等于寄存器交換小組的序號時,則將幸存路徑輸入到當(dāng)前的寄存器交換小組中, 若不等,則將當(dāng)前寄存器交換小組的輸出作為輸入給當(dāng)前的寄存器交換小組;輸出選擇單元是依次循環(huán)的讀取寄存器交換小組中的數(shù)據(jù)得到譯碼比特。
全文摘要
本發(fā)明公開了一種高速低功耗多碼率的Viterbi譯碼器,包括分支度量單元、加比選單元、路徑度量存儲單元、幸存路徑存儲單元、輸出單元和控制單元,加比選單元接收分支度量單元的分支度量值并將處理后得到的幸存路徑送到幸存路徑存儲單元進(jìn)行譯碼處理得到譯碼比特,同時將加比選得到的路徑度量值存入路徑度量存儲單元以備下次的加比選處理。本發(fā)明適用于(2,1,7)卷積碼的Viterbi譯碼器,具有高吞吐率,低功耗特點,可支持1/2,2/3,3/4,5/6碼率。譯碼器采用全并行的加比選(ACS)單元,最高位清零防溢出處理,采用了一種可降低功耗的寄存器交換法,可有效減少寄存器翻轉(zhuǎn)動態(tài)功耗,能根據(jù)信噪比的大小自動調(diào)整功率。
文檔編號H03M13/41GK102064839SQ20091023783
公開日2011年5月18日 申請日期2009年11月11日 優(yōu)先權(quán)日2009年11月11日
發(fā)明者吳斌, 周玉梅, 張振東, 朱勇旭 申請人:中國科學(xué)院微電子研究所