專利名稱:誤差校正碼的譯碼方法及其程序和設備的制作方法
技術領域:
本發明涉及一種誤差校正碼的譯碼方法,一種存儲誤差校正碼的譯碼方法的程序,和一種誤差校正碼的譯碼方法的設備,更具體地說,涉及一種能夠適用于數字移動通信系統,如便攜式蜂窩電話等的誤差校正碼的譯碼方法,和該譯碼方法的程序及該譯碼方法的設備。
背景技術:
本申請要求2002年8月20日提交的日本專利申請No.2002-239492的優先權,該申請在此引入以供參考。
背景技術:
最近,作為一種誤差校正碼,渦輪碼已經被開發出來,渦輪碼通過執行逼真處理能夠實現一種接近于信息論極限(現在被稱之為“香農極限”)的傳輸特性。下面描述渦輪碼。
圖17表示用于產生作為一種PCCC(并聯卷積碼)的渦輪碼的常用編碼器的實例。如圖17所示,該實例的編碼器被配置成使得兩件卷積編碼器1和2被通過一交織設備3并聯連接。卷積編碼器1使用一從外部饋送的信息序列(系統位“u”)對第一奇偶校驗位“p”進行編碼。交織設備3產生一個通過排序該系統位“u”的每個位而獲得的交織系統位“u”(該處理被稱為“交織”),并將其饋迭給交織編碼器2。卷積編碼器2使用交織過的系統位“u’”對第二奇偶校驗位“p’”進行編碼。一組系統位“u”和第一奇偶校驗位“p”被稱為第一碼元(u,p),一組交織過的系統位“u’”和第二奇偶校驗位“p’”被稱為第二碼元(u’,p’)。
另一方面,一種渦輪碼的譯碼方法的特征在于在第一碼元(u,p)和第二碼元(u’,p’)之間交換是可靠信息的先驗概率時可重復進行譯碼。這種渦輪碼的譯碼方法使用了軟輸入和軟輸出譯碼方法。該軟輸入和軟輸出譯碼方法大致可分為兩種方法,一種是SOVA(軟輸出維特比算法)譯碼方法,另一種是MAP(最大后驗概率算法)譯碼方法。下面描述一種MAP類型的MAX-Log-MAP譯碼方法。在MAX-Log-MAP(最大-對數-MAP)算法中,對格子圖執行維特比譯碼以能計算一路徑量度。
圖18表示一種格子圖。圖19表示一種普通譯碼程序的框圖。從起點到終點對格子圖執行維特比譯碼以能計算一路徑量度值的處理被稱為“正向處理”,用正向處理計算的路徑量度值稱之為“α”路徑量度值(αPM)(或者稱之為第一路徑量度值)。α路徑量度值存儲在如圖19所示的存儲器中。另一方面,按照與正向處理使用的方向相反的方向執行維特比譯碼以能計算路徑量度值的處理被稱為“逆向處理”,該路徑量度值稱之為“β”路徑量度值(βPM)(或者稱之為第二路徑量度值)。而且,在從α路徑量度值、β路徑量度值和分支量度值中計算對數似然比(LLR)(后驗概率的對數比率),然后計算外來信息的處理被稱為“外來信息值計算處理”。這里,外來信息值代表信息序列的可靠性的增量。外來信息值實際上被用作一在第一碼元(u,p)和第二碼元(u’,p’)之間將被交換的先驗概率。
下面,詳細地解釋最大-對數-MAP算法。首先,在時間k產生的卷積編碼器的輸出,由于它是系統碼,被設定(uk,pk)∈{±1}(pk是一個奇偶校驗位),卷積編碼器yk的相應輸入被設定為(yuk,ypk)。估算的信息序列uhk被設定為(uh1,uh2,…,uhn)。圖20是表示在格子圖中從時間點(k-1)到時間點k發生遷移情況下的遷移模型圖。在時間k時格子圖上的特定狀態被定義為狀態sk,在時間(k-1)時格子圖上的特定狀態被定義為狀態sk-1,最大-對數-MAP算法中對數似然比L(uhk)用方程式(1)給出。
L(uhk)=MAX(Sk,Sk)Uk-1{Inp(Sk-1,Sk,y)}-MAX(Sk-1,Sk)Uk=-1{Inp(Sk-1,Sk,y)}----]]>方程式(1)在方程式(1)中,“p(sk-1,sk,y)”表示卷積譯碼器輸入“y”的同時發生的事件概率和從狀態sk-1到狀態sk的遷移。也就是說,第k個信息位uk的預先定義的信息L(uhk)被定義為由于uk=+1而產生的所有遷移(sk-1→sk)的同時發生的事件概率p(sk-1,sk,y)的最大概率和由于uk=-1而產生的所有遷移(sk-1→sk)的同時發生的事件概率p(sk-1,sk,y)的最大概率之間的差。在時間“i”到時間“j”期間要提供的卷積譯碼器的輸入用方程式(2)表達,并且代碼字長度是N時,無記憶信道中的同時發生的事件概率p(sk-1,sk,y)是作為用方程式(3)表達的獨立概率之和給出的。
Yij=(Yi,Yi+1,...Yj) ...方程式(2)P(Sk-1,Sk,y)=P(Sk-1,Y1k-1)+P(Sk,Yk|Sk-1)+P(YkN|Sk)...方程式(3)在方程式(3)中,右側的每項是從左側按次序分別表示為αk-1(sk-1)、γk(sk,sk-1)和βk(sk)。在它們中,γk(sk,sk-1)是所有現有遷移(sk-1→sk)的分支量度值。αk-1(sk-1)是用正向處理計算的路徑量度值,βk(sk)是用逆向處理計算的路徑量度值。其中每個是用方程式(4)和(5)遞歸地計算出來的。
αk(sk)=maxsk-1{γk(sk-1,sk)+αk-1(sk-1)}]]>...方程式(4)βk-1(sk-1)=maxsk{γk(sk-1,sk)+βk(sk)}]]>...方程式(5)圖21表示在格子圖中從時間點(k-1)到時間點k發生遷移情況下計算αk-1(sk-1)、γk(sk,sk-1)和βk(sk)的模型圖。但是,在格子圖中起點和終點是唯一的,它們按照如方程式(6)中所示的進行初始化。
方程式(6)而且,通過使用方程式(7)和方程式(8)從預先定義的信息L(uhk)中能夠計算外來信息值。
Li(uk)=La(uk)+LcXyuk...方程式(7)Le(uhk)=L(uhk)-Li(uk) ...方程式(8)方程式(7)中表示的“Li(uk)”稱之為相對于外來信息Le(uhk)的“內部信息”。方程式(8)中表示的La(uk)是先驗概率,它還對應于在譯碼其它碼元過程中的外來信息值。“Lc”是由一信道確定的常數,在白高斯信道(平均值0,分布N0/2,信號功率Eb)的情況下用方程式(9)給出。
Lc=4Eb/N0...方程式(9)常數“Lc”是一個取決于信道噪聲條件的值。
上述譯碼渦輪碼的常用方法存在一個如下問題在格子圖中所有點和所有狀態中的路徑量度值必須被存儲一次,因此為了存儲該路徑量度值就需要大容量的存儲器。為了解決該問題,就提出一種方法,在該方法中,通過使用格子圖中的特定時間點(稱之為“窗口”)執行局部譯碼來減小存儲路徑量度值所需要的存儲器容量。在此情況下,在常規的譯碼序列中,其中譯碼是從格子圖中的起點開始的,如何控制局部逆向處理中路徑量度值的初始值就提出了一個問題。在一篇文章“Soft-Output Decoding Algorithm for ContinuousDecoding of Parallel Concatenated Convolutional Codes”(1996年的IEEE國際通信會議學報第112-117頁,S.Benedetto等撰寫)中公開了一種譯碼方法,在方法中,用存在于窗口前被認為是置于相同概率條件下的所有狀態來執行逆向處理,在通過執行逆向處理獲得的路徑量度值的初始化值期間的周期被定義為學習周期(該譯碼方法被稱之為“滑動窗口方法”)。而且,在一篇文章“VLSI architectures for turbo codes”(1999年的VLSI系統的IEEE學報第369-379頁)中公開了一種譯碼器,該譯碼器能夠提供一種在滑動窗口方法中的每一個周期中產生一個軟輸出的方法,在該文章中,提供了對應于窗口的許多時間點的逆向處理模塊,這些模塊用作流水線。但是,這種公開的譯碼器具有一個缺點它需要能夠與窗口數量相對應的逆向處理模塊,這樣就會使電路規模增大。
圖22表示一種根據文章“An Intuitive Justification and a SimplifiedImplementation of the MAP Decoder for Convolutional Codes”(1998年通信選擇區域的IEEE期刊第260-264頁,A.J.Viterbi著)的渦輪碼的常用譯碼器結構的實例的示意框圖。所公開的渦輪碼的譯碼器具有一種能夠在滑動窗口方法執行學習處理的學習模塊,在該滑動窗口方法中,可提供一種通過使用與窗口尺寸相對應的許多時間點滑動定時而實現的譯碼進度,因此能夠在每個周期中產生一個軟輸出。所公開的渦輪碼的譯碼器是由一正向處理模塊11,一逆向處理模塊12,一學習處理模塊13,一外來信息值計算處理模塊14,一開關15和存儲器16-19組成。
正向處理模塊11執行正向處理。逆向處理模塊12執行逆向處理。學習處理模塊13執行學習處理。外來信息值計算處理模塊14計算外來信息值。開關15通常與逆向處理模塊12相連接。學習處理模塊13的學習結果作為一路徑量度值被饋送到逆向處理模塊12,開關15與學習處理模塊13相連接。存儲器16的設置是用于將碼元和外來信息值饋送到正向處理模塊11,逆向處理模塊12和學習處理模塊13中的每一個。而且,存儲器17的設置是用于將經過正向處理模塊11計算的路徑量度值饋送到外來信息值計算處理模塊14。存儲器18的設置是用于將經過外來信息值計算處理模塊14計算的外來信息值饋送到存儲器16。即,存儲器18的設置是用于交換在第一碼元(u,p)和第二碼元(u’,p’)之間作為先驗概率的外來信息值。存儲器19的設置是用于將交織圖案ILP暫時存儲在其中。而且,存儲器16和19是四面緩沖器的結構,而存儲器17和18是兩面緩沖器的結構。
下面參考圖23描述具有上述所示結構的渦輪碼譯碼器的操作。在圖23中,“FWP”表示正向處理,“BWP”表示逆向處理,“STP”表示學習處理。
(1)在時間0至2Lt期間,為了執行下面所述的學習處理,就執行預處理以能存儲出現在圖23所示的格子圖上從時間點0(起點)到2Lp的碼元和外來信息。而且,為了譯碼第二碼元(u’,p’),除了上述預處理外,還需要執行將交織圖案ILP暫時存儲在存儲器19中的處理。
(2)在時間2Lt至3Lt期間,正向處理模塊11執行圖23中所示格子圖上從時間點0(起點)到Lp的正向處理。同時,學習處理模塊13執行圖23中所示格子圖上從時間點2Lp到Lp的學習處理。而且,在學習處理過程中路徑量度的初始值使位于窗口前的所有狀態處于相同概率的條件下。
(3)在時間3Lt至4Lt期間,正向處理模塊11執行圖23中所示格子圖上從時間點Lp到2Lp的正向處理。而且,與此同時,逆向處理模塊12執行在圖23中學習處理(2)之后的圖23中所示格子圖上從時間點Lp到0(起點)的逆向處理。同時,外來信息值計算處理模塊14計算一外來信息值。而且,與此同時,學習處理模塊13執行圖23中所示格子圖上從時間點3Lp到2Lp的學習處理。
(4)在時間4Lt至5Lt期間,正向處理模塊11執行圖23中所示格子圖上從時間點2Lp到3Lp的正向處理。而且,與此同時,逆向處理模塊12執行在圖23中學習處理(3)之后的圖23中所示格子圖上從時間點2Lp到Lp的逆向處理。同時,外來信息值計算處理模塊14計算一外來信息值。而且,學習處理模塊13執行圖23中所示格子圖上從時間點4Lp到3Lp的學習處理。
(5)在時間5Lt至(Nt-Mt+3Lt)(Mt≤Lt)期間,執行與處理(3)和(4)相同的處理。
(6)在時間(Nt-Mt+3Lt)至(Nt+3Lt)期間,逆向處理模塊12執行圖23中所示格子圖上從時間點(Np-Mp)到Np(終點)的逆向處理。同時,外來信息值計算處理模塊14計算一外來信息值。
(7)作為對第一碼元(u,p)執行的譯碼處理,執行上述處理(1)至(6),然后用與上述處理(1)至(6)相同的方式對第二碼元(u’,p’)執行譯碼處理,并且將一系列上述處理作為迭代譯碼的第一操作而加以控制。
(8)通過在對第二碼元(u’,p’)執行譯碼處理中使用對數似然比(LLR)的符號位,在交織譯碼完成合適的次數(大約為10次)后,對每個估算的信息序列Uhk就會產生一個硬判決。
如上所述,渦輪碼的常用譯碼器需要學習處理模塊13。而且,用于將碼元和外來信息值饋送到正向處理模塊11、逆向處理模塊12和學習處理模塊13中的每一個的存儲器16和暫時存儲交織圖案ILP的存儲器19這二者必須是四面緩沖器的結構。而且,在作為開始譯碼的預處理的學習處理過程中,需要一個用于暫時存儲與2Lp時間點相對應的碼元和外來信息值的時間周期。恐怕不僅在譯碼渦輪碼的譯碼器中,而且在通常通過使用MAP譯碼類型的軟輸入和軟輸出譯碼方法來執行迭代譯碼利用卷積碼的代碼的譯碼器中產生上述缺點。
發明內容
鑒于上述問題,本發明的一個目的是提供一種能夠以簡單的結構和在較短的時間內實現譯碼誤差校正碼的誤差校正碼譯碼方法,和一種誤差校正碼譯碼方法的程序及一種誤差校正碼譯碼方法的設備。
根據本發明的第一個方面,提供一種執行迭代譯碼的誤差校正碼譯碼方法,該方法包括正向處理,根據所接收到的數據和一外來信息值,通過在格子圖上從起點到終點的方向執行維特比譯碼來計算第一路徑量度值;逆向處理,根據所接收到的數據和外來信息值,通過按照與用于正向處理的方向相反的方向在格子圖上對每個窗口執行維特比譯碼來計算第二路徑量度值;外來信息值計算處理,根據第一和第二路徑量度值來計算外來信息值;其中,在逆向處理中,通過使用在執行上次迭代譯碼時獲得的窗口邊界中的第二路徑量度值作為在執行本次迭代譯碼時要獲得的第二路徑量度值的初始值來執行迭代譯碼。
根據本發明的第二個方面,提供一種執行迭代譯碼的誤差校正碼的譯碼方法,該方法包括正向處理,根據所接收到的數據和一外來信息值,通過按照從起點到終點的方向執行維特比譯碼來計算第一路徑量度值;逆向處理,根據所接收到的數據和外來信息值,通過按照與用于正向處理的方向相反的方向在格子圖上對每個窗口執行維特比譯碼來計算第二路徑量度值;外來信息值計算處理,根據第一和第二路徑量度值來計算外來信息值;
其中,在正向處理中,通過使用在上次已經完成窗口的正向處理時獲得的窗口邊界中的第一路徑量度值作為在執行本次正向處理時要獲得的窗口邊界中的第一路徑量度值的初始值來執行迭代譯碼。
其中,在逆向處理中,通過使用在執行上次迭代譯碼時獲得的窗口邊界中的第二路徑量度值作為在本次窗口邊界中的第二路徑量度值的初始值來執行迭代譯碼。
在前述的第一和第二個方面中,一中優選方式是其中可使用一外來信息值,該值是通過乘以一介于0.5或更大和0.9或更小的范圍之間的標準系數而獲得的。
而且,一種優選方式是其中計算外來信息值的信道常數介于1.5或更大和2.5或更小的范圍中。
而且,一個較佳方式是其中窗口位的尺寸是約束長度位的四倍或更大,并且是所需信息位的最大數量的二分之一或更小。
而且,一種優選方式是其中在正向處理、逆向處理和外來信息值計算處理中,通過使用一格子圖執行維特比譯碼,在該格子圖中,在組成代碼字的符號序列中的正值和負值是反向的,并且選擇具有最小路徑量度值的路徑。
根據本發明的第三個方面,提供一種能夠使計算機實現一種用于執行迭代譯碼的誤差校正碼的譯碼方法的譯碼程序,該方法包括正向處理,根據所接收到的數據和一外來信息值,通過在格子圖上從起點到終點的方向執行維特比譯碼來計算第一路徑量度值;逆向處理,根據所接收到的數據和外來信息值,通過按照與用于所述正向處理的方向相反的方向在格子圖上對每個窗口執行維特比譯碼來計算第二路徑量度值;外來信息值計算處理,根據第一和第二路徑量度值來計算外來信息值;其中,在逆向處理中,通過使用在執行上次迭代譯碼時獲得的窗口邊界中的第二路徑量度值作為在執行本次迭代譯碼時要獲得的窗口邊界中的第二路徑量度值的初始值來執行迭代譯碼。
根據本發明的第四個方面,提供一種能夠使計算機實現一種用于執行迭代譯碼的誤差校正碼的譯碼方法的譯碼程序,該方法包括
正向處理,根據所接收到的數據和一外來信息值,通過在格子圖上從起點到終點的方向執行維特比譯碼來計算第一路徑量度值;逆向處理,根據所接收到的數據和外來信息值,通過按照與用于正向處理的方向相反的方向在格子圖上對每個窗口執行維特比譯碼來計算第二路徑量度值;外來信息值計算處理,根據第一和第二路徑量度值來計算外來信息值;和其中,在正向處理中,通過使用在上次已經完成窗口的正向處理時獲得的窗口邊界中的第一路徑量度值作為在執行本次正向處理時要獲得的窗口邊界中的第一路徑量度值的初始值來執行迭代譯碼;其中,在逆向處理中,通過使用在執行上次迭代譯碼時獲得的窗口邊界中的第二路徑量度值作為在本次窗口邊界中的第二路徑量度值的初始值來執行迭代譯碼。
根據本發明的第五個方面,提供一種誤差校正碼的譯碼器,該譯碼器包括一正向處理模塊,它執行正向處理,以便根據所接收到的數據和一外來信息值通過在格子圖上從起點到終點的方向執行維特比譯碼來計算第一路徑量度值;一逆向處理模塊,它執行逆向處理,以便根據所接收到的數據和外來信息值通過按照與用于正向處理的方向相反的方向在格子圖上對每個窗口執行維特比譯碼來計算第二路徑量度值;一外來信息值計算處理模塊,它執行外來信息值計算處理,以便根據第一和第二路徑量度值來計算外來信息值;和其中,執行由正向處理、逆向處理和外來信息值計算處理組成的譯碼;其中,該逆向處理模塊具有一個存儲器,在該存儲器中暫時地存儲了在執行上次迭代譯碼時計算的窗口邊界中的第二路徑量度值,并且該逆向處理模塊通過從該存儲器中讀取第二路徑量度值以使用它作為在執行本次迭代譯碼時要計算的窗口邊界中的第二路徑量度值的初始值來執行迭代譯碼。
根據本發明的第六個方面,提供一種誤差校正碼的譯碼器,該譯碼器包括一正向處理和逆向處理共享使用模塊,該模塊交替地執行正向處理和逆向處理,其中執行正向處理是為了根據所接收到的數據和一外來信息值,通過在格子圖上從起點到終點的方向執行維特比譯碼來計算第一路徑量度值,其中執行逆向處理是為了根據所接收到的數據和外來信息值,通過按照與用于正向處理的方向相反的方向在格子圖上對每個窗口執行維特比譯碼來計算出一第二路徑量度值;一外來信息值計算處理模塊,它執行外來信息值計算處理,以便根據第一和第二路徑量度值來計算出外來信息值;其中,該正向處理模塊具有一第一存儲器,在該存儲器中暫時地存儲在上次已經完成窗口的正向處理時獲得的窗口邊界中的第一路徑量度值,并且該逆向處理模塊具有一第二存儲器,在該存儲器中暫時地存儲了在執行上次迭代譯碼時計算出的窗口中的第二路徑量度值;和其中該正向處理和逆向處理共享使用模塊,通過從第一存儲器內讀取窗口邊界中的第一路徑量度值并且使用它作為在執行本次迭代譯碼時要獲得的窗口邊界中的第一路徑量度值的初始值,以及通過從第二存儲器內讀取窗口邊界中的第二路徑量度值并且使用它作為在執行本次迭代譯碼時要獲得的窗口邊界中的第二路徑量度值的初始值,來執行迭代譯碼。
在前述的第五和第六個方面中,一種優選方式是其中可使用一外來信息值,該值是通過乘以一介于0.5或更大和0.9或更小范圍之間的標準系數而獲得的。
而且,一種優選方式是其中用于計算外來信息值的信道常數介于1.5或更大和2.5或更小的范圍。
而且,一種優選方式是其中窗口位的尺寸是約束長度位的四倍或更大,并且是所需信息位最大數量的二分之一或更小。
而且,一種優選方式是其中正向處理、逆向處理和外來信息值計算處理,通過使用格子圖執行維特比譯碼,在該格子圖中,在組成代碼字的符號序列中的正值和負值是反向的,并且選擇具有最小路徑量度值的路徑。
使用上述結構,在用于執行由正向處理、逆向處理和外來信息值計算處理組成的迭代譯碼的誤差校正碼的譯碼方法中,由于在逆向處理中,在執行上次迭代譯碼時獲得的窗口邊界中的第二路徑量度值被用作在執行本次迭代譯碼時要獲得的窗口邊界中的第二路徑量度值的初始值,所有誤差校正碼的譯碼能夠用簡單的結構和在較短的時間內加以實現。
使用如上所述的另一種結構,由于計算機運行誤差校正碼的譯碼程序,所以有可能夠減少計算機的算術運算的量、降低存儲設備的容量、計算機消耗的電流和縮短處理時間。
使用如上所述的又一種結構,由于在正向處理、逆向處理和外來信息值計算處理中,通過使用格子圖執行維特比譯碼,在該格子圖中,在組成代碼字的符號序列中的正值和負值是反向的,而且由于選擇具有最小量度值的路徑,所有就能夠降低組成譯碼器的存儲設備的存儲器容量和/或電路規模。
本發明的上述和其它目的、優點和特征從下面結合附圖的描述中將會變得更加清楚,其中圖1是表示根據本發明第一個實施例的渦輪碼譯碼器結構的示意框圖;圖2是表示用于解釋本發明第一個實施例的譯碼器操作的格子圖;圖3是表示本發明第一個實施例的譯碼特性(曲線“a”)和通過常用滑動窗口方法獲得的譯碼特性(曲線“b”)之間比較的圖;圖4是表示比特誤差率和塊誤差率對本發明第一個實施例中使用的外來信息值標準系數的特性模擬結果的圖;圖5是表示比特誤差率和塊誤差率對本發明第一個實施例中使用的信道常數的特性模擬結果的圖;圖6是表示比特誤差率和塊誤差率對本發明第一個實施例中使用的窗口尺寸的特性模擬結果的圖;圖7是表示根據本發明第二個實施例的誤差校正碼譯碼器結構的示意框圖;圖8是表示用于解釋本發明第二個實施例的渦輪碼譯碼器操作的格子圖;圖9是在使用最大值選擇方法情況下的格子圖;圖10是使用本發明第二個實施例中所用的最小值選擇方法情況下的格子圖;圖11是表示為常用技術所使用的最大值選擇方法中和本發明第三個實施例所使用的最小值選擇方法中的步驟0中截斷前存在的每個狀態而繪制的路徑量度值的圖;圖12是表示為常用技術所使用的最大值選擇方法中和本發明第三個實施例所使用的最小值選擇方法中的步驟1中截斷前存在的每個狀態而繪制的路徑量度值的圖;圖13是表示為常用技術所使用的最大值選擇方法中和本發明第三個實施例所使用的最小值選擇方法中的步驟2中截斷前存在的每個狀態而繪制的路徑量度值的圖;圖14是表示為常用技術所使用的最大值選擇方法中和在本發明第三個實施例所使用的最小值選擇方法中的步驟0中截斷后存在的每個狀態而繪制的路徑量度值的圖;圖15是表示為常用技術所使用的最大值選擇方法中和本發明第三個實施例所使用的最小值選擇方法中的步驟1中截斷后存在的每個狀態而繪制的路徑量度值的圖;圖16是表示為常用技術所使用的最大值選擇方法中和本發明第三個實施例所使用的最小值選擇方法中的步驟2中截斷后存在的每個狀態而繪制的路徑量度值的圖;圖17是表示渦輪碼的常用編碼器結構實例的示意框圖;圖18是表示用于解釋現有技術的格子圖實例的圖;圖19是表示用于解釋現有技術的常用譯碼步驟的圖;圖20是表示在格子圖上從時間點(k-1)到時間點k發生遷移時的情況下遷移模型圖;圖21是表示在格子圖上從時間點(k-1)到時間點k發生遷移的情況下αk-1(sk-1)和βk(sk)的計算模型圖;圖22是表示渦輪碼的常用譯碼器結構實例的示意方框圖;和圖23是解釋渦輪碼的常用譯碼器操作的格子圖。
具體實施例方式
通過參考附圖,使用不同實施例,將更詳細地描述實現本發明的最佳方式。
第一個實施例圖1是表示根據本發明第一個實施例的渦輪碼譯碼器結構的示意框圖。第一個實施例的渦輪碼譯碼器包括一正向處理模塊21、一逆向處理模塊22、一外來信息值計算處理模塊23和存儲器24-28。
正向處理模塊21執行正向處理。逆向處理模塊22執行逆向處理。外來信息值計算處理模塊23計算一外來信息值。設置存儲器24用于將碼元和外來信息值饋送到逆向處理模塊22。而且,設置存儲器25用于暫時存儲由逆向處理模塊22計算的窗口邊界中的路徑量度。設置存儲器26用于將經過正向處理模塊21計算的路徑量度饋送到外來信息值計算處理模塊23。設置存儲器27用于將經過外來信息值計算處理模塊23計算的外來信息值饋送到正向處理模塊21和存儲器24。即,設置存儲器27用于交換在第一碼元(u,p)和第二碼元(u’,p’)之間的更作為先驗概率而加以使用的外來信息值。設置存儲器28用于暫時地存儲交織圖案ILP。存儲器24、26、27和28中的每一個是兩面緩沖器的結構。
下面參考圖2描述具有上述所示結構的渦輪碼譯碼器的操作。在圖2中,FWP表示正向處理和BWP表示逆向處理。
(1)在時間0至Lt期間,正向處理模塊21執行在圖2所示的格子圖上從時間點0(起點)到Lp的處理。
(2)在時間Lt至2Lt期間,正向處理模塊21執行在上述(1)所示的正向處理之后的圖2中所示格子圖上從時間點Lp到2Lp的正向處理。而且,與此同時,逆向處理模塊22執行圖2中所示格子圖上從時間點Lp到0(起點)的逆向處理。此外,同時,外來信息值計算處理模塊23計算一外來信息值。在此點,逆向處理中窗口邊界內的β路徑量度值的初始值(在時間點Lp)將使存在于窗口前的所有狀態處于相同概率的條件中。
(3)在時間2Lt至3Lt期間,正向處理模塊21執行在上述(2)所示的正向處理之后的圖2中所示格子圖上從時間點2Lp到3Lp的正向處理。而且,與此同時,逆向處理模塊22執行在圖2中所示格子圖上從時間點2Lp到Lp的逆向處理。而且,外來信息值計算處理模塊23計算一外來信息值。在此點,逆向處理中窗口邊界內的β路徑量度值的初始值(在時間點2Lp)將使存在于窗口前的所有狀態處于相同概率的條件中,與上述(2)的情況下相同。此外,在圖2中所示格子圖上窗口邊界內的β路徑量度值(在時間點Lp)暫時存儲在存儲器25中以便用作在執行上次迭代譯碼時逆向處理中的β路徑量度值的初始值(見圖2的①)。
(4)在時間3Lt至(Nt-Mt+Lt)(Mt≤Lt)期間,每個正向處理模塊21、逆向處理模塊22和外來信息值計算處理模塊23迭代上述的處理(3),直到正向處理到達圖2中所示格子圖上的時間點Np(終點)為止。
(5)在時間(Nt-Mt+Lt)至(Nt+Lt)期間,逆向處理模塊22執行格子圖上從時間點Np(終點)到(Np-Mp)(Mp≤Lp)的逆向處理。而且,外來信息值計算處理模塊23計算一外來信息值。此外,在圖2中所示格子圖上窗口邊界內的β路徑量度值(在時間點Np-Mp)暫時存儲在存儲器25中以便用作在執行下次迭代譯碼時逆向處理中的β路徑量度值的初始值。
(6)作為要對第一碼元(u,p)執行譯碼處理,執行上述處理(1)至(5),然后用與上述處理(1)至(5)相同的方式對第二碼元(u’,p’)執行譯碼處理,并且將一系列譯碼處理作為迭代譯碼的第一操作而加以控制。此后,逆向處理模塊22通過使用已經暫時存儲在存儲器25中的窗口邊界內的β路徑量度值作為在執行下次迭代譯碼時逆向處理中的β路徑量度值的初始值來執行迭代譯碼處理(見圖2中的②)。
(7)在通過對第二碼元(u’,p’)執行譯碼處理中使用對數似然比(LLR)的符號位,迭代譯碼完成合適的次數(大約為10次)后,對每個估算的信息序列Uhk就會產生一個硬判決。
圖3是表示第一個實施例的譯碼特性(曲線“a”)和通過常用滑動窗口方法獲得的譯碼特性(曲線“b”)之間比較的圖。比特誤差率BER和塊誤差率BLER分別繪制為坐標。而且,繪制為水平軸的值是通過直接存在于譯碼器之前的信號的信噪比除以信道中每個符號的信息位的數量而獲得的(更精確地說,它們是每一個比特中信號能Eb和單邊功率譜密度N0之間的比率Eb/N0)。這里,數據量是656,迭代譯碼的次數是8次,窗口尺寸是64個時間點。從圖3可清楚地看出,在使用滑動窗口方法的譯碼器的譯碼特性(曲線“b”)和本實施例譯碼器的譯碼特性(曲線“a”)之間不存在顯著的差異。
而且,圖4至圖6表示通過使用一標準系數(外來信息值標準系數)、一信道常數和一窗口尺寸作為一參數執行模擬的結果,其中標準系數乘以一外來信息值,信道常數在計算外來信息值時乘以一系統位。該模擬是在3GPP(第三代合伙項目)中指明的“RMC64”的條件下的在Eb/N0為0.4dB的情況下和Eb/N0為0.8dB的情況下并且通過將迭代譯碼次數設定為8來執行的,其中3GPP是一項計劃建立第三代技術標準的合伙項目。圖4是表示比特誤差率BER和塊誤差率BLER對外來信息值標準系數的特性模擬結果的圖。在圖4中,曲線“a”表示比特誤差率BER對在Eb/N0為0.4dB時要獲得的外來信息值標準系數的特性。曲線“b”表示比特誤差率BER對在Eb/N0為0.8dB時要獲得的外來信息值標準系數的特性。曲線“c”表示塊誤差率BLER對在Eb/N0為0.4dB時要獲得的外來信息值標準系數的特性。曲線“d”表示塊誤差率BLER對在Eb/N0為0.8dB時要獲得的外來信息值標準系數的特性。有一種趨勢,即與MAP算法的情況下時相比,較大軟輸出值在最大-對數-MAP算法下輸出。因此,通過將一外來信息值乘以一標準系數,就可能使該譯碼特性接近于通過使用MAP算法所獲得的譯碼特性。從圖4中可看出,在外來信息值標準系數介于0.5至0.9范圍中,特別是大約為0.7時可獲得一最好的譯碼特性。
圖5是表示比特誤差率BER和塊誤差率BLER對信道常數的特性模擬結果。在圖5中,曲線“a”表示比特誤差率BER對在Eb/N0為0.4dB時要獲得的信道常數的特性。曲線“b”表示比特誤差率BER對在Eb/N0為0.8dB時要獲得的信道常數的特性。曲線“c”表示塊誤差率BLER對在Eb/N0為0.4dB時要獲得的信道常數的特性圖。曲線“d”表示塊誤差率BLER對在Eb/N0為0.8dB時要獲得的信道常數的特性。雖然在本實施例中,該信道常數是由通信條件的值(Eb/N0)決定的,但是它可被設定為一個常數。正如圖5所示,在信道常數介于1.5至2.5范圍中,特別是大約為2時可獲得一最好的譯碼特性。
圖6是表示比特誤差率BER和塊誤差率BLER對窗口尺寸的特性模擬結果。在圖6中,曲線“a”表示比特誤差率BER對在Eb/N0為0.4dB時要獲得的窗口尺寸的特性。曲線“b”表示比特誤差率BER對在Eb/N0為0.8dB時要獲得的窗口尺寸的特性。曲線“c”表示塊誤差率BLER對在Eb/N0為0.4dB時要獲得的窗口尺寸的特性。曲線“d”表示塊誤差率BLER對在Eb/N0為0.8dB時要獲得的窗口尺寸的特性。圖6可以看出,雖然譯碼特性通過使窗口尺寸變大得到改善,但是還會產生收斂趨勢。即,在窗口尺寸是約束長度的四倍或比它更大時,和在窗口尺寸為所需的信息位的最大數量的二分之一或更小時,能夠獲得一個良好的譯碼特性而不會引起電路規模的增加。
因此,根據本實施例的結構,通過設置用于臨時存儲在執行上次迭代譯碼時在逆向處理中的窗口邊界中的β路徑量度值,該β路徑量度值可用作在執行下次迭代譯碼時逆向處理中的β路徑量度值的初始值。因此,就不需要在圖22所示的常用渦輪碼譯碼器中所需的計算路徑量度值的初始值的學習處理。這致使圖22中所示的學習處理模塊13在本實施例中就不需要了。通過僅設置雙面緩沖器結構的存儲器24和28來代替四面緩沖器結構的存儲器16和19(見圖22),就能夠實現在每個周期產生軟輸出。而且,不需要常用渦輪碼譯碼器中所需的預處理時間周期。此外,由于正向處理模塊21和逆向處理模塊22是單獨設置的,并且逆向處理比正向處理晚對應于窗口時間點的時間之后開始,因此計算每個周期的外來信息值是可能實現的。
這里,圖示的是其特例。3GDPP指定信息位的最大數量為5,114比特。因此,當接收到的數據位寬是8比特,和窗口尺寸是128時,組成本實施例譯碼器的存儲器25的容量就需要8,320(40字×13比特×8狀態×2)比特來暫時地存儲β路徑量度值的初始值(13比特)。然而,具有存儲容量為7,680{128字×(16比特+14比特)×2}比特并用于暫時存儲碼元(16比特)和外來信息值(14比特)的存儲器和具有存儲容量為3,328(128字×13比特×2)比特并用于暫時存儲交織圖案(13比特)的存儲器,它們在常用的譯碼器都需要,在本實施例中卻不需要了。因此,根據本實施例的結構,就能夠減少總數為2,688{(7,680+3,328)-8,320}比特的存儲容量。另一方面,還可減少其邏輯電路,即,能夠減少圖22中所示的一件學習處理模塊13,相當于大約5k門的電路規模。而且,還能夠縮短處理時間,即,當窗口尺寸是L并在每個周期中都產生軟輸出時,以及如果譯碼第一碼元和第二碼元,則就能夠縮短用于第一和第二碼元中的每一個的時間2L·CK(CK是基本時鐘的一個周期的時間)。例如,在窗口尺寸是128的情況下,在3GDPP指定的“RMC64”的條件下,可提供譯碼每個第一和第二碼元操作的一個方程式{(128×2)/(1,296+(128×3)=0.1523...)},這表明能夠縮短處理時間大約為15.2%。因此,通過將本實施例的譯碼器應用于便攜式電子設備如便攜式蜂窩電話上,就能夠減小電路規模和縮短處理時間,這樣就能使電池等的壽命延長和以低成本來構造這種便攜式電子設備。
第二實施例圖7是表示根據本發明第二個實施例的渦輪碼譯碼器結構的示意框圖。第二實施例的渦輪碼譯碼器是由一正向處理和逆向處理共享使用模塊31、一外來信息值計算處理模塊32、存儲器33至37以及開關38和39組成的。正向處理和逆向處理共享使用模塊31交替地執行正向處理和逆向處理。外來信息值計算處理模塊32計算一外來信息值。
設置存儲器33用于暫時存儲在正處理中由正向處理和逆向處理共享使用模塊31計算的窗口邊界中的α路徑量度值。設置存儲器34用于暫時存儲在逆向處理中由正向處理和逆向處理共享使用模塊31計算的窗口邊界中的β路徑量度值。設置存儲器35用于饋送在正向處理中由正向處理和逆向處理共享使用模塊31計算的一路徑量度值。設置存儲器36用于將由外來信息值計算處理模塊32計算的一外來信息值饋送到正向處理和逆向處理共享使用模塊31。也就是說,設置存儲器36用于交換在第一碼元(u,p)和第二碼元(u’,p’)之間用作先驗概率的外來信息值。設置存儲器37用于暫時存儲一交織圖案ILP。而且,存儲器37的結構是單面緩沖器的,以便按照分時方式交替地執行正向處理、逆向處理和外來信息值計算處理的結構。
開關38通常將存儲器35與正向處理和逆向處理共享使用模塊31相連接,但是,在正向處理和逆向處理共享使用模塊31開始對第二窗口進行處理,和此后在正向處理中時,為了將在正向處理中窗口邊界內的路徑量度值的初始值饋送到正向處理和逆向處理共享使用模塊31,開關38將存儲器33與正向處理和逆向處理共享使用模塊31相連接。而且,在正向處理和逆向處理共享使用模塊31開始進行第二次逆向處理,和此后進行迭代譯碼時,為了將在逆向處理中窗口邊界內的路徑量度值的初始值饋送到正向處理和逆向處理共享使用模塊31,開關38將存儲器34與正向處理和逆向處理共享使用模塊31相連接。在外來信息值計算處理模塊32使用一交織圖案ILP時,開關39將存儲器37與外來信息值計算處理模塊32相連接,在外來信息值計算處理模塊32將交織圖案ILP饋送到外部時,開關39將存儲器37與輸出端相連接。
下面,參考圖8描述具有上述結構的渦輪碼譯碼器的操作。在圖8中,“FWP”表示正向處理和“BWP”表示逆向處理。
(1)在時間0至2Lt期間,正向處理和逆向處理共享使用模塊31執行圖8所示的格子圖上從時間點0(起點)到Lp的正向處理。然后,正向處理和逆向處理共享使用模塊31將在正向處理完成時的α路徑量度值作為α路徑量度值初始值暫時存儲到存儲器33中。
(2)在時間2Lt至4Lt期間,正向處理和逆向處理共享使用模塊31執行圖8所示的格子圖上從時間點Lp到0(起點)的逆向處理。而且,與此同時,外來信息值計算處理模塊32計算一外來信息值。在此點,在逆向處理中的窗口邊界內的β路徑量度值的初始值(在時間點Lp)將使存在于窗口前的所有狀態處于相同概率的條件下。
(3)在時間4Lt至6Lt期間,正向處理和逆向處理共享使用模塊31通過使用作為在上述處理(1)中暫時存儲在存儲器33中的窗口邊界內的α路徑量度值的初始值的α路徑量度值來執行圖8中所示格子圖上從時間點Lp到2Lp的正向處理。
(4)在時間6Lt至8Lt期間,正向處理和逆向處理共享使用模塊31執行在圖中所示格子圖上從時間點2Lp到Lp的逆向處理。而且,與此同時,外來信息值計算處理模塊32計算一外來信息值。然后,正向處理和逆向處理共享使用模塊31將在逆向處理完成時的β路徑量度值作為窗口邊界內的β路徑量度值的初始值暫時存儲到存儲器34中。(見圖8①)。
(5)在時間8Lt至(4Nt-Mt)(Mt≤2Lt)期間,正向處理和逆向處理共享使用模塊31交替地執行上述的處理過程(3)和(4),直到正向處理的步驟到達圖8中所示格子圖上時間點2Lp到Np(終點)時為止。
(6)在時間(4Nt-Mt)至4Nt期間,正向處理和逆向處理共享使用模塊31執行圖8所示格子圖上從時間點Np(終點)到(Np-Mp)的逆向處理。而且,與此同時,外來信息值計算處理模塊32計算一外來信息值。
(7)作為對第一碼元(u,p)執行的譯碼處理,執行上述處理(1)至(6),然后用與上述處理(1)至(6)相同的方式對第二碼元(u’,p’)執行譯碼處理,并且將一系列上述處理作為迭代譯碼的第一操作而加以控制。此后,正向處理和逆向處理共享使用模塊31通過將在執行上次迭代譯碼時暫時存儲在存儲器34中的窗口邊界內的β路徑量度值用作在逆向處理中的窗口邊界內的β路徑量度值的初始值而執行迭代譯碼處理(見圖8中的②)。
(8)在通過對第二碼元(u’,p’)執行譯碼處理中使用對數似然比(LLR)的符號位,交織譯碼已經完成合適的次數(大約為10次)后,對每個估算的信息序列Uhk就會產生一個硬判決。
因此,根據第二實施例的結構,設置了在其中能夠交替執行正向處理和逆向處理的正向處理和逆向處理共享使用模塊31。而且,正向處理和逆向處理共享使用模塊31在兩個時鐘內執行一ACS(加法-比較-選擇)算術運算。而且,設置了一個用于暫時存儲在執行上次窗口的正向處理時獲得的窗口邊界內的α路徑量度值的存儲器33,并且該α路徑量度值被用作執行下次正向處理時窗口邊界內的α路徑量度值的初始值。而且,設置了一個用于暫時存儲在執行上次迭代譯碼時逆向處理中獲得的窗口邊界內的β路徑量度值的存儲器34,并且該β路徑量度值被用作執行下次迭代譯碼時逆向處理中β路徑量度值的初始值。因此,就不需要在圖22所示的常用渦輪碼譯碼器中所需的用于計算路徑量度值的初始值的學習處理。這樣也就使得圖22中所示的學習處理模塊13成為不需要的了。而且通過僅設置單面緩沖器結構的存儲器33至37來代替四面緩沖器結構的存儲器16和19(見圖22),就能夠實現每兩個周期產生軟輸出。而且,不需要常用渦輪碼譯碼器中所需的預處理時間周期。
第三實施例在上述的第一和第二實施例中,沒有參考一種計算分支量度值的方法,并且假定使用了一種常用的計算方法。在最大-對數-MAP算法中,根據組成代碼字的符號序列和所接收到字的符號序列之間的一個相關值(歐幾里得距離)和一個外來信息值計算分支量度。該分支量度值表示所接收到的字對代碼字的似然性。分支量度值越大,該似然性就越大。按照慣例,在計算分支量度值后所需的操作和增量計算中,通過從多個操作結果或計算結果中選擇一個最大值執行譯碼處理。這里,具有最大路徑量度值的路徑成為一最大似然路徑。但是,在常用的計算方法中,選擇具有值大的路徑量度并執行路徑量度值的求和,結果是,路徑量度值就變得很大,因此就會使存儲器容量增大和/或使組成譯碼器的每個模塊的電路規模變大。
因此,根據本發明的實施例,在要用圖1所示的正向處理模塊21、逆向處理模塊22和外來信息值計算處理模塊23(第一實施例的結構)執行處理的過程中,以及在要用正向處理和逆向處理共享使用模塊31和外來信息值計算處理模塊32(第二實施例的結構)執行處理的過程中,通過使用在其中組成代碼字的符號序列中的“0”和“1”是反向的格子圖來執行維特比譯碼,即,通過從多個操作結果或計算結果中選擇一個最小值并通過在每個正向處理、逆向處理和外來信息值計算處理中選擇一個具有最小值的路徑,就能使操作位的寬度變窄,并且因此就能夠使組成譯碼器的每個模塊的存儲器容量和/或電路規模減小。
圖9是在使用常用計算方法(稱之為“最大值選擇方法”)情況下的格子圖,圖10是在使用本發明第二個實施例中使用的計算方法(稱之為“最小值選擇方法”)情況下的格子圖。在圖9和10中,在步驟0的右側顯示的每個標號“00”、“11”、“01”和“10”代表組成代碼字的符號序列(系統位和奇偶校驗位),每個橢圓左側上顯示的每個標號代表每個路徑量度值,并且每個橢圓左側上顯示的標號中的每個帶下劃線的標號代表從ACS操作中選擇的作為結果的路徑量度值。而且,每個橢圓右側上顯示的每個標號代表通過對選擇為ACS操作結果的路徑量度值執行截斷(下文描述)而獲得的結果。
在最小值選擇方法中,根據在組成通過將“0”和“1”反向獲得的代碼字的符號序列和所接收到字的符號序列之間的一個相關值和根據一個外來信息值計算出的一個分支量度值表示所接收到的字對代碼字的似然的相反情況,分支量度值越小,似然性就越大。因此,在最小值選擇方法中,具有最小路徑量度值的路徑變為最大似然路徑。另外,在最小值選擇方法中的路徑量度值的初始值與最大值選擇方法中的分路量度值的初始值是不同的。即,在最大值選擇方法中,為了在ACS操作中不選擇一錯誤的路徑,將一個足夠大的值設定為狀態“000”的初始值,將最小值的“0”設定為其它狀態“001”到“111”的初始值。在最小值選擇方法中,將最小值的“0”設定為狀態“000”,將一個足夠大的值設定為其它狀態“001”到“111”的初始值。這樣就能消除在最小值選擇方法中選擇錯誤路徑的可能性。
圖11,12和13是表示為常用技術所使用的最大值選擇方法中和本發明第三個實施例所使用的最小值選擇方法中的步驟0,1和2中在截斷前存在的每個狀態而繪制的路徑量度值的圖。圖14,15和16是表示為常用技術所使用的最大值選擇方法中和本發明第三個實施例所使用的最小值選擇方法中的步驟0,1和2中在截斷后存在的每個狀態而繪制的路徑量度值的圖。截斷表示獲得一個最小值的減法處理。在圖11至16中,曲線“a”表示根據最大值選擇方法繪制的路徑量度值,曲線“b”表示根據最小值選擇方法繪制的路徑量度值。圖11和14表示在步驟0中的路徑量度值,圖12和15表示在步驟1中的路徑量度值,圖13和16表示在步驟2中的路徑量度值。
如圖11至13所示,針對最小值選擇方法的曲線“b”和針對最大值選擇方法的曲線“a”相對于平行于水平軸的一條線是對稱的。在最大值選擇方法中,一條具有似然性的路徑的路徑量度值被設定為一最大值,而在最小值選擇方法中,一條具有似然性的路徑的路徑量度值被設定為一最小值。這樣就能進行理想的截斷處理。即,提供一外來信息值源的軟輸出值是能夠作為最可能是“0”的的概率和最可能是“1”的概率之間的一個差而獲得的。因此,重要的事情不在于每個狀態下的路徑量度值,而在于微分信息。因此,根據最大值選擇方法和最小值選擇方法計算的外來信息值是相同的,在譯碼特性上并不存在差異。而且,在第一和第二實施例中使用的渦輪碼譯碼器的結構,即,圖1和圖7所示的結構就能夠被用于第三實施例的渦輪碼譯碼器中。
很顯然本發明并不局限于上述實施例,而是在不背離本發明的保護范圍和精神的情況下可對其作出變化和修改。例如,本發明能夠應用于一種通過MAP型軟輸入和軟輸出譯碼并對使用卷積碼的代碼執行迭代譯碼的譯碼器。
在上述每個實施例中,圖示的是一種每個部件都是硬件結構的實例,但是,本發明不受此限制。即,本發明的誤差校正碼的譯碼器可由具有處理器(算術運算器件)、如ROM(只讀存儲器)、RAM(隨機訪問存儲器)等的內部存儲期間、如FDD(軟盤驅動器)、HDD(硬盤驅動器),CD-ROM(光盤ROM)驅動器等的外部存儲期間、輸出設備以及輸入設備的計算機。而且,本發明譯碼器的正向處理模塊21、逆向處理模塊22、正向處理和逆向處理共享使用模塊31和外來信息值計算處理模塊23或32被這樣配置,使得它由一處理器組成,并使得這些模塊的功能被存儲為在如ROM等的半導體存儲器、如FD(軟盤)、HDD、CD-ROM等的存儲介質中的譯碼程序。在此情況下,上述內存設備或外存設備用作上述的存儲器24至28或存儲器33至37,誤差校正碼的譯碼程序被從存儲介質讀入到處理器中,以控制處理器的操作。在誤差校正碼的譯碼程序開始進行時,該處理器操作以起到本發明中所使用的正向處理模塊21、逆向處理模塊22、正向處理和逆向處理共享使用模塊31和外來信息值計算處理模塊23或32作用,并且在誤差校正碼的譯碼程序的情況下,該處理器執行上述處理。通過上述的配置,由于不需要上述的學習處理,因此有可能減少要由處理器執行的算術運算量。由于在正向處理、逆向處理、外來信息值計算處理和學習處理中的算術運算量幾乎是相同的,因此算術運算量能被減少到常用算術運算量的四分之三或更小。因此,具體用于存儲指令的指令存儲器的存儲器容量和計算機消耗的電流能被減小,并且處理時間也能被縮短。
權利要求
1.一種執行迭代譯碼的誤差校正碼的譯碼方法,該方法包括正向處理,根據所接收到的數據和一外來信息值,通過在格子圖上從起點到終點的方向執行維特比譯碼來計算第一路徑量度值;逆向處理,根據所述接收的數據和所述外來信息值,通過按照與用于所述正向處理的所述方向相反的方向在所述格子圖上對每個窗口執行所述維特比譯碼來計算第二路徑量度值;外來信息值計算處理,根據所述第一和第二路徑量度值來計算所述外來信息值;和其中,在所述逆向處理中,通過使用在執行上次迭代譯碼時獲得的窗口邊界中的所述第二路徑量度值作為在執行本次迭代譯碼時要獲得的所述第二路徑量度值的初始值來執行迭代譯碼。
2.如權利要求1所述的誤差校正碼的譯碼方法,其特征在于可使用一通過乘以一介于0.5或更大和0.9或更小范圍之間的標準系數而獲得的所述外來信息值。
3.如權利要求1所述的誤差校正碼的譯碼方法,其特征在于被用于計算所述外來信息值的信道常數介于1.5或更大和2.5或更小的范圍中。
4.如權利要求1所述的誤差校正碼的譯碼方法,其特征在于所述窗口位的尺寸是約束長度位的四倍或更大,并且是所需信息位最大數量的二分之一或更小。
5.如權利要求1所述的誤差校正碼的譯碼方法,其特征在于在所述正向處理、所述逆向處理和所述外來信息值計算處理中,通過使用所述格子圖執行所述維特比譯碼,在所述格子圖中,在組成代碼字的符號序列中的正值和負值是反向的,并選擇具有一最小路徑量度值的路徑。
6.一種用于使計算機實現一種用于執行迭代譯碼的誤差校正碼的譯碼方法的譯碼程序,所述方法包括正向處理,根據所接收到的數據和一外來信息值,通過在格子圖上從起點到終點的方向執行維特比譯碼來計算第一路徑量度值;逆向處理,根據所述接收到的數據和所述外來信息值,通過按照與用于所述正向處理的所述方向相反的方向在所述格子圖上對每個窗口執行所述維特比譯碼來計算第二路徑量度值;外來信息值計算處理,根據所述第一和第二路徑量度值來計算所述外來信息值;和其中,在所述逆向處理中,通過使用在上次執行迭代譯碼時獲得的窗口邊界中所述第二路徑量度值作為在執行本次迭代譯碼時獲得的窗口邊界中所述第二路徑量度值的初始值執行迭代譯碼。
7.一種執行迭代譯碼的誤差校正碼的譯碼方法,所述方法包括正向處理,根據所接收到的數據和一外來信息值,通過在從起點到終點的方向執行維特比譯碼來計算第一路徑量度值;逆向處理,根據所接收到的所述數據和所述外來信息值,通過在與用于所述正向處理的所述方向相反的方向在所述格子圖上對每個窗口執行所述維特比譯碼來計算出一第二路徑量度值;外來信息值計算處理,根據所述第一和第二路徑量度值來計算出所述外來信息值;和其中,在所述正向處理中,通過使用在上次已經完成窗口的所述正向處理時獲得的窗口邊界中的所述第一路徑量度值作為在執行本次所述正向處理時要獲得的窗口邊界中的所述第一路徑量度值的初始值來執行迭代譯碼。其中,在所述逆向處理中,通過使用在執行上次迭代譯碼時獲得的所述窗口邊界中的所述第二路徑量度值作為在本次所述窗口邊界中的所述第二路徑量度值的初始值來執行迭代譯碼。
8.如權利要求7所述的誤差校正碼的譯碼方法,其特征在于可使用一通過乘以一介于0.5或更大和0.9或更小范圍之間的標準系數而獲得的所述外來信息值。
9.如權利要求7所述的誤差校正碼的譯碼方法,其特征在于被用于計算所述外來信息值的信道常數介于1.5或更大和2.5或更小的范圍中。
10.如權利要求7所述的誤差校正碼的譯碼方法,其特征在于所述窗口位的尺寸是約束長度位的四倍或更大,并且是所需信息位最大數量的二分之一或更小。
11.如權利要求7所述的誤差校正碼的譯碼方法,其特征在于在所述正向處理、所述逆向處理和所述外來信息值計算處理中,通過使用所述格子圖執行所述維特比譯碼,在所述格子圖中,在組成代碼字的符號序列中的正值和負值是反向的,并且選擇具有一最小路徑量度值的路徑。
12.一種使計算機實現一種用于執行迭代譯碼的誤差校正碼的譯碼方法的譯碼程序,所述方法包括正向處理,根據所接收到的數據和一外來信息值,通過在格子圖上從起點到終點的方向執行維特比譯碼來計算第一路徑量度值;逆向處理,根據所述接收到的數據和所述外來信息值,通過按照與用于所述正向處理的所述方向相反的方向在所述格子圖上對每個窗口執行所述維特比譯碼來計算第二路徑量度值;外來信息值計算處理,根據所述第一和第二路徑量度值來計算所述外來信息值;和其中,在所述正向處理中,通過使用在上次已經完成窗口的所述正向處理時獲得的窗口邊界中的所述第一路徑量度值作為在執行本次所述正向處理時要獲得的窗口邊界中的所述第一路徑量度值的初始值來執行迭代譯碼;其中,在所述逆向處理中,通過使用在執行上次迭代譯碼時獲得的所述窗口邊界中的所述第二路徑量度值作為在本次所述窗口邊界中的所述第二路徑量度值的初始值來執行迭代譯碼。
13.一種誤差校正碼的譯碼器,包括一正向處理模塊,它執行正向處理,以便根據所接收到的數據和一外來信息值通過在格子圖上從起點到終點的方向執行維特比譯碼來計算第一路徑量度值;一逆向處理模塊,它執行逆向處理,以便根據所述接收到的數據和所述外來信息值通過按照與用于所述正向處理的所述方向相反的方向在所述格子圖上對每個窗口執行所述維特比譯碼來計算第二路徑量度值;一外來信息值計算處理模塊,它執行外來信息值計算處理,以便根據所述第一和第二路徑量度值來計算所述外來信息值;其中,執行由所述正向處理、所述逆向處理和所述外來信息值計算處理組成的譯碼;以及其中,所述逆向處理模塊具有一個存儲器,在該存儲器中暫時地存儲了在執行上次迭代譯碼時計算的窗口邊界中的所述第二路徑量度值,所述逆向處理模塊通過從所述存儲器中讀取所述第二路徑量度值以使用它作為在執行本次迭代譯碼時要計算的所述窗口邊界中的所述第二路徑量度值的初始值來執行迭代譯碼。
14.如權利要求13所述的譯碼器,其特征在于可使用一通過乘以一介于0.5或更大和0.9或更小范圍之間的標準系數而獲得的所述外來信息值。
15.如權利要求13所述的譯碼器,其特征在于被用于計算所述外來信息值的信道常數介于1.5或更大和2.5或更小的范圍中。
16.如權利要求13所述的譯碼器,其特征在于所述窗口位的尺寸是約束長度位的四倍或更大,并且是所需信息位最大數量的二分之一或更小。
17.如權利要求13所述的譯碼器,其特征在于所述正向處理模塊、所述逆向處理模塊和所述外來信息值計算處理模塊通過使用所述格子圖執行所述維特比譯碼,在所述格子圖中,在組成代碼字的符號序列中的正值和負值是反向的,并且選擇具有一最小路徑量度值的路徑。
18.一種誤差校正碼的譯碼器,包括一正向處理和逆向處理共享使用模塊,它用于交替地執行正向處理和逆向處理,其中執行正向處理是為了根據所接收到的數據和一外來信息值通過在格子圖上從起點到終點的方向執行維特比譯碼來計算第一路徑量度值,其中執行逆向處理是為了根據所述接收到的數據和所述外來信息值通過按照與用于所述正向處理的所述方向相反的方向在所述格子圖上執行每個窗口的所述維特比譯碼來計算第二路徑量度值;一外來信息值計算處理模塊,它執行外來信息值計算處理,以便根據所述第一和第二路徑量度值來計算所述外來信息值;一第一存儲器,用于暫時地存儲上次在所述正向處理和逆向處理共享使用模塊中已經完成窗口的所述正向處理時獲得的窗口邊界中的所述第一路徑量度值和;一第二存儲器,用于暫時地存儲上次在所述正向處理和逆向處理共享使用模塊中在執行上次迭代譯碼時計算的所述窗口中的所述第二路徑量度值;和其中所述正向處理和逆向處理共享使用模塊,通過從所述第一存儲器內讀取所述窗口邊界中的所述第一路徑量度值并且使用它作為在執行本次迭代譯碼時要獲得的所述窗口邊界中的所述第一路徑量度值的初始值,以及通過從所述第二存儲器內讀取所述窗口邊界中的所述第二路徑量度值并且使用它作為在執行本次迭代譯碼時要獲得的所述窗口邊界中的所述第二路徑量度值的初始值,來執行迭代譯碼。
19.如權利要求18所述的譯碼器,其特征在于可使用一通過乘以一介于0.5或更大和0.9或更小范圍之間的標準系數而獲得的所述外來信息值。
20.如權利要求18所述的譯碼器,其特征在于被用于計算所述外來信息值的信道常數介于1.5或更大和2.5或更小的范圍中。
21.如權利要求18所述的譯碼器,其特征在于所述窗口位的尺寸是約束長度位的四倍或更大,并且是所需信息位最大數量的二分之一或更小。
22.如權利要求18所述的譯碼器,其特征在于所述正向處理模塊、所述逆向處理模塊和所述外來信息值計算處理模塊通過使用所述格子圖執行所述維特比譯碼,在所述格子圖中,在組成代碼字的符號序列中的正值和負值是反向的,并且選擇具有一最小路徑量度值的路徑。
全文摘要
一種譯碼方法被提供,該方法能夠用簡單的結構和較短的時間實現誤差校正碼的譯碼。在用于執行由正向處理、逆向處理和外來信息值處理組成的迭代譯碼的誤差校正碼的譯碼方法中,在逆向處理中,在執行上次迭代譯碼時獲得的窗口邊界中的第二路徑量度值被作為在執行本次迭代譯碼時要獲得的窗口邊界中的第二路徑量度值的初始值。
文檔編號H03M13/25GK1489294SQ03159729
公開日2004年4月14日 申請日期2003年8月20日 優先權日2002年8月20日
發明者織尾正雄 申請人:恩益禧電子股份有限公司