專利名稱:具有子塊處理和基于子塊的停止標準的siso解碼器的制作方法
技術領域:
本發明涉及SISO解碼器,該解碼器用于對接收到的信息符號塊進行迭代解碼,特別地,該解碼器用于turbo解碼器中,所述塊被分為多個信號符號窗。本發明還涉及一種使用該SISO解碼器的turbo解碼器,也涉及相應的解碼方法。最后,本發明涉及用于實現所述方法的計算機程序。
Turbo碼是強大的糾錯塊碼,其包含在例如UMTS標準中。迄今為止,UMTS信號接收所需的信號處理量超過了GSM信號接收所需的信號處理量,這是對于UMTS手機電池的一種消耗。對于turbo編碼的信號進行解碼(“turbo解碼”)是計算量很密集的過程。一種公知的方式用于限制計算負荷,從而限制迭代turbo解碼過程中的電流損耗,是使用停止標準,以減少迭代的平均次數。這些公知的停止標準應用于turbo解碼器中的整個數據塊,這被稱為全局停止標準。
在發現turbo碼之后不久,就已經發現,turbo解碼器的原理可以用于均衡。均衡是信號處理中公知的規則,目的是消除符號間干擾的影響。那么,這被稱為turbo均衡。Turbo編碼和turbo均衡之間的區別在于,如果是turbo均衡,那么,之前在turbo編碼器中的至少一個二進制模2卷積編碼器(數字濾波器)必須被模擬濾波器取代。眾所周知,應用于turbo碼解碼時的turbo解碼和應用于例如卷積編碼器(交織器)與符號間干擾信道的串聯的turbo解碼之間,沒有根本的區別。因此,在下述參考中使用的詞語“turbo解碼”用于基本技術相同的這些應用中。
B.Frey,F.Kschischang,“Early Detection and Trellis SplicingReduced Complexity Iterative Decoding,”IEEE Journal on SelectedAreas in Communications,Vol.16,No.2,pp.153-159,Febr.1998公開了一種稱為“早期檢測”的方法,其中,已經確定的網格(trellis)中的比特或網格中的段,不再被處理。這種方法的優點是進一步減少了turbo解碼的計算負荷,這樣就節約了電池的電流,或者減小了解碼的等待時間。同樣公知的是,基于各種窗的軟入軟出(SISO)模塊用于turbo解碼器中。那么,使用窗的目的是減少存儲器需求,并可能減少解碼的等待時間。
二進制turbo碼是最普遍的。Turbo解碼器中經常使用的軟判決比特的代表是對數似然比。對于二進制碼來說,對數似然比(LLR)的符號表示相應的硬判決比特值,對數似然比的絕對值表示估計的可靠性(確信度)。但是,推廣至非二進制的情況是可能的。在那種情況下,對數似然(比)矢量的可靠性,例如由最大的元素和非最大的一個元素之間的差值確定。下面,重點描述二進制的情況;但是,也不排除普通的情況。
在turbo解碼器的迭代中,通常,對數似然比的絕對值增長,且伴有一些隨機的波動以及有時是符號的改變。在實際的實現中,對數似然比的動態范圍必須限制在一些有限的固定點或整數范圍內。中間結果的剪取(clipping)用于將變量保持在該范圍內。經驗上,一旦某一消息比特的對數似然比變量已經被剪取,那么在以后所有的迭代中,它通常會在該電平處保持固定(stuck)。有效地,這意味著該比特已經變為非隨機的,或確定的。在上述提及的Fery和Kschischang的公開文獻中,公開了在最終迭代之前這樣的每比特檢測(稱為“早期檢測”),并且該每比特檢測也使用了更普通的詞組“網格的段”,該詞組表示多個相鄰的消息比特可以同時被早期判決出來。然后,從網格中去除這些已判決出的比特。
在WO00/59118中,公開了SISO模塊最極端的變形,該變形限制了用于存儲量度的存儲器需求和/或限制了解碼的等待時間。根據該文獻,許多滑動窗由單獨的SISO工作單元并行處理。這應用于具有訓練時間間隔的滑動窗解碼器,和具有下一次迭代初始化的滑動窗解碼器。
在(Max)(Log)MAP SISO模塊中,原則上,必須既在前向網格方向又在后向網格方向上處理網格,其中該網格的長度和消息塊中消息比特的數目相等。計算出路徑量度,有時也稱為狀態量度,用于網格處理的前向方向和后向方向。輸出的對數似然比(后驗的或非本征的)是兩個網格方向中路徑量度的函數。這需要儲存在至少一個網格方向中的路徑量度,通常是所謂的后向網格方向。在UMTS中,在每個網格部分中,網格具有8個狀態,并且網格的長度可以是5114個信息比特(這樣,5114個網格部分)。為了在芯片上,存儲所有部分的所有狀態的路徑量度,將花費大量的存儲器。這是為什么將窗技術引入(Max)(Log)MAP SISO模塊的一個原因。他們研究出這些,使得例如,(每個處理器單元)只需要對于一個窗長度儲存后向網格方向的路徑量度。該窗長度可以是整個消息塊長度的一小部分,這實現了大量存儲器的節約。
在SISO模塊中使用窗的另一目的在于,它們允許由不同的處理單元獨立處理分開的窗。這樣,處理速度和吞吐量都能提高。通常,重點在于解碼的等待時間會減小。
這樣,本發明的目的是提供一種SISO解碼器,尤其用在turbo解碼器中,以此實現功率損耗的大量減少。
根據本發明,通過如權利要求1所述的SISO解碼器實現該目的,該SISO解碼器包括-至少一個SISO解碼單元,用于對接收到的窗的信息符號進行SISO解碼,-窗激活標記存儲器,用于存儲窗激活標記,該標記指示窗為激活還是未激活,-窗激活標記設定單元,用于設定所述窗激活標記為激活或未激活,其中所述窗激活標記初始設定為激活,并且其中,如果窗中信息符號的確信度指示值大于預定的確信度閾值,那么將所述窗的窗激活標記設定為未激活,-窗激活標記讀單元,用于從所述窗激活標記存儲器中讀出所述窗激活標記,以及-控制單元,用于基于讀出的窗激活標記,控制所述至少一個SISO解碼單元,使得隨后的迭代中,其對應的窗激活標記設定為未激活的窗的信息符號不再被進行SISO編碼。
本發明基于的思想是應用早期檢測,使得只有整個滑動窗被早期檢測。這意味著基于窗的SISO解碼器能夠跳過整個窗。在一種實現中,這可以非常簡單的實現。并且,SISO解碼器中的每個滑動窗都具有窗激活標記。初始,所有滑動窗是激活的。當所述窗中信息符號的確信度指示值已經達到作為預定值的絕對剪取電平(確信度閾值),即當窗中的所有消息比特達到了某一程度的確信度時,那么將那個窗的激活標記設定為未激活,且在給定的信息塊解碼的之后迭代中跳過該窗,其中,例如在提出的優選實施例中,該確信度指示值可以是所有的后驗對數似然比。
根據Frey和Kschischang描述的解決方案,當比特已經變為確定時,將該比特是0的概率設定為0或1,并將它從網格中去除。作為替代,為了避免將它從網格中去除所帶來的任何重組開銷,根據本發明的優選方面,將概率(確信度指示值)凍結為它的最后一次計算值,該值接近于但是不等于0或1。如優選實施例中所提出的,當使用對數似然比時,Frey和Kschischang提出的將概率設定為等于0或1,將會引起正無窮或負無窮的對數似然比,這不實際。
本發明也涉及如權利要求8所述的turbo解碼器,用于對接收的信息符號,特別是信道數據流的信道符號進行迭代解碼,該解碼器包括兩個如權利要求1所述的用于對所述接收到的信息符號進行SISO解碼的SISO解碼器,所述兩個SISO解碼器設置在一行中,每個SISO解碼器都將所述接收的信息符號和由相應另一個SISO解碼器作為輸出產生的信息符號的先驗信息概率作為輸入。
權利要求9和10中定義了根據本發明的SISO解碼方法和turbo解碼方法。權利要求11定義了根據本發明的計算機程序,用于在計算機上實現所述方法。本發明的優選實施例在從屬權利要求中定義。
根據一個優選實施例,確信度指示值是信息符號的對數似然比(LLR)的絕對值。如果窗中信息符號的對數似然比的絕對值大于預定的對數似然閾值,那么將所述窗的窗激活標記設定為未激活。
可以儲存非本征LLR值,也可以儲存后驗LLR值。在優選的實現中,后驗LLR用于檢測窗中的比特是確定的,然后從那時起,那個窗的SISO處理停止,那么這意味著那時產生的非本征LLR保持凍結。兩個版本的結果是可能的。這兩個版本之間的區別在于,對于窗是否確定的檢測是通過產生的(輸出)非本征LLR完成,還是通過后驗LLR完成。這兩個LLR之間的關系只是加法或減法的關系,即輸出非本征LLR=后驗LLR-先驗LLR,其中先驗LLR是前一子迭代的輸出非本征。優選的,對于窗是否凍結的檢測通過后驗LLR完成,而不是通過非本征LLR完成,這是因為后驗LLR捕獲更多的關于消息比特的信息,因此,能夠更可靠的指示信息比特是否變得確定。
根據另一實施例,提出儲存非本征LLR,并將它們傳遞至下一SISO解碼器,或者儲存后驗LLR,并將它們傳遞至下一SISO解碼器。原始的turbo碼現在稱為并行連接卷積碼(PCCC)。但是,后來發展了串行連接卷積碼(SCCC),并工作良好。例如,上述的turbo均衡對應于SCCC。現在,在一種實現中,大多數邏輯是(以改變序列的順序或直接的順序)儲存SISO解碼器的輸入,即非本征LLR。
根據另一實施例,SISO解碼單元包括-前向處理單元,用于計算前向狀態量度(α),-后向處理單元,用于計算后向狀態量度(β),-量度儲存裝置,用于儲存前向和后向狀態量度(α,β),-輸出裝置,用于輸出前向和/或后向狀態量度(α,β),以及-輸入裝置,用于從對位于當前被處理窗前面的窗的信道符號進行解碼的SISO解碼單元接收前向狀態量度,從對位于當前被處理窗后面的窗的信道符號進行解碼的SISO解碼單元接收后向狀態量度。
根據一個優選的實施例,所述量度儲存裝置適用于儲存用于窗的前向和/或后向計算(α,β)的開始狀態量度。特別的,未激活窗的后驗和非本征輸出對數似然比是凍結的。即,當這些窗為激活且被進行SISO處理時,儲存最后一次輸出,并且重復使用該輸出。它們在相關的存儲器中保持“原樣”(即不刷新)。
Eb/No越大,上述的停止規則,即執行迭代直到信息塊的所有窗已經是未激活為止,減少的工作負荷越多,Eb/No即每個信息符號的能量(Eb)與噪聲頻譜密度(No)的比。當Eb/No很小,以至于成功解碼(幾乎)不可能時,上述停止規則的簡單變形也能夠限制工作負荷。在低SNR處,可以檢查最小次數(例如3或3.5)的迭代后,是否至少有一個窗已經是未激活,即那個窗中的所有后驗對數似然比(改變序列的順序或直接的順序)已經被剪取。然后,如果沒有窗已經是未激活,那么解碼過程中斷。
可以實現每個窗具有兩組激活標記,其中第一標準就設定第一窗標記為未激活作出決定,使得該窗不再被進行SISO處理,它區別于第二標準,第二標準用于決定相同窗的第二窗激活標記是否設定為未激活。然后,在最小次數的迭代后,當沒有第二窗激活標記設定為未激活時,解碼過程中斷。在一個優選實施例中,這些標準是相同的,并實現每個滑動窗(每個SISO單元)具有單一窗激活標記。
不管在SISO模塊中是否使用了基于(滑動)窗的處理,當描述上述例如3.5次迭代時,假設turbo解碼器使用了串行形式的兩個SISO模塊,這在本領域中很普遍。即,在任何時候,只有一個SISO模塊是激活的。但是,本發明也應用于兩個或多個SISO模塊并行運行的情況。在那種情況下,兩個或多個SISO模塊可以同時激活。在下文中,假設兩個SISO模塊以串行方式運行。為了在迭代中區分第一SISO模塊和第二SISO模塊,使用詞組“子迭代”,特別是“奇數子迭代”和“偶數子迭代”。只要在后面,例如在附圖中,遇到詞語“奇數”或“偶數”,那么它表示子迭代的次數。
上述描述的方法的組合意味著,對于每個激活的窗,監視當所有后驗(或非本征)LLR的所有絕對值都超過給定閾值時,其是否應該被停止。當窗變為未激活時,對于計算負荷具有直接的優勢。當達到給定的預定迭代指數(3或3.5)時,檢查是否至少有一個窗是未激活。如果沒有,整個解碼中斷。這樣,高SNR規則和低SNR規則的組合不包括這兩個規則之間的任何切換。根據優選實施例,這些規則只是一起應用。
根據其他的實施例,可以提供多個SISO解碼單元,用于多個窗的信息符號的并行SISO解碼,或者提供單個SISO解碼單元,用于多個窗的信息符號的串行SISO解碼。
優選的,本發明的新的SISO解碼器應用于turbo解碼器,該turbo解碼器通常至少具有兩個SISO解碼器。所以,在turbo解碼器中,每個信息比特至少出現在兩個塊中,通常,一個以直接的順序,一個(或多個)以改變序列的順序。每個塊被分為單獨的窗,所以,信息比特至少在兩個窗中。這樣,信息比特可以在一個窗中被凍結或未激活,而在另一窗中激活。
本發明的其他變形是可能的。在一種變形中,絕對閾值電平取決于迭代指數,根據該絕對閾值電平,對剪取后驗對數似然比作出決定。并且,剪取電平可以比用于作出剪取決定的閾值電平更高。類似的,剪取電平可以與迭代相關,例如,隨著連續的迭代增長。閾值和剪取電平也可以取決于窗第一次被剪取的(半)迭代。
作為剪取決定基于后驗對數似然比的取代,它們可以基于非本征輸出對數似然比。
本發明不耗費附加的存儲器。在優選實施例中,考慮到下一次初始迭代,則儲存一組標樁(stake),該組標樁包括窗中最右邊(最“前向”)網格部分中,網格部分中的所有狀態的后向路徑量度的初始值。一旦窗變為未激活,則不再需要用于那個窗的后向網格遞歸的這樣的初始矢量。但是,在下次迭代期間,其右邊窗(更“前向”)的(Max)(Log)MAP的前向網格遞歸的確需要初始矢量。未激活窗的后向初始矢量(標樁)不再需要的存儲空間,現在可以再利用,用于儲存其右邊窗(更“前向”窗)的前向初始矢量(標樁)。這樣,標樁的總存儲器消耗保持不受窗的早期檢測應用的影響。可以忽略每個窗用于記憶該窗是否仍為激活的空間,即存儲窗激活標記的空間,其可以是每個窗存儲簡單的一個比特。
現在將參照附圖,詳細解釋本發明。
圖1表示公知的turbo編碼器和turbo解碼器的總布局;
圖2表示公知的SISO解碼器的結構圖;圖3表示利用公知的SISO解碼器進行SISO解碼的時序圖;圖4表示根據本發明的SISO解碼器的結構圖;圖5表示利用根據本發明的SISO解碼器進行SISO解碼的時序圖。
圖1表示公知的turbo編碼系統總布局的結構圖,該編碼系統包括turbo編碼器和turbo解碼器。Turbo編碼器40由兩個并聯連接的遞歸系統卷積(RSC)編碼器41、42實現。N個信息比特u的幀由第一編碼器41編碼,而交織器43產生信息u的預先指定的、類似隨機的排列,然后由第二編碼器42編碼。被傳送的代碼序列c在信道50上發送,該代碼序列包括信息比特u,連同由兩個編碼器41、42產生的奇偶校驗位。有時,使用收縮(puncturing)/多路復用單元44中校驗位的收縮或周期性刪除,來增加總碼率。交織器43使turbo碼具有與隨機塊碼類似的結構特性,Shannon證明,平均起來,隨機塊碼實現的性能接近于最大似然解碼的信息理論極限。
但是,實現用于turbo碼的最大似然(ML)序列解碼器會非常復雜。作為替代,經常使用次優的,但是簡單有效的解碼結構。解碼器60包括單獨的軟入軟出(SISO)解碼器61、62,用于每個構成的卷積碼,這兩個解碼器以迭代和合作的方式運行。每個構成的解碼器61、62對于接收到的信息比特,以后驗概率(APP)的形式產生軟輸出。從這些概率中,SISO解碼器抽取“非本征信息”值,該非本征信息值作為軟輸入提供至其他SISO解碼器,該軟輸入擔當信息比特的先驗概率。對應于信息比特的噪聲通信輸出,最終由解收縮/解多路復用單元64進行解收縮和解多路復用,用以將先驗概率初始化,在這之后,且在開始解碼時,使用該對應于信息比特的噪聲信道輸出。在解碼過程中,它們對于每個構成的解碼器61、62都是可獲得的。在SISO解碼器61、62之間,提供去交織器63和交織器65。該解碼循環的重復次數以及非本征信息的交換由停止規則控制,通常迭代次數有預定限制。Turbo解碼器的輸出是由最終的解碼循環產生的信息比特u的硬量化的對數-APP比。更精確的,在時間點n,信息比特un的后驗對數似然比(LLR)表示為LLRn=logPr(un=1|r)/Pr(un=0|r)其中r代表噪聲信道輸出序列。在硬判決單元66的輸出端獲得最終的輸出序列u’。
圖2表示公知的SISO解碼器61、62的結構圖,該解碼器在圖1所示的turbo解碼器中使用了兩次。該SISO解碼器包括至少一個SISO解碼單元70,用于執行SISO算法。原則上,這是完全的塊算法,但是,這作為更大塊的窗設置,其中SISO解碼單元70通常服務于40..64網格部分的窗尺寸。窗的β標樁,即后向狀態量度β,被初始化為前一次迭代中窗的β標樁,該前一次迭代中窗的β標樁儲存在標樁存儲器71中。應該注意,標樁存儲器71具有兩個部分,一個用于偶數子迭代,一個用于奇數子迭代。
標樁存儲器71的讀和寫操作由標樁地址發生器72控制。該單元調度讀和寫操作,并且很普通,如圖3所示,其中讀(用R表示)和寫(用W表示)操作表示在時間軸上。應當注意,示出寫操作W-1僅僅是為了清楚,在實際實現中,不考慮該操作。圖中也表示最后窗的標樁僅僅被讀出,但不再產生。最后的標樁矢量被看作是必須被初始化的值。盡管在圖中,所有窗的長度相同,但是在實際實現中,最后的窗長度可以不同。這不影響必須產生的地址,只影響最后寫操作的時間。來自SISO解碼單元70的β矢量由緩沖器73緩沖,當需要時(讀和寫不能同時執行),以允許它們回寫。
圖4表示根據本發明的SISO解碼器的具體實施例。為了實現窗的早期檢測,且不必再次計算窗,必須改進該結構。下面解釋根據本發明的SISO解碼器中包含的元件的細節。
Turbo解碼器從信道獲得它的輸入,實際上,其可以包括比特檢測器或解調器。那么,使用軟判決比特檢測器或軟判決解調器是普通,并且有利的。Turbo解碼器的輸入值,即從外部通過輸入端25接收的信息符號(通常被稱為系統奇偶校驗1數據和奇偶校驗2數據),儲存在輸入存儲器10中。接收的信息符號是用于SISO算法的輸入數據。使用偶數/奇數輸入端,以在偶數子迭代中傳遞奇偶校驗1數據,在奇數子迭代中傳遞奇偶校驗2數據。在非本征存儲器11、12中,保存從一次迭代進入另一次迭代的數據。這是所謂的非本征信息,即在迭代中學習到的信息。在每次迭代中,通過開關裝置13、16,切換非本征存儲器11、12。由于不必產生就緒窗的地址,所以輸入地址發生器14根據偶數/奇數迭代(偶數意味著交織)和就緒表23,來維護地址產生。輸出地址發生器15根據偶數/奇數迭代和就緒表23,來維護地址產生。
SISO解碼單元17處理窗的輸入數據。如果窗就緒,它通過就緒標記(或者將窗激活標記設定為未激活)發出信號。緩沖器(特別是觸發器)18、19、20、25用于將SISO解碼單元17的時序和讀出/回寫至標樁存儲器21分離,這對于奇數/偶數迭代是不同的。該標樁存儲器保存α或β標樁,并完全由標樁地址發生器22控制,該標樁地址發生器22通過就緒表23,根據被處理窗的就緒標記(窗激活標記)產生寫入地址,并根據將要處理的窗產生讀地址。在就緒表23中,儲存每個窗的完備性信息,例如,對于每個窗,儲存相應就緒標記(或窗激活標記)的狀態。應當注意,對于偶數/奇數迭代,它是不同的。多路復用器24用于根據那個窗的下一/新的激活狀態存儲α或β標樁。
輸出單元26取得SISO解碼單元17的輸出(判決),并將它們傳遞至外部。控制單元27控制解碼器,特別是迭代。首先,從輸入單元25獲得所有輸入,然后,完成迭代(奇數/偶數/奇數/…),直到例如一次/兩次迭代的所有窗是正確的或者滿足另一停止標準。然后,輸出單元26將最終的LLR比作為后驗軟信息輸出。
如果SISO窗發出信號表示窗就緒,那么,取代β標樁,保存α標樁(即前向狀態量度α)。該α標樁保存的位置可以是它自身窗的β標樁之前保存的位置不再需要β標樁,這是因為不再計算窗。應當注意,這不是相同的地址,因為通常寫入前一窗的β標樁。需要保存α標樁,這是因為它不再重新計算。應當注意,對于跟在被跳過的窗后的窗,必須從標樁存儲器中獲得α和β標樁。
在該實現中,一個重要的改變在標樁地址發生器22中。在第一次迭代中,它的時序行為等于前一種實現,如圖2所示。但是,在以后的迭代中,時序如圖5所示改變,圖5表示兩個步驟中的時序行為。在前一迭代中,認為窗3(用對角表示)就緒。這暗示了對于窗4,必須取回儲存在位置3的α標樁。第二個暗示是,在窗4被處理后,可以不產生前一窗的β矢量。這將覆蓋儲存在那的α矢量。但是如果該窗就緒,必須(在位置4)保存α矢量。
標樁地址發生器22必須計算有多少個窗必須跳過,這是非常簡單的操作,特別是由于它可以占用更多個周期。迄今,只描述了實現SISO解碼單元。但是,在頂層需要一些改變。在LLR的地址產生中可以找到一個示例不產生被跳過的塊的地址。應當注意,由于不產生它們,所以它們不會被覆蓋,它們的舊值可以在下一半迭代中使用。只有被處理窗的LLR更新。
已經發現,如本發明提出的,通過使用窗的早期檢測,且基于窗的SISO解碼器符合每窗停止規則,那么公知的turbo解碼器的功率損耗可以比公知的交叉熵停止規則下降大約35%,以及在瀑布區域(waterfall region)中具有大約相同的BER或FER性能,其中該交叉熵停止規則在Hagenauer et al.“Iterative Decoding of Binary Block andConvolutional Codes”,IEEE Transactions on Information Theory,Vol.42,No.2,March 1996中描述過。后者的停止規則是全局停止規則。通常,該功耗下降取決于傳送信道的Eb/No。Eb/No越高,計算負荷越小。這對于所有停止標準都成立。幀的長度是1296,對于高SNR的每窗停止規則來說,實際上,在沒有停止規則的情況下,在BER或FER性能中沒有損耗。這也是為什么一旦使用低SNR的每窗停止規則,則增加高SNR的每窗停止規則將保持BER和FER曲線實際上不變的原因。低SNR的每窗停止規則的確產生一些衰退。
對于5114的最大塊長度來說,例如使用基于交叉熵的全局(每個塊)停止標準,例如在1.0dB Eb/No時,迭代的平均次數可以從8下降至大約4.9。當使用所提出的每窗停止標準時,迭代的平均有效次數可以下降至大約3.2。這里,附加的詞語“有效”說明了下述事實在所有窗只有一半是激活的迭代中,該迭代在有效工作負荷中的權重是0.5。這形成了大約35%的節約。使用存儲器再利用技術,當和公知的turbo解碼器實現中一樣,使用“單一標樁”時,每窗停止標準不必增加芯片的存儲器需求。通常,對于信道上更大的信噪比,在沒有停止規則的情況下,計算負荷節省的更多。
與從上述Fery和Kschischang公開文獻中獲知的SISO解碼器相對,根據本發明,只需檢測滑動窗中所有對數似然比的絕對值是否已經大于某一常數,以檢測窗是否應該被凍結。一旦窗凍結,將完全省略對于那個窗的處理。即,此后就沒有重組開銷。只需要簡單的激活標記來標識出窗是激活或凍結。將(直接的或改序的)turbo碼字分割為(滑動)窗是非常結構化的這個事實,即,使用固定的(非隨機的)窗長度,且各窗的起始點之間具有規則的距離,則可以避免處理中所需的靈活性,而該靈活性在公知的SISO解碼器中是需要的。
在Frey和Kschischang的公開文獻的圖5中,示出了2-狀態網格的實現。許多turbo碼(例如UMTS turbo碼)使用8-狀態網格。網格中狀態的數量越大,當比特或比特串變為確定時,計算的重組越復雜。該復雜性在硬件實現中將耗費資源(芯片面積,電流,處理時間)。
由于根據本發明,對于凍結的比特串,使用了非隨機的起始和停止位置,則不需要處理中的靈活性,這樣,在硬件實現中達到本發明的優勢。節省了硬件計算時間,(所以)在使用turbo解碼器的手機中,節省了電池功率的消耗。
在MAP、MaxLogMAP或MAX*LogMAP中,也同樣達到了本發明的優勢;它們也用于無乘法(multiplication-free)或無對數(logarithm-free)的算法。輸出的后驗(或者非本征)對數似然比恰恰“原樣”保存在存儲器中,不再進一步處理。這樣,一直節省處理時間,從而節省電流。
總之,公知的網格拼接(trellis splicing)方法具有下述不足-網格拼接需要執行計算的大量靈活性,其中該計算將按比特的(bit-wise)依賴于接收信號中的隨機噪聲和隨機失真,在硬件中實現很困難。這樣,將破壞該方法在硬件實現時的優勢。
-Frey和Kschiscang的算法的優勢在無乘法或無對數算法,諸如Max(*)LogMAP算法中,將進一步被破壞。
-當網格的狀態數量大于2時,Kschischang算法中計算的重組開銷將增加。
本發明適用于帶有或不帶有訓練階段的滑動窗turbo解碼器。這樣的訓練階段等于窗之間的小的重疊。這是下一迭代初始化的可供選擇的技術,它可以用于turbo解碼器的不同實施例中,例如,turbo解碼器用于移動通信。
權利要求
1.SISO解碼器,用于對接收的信息符號(r)塊進行迭代解碼,尤其用在turbo解碼器中,所述塊被分為多個信息符號窗,所述SISO解碼器包括-至少一個SISO解碼單元(17,21),用于對接收到的窗的信息符號(r)進行解碼,-窗激活標記存儲器(23),用于儲存窗激活標記,所述窗激活標記用于指示窗是激活還是未激活,-窗激活標記設定單元(17),用于設定所述窗激活標記為激活或未激活,其中所述窗激活標記初始設定為激活,其中,如果窗中信息符號的確信度指示值大于預定的確信度閾值,那么將所述窗的窗激活標記設定為未激活,-窗激活標記讀單元(17,22),用于從所述窗激活標記存儲器(23)讀出所述窗激活標記,以及-控制單元(27),基于所述讀出的窗激活標記,控制所述至少一個SISO解碼單元(17),使得在隨后的迭代中,其對應的窗激活標記設定為未激活的窗的信息符號不被進行SISO解碼。
2.如權利要求1所述的SISO解碼器,其中,所述確信度指示值是所述信息符號的對數似然比的絕對值,并且其中,如果窗中信息符號的對數似然比的絕對值大于預定的對數似然閾值,那么將所述窗的窗激活標記設定為未激活。
3.如權利要求1所述的SISO解碼器,其中,SISO解碼單元(17,21)包括-前向處理單元,用于計算前向狀態量度(α),-后向處理單元,用于計算后向狀態量度(β),-量度存儲裝置(21),用于存儲前向和后向狀態量度(α,β),-輸出裝置(LLR_out,alpha_out,beta_out),用于輸出前向和/或后向狀態量度(α,β),以及-輸入裝置(LLR_in,alpha_in,beta_in),用于從對位于當前被處理窗前面的窗的信道符號進行解碼的SISO解碼單元接收前向狀態量度,從對位于當前被處理窗后面的窗的信道符號進行解碼的SISO解碼單元接收后向狀態量度。
4.如權利要求3所述的SISO解碼器,其中,所述量度存儲裝置(21)適用于存儲用于窗的前向和/或后向計算(α,β)的開始狀態量度。
5.如權利要求1所述的SISO解碼器,包括多個SISO解碼單元(17),用于多個窗的信息符號的并行SISO解碼。
6.如權利要求1所述的SISO解碼器,包括單一SISO解碼單元(17),用于多個窗的信息符號的串行SISO解碼。
7.如權利要求1所述的SISO解碼器,其中,所述控制單元(27)適用于控制信道數據流的信息符號的迭代SISO解碼,使得在預定次數的迭代后,或者如果所有窗都成為未激活,停止迭代。
8.Turbo解碼器,用于對接收的信息符號、特別是信道數據流的信道符號進行迭代解碼,包括兩個如權利要求1所述的用于對所述接收的信息符號進行SISO解碼的SISO解碼器(61,62),所述SISO解碼器(61,62)設置在一行中,每個SISO解碼器都將所述接收的信息符號和由相應另一個SISO解碼器(61,62)作為輸出產生的信息符號的先驗信息概率作為輸入。
9.SISO解碼方法,用于對接收的信息符號(r)塊進行迭代解碼,尤其用在turbo解碼器中,所述塊被分為多個信息符號窗,所述SISO解碼方法包括步驟-對接收到的窗的信息符號進行SISO解碼,-將窗激活標記設定為激活或者未激活,所述窗激活標記指示窗是激活還是未激活,且初始設定為激活,其中,如果窗中信息符號的確信度指示值大于預定的確信度閾值,那么,將所述窗的窗激活標記設定為未激活。-存儲所述窗激活標記,-讀出接下來應該被進行SISO解碼的相關窗的窗激活標記,以及-基于所讀出的窗激活標記,控制所述SISO解碼,使得在隨后的迭代中,其對應的窗激活標記設定為未激活的窗的信息符號不被進行SISO解碼。
10.Turbo解碼方法,用于對信息符號、特別是信道數據流的信道符號進行迭代解碼,所述方法包括在兩個如權利要求1所述的用于對所述信息符號進行SISO解碼的SISO解碼器(61,62)中執行的SISO解碼方法的步驟,所述SISO解碼器設置在一行中,每個SISO解碼器都將所述信息符號和由相應另一個SISO解碼器作為輸出產生的信息符號的先驗信息概率作為輸入。
11.計算機程序,包括程序代碼模塊,當在計算機上執行所述計算機程序時,使得所述計算機執行如權利要求9或10所述的方法的步驟。
全文摘要
本發明涉及SISO解碼器,用于對接收的信息符號(r)塊進行迭代解碼,尤其用在turbo解碼器中,所述塊被分為多個信息符號窗。為了實現功率損耗的顯著下降,提出的SISO解碼器包括至少一個SISO解碼單元(17,21),用于對接收到的窗的信息符號(r)進行SISO解碼,其中停止標準應用于每個窗。一旦通過將窗或子塊標記為未激活(17,23),而確定解碼收斂,就允許對每個窗單獨地終止迭代解碼。未激活的窗在隨后的迭代中不再被進行SISO解碼。
文檔編號H03M13/45GK1898874SQ200480038352
公開日2007年1月17日 申請日期2004年12月8日 優先權日2003年12月22日
發明者安德里斯·P.·赫克斯特拉, 約翰納斯·T.·M.·H.·迪耶里森 申請人:皇家飛利浦電子股份有限公司