專利名稱:解碼借助于二進制卷積碼加密的數(shù)據(jù)序列的方法
技術領域:
本發(fā)明涉及用MaxLogMAP算法解碼借助于二進制卷積碼加密的K位信息比特組成的數(shù)據(jù)序列的方法。
例如根據(jù)GSM/EDGE移動無線電標準制造的,無線電通信系統(tǒng)的語音信道中和數(shù)據(jù)信道中,為了數(shù)據(jù)編碼或數(shù)據(jù)解碼采用二進制卷積代碼。對于所謂的“軟輸入/軟輸出解碼”的一種優(yōu)選算法是通常借助于最大近似(MaxLogMAP算法)實現(xiàn)的著名的“逐符號記錄似然性最大經(jīng)驗概率”算法(LogMAP-Algorithmus)。
基本的MAP算法例如說明于L.R.Bahl等的文章“OptimalDecoding of Linear Codes for Minimizing Symbol Error Rate”,IEEE Transactions on Information Theery,284-287頁,1974年3月,MaxLogMAP算法可以參閱J.Hagenauer等的文章“IterativeDecoding of Binary Block and Convolutional Codes”IEEETransactions on Information Theory,vol.42,no.2,429-445頁,1996年3月。
借助于所謂的“滑動的窗口”(解碼窗口)進行的Window-MaxLogMAP算法說明于A.J.Viterbi的文章“An Intuitive Justification anda Simplified Implementation of the MAP Decoder forConvolutional Codes”,IEEE Journal on Selected Areas inCommunications,vo.16,no.2,260-264頁,1998年2月。
二進制格構(gòu)圖用作借助于二進制卷積代碼加密的數(shù)據(jù)序列解碼的基礎。屬于數(shù)據(jù)序列的一位信息比特的格構(gòu)圖的段把m(卷積代碼的記憶長度)個以前的信息比特所有可能組合記錄成為2m個輸出狀態(tài)。此外,把所有由此得出的信息比特的“換算”(編碼)記錄成2(m+1)個狀態(tài)過渡,并且把得出的2m個目標狀態(tài)記錄成下個緊隨的信息比特的輸出狀態(tài)。在此一個信息比特序列對應于格構(gòu)圖內(nèi)部的一定的路徑,其中借助于MaxLogMAP算法得出格構(gòu)圖中最可能的信息比特的順序。
在實現(xiàn)MaxLogMAP算法時原則上在一方面為收縮的實現(xiàn),與另一方面為面向處理器的實現(xiàn)之間加以區(qū)別。
在收縮的實現(xiàn)中,力爭在整個格構(gòu)圖中有盡可能高的解碼步驟平行度。這種實現(xiàn)有高達50Gbit/s的極高數(shù)據(jù)流量要求時采用。
面向處理器的實現(xiàn)適用于很少的硬件費用時數(shù)Mbit/s的中等數(shù)據(jù)流量要求。
這兩種實現(xiàn)的先決條件都是,可以只借助于一個解碼器窗口合理地對大的、成塊傳輸?shù)臄?shù)據(jù)序列實現(xiàn)解碼。
出于數(shù)據(jù)流量和硬件費用的原因為了解碼一般地采用Window-MaxLogMAP算法。
與之相比較,利用無解碼窗口的MaxLogMAP算法得到的解碼結(jié)果(軟輸出值)盡管更精確,然而在這種情況下卻要求更大的硬件費用和存儲器費用。
在一定的信噪比時的碼組差錯率方面,對MaxLogMAP算法的一個變通由DE 39 10 739 C3或DE 42 24 214 C2中說明的“軟輸入-維特比算法”(SOVA)構(gòu)成。然而與MaxLogMAP算法比較SOVA算法卻具有解碼器誤差和所構(gòu)成的軟輸出值之間的很小的相關性。
本發(fā)明的任務在于,如此地實施用MaxLogMAP算法解碼借助于二進制卷積碼加密的數(shù)據(jù)序列,使得在很少的硬件費用條件下把準確的軟輸出值構(gòu)成為解碼結(jié)果。
本發(fā)明的任務通過權(quán)利要求1的特征完成。有利的擴展方案在從屬權(quán)利要求中給出。
根據(jù)本發(fā)明的方法屬于MaxLogMAP算法的面向處理器實現(xiàn)。
一方面通過根據(jù)本發(fā)明的存儲器級聯(lián),并且另一方面通過采用用于量度(Metrik)運算的支持位,可以把MaxLogMAP算法有效地集成在剛好一個用戶專用的模塊(ASIC)上。
通過放棄使用解碼窗口,不必在解碼結(jié)果的精確度上打折扣。
根據(jù)本發(fā)明量度值在第一計算行程中生成地(produktiv)計算,而在另一個計算行程中以存儲的支持位為基礎再生地計算。
通過根據(jù)本發(fā)明的存儲器級聯(lián)可以實現(xiàn)理想的數(shù)據(jù)流量。
通過根據(jù)本發(fā)明的方法可以節(jié)省存儲器位置,以及因此節(jié)省ASIC模塊的面積。從而節(jié)省下的面積提供給其它的信號處理算法,由此可以在ASIC模塊中實現(xiàn)附加的算法。
下面參照附圖詳細地說明本發(fā)明的實施例。在附圖中
圖1是根據(jù)現(xiàn)有技術用于準確地計算軟輸出值的MaxLogMAP算法的原理圖,圖2是根據(jù)現(xiàn)有技術用于計算軟輸出值的Window-MaxLogMAP算法的原理圖,圖3是根據(jù)本發(fā)明用于準確地計算軟輸出值的MaxLogMAP算法的原理圖,圖4是根據(jù)本發(fā)明的量度值計算和存儲的舉例。
圖1示出根據(jù)現(xiàn)有技術用于準確地計算軟輸出值的MaxLogMAP算法的原理圖。
用MaxLogMAP算法進行借助于二進制卷積碼加密的K位信息比特組成的數(shù)據(jù)序列的解碼。
在格構(gòu)圖TREL中,在格子段T1開始對每個單個的格子段TSN把阿爾法量度值Mα-calc-store計算和存儲成對數(shù)過渡-概率。與此并列地同時在格子段T2開始對每個單個的格子段TSN計算和存儲貝塔量度值Mβ-calc-store。
兩個計算在格子段TSM相互通過,其中從此時刻起進行用于計算軟輸出值的判斷處理,就是說完成數(shù)據(jù)序列的一個信息比特的解碼。這里在正向進行的“正向判斷處理”FDP時,在通過格子段TSM以后,采用利用以前計算和存儲的貝塔量度值Mβ-calc-store當前計算出的阿爾法量度值Mα-calc來計算軟輸出值。
該過程在反向進行的“反向判斷處理”BDP中同步完成,其中利用以前計算和存儲的阿爾法量度值Mα-calc-store當前計算出的貝塔量度值Mβ-calc用于計算軟輸出值。
在下面適用k信息比特數(shù)量,s卷積碼解碼的狀態(tài)m代碼記憶長度T格子段上需要的數(shù)量,其中T=K+m,而π過渡階段的長度,有π>5*m以量度存儲器的字寬為w,并且假定標準化各個量度值,實現(xiàn)MaxLogMAP算法需要兩個量度處理器和總共2·K/2·w·2m個存儲器位置。這將達到
1tsegment·106[Mbit/s].]]>的數(shù)據(jù)流量。
在此,上述的參數(shù)tsegment取決于用于實施算法所采用的模塊技術(ASIC)、取決于存儲器結(jié)構(gòu)和取決于ASIC模塊中采用的時鐘頻率。
在假定具有100%概率的起始狀態(tài)值(“初始狀態(tài)”)而其余的“狀態(tài)”具有0概率的格子段中有不均勻的概率分布的條件下,在終止代碼時開始各自的量度值計算。
在所謂的“tailbiting”代碼中事先不知道起始狀態(tài),所以必須為兩個方向引入長度π的過渡階段。過渡階段的所屬的量度值用Mα-pre或者用Mβ-pre標出。
圖2示出根據(jù)現(xiàn)有技術用于計算軟輸出值的Window-MaxLogMAP算法的原理圖。
在長的數(shù)據(jù)序列采用借助于滑動的解碼窗口實現(xiàn)的Window-MaxLogMAP算法。Window-MaxLogMAP算法的特別優(yōu)點是其有效的實施。
與圖1比較,沿正方向在格子段T1開始準確地計算阿爾法量度值Mα-calc。與之相反地,估算第一解碼窗口DP1的貝塔量度值Mβ-calc-1或第二解碼窗口DP2的貝塔量度值Mβ-calc-2。
如果這兩個解碼窗口DP1和DP2達到格構(gòu)圖TREL的右邊緣,就有了所有的終止信息。準確地計算貝塔量度值Mβ-calc-1或貝塔量度值Mβ-calc-2,并且構(gòu)成相應的軟輸出值。
再把量度值Mα-pre、Mβ-pre-1和Mβ-pre-2分配給一個過渡階段。
Window-MaxLogMAP算法在前述的文章“An IntuitiveJustification and a Simplified Implementation of the MAPDecoder for Convolutional Codes”中詳細地說明。
在其實現(xiàn)中,在與圖1可比較的數(shù)據(jù)流量的條件下總共需要[w/Ψ]+1個量度處理器以及(1+θ)·Ψ·w·2m個存儲器位置。
在此Ψ格子段上的數(shù)量,用于存儲各自的2m個量度,
W格子段中解碼窗口的大小,而 是取決于用于實施算法所采用的模塊技術(ASIC)、取決于存儲器結(jié)構(gòu)和取決于ASIC模塊中采用的時鐘頻率的參數(shù)。
然而在特別地在高頻率信道的碼率接近于1(借助于點化產(chǎn)生的)時,通過采用解碼窗口造成不再能夠容忍的性能惡化。
圖3示出根據(jù)本發(fā)明用于準確地計算軟輸出值的MaxLogMAP算法的原理圖。
與圖1比較,還是沿每個格子段TSN的正方向計算阿爾法量度值并且沿反方向計算貝塔量度值。然而現(xiàn)在根據(jù)本發(fā)明只選取和存儲用作支持位置的所選出數(shù)量格子段上的量度值。
所述的存儲在一個優(yōu)選的實施方案中在一個按層級聯(lián)地劃分的存儲器內(nèi)部完成。
在下面適用m代碼記憶長度sm饋送-正向-終止的-代碼的“記憶-長度-移動”(在遞歸-終止的-代碼中和在tail-biting-代碼中sm=0)k信息比特數(shù)量,T格子段上需要的數(shù)量,適用T=K+m;π過渡階段的長度,有π>5*m。
δ(1)第一量度值計算的支持位置的第一存儲器層SP(1)的存儲器深度,δ(n-1)第n-1量度值計算的支持位置的第n-1存儲器層SP(n-1)的存儲器深度,而δ(n)第n-1量度值計算的支持位置的第n存儲器層SP(n)的存儲器深度。
在格構(gòu)圖TREL中對每個單個格子段TSN在第一行程中在格子段T1開始沿正方向FDP計算阿爾法量度值Mα-calc(1),并且在格子段T2開始沿反方向BDP計算貝塔量度值Mβ-calc(1),作為對數(shù)過渡-概率。
然而根據(jù)本發(fā)明,現(xiàn)在從為選擇k/δ(1)個用作支持位置的格子段的第一行程的計算出的量度值Mα-calc(1)或量度值Mβ-calc(1),分別在具有存儲器深度為δ(1)的第一存儲器層SP(1)中存放第一行程的量度值Mα-calc-sel(1)或Mβ-calc-sel(1)。
在第二行程中,以第一行程的每兩個相鄰的支持位置為基礎,再次計算安排在第一行程的各自支持位置之間的那些格子段TSN的量度值Mα-calc(2)或Mβ-calc(2)。
如同在第一行程中那樣,從為選擇k/δ(1)/δ(2)個再次用作支持位置的格子段的第二行程的計算出的量度值Mα-calc(2)或量度值Mβ-calc(2),在具有存儲器深度為δ(2)的第二存儲器層SP(2)中存放第二行程的相應的量度值Mα-calc-sel(2)或Mβ-calc-sel(2)。
用以前的行程的支持位置為基礎的量度值的計算相應地既沿正方向繼續(xù)也沿反方向繼續(xù)。在此在通過格子段TSM后構(gòu)成相應的軟輸出值,其中相應地新使用空出來了的存儲器層。
在此確定軟輸出值的判斷處理如在圖1中所示。各個存儲器層相互級聯(lián)地構(gòu)成。
在n個行程以后確定所有的軟輸出值,其中第n個存儲器層具有δ(n)的存儲器深度,帶有k/δ(1)/δ(2)/.../δ(n)個格子段或支持位置的所存儲的量度值。
與在圖1或圖2中指出的數(shù)據(jù)流量比較,根據(jù)本發(fā)明的方法需要總共2.n個量度處理器以及(Σi=1n(1+θi)·δi)·w·2m]]>個存儲器位置。
在此適用Πi=1nδi=K1θi∈{0,1},]]>取決于一個格子段需要多少個ASIC時鐘周期,以及在存儲器上提供有多少端口。
借助于現(xiàn)存的MaxLogMAP Window算法實現(xiàn),可以導出參數(shù),并且用于在由圖1或圖2所知的常規(guī)實現(xiàn)與根據(jù)本發(fā)明的實現(xiàn)之間的比較。
結(jié)果參見下表
在相同的數(shù)據(jù)流量并且無損于MaxLogMAP算法的精確性,通過避開解碼窗口使得在根據(jù)本發(fā)明的存儲器級聯(lián)實現(xiàn)中相對圖1中所示的常規(guī)實現(xiàn)降低了80%以上的硬件費用成為可能。
在此該比較的先決條件是-通過軟輸入和軟輸出緩沖器在系統(tǒng)接口上的過頂有(R-1+1).wsoft.k.amemory其中一般k=K,然而在用解碼器窗口實現(xiàn)時可以是k=W+((nβ-1)*δ);式中R為碼率,wsoft為軟值的字寬,以及amemory為每存儲器比特的面積單位。
-通過控制和接口的過頂Aoverhead。
-量度處理器,包括寄存器比特的刻度Aviterbi(w)·fparallel+2(m+1)·w·aflipflop其中Aviterbi是對給定字寬w的維特比算子,而aflipflop表示每比特的寄存器面積單位,fparallel是在一個ASIC時鐘周期中實施的蝴蝶計算的數(shù)量,并且可以取以下的值{1、2、...、2(m-1)},-一個量度-字寬w=16,-一個軟值字寬wsoft=8-一個存儲器比特面積amemory=2-一個寄存器比特面積aflipflop=10單位,-一個維特比算子/蝴蝶Aviterbi=12500單位,-一個過頂Aoverhead=50000單位。
所述的單位相當于約150MHz的時鐘頻率時0.18微米ASIC技術的一個門當量。
在下面比較GSM/EDGE標準相關參數(shù)組的數(shù)據(jù)-碼率R=1/6-記憶長度m=6-塊大小K=1000-解碼器流量 大于2Mbit/s-平行度 fparallel=1
在UMTS(W-CDMA)中和在UTRAN TDD卷積代碼中對于卷積解碼采用以下的參數(shù)-碼率R=1/3-記憶長度m=8-最大塊大小K=300-解碼器流量大于2Mbit/s-平行度 fparallel=8
在UMTS(W-CDMA)中和在UTRAN TDD渦動代碼中考慮到可以用很小的擴展把MaxLogMAP解碼器擴展成渦動解碼的一部分。從而在此也可以把存儲器級聯(lián)實現(xiàn)與直接實現(xiàn)和窗口實現(xiàn)比較-碼率R=1/3-記憶長度m=3
-最大塊大小 K=5200-解碼器流量 大于2Mbit/s-平行度 fparallel=1/4
圖4示出根據(jù)本發(fā)明的量度值計算和存儲的舉例。
在第一行程D1中計算阿爾法量度值或貝塔量度值。在作為支持位置的每第六個格子段TSN=1、7、13、...、73中分別把2m個計算出的阿爾法量度值存儲在存儲器層SP(α1)內(nèi),并且分別把2m個計算出的貝塔量度值存儲在存儲器層SP(β1)內(nèi)。
在第二行程D2中從存儲器層SP(α1)或SP(β1)中讀出量度值,并且從安排在支持位置之間的格子段準確地計算所屬的阿爾法量度值或貝塔量度值。重新相應地在格子段上挑選支持位置并且存儲所屬的量度值。例如在此指出兩個存儲器層SP(α2)和SP(α2′)或SP(β2)和SP(β2′)。
在第三行程D3中從雙側(cè)抵達格子段TSM,并且對“反向判斷處理”采用當前所計算的2m個貝塔量度值連同所存儲的2m個存放在存儲器SP(α2)中的阿爾法量度值確定軟輸出值。正好如此地,對“正向判斷處理”采用當前所計算的2m個阿爾法量度值連同所存儲的2m個存放在存儲器SP(β2)的貝塔量度值確定軟輸出值。
在總共n=3個行程Dn以后構(gòu)成所有的判斷值Mdecisions。
權(quán)利要求
1.方法,用于解碼借助于二進制卷積碼加密的K位信息比特組成的數(shù)據(jù)序列,-其中,在帶有格子段的格構(gòu)圖中,在第一行程中,對于正方向和對于反方向借助于MaxLogMAP算法準確地計算所有格子段的量度值,-其中,把格子段的數(shù)量選作第一行程的支持位置,并且把所屬的量度值存儲在第一存儲器層中,-其中在第1個行程中,其中1<I<n,為雙方向計算安排在第i-1個行程的支持位置之間的格子段的量度值,其中采用所存儲的第i-1個行程的支持位置的量度值計算第i個行程的量度值,-其中,把格子段的數(shù)量選作第i個行程的支持位置并且把所屬的量度值存儲在第i個存儲器層中,-其中把以支持位置為基礎的量度值計算和存儲進行n次,直到正向的量度值計算和反向的量度值計算碰在一個格子段中,并且然后進行一個判斷處理以計算用于解碼的軟輸出值。
2.如權(quán)利要求1所述的方法,其中,對于第一存儲器層的各自的一個方向分別指定一個存儲器深度δ1,其中在第一存儲器層中存儲每第k/δ1個格子段的各自的量度值。
3.如權(quán)利要求1或2所述的方法,其中,對于第i存儲器層的各自的一個方向分別指定一個存儲器深度δi,其中在第i存儲器層中存儲每第k/δ1/.../δi個格子段的各自的量度值。
4.如前述權(quán)利要求之一所述的方法,其中,在終止的代碼中采用延遲的判斷相位計算軟輸出值。
5.如前述權(quán)利要求之一所述的方法,其中,解碼在剛好一個用戶專用的模塊上進行。
全文摘要
MaxLogMAP算法解碼借助于二進制卷積碼加密的K位信息比特組成的數(shù)據(jù)序列的方法。在其第一計算行程中,在格構(gòu)圖中,沿正方向和沿反方向準確地計算量度值,然而從該格構(gòu)圖中,只有一個選出作為進一步的計算行程的支持位置,存儲在存儲器中。借助于該支持位置在進一步的計算行程中準確地計算位于第一計算行程的支持位置之間的量度值。構(gòu)成軟輸出值用于解碼,在n個行程以后準確地得出所有的所述軟輸出值。
文檔編號H03M13/29GK1643798SQ03806880
公開日2005年7月20日 申請日期2003年3月20日 優(yōu)先權(quán)日2002年3月27日
發(fā)明者L·芬, S·勒塞爾, G·施泰布 申請人:西門子公司