專利名稱:運用Turbo碼中的質(zhì)量標記標準的迭代停止準則的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總的來說涉及通信系統(tǒng),具體的說,涉及一種應(yīng)用于卷積編碼通信系統(tǒng)的接收機中的譯碼器。
最近,turbo碼得到了很大的發(fā)展,它甚至超過了卷積碼技術(shù)。一般來說,turbo編碼器包括兩個或多個卷積編碼器和turbo交織器。Turbo譯碼采用迭代并且使用軟輸出(soft output)譯碼器來譯碼單個卷積碼。軟輸出譯碼器在每個比特位上提供出信息,該信息可以幫助軟輸出譯碼器來譯碼其他卷積碼。通常,軟件輸出譯碼器是一個MAP(最大后驗概率)譯碼器或軟件輸出Viterbi算法(SOVA)譯碼器。
Turbo編碼被有效的應(yīng)用在具有加性高斯白噪聲(AWGN)的信道中以進行糾錯。直觀的,有多種方法用來檢查和評價turbo譯碼器的糾錯性能。觀察到隨著迭代的進行,譯碼器迭代部分的每個信息比特的對數(shù)似然率(LLR)的幅度增長。該幅度增長提高了正確判決的概率。LLR幅度增長與turbo譯碼過程的迭代次數(shù)直接相關(guān)。然而,希望減少迭代次數(shù)以節(jié)約計算時間并減小電路耗能。對一個可靠的turbo譯碼塊來說,迭代的合適次數(shù)(停止標準)隨著輸入信號的質(zhì)量和傳輸過程所引起的誤碼數(shù)的不同而不同。也就是說,迭代次數(shù)與信道狀況有關(guān),在噪聲越大的環(huán)境中需要的迭代次數(shù)越多,以用來正確的分析信息比特并減少錯誤。
一個現(xiàn)有的停止標準以奇偶校驗作為指示來停止譯碼過程。就實現(xiàn)而言,奇偶校驗是直接的。然而,當有大量的比特錯誤時,奇偶校驗是不可靠的。另一類turbo譯碼迭代的停止標準是對每一個譯碼比特計算LLR(對數(shù)似然率)值。因為在經(jīng)過一定迭代次數(shù)之后turbo譯碼會發(fā)生收斂,而數(shù)據(jù)比特的LLR是最能直接指示該收斂的標記(index)。使用該停止標準的一種方法是將LLR的幅度與某個閾值相比較。然而,因為信道狀況各不相同,把這個閾值設(shè)定為一個合適的值是很困難的?,F(xiàn)有的再一個停止標準測量熵或兩個概率分布的差值,但是這需要的計算量很大。
所以,需要這樣一個譯碼器,該譯碼器可以以一種可靠的方式來決定譯碼器迭代次數(shù)的合適停止點。該譯碼器的一個優(yōu)點就是可以提供一個停止標準而不會增加運算的復(fù)雜度。
典型的,塊編碼,卷積編碼,turbo編碼等編碼方式圖示為如
圖1所示的格形圖,圖1的格形圖顯示了4個狀態(tài),5個格段(sectiontrellis)的格形圖。為方便起見,我們將每個格段標記為M個狀態(tài)(通常M等于8狀態(tài)),將每個塊或幀標記為N個格段(通常N=5000)。如本領(lǐng)域內(nèi)所知的,最大后驗類型的譯碼器(比如log-MAP,MAP,max-log-MAP,constant-log-MAP等)利用前向和后向生成的Viterbi遞歸或在格形圖上的軟輸出Viterbi算法(SOVA),以在每段提供軟輸出。MAP譯碼器基于所有接收到的比特使每個信息比特的譯碼比特的錯誤概率最小。
由于編碼序列具有Markov特性(在該序列中過去狀態(tài)不會影響將來狀態(tài)或?qū)頎顟B(tài)輸出分支),MAP比特概率可以分為過去狀態(tài)(當前狀態(tài)的格形開始),當前狀態(tài)(當前值的分支度量)和將來狀態(tài)(當前值的格形結(jié)束)。特別的,MAP譯碼器執(zhí)行前向和后向遞歸,直到當前狀態(tài),在這里過去和將來概率和當前分支度量一起,用來生成輸出判決。提供硬輸出和軟輸出判決的原理是本領(lǐng)域內(nèi)所公知的,而且也存在著上述譯碼方法的各種變形。Turbo碼的大多數(shù)的軟輸入軟輸出(SISO)譯碼是基于現(xiàn)有技術(shù)中由L.R.Bahi,J.Cocke,F(xiàn).Jelinek和J.Raviv撰寫的論文中的最優(yōu)MAP算法,該論文題目為“OptimalDecoding of Linear Codes for Minimizing Symbol Error Rate”,發(fā)表于“IEEE Transcaction on Information Theory”Vol.IT-20,1974年3月,pp.284-7(BCJR算法)。
圖2示出了一個典型的turbo編碼器,該編碼器由交織器和兩個成員編碼器構(gòu)成,該成員編碼器通常是系統(tǒng)卷積編碼器,但是也可以是塊編碼器。通常,一個turbo編碼器由兩個遞歸系統(tǒng)卷積編碼器和位于它們之間的交織器(int)并行級聯(lián)而成。Turbo編碼的輸出是通過將信息比特mi和從兩個編碼器RSC1和RSC2輸出的奇偶校驗位pi多路復(fù)用(級聯(lián))而生成的。可選的,如本領(lǐng)域內(nèi)所公知的,可以刪截奇偶校驗比特以提高碼率(1/2的吞吐量)。然后,turbo編碼信號在信道中傳輸。由于信道的加性高斯白噪聲(AWGN)特性,在傳輸過程中,噪聲ni被加到信號xi中。加性高斯白噪聲(AWGN)的噪聲方差可以被表示為σ2=N0/2,這里N0/2是雙邊帶噪聲能量頻譜密度。當接收端想要通過譯碼輸入信號yi(=xi+ni),得到原始信息比特mi時,噪聲增加了比特錯誤的概率。相應(yīng)的,噪聲影響了傳輸?shù)钠媾夹r灡忍?,提供信號為ti=Pi+ni。
圖3是一個典型的turbo譯碼器,該譯碼器由交織器、解交織器和譯碼器組成。關(guān)于外部信息Le1,Le2,交織器(int),解交織器(deint)和在軟輸入軟輸出譯碼部分SISO1和SISO2之間進行迭代處理的turbo譯碼器的機制遵循Bahl算法。假設(shè)在turbo譯碼器中為零譯碼延時,第一譯碼器(SISO1)從輸入信號比特yi中計算出軟輸出和先驗信息(La),該先驗信息將在后述中提到。軟輸出被表示為Le1,它作為從第一譯碼器輸出的外部數(shù)據(jù)(extrinsic data)。交織后的Le1(來自于La的先驗信息)和輸入信號比特yi一起被輸入到第二譯碼器(SISO2)。第二譯碼器生成了外部數(shù)據(jù)Le2和提供了原始信息位mi的軟輸出的一個軟輸出(通常是一個MAP最大似然率)。外部數(shù)據(jù)Le2去交織后成為La,La被反饋回第一譯碼器。通常,對于每個比特要進行固定次數(shù)(通常是16次)的上述迭代反復(fù),直到所有的輸入比特都被譯碼。
MAP算法可以使接收序列的信息比特錯誤概率最小,并且它也提供了使接收序列的信息比特是1或0的概率?,F(xiàn)有的BCJR算法對每個比特位(圖1的格段)提供了軟輸出,在這些比特位中軟輸入的影響被分為過去軟輸入(較早的軟輸入),當前軟輸入和將來軟輸入(較晚的軟輸入)。BCJR譯碼算法使用了在格形圖上的一個前向和一個后向廣義Viterbi遞歸(generalized viterbi recursion),以使每個格段(階段)達到一個最優(yōu)軟輸出。該后驗概率或最普遍的對數(shù)似然率(LLR)的概率在迭代turbo譯碼的SISO譯碼步驟間傳遞。對于譯碼序列中的所有比特(k=1~N),每一信息比特的LLR是Lai=lnΣ(m,n)∈B1αk-1(n)γk(n,m)βk(m)Σ(m,n)∈B0αk-1(n)γk(n,m)βk(m),---(1)]]>在等式(1)中,接收序列的格形圖中譯碼比特等于1(或0)的概率由一些項的乘積組成,這由于碼的Markov特性。Markov特性表明,對于給出的當前狀態(tài),過去狀態(tài)和將來狀態(tài)是相互獨立的。當過去狀態(tài)在時間為k-1是n時,當前狀態(tài)γk(n,m)是在時間為k狀態(tài)為m時生成碼元γk的概率。當前狀態(tài)執(zhí)行分支度量的功能。過去狀態(tài)αt(m),是在接收序列{y1...,yk}時在時間為k狀態(tài)m的概率,將來狀態(tài)βk(k),是從在時間k狀態(tài)m中生成的接收序列{yk+1...,yN}的概率。概率αk(m)可以表示為αk-1(m)和γk(n,m)構(gòu)成的函數(shù),該概率可以被稱為前向遞歸αk(m)=Σn=0M-1αk-1(n)γk(n,m)m=0,...,M-1,---(2)]]>M是狀態(tài)數(shù)。對于從βk+1(n)和γk(n,m)中計算出的概率βk(k)的逆遞歸或后向遞歸是βk(n)=Σm=0M-1βk+1(m)γk(n,m)n=0,...,M-1,---(3)]]>通過將格形圖分支上的B1(或B0)相加,而得到等式(2)中的所有后驗概率,B1(或B0)與信息比特1(或0)相對應(yīng)。
等式(1)中的LLR需要在時間k前向和逆遞歸可用??偟膩碚f,為實現(xiàn)這種需要而使用的BCJR方法用固定次數(shù)的迭代來計算和存儲全部的逆遞歸,并使用αk-1和βk遞歸計算αk(m)和Lαk(k=1到k=N)。
Turbo譯碼的性能受很多因素的影響。其中一個關(guān)鍵因素是迭代的次數(shù)。因為turbo譯碼器在數(shù)次迭代后會發(fā)生收斂,在收斂之后再進行迭代也不會帶來性能上的重大提高。在較佳的信道狀況下,Turbo碼的收斂很快,僅需要幾次迭代就能達到好的性能。進行迭代的次數(shù)與需要的計算量成正比,并且還會影響耗能。因為耗能在移動和便攜式無線通信裝置中受到了很大的關(guān)注,因此,在turbo譯碼中著重要找到可靠并且好的迭代停止標準。由這些因素所啟發(fā),本發(fā)明提供了一個自適應(yīng)方案以用于停止迭代過程。
在本發(fā)明中,迭代的次數(shù)被定義為所用到的SISO譯碼級的總數(shù)(比如,一個循環(huán)中迭代兩次)。因此,迭代次數(shù)從0到2N-1。每個譯碼級可以是MAP或SOVA。譯碼過程的關(guān)鍵因素是將外部信息結(jié)合到SISO中。然后,根據(jù)迭代停止后的LLR值對信息比特作最后的硬判決。最后的硬比特判決基于LLR的極性。對于硬輸出,如果LLR是正的,就判決為+1,否則,就判決為-1。
在本發(fā)明中,環(huán)內(nèi)的信噪比(內(nèi)部SNR)被作為turbo譯碼器中的迭代停止標準。由于當每一迭代中較多比特被檢測為正確時,SNR將會提高,本發(fā)明使用了一個檢測質(zhì)量指示器,用于觀察隨著迭代的進行,信號能量相對于噪聲的增加。
圖4示出了本發(fā)明的一個turbo譯碼器,該譯碼器具有至少一個附加的Viterbi譯碼器,用于監(jiān)視譯碼過程。雖然可以使用一個Viterbi譯碼器,但是在任何一個SISO譯碼器中使用兩個譯碼器可以給出靈活的停止標準。使用Viterbi譯碼器是因為可以很容易的分析Viterbi譯碼器以得到質(zhì)量指示。在本發(fā)明中,Viterbi譯碼器僅用于作算術(shù)運算,比如,得到質(zhì)量指示和內(nèi)部SNR值。并不需要進行真正的Viterbi譯碼。如本領(lǐng)域內(nèi)所公知的,如果不運用迭代,MAP或SOVA將不會優(yōu)于傳統(tǒng)的Viterbi譯碼器。因此,質(zhì)量標記也應(yīng)用到MAP和SOVA譯碼器性能中去。由于Viterbi是SISO(MAP或SOVA)的近似值而產(chǎn)生的誤差將不會產(chǎn)生累積,這是因為turbo譯碼過程本身沒有發(fā)生任何改變。注意turbo譯碼處理將保持原樣。該附加的至少一個Viterbi譯碼器被用于分析以生成質(zhì)量標記,并且不需真正進行譯碼。
在優(yōu)選的實施例中,使用了兩個Viterbi譯碼器。在實際中,雖然當使用兩個同樣的譯碼器時,因而也需要兩個相同的SISO譯碼器,盡管可以使用兩個相同的RSC,可以僅需要一個Viterbi譯碼器。否則,兩個Viterbi譯碼器不同的,就需要兩個譯碼器。這兩個譯碼器都會產(chǎn)生迭代停止信號,并且它們是相互獨立的,所以,任何一個譯碼器都可以發(fā)出迭代停止信號。Viterbi譯碼器并不用于傳統(tǒng)的譯碼,這是因為它們僅用于作算術(shù)運算并得到質(zhì)量標記和內(nèi)部SNR值。另外,由于迭代可以在任何一個SISO譯碼的半個循環(huán)內(nèi)停止,當?shù)V箷r,對于傳輸比特,可以從譯碼器的LLR中生成軟輸出。
本發(fā)明利用Viterbi譯碼器的迭代循環(huán)中的外部信息。對于加性高斯白噪聲(AWGN)信道,用外部信息輸入,我們可以得到下述路徑度量p[Y|X]=Πi=0L-1p[yi|xi]p[ti|pi]p[mi]]]>式中,mi是傳輸信息比特,xi=mi是系統(tǒng)比特,pi是奇偶校驗比特。當mi用極性來表示時(1→+1,0→-1),外部信息可以改寫為 p[mi]是傳輸比特的先驗信息,zi=logp[mi=+1]p[mi=-1]]]>是外部信息,或者,一般來說p[mi]=emizi/2e-zi/2+ezi/2]]>因此,路徑度量這樣計算p[Y|X]=Πi=0L-1p[yi|xi]p[ti|pi]p[mi]]]>=(12πσ)Le12σ2Σi=0L-1{(xi-yi)2+(pi-ti)2}(Πi=0L-11e-zi/2+ezi/2)e12Σi=0L-1mizi]]>注意 是外部信息引入的修正因子。從Viterbi譯碼器的角度來看,該修正因子改善了路徑度量并因此提高了譯碼性能。外部信息帶來了該因子的改進。本發(fā)明引入了這個因子以作為turbo碼的質(zhì)量標記和迭代停止標準。
具體的,turbo譯碼的質(zhì)量標記Q(iter,{mi},L)是Q(iter,{mi},L)=Σi=0L-1mizi]]>式中iter是迭代次數(shù),L表示每個譯碼塊的比特數(shù),mi是傳輸信息比特,zi是在每個子譯碼步驟中生成的外部信息。更一般的,Q(iter,{mi},{wj},L)=Σi=0L-1wimizi]]>式中wi是用于改變性能的加權(quán)函數(shù)。在優(yōu)選的實施例中,wi是常數(shù)1。
由于通常zi和mi具有相同的極性,所以該標記一直是正的。在實際中,輸入的數(shù)據(jù)比特{mi}是不可知的,所以實際上將用下面的標記QH(iter,{mi},L)=Σi=0L-1d^izi]]>式中 是從LLR信息中抽取出的硬判決。即d^i=sign{Li},]]>Li表示LLR值。同樣也可以用如下的質(zhì)量標記軟輸出QS(iter,{mi},L)=Σi=0L-1Lizi]]>或者更一般的QS(iter,{mi},{wi},L)=Σi=0L-1wiLizi]]>注意,產(chǎn)生這些標記是很容易的,幾乎不需要任何硬件。另外,這些標記實際上具有相同的漸進特性,并且可以被用于turbo譯碼性能評價和迭代停止標準的較佳質(zhì)量標記。
這些標記的特性是在最初的幾個迭代過程中它們增長很快,然后它們幾乎逼近于一個常數(shù)值。從下面的仿真結(jié)果可以看出,該漸進特性可以很好的用來描述turbo譯碼過程并被作為turbo譯碼過程的質(zhì)量監(jiān)視。在操作中,如果標記值超過漸進線的拐點時,迭代將被終止。
Turbo譯碼器的迭代循環(huán)增加了LLR的幅度,以降低錯誤判決的概率。從另一個角度來看,輸入到每個譯碼器的外部信息實際上提高了輸入采樣流的SNR。下面的分析將顯示外部信息如何來提高每個成員譯碼器的實際SNR。這將有助于解釋turbo碼的增益是怎么得到的。通過前述Viterbi譯碼器的輔助,也提供了輸入樣值的分析。附屬的附加Viterbi譯碼器的路徑度量等式是p[Y|X]=(12πσ)Le12σ2Σi=0L-1{(xi-yi)2+(pi-ti)2}(Πi=0L-11e-zi/2+ezi/2)e12Σi=0L-1mizi]]>該等式的擴展式是p[Y|X]=(12πσ)2L(Πi=0L-11e-zi/2+ezi/2)e12σ2Σi=0L-1(xi2+yi2)e12σ2Σi=0L-1(ti2+pi2)e12σ2Σi=0L-1(2xiyi+2tipi)e12Σi=0L-1xizi]]>=(12πσ)2L(Πi=0L-11e-zi/2+ezi/2)e12σ2Σi=0L-1(xi2+yi2)e12σ2Σi=0L-1(ti2+pi2)e1σ2Σi=0L-1(xiyi+tipi)e12Σi=0L-1xizi]]>觀察相關(guān)項,我們得到下面的因子1σ2Σi=0L-1(xiyi+σ22xizi)+1σ2Σi=0L-1tipi]]>=1σ2Σi=0L-1xi(yi+σ22zi)+1σ2Σi=0L-1tipi]]>=1σ2Σi=0L-1{xi(yi+σ22zi)+tipi}]]>對于Viterbi譯碼器來說,搜索最小歐幾里得距離與搜索下面的最大相關(guān)性的過程相同。1σ2Σi=0L-1{xi(yi+σ22zi)+tipi}]]>與此相當,Viterbi譯碼器的輸入數(shù)據(jù)流是{(yi+σ22zi),ti},]]>該圖形表示如圖5。
按照標準信噪比計算公式SNR=(E[yi|xi])2σ2]]>
并考慮到實際上yi=xi+ni和ti=Pi+ni(這里pi是輸入信號的奇偶校驗比特),進入到成員譯碼器的輸入數(shù)據(jù)樣值的SNR是SNR(xi,yi,iter)=(E[yi+σ22zi|xi])2σ2]]>=(E[xi+ni+σ22zi|xi])2σ2]]>=(xi+σ22zi)2σ2]]>=xi2σ2+xizi+σ24zi2]]>注意由于外部信息的輸入,最后兩項是修正項。輸入奇偶樣值的SNR是SNR(pi,ti,iter)=(E[ti|pi])2σ2=(E[pi+ni|pi])2σ2=pi2σ2]]>可以看出隨著迭代的進行,每個接收數(shù)據(jù)樣值的SNR是變化的,這是因為輸入外部信息會提高實際或內(nèi)部的SNR。而且,每個奇偶樣值的相應(yīng)SNR也不會受迭代影響。很明顯,如果xi與zi具有相同的符號,將得到SNR(xi,yi,iter)=(xi+σ22zi)2σ2≥xi2σ2=SNR(xi,yi,iter=0)]]>這表明外部信息提高了輸入到每個成員譯碼器的數(shù)據(jù)流的實際SNR。
每一迭代階段的整個塊平均SNR是AverageSNR(xi,yi,iter)=12L{Σi=0L-1SNR(xi,yi,iter)+Σi=0L-1SNR(pi,ti,iter)}]]>=12L{Σi=0L-1xi2σ2+Σi=0L-1pi2σ2}+12L{Σi=0L-1xizi+σ24Σi=0L-1zi2}]]>=AverageSNR(0)+12LQ(iter,{mi},L)+σ24(12LΣi=0L-1zi2)]]>如果外部信息與接收到的數(shù)據(jù)樣值具有相同的符號,并且如果zi樣值的幅度正在增加,隨著迭代次數(shù)的增加,整個塊的平均SNR將會提高。注意,如前所述,第二項是原始質(zhì)量標記,并且第二項被塊大小除。第三項與外部信息的幅度平方的平均值成正比,并且它總是正的。該內(nèi)部SNR表達式與前述的質(zhì)量標記具有相似的漸進特性并且也可以被用作譯碼質(zhì)量指示器。與質(zhì)量標記類似,實際上內(nèi)部SNR值是AverageSNRH(iter)=StartSNR+12LQH(iter,{mi},L)+σ24(12LΣi=0L-1zi2),]]>或其相應(yīng)的軟復(fù)制為AverageSNRS(iter)=StartSNR+12LQS(iter,{mi},L)+σ24(12LΣi=0L-1zi2)]]>式中StartSNR表示譯碼迭代開始時的初始SNR值??蛇x的,這里可以使用加權(quán)函數(shù)。僅僅最后兩項是監(jiān)視譯碼質(zhì)量所必須的。同時也要注意忽略了在前的內(nèi)部SNR表達式中的標準化常數(shù)。
作為回顧,本發(fā)明提供了一個譯碼器,該譯碼器可以在譯碼接收到的卷積碼信號時,使用質(zhì)量標記標準動態(tài)的終止迭代運算。該譯碼器包括一個具有兩個遞歸處理器的標準turbo譯碼器,這兩個遞歸處理器與迭代循環(huán)相連。本發(fā)明的一個新方面是將至少一個附加遞歸處理器并行耦合在至少其中一個遞歸處理器的輸入端。優(yōu)選的,這個至少一個附加遞歸處理器是Viterbi譯碼器,兩個遞歸處理器是軟輸入、軟輸出譯碼器。更優(yōu)選的,兩個附加處理器分別并行的耦合在兩個遞歸處理器的輸入端。所有的遞歸處理器,包括附加處理器,并行的對信號進行迭代運算。該至少一個附加遞歸處理器計算每一迭代的信號質(zhì)量標記,并且當測量到質(zhì)量標記超過一個預(yù)定值時,指示控制器終止迭代。
質(zhì)量標記是生成的外部信息和在每一迭代中從LLR信息中抽取出的數(shù)值的乘積的總和。該數(shù)值可以是LLR值的硬判決,也可以是LLR值本身。作為選擇,質(zhì)量標記是每一迭代中所計算的信號的內(nèi)部信噪比。具體的,該內(nèi)部信噪比是質(zhì)量標記加上在每一迭代中生成的外部信息的平方和的函數(shù)。內(nèi)部信噪比可以用具有作為LLR的硬判決值的數(shù)值的質(zhì)量標記,或者內(nèi)部信噪比可以用具有LLR值的數(shù)值的質(zhì)量標記計算。在實際中,質(zhì)量標記的測量可以用被連續(xù)迭代所取代的質(zhì)量標記的斜率。
本發(fā)明的主要優(yōu)點是在硬件上實現(xiàn)容易并且使用靈活。也就是說,本發(fā)明可以被用于任何一個SISO譯碼器的迭代停止,或者迭代可以在半個循環(huán)中停止。另外,可以根據(jù)Viterbi譯碼來得到SNR,但是Viterbi譯碼不會用到平方根操作,而平方根操作會增加電路的復(fù)雜度或者相似的電路使用。相反,本發(fā)明的硬件實現(xiàn)十分簡單。
圖6示出了本發(fā)明的turbo譯碼的仿真結(jié)果。QH(iter,{mi},L)和Qs(iter,{mi},L)的性能通過數(shù)字仿真得到驗證。顯示的仿真結(jié)果用來證實這些標記的漸進特性。所顯示的turbo譯碼器的性能是基于將硬標記和軟標記用作迭代停止標準的。所使用的碼是CDMA2000標準碼,如本領(lǐng)域內(nèi)所知,該碼的碼率為1/3,G1=13,G2=15。用大小為640比特的2000幀來運行仿真,SNR值分別是0.8dB,0.9dB和1.0dB。如本領(lǐng)域所公知,為了得到更實際的結(jié)果,Viterbi的存儲切割技術(shù)(memory cutting technique)被通過同步學習長度(synchronizationlearning length)30來獲得。硬質(zhì)量標記QH(iter,{mi},L)和軟質(zhì)量標記Qs(iter,{mi},L)的漸進特性示于圖6和圖7。
圖6和7示出隨著SNR的提高,漸進線的斜率加大。正如所預(yù)料的,因為高的SNR能在譯碼過程中給出較好的外部信息。可以看出,隨著SNR的提高,質(zhì)量標記能較快的達到漸進,這意味著SNR越高,要達到收斂所需的迭代次數(shù)越少。這可以從Viterbi譯碼器的分析中看出。
根據(jù)質(zhì)量標記的漸進特性,譯碼迭代通過檢查這些標記的百分比增長(例如,曲線的斜率或?qū)?shù))而停止。下面的圖中使用的停止標準是根據(jù)閾值是0.03dB的曲線斜率來判斷的。即如果{QH(iter+1,{mi},L)-QH(iter,{mi},L)}/QH(iter,{mi},L)<0.03dB將停止迭代。類似的,對于軟質(zhì)量標記,也可以使用同樣的閾值0.03dB。即如果{Qs(iter+1,{mi},L)-Qs(iter,{mi},L)}/Qs(iter,{mi},L)<0.03dB將停止迭代。另外,只要這些標記超過了一個預(yù)定的閾值就將停止迭代,以防止錯誤指示??蛇x的,在標記被用作迭代停止的標準之前,可以利用一定量的強制迭代。
基于直接使用硬和軟質(zhì)量標記的譯碼器的BER性能曲線如圖8所示。在這個優(yōu)選例子里,在應(yīng)用質(zhì)量標記之后,使用了9次迭代(4.5個循環(huán))的最小強制數(shù)目。使用了增量閾值是0.03dB的標記。兩個例子中使用的最大迭代次數(shù)都是16,最小迭代次數(shù)都是9。表1列出了迭代次數(shù)的平均值,以顯出節(jié)約的計算量。
表1
如所預(yù)料的,所需的平均迭代次數(shù)隨著SNR的提高而減小。另外,由于迭代停止所引起的信號完整性的惡化低于0.1dB。
在本發(fā)明中,內(nèi)部SNR也可以被用作迭代停止標準。由于內(nèi)部SNR和質(zhì)量標記存在密切的關(guān)系,如圖9,10所示,用硬內(nèi)部SNR和軟內(nèi)部SNR的數(shù)字結(jié)果具有相似的性能。僅僅示出了內(nèi)部SNR表達式中的最后兩項和的漸進特性。
可選的,在ARQ系統(tǒng)中,質(zhì)量標記和內(nèi)部SNR可以被用作重傳標準。比如,對于幀質(zhì)量使用一個較低的閾值,如果在預(yù)定次數(shù)的迭代之后,質(zhì)量標記或內(nèi)部SNR仍然低于該較低的閾值,將停止譯碼并且將發(fā)送一個請求要求重傳該幀。
應(yīng)該認識到,將質(zhì)量標記用于迭代停止判決的硬件實現(xiàn)是相當簡單的。由于在每一成員譯碼級具有LLR和外部信息輸出,只需要MAC(乘和累加單元)來計算軟標記。同樣,也只需要一個存儲單元來存儲標記,并將其與下一標記比較以進行斜率計算。而且,各個迭代階段的所有質(zhì)量標記值的存儲只需要很少的存儲單元。也需要一個基于一個減法器和一個除法器的比較單元。對于硬標記,在MAC之前,需要使用雙向限幅器來作硬判決。有利的是,根據(jù)現(xiàn)有的設(shè)計,這些標記可以用一些簡單的附屬件來實現(xiàn)。
圖11示出了本發(fā)明的終止迭代計算方法110的流程圖,該計算被用于譯碼中并使用質(zhì)量標記標準對接收的卷積碼信號進行譯碼。第一步102提供了具有兩個連接于迭代循環(huán)上的遞歸處理器的一個turbo譯碼器,至少一個附加遞歸處理器并行耦合在至少其中一個遞歸處理器的輸入端。所有的遞歸處理器并行的對信號進行迭代處理。在優(yōu)選的實施例中,至少一個附加遞歸處理器是Viterbi譯碼器,兩個遞歸處理器是軟輸入軟輸出譯碼器。更優(yōu)選的,兩個附加處理器分別并行的耦合在兩個遞歸處理器的輸入端。
下一步104對于每一迭代在至少一個遞歸處理器中計算信號的質(zhì)量標記。具體的,質(zhì)量標記是從遞歸處理器中生成的外部信息與在每一迭代中從遞歸處理器中抽取出的LLR信息值的乘積的和。質(zhì)量標記可以是一個軟值的一個硬值。對于硬值,該值是LLR值的硬判決。對于軟值,該值是LLR值本身。可選的,質(zhì)量標記是在每一迭代中所計算的信號的內(nèi)部信噪比(SNR)。該內(nèi)部SNR是初始信噪比加上質(zhì)量標記,再加上每一迭代中生成的外部信息的平方和的函數(shù)。然而,對于質(zhì)量標記標準來說,只有后兩項是有用的。為此,也存在對內(nèi)部SNR的硬值和軟值,它使用相應(yīng)的前述質(zhì)量標記的硬判決和軟判決。
下一步106是當測量到質(zhì)量標記超過了預(yù)定值時,終止迭代。優(yōu)選的,終止步驟包括在迭代上測量以質(zhì)量標記的斜率表示的質(zhì)量標記。在實際中,預(yù)定值在靠近漸進線的質(zhì)量標記的拐點上。更特殊的,該預(yù)定值可以設(shè)置為SNR的0.03dB。下一步108提供了由turbo譯碼器的軟輸出得到的一個輸出,該輸出存在于終止步驟之后。
雖然上述描述了對卷積碼進行譯碼的turbo譯碼器的特殊組成和功能,但是本領(lǐng)域內(nèi)普通技術(shù)人員可以在本發(fā)明的較寬的范圍內(nèi)使用更少的或附加的功能。本發(fā)明僅由所附加的權(quán)利要求所限定。
權(quán)利要求
1.一種在對接收到的卷積碼信號進行譯碼中使用質(zhì)量標記標準來終止迭代的計算方法(100),所述方法包括步驟提供具有連接于一個迭代循環(huán)上的兩個遞歸處理器的turbo譯碼器,并且至少一個附加遞歸處理器并行地耦合在至少其中一個遞歸處理器的輸入端,所有的遞歸處理器并行地對所述信號進行迭代計算(102)對于每一迭代計算在所述至少一個遞歸處理器中的信號的質(zhì)量標記(104)當測量到質(zhì)量標記超過一個預(yù)定值時,終止迭代(106);和在終止步驟之后,提供從所述turbo譯碼器的軟輸出中得到的輸出(108)。
2.根據(jù)權(quán)利要求1的方法,所述的第一提供步驟包括所述至少一個附加遞歸處理器是Viterbi譯碼器,所述兩個遞歸處理器是軟輸入軟輸出譯碼器。
3.根據(jù)權(quán)利要求1的方法,所述的第一提供步驟包括兩個附加處理器,這兩個附加處理器分別并行地耦合在所述兩個遞歸處理器的輸入端。
4.根據(jù)權(quán)利要求1的方法,所述的計算步驟包括所述質(zhì)量標記是在每一迭代中生成的外部信息與從所述LLR信息中提取出的數(shù)值的乘積的和。
5.根據(jù)權(quán)利要求4的方法,所述的計算步驟包括所述數(shù)值是所述LLR值的硬判決。
6.根據(jù)權(quán)利要求4的方法,所述的計算步驟包括所述數(shù)值是所述LLR值。
7.根據(jù)權(quán)利要求4的方法,所述的計算步驟包括所述質(zhì)量標記是每一迭代中的計算出的信號的內(nèi)部信噪比,所述內(nèi)部信噪比是所述質(zhì)量標記加上每一迭代中生成的外部信息的平方和的函數(shù)。
8.根據(jù)權(quán)利要求7的方法,所述的計算步驟包括所述內(nèi)部信噪比用具有作為所述LLR值的硬判決值的所述質(zhì)量標記來計算。
9.根據(jù)權(quán)利要求7的方法,所述的計算步驟包括所述內(nèi)部信噪比用具有作為LLR值的數(shù)值的質(zhì)量標記來計算。
10.根據(jù)權(quán)利要求1的方法,所述的終止步驟包括所述測量的質(zhì)量標記是在迭代過程上的質(zhì)量標記的斜率。
全文摘要
一種譯碼器在對接收到的卷積碼譯碼中使用質(zhì)量標記標準動態(tài)地終止迭代計算。在具有連接于一個迭代循環(huán)上的兩個遞歸處理器的一個turbo譯碼器中,至少一個附加遞歸處理器并行的耦合在至少其中一個遞歸處理器的輸入端。所有的遞歸處理器并行的對信號進行迭代處理。至少一個附加遞歸處理器計算每一迭代中信號的質(zhì)量標記。當測量到質(zhì)量標記標準超過一個預(yù)定值時,將有一個控制器終止所述迭代。
文檔編號H04L1/00GK1461528SQ01808294
公開日2003年12月10日 申請日期2001年4月10日 優(yōu)先權(quán)日2000年4月20日
發(fā)明者許樹湛, 海姆·泰歇爾 申請人:摩托羅拉公司