新四季網

turbo解碼器及解碼turbo編碼信號的方法

2023-06-28 19:47:41


專利名稱::turbo解碼器及解碼turbo編碼信號的方法
技術領域:
:本發明主要涉及通信系統;更具體的說主要涉及使用turbo編碼的通信系統。相關領域描述數據通信系統已經持續發展了很多年。近來倍受關注的一種這樣的通信系統是使用了迭代糾錯碼的通信系統。那些糾錯碼中,近些年來一種使用了turbo碼(一種迭代糾錯碼)的特別的通信系統引起了廣泛的興趣。對於一個給定的信噪比(SNR),具有迭代碼的通信系統經常可以獲得比交替碼(alternativecodes)更低的誤碼率(BER)。該領域的一個不斷和主要的發展是繼續努力降低為在通信系統中達到給定的BER而需要的SNR。理想目標是在一個通信信道中努力達到香農極限。香農極限可以看成是在一個具有特定SNR並可以達到在通信信道中無差錯傳輸的通信信道中所使用的數據率。換句話說,對於一個給定的調製和編碼率香農極限是信道容量的理論邊界。當以相對低的數據吞吐率量操作時,提供相對低的誤碼率的Turbo碼的使用廣泛的出現於通信信道中具有大的噪聲的通信系統中,在這種通信系統中,基本無誤的通信是首要目標。一些turbo編碼的最早應用的地方是與空間相關的領域,其中準確(也就是,理想無差錯)的通信經常被認為是必要的設計準則。發展的方向接著轉移到了發展地球應用和消費相關應用。然而,基於空間相關的應用的傳統,在turbo編碼環境的努力仍然集中在獲得相對低的錯誤平底(errorfloors),而並非更高的吞吐量。最近,該領域的關注轉向了發展turbo編碼,以及其各種變化的版本,其可用於支持更高的吞吐量,同時仍然保持相對低的錯誤平底。實際上,隨著在通信系統中所需吞吐量的增加,使用多個處理器和多個存儲體的並行turbo解碼是必須的。很多當前的系統支持很廣範圍的碼字大小。因此,在並行turbo解碼器設計中效率和靈活性是非常重要的。一般說來,在使用了turbo的通信系統的情況下,在通信信道的一個終端有一個有編碼器功能的第一通信設備,在通信信道的另外一個終端有一個有解碼器功能的第二通信設備。在很多情況下,這些通信設備的一個或者兩個同時包括編碼器和解碼器功能。(例如,在一個雙向通信系統中)。
發明內容在對以下幾個附圖的簡要描述和本發明的詳細描述以及權利要求,本發明直接給出的操作的設備和方法並將進一步描述。根據本發明的一個方面,給出了一個可以對turbo編碼信號執行並行解碼的turbo解碼器,所述turbo解碼器包括多個turbo解碼器;和多個存儲器;以及其中所述多個turbo解碼器可以讀寫所述多個存儲器;和在第一次解碼迭代中當執行自然序相位解碼處理時,所述多個turbo解碼器的每一個可以取出和處理來自於所述多個存儲器中的一個相應的存儲器的信息,相應的存儲器是基於多個turbo解碼器和多個存儲器之間的無競爭映射來確定,相應的存儲器中信息的第一個位置是基於索引函數的,該函數是基於該相應的存儲器的地址映射的;當執行交織序相位解碼處理時,所述多個turbo解碼器的每一個可以從所述多個存儲器中的第一個相應的存儲器中的第一個存儲位置取出和處理信息;在第二次解碼迭代中當執行自然序相位解碼處理時,所述多個turbo解碼器的每一個可以取出和處理來自於所述多個存儲器中的一個相應的存儲器的信息,對應的存儲器是基於所述多個turbo解碼器和所述多個存儲器之間的無競爭映射來確定的,所述相應的存儲器中信息的第二位置是基於索引函數的,該函數是基於所述相應的存儲器的地址映射的;當執行交織序相位解碼處理時,所述多個turbo解碼器的每一個可以從所述多個存儲器中的第二個相應的存儲器中的第二個存儲位置取出和處理信息;和所述多個turbo解碼器可以對至少一個編碼成turbo編碼信號的比特產生一個最優的估計。作為優選,所述turbo解碼器進一步包括一個基於所述相應存儲器的地址映射可以產生索引函數的預先地址模塊。作為優選,所述turbo解碼器進一步包括在迭代解碼處理所述turbo編碼信號時,一個可以在所述多個turbo解碼器和所述多個存儲器之間執行無競爭存儲映射的處理模塊。作為優選在產生所述turbo編碼信號的turbo編碼過程時,所述turbo編碼信號經過了近似正則置換(ARP)交織。作為優選當執行turbo解碼時,所述多個turbo解碼器中的一個可以對外信息執行近似正則置換(ARP)交織從而產生「一個先驗概率」(app)信息。作為優選,所述多個turbo解碼器中的一個turbo解碼器包括預先地址模塊,用於接收多個與所述turbo編碼信號相關的度量;存儲所述多個度量到所述一個相應的存儲器中;以及基於在所述一個相應的存儲器中的所述多個度量的地址映射而產生所述索引函數;第一個軟輸入/軟輸出(SISO)解碼器可以對所述多個度量執行SISO解碼從而計算第一個外信息;一個交織器模塊,它可以對所述第一個外信息執行交織從而產生第一個「先驗概率」(app)信息;和第二個SISO解碼器可以對所述第一個app信息執行SISO解碼從而產生第二個外信息;一個解交織器模塊,它可以對所述第二個外信息執行解交織從而產生第二個app信息;和一個輸出處理器,它可以處理由第二個SISO解碼器產生的最新外信息從而產生所述編碼成turbo編碼信號的信息比特的一個最優的估計。作為優選所述turbo解碼器使用分時共享(time-sharing)以使得所述多個turbo解碼器可以執行自然序相位解碼處理和交織序相位解碼處理;以及當執行交織序相位解碼處理,所述多個存儲器的地址可以由所述多個turbo解碼器順序地訪問。作為優選所述多個turbo解碼器包括第一批turbo解碼器;而所述多個存儲器包括第二批存儲器。作為優選所述turbo解碼器可以在個人無線通信設備中實現。作為優選所述turbo解碼器可以在一個通信設備中實現;和所述通信設備可以在衛星通信系統,無線通信系統,有線通信系統和光纖通信系統至少一個中實現。根據本發明的一個方面,給出了一個可以對一個turbo編碼信號執行並行解碼的turbo解碼器,所述turbo解碼器包括多個turbo解碼器;多個存儲器;和一個預先地址模塊,它可以基於所述多個存儲器中的一個相應存儲器的地址映射產生一個索引函數;以及其中所述多個turbo解碼器可以讀寫所述多個存儲器;在第一次解碼迭代中當執行自然序相位解碼處理時,所述多個turbo解碼器中的每一個可以從所述多個存儲器中的一個相應的存儲器中取出和處理信息,對應的存儲器是基於所述多個turbo解碼器和所述多個存儲器之間的無競爭映射來確定的,所述相應的存儲器中信息的第二位置是基於索引函數的,該函數是基於所述相應的存儲器的地址映射的;和當執行交織序相位解碼處理時,所述多個turbo解碼器的每一個可以從所述多個存儲器中的第一個相應的存儲器中的第一個存儲位置取出和處理信息;在第二次解碼迭代中當執行自然序相位解碼處理時,所述多個turbo解碼器的每一個可以取出和處理來自於所述多個存儲器中的一個相應的存儲器的信息,對應的存儲器是基於所述多個turbo解碼器和所述多個存儲器之間的無競爭映射來確定的,所述相應的存儲器中信息的第二位置是基於索引函數的,該函數是基於所述相應的存儲器的地址映射的;和當執行交織序相位解碼處理時,所述多個turbo解碼器的每一個可以從所述多個存儲器中的第二個相應的存儲器中的第二個存儲位置取出和處理信息;以及所述多個turbo解碼器可以對至少一個編碼成turbo編碼信號的比特產生一個最優的估計。作為優選在產生所述turbo編碼信號的turbo編碼過程時,所述turbo編碼信號經過了近似正則置換(ARP)交織。當執行turbo解碼時,所述多個turbo解碼器中的一個可以對外信息執行近似正則置換(ARP)交織從而產生「一個先驗概率」(app)信息。作為優選所述turbo解碼器使用分時共享以至於所述多個turbo解碼器可以執行自然序相位解碼處理和交織序相位解碼處理;和當執行交織序相位解碼處理,所述多個存儲器的地址可以由所述多個turbo解碼器順序地訪問。作為優選所述多個turbo解碼器包括第一批turbo解碼器;而所述多個存儲器包括第二批存儲器。作為優選所述turbo解碼器可以在一個個人無線通信設備中實現。作為優選所述turbo解碼器可以在一個通信設備中實現;和所述通信設備可以在衛星通信系統,無線通信系統,有線通信系統和光纖通信系統至少一個中實現。根據本發明的一個方面,給出了用於解碼turbo編碼信號的一種方法,所述方法包括從一個通信信道中接收一個turbo編碼信號;執行預處理以從所述turbo編碼信號中提取一個編碼塊;分割所述編碼塊為多個子塊以致於每所述多個子塊的每一個包括相應的多個數據;把所述多個子塊的第一個子塊的第一部分的多個數據存儲到多個存儲體的第一存儲體中;把所述多個子塊的第二個子塊的第二部分的多個數據存儲到多個存儲體的第二存儲體中;當執行自然序相位解碼處理所述turbo編碼信號時,執行預先地址生成,它包括確定用於訪問所述第一存儲體中的第一組數據的元素和訪問所述第二存儲體中的第二組數據的元素的一個索引函數;從所述第一存儲體中得到第一組多個數據的第一個定義索引的元素並對其執行turbo自然序解碼處理;從所述第二存儲體中得到第二組多個數據的第二個定義索引的元素並對其執行turbo自然序解碼處理;從所述第一存儲體中得到第一組多個數據的第一個元素並對其執行交織自然序相位解碼處理;從所述第二存儲體中得到第二組多個數據的第二個元素並對其執行交織自然序相位解碼處理;根據並行turbo解碼處理,使用多個解碼處理器turbo解碼所述編碼塊。對編碼成turbo編碼信號的信息比特產生最優的估計。作為優選,所述方法進一步包括基於所述一個相應存儲器的地址映射而產生所述索引函數。作為優選在產生所述turbo編碼信號的turbo編碼過程時,所述turbo編碼信號經過了近似正則置換(ARP)交織;以及進一步包括當對所述turbo編碼信號執行turbo解碼時,對外信息執行ARP交織時而產生「一個先驗概率」(app)信息。作為優選所述turbo解碼器可以在一個通信設備中實現;和所述通信設備可以在衛星通信系統,無線通信系統,有線通信系統和光纖通信系統至少一個中實現。在參考附圖以及以下對發明的詳細描述,本發明的其它特性和優點將會變得明顯。圖1示出了通信系統的一個實施例。圖2示出了turbo解碼器的一個實施例。圖3示出了分時turbo解碼器的一個實施例,它可以使用一個軟輸入/軟輸出解碼器或一個SISO解碼器陣列。圖4示出了一個可以應用在turbo解碼中的並行解碼的實施例。圖5示出了一個用於自然/非交織序的解碼處理器的分割的一個實施例(作為對turbo編碼信號並行解碼實現)。圖6示出了用於交織(π)序的解碼處理器的分割的一個實施例(作為turbo編碼信號並行解碼實現)。圖7A示出了對於自然/非交織序相位的並行解碼的存儲映射的一個實施例。圖7B示出了對於交織(π)序(示出了在一個存儲器內的競爭)相位的並行解碼的存儲映射的一個實施例。圖8示出了一個可以執行並行解碼的turbo解碼器的一個實施例,由於在turbo解碼器和存儲器之間缺少無競爭存儲映射,在該解碼器中會產生競爭。圖9示出了一個可以執行並行解碼的turbo解碼器的一個實施例,由於在turbo解碼器和存儲器之間有無競爭存儲映射,在該解碼器中會不會產生競爭。圖10和圖11示出了一個通信系統的其它實施例。圖12A,圖12B,圖12C,圖12D示出了在turbo解碼器和存儲器之間的多個,連續無競爭存儲映射。圖13A,圖13B示出了用來執行並行解碼turbo解碼處理的多個處理器的Toy和多個存儲體例子的實施例。圖14示出了一個正則置換的一個實施例。圖15A和圖15B示出了多個存儲器存儲體的MOD存儲映射的實施例;圖16A和圖16B示出了依據所述Toy例子的多個存儲器存儲體的MOD存儲映射的實施例,衝突產生了並顯示出存儲映射是競爭的。圖17A和圖17B示出了多個存儲器存儲體的DIV存儲映射的實施例。圖18A和圖18B示出了依據所述Toy例子的多個存儲器存儲體的DIV存儲映射的實施例,衝突產生了並顯示出存儲映射是競爭的。圖19A和圖19B示出了依據所述Toy例子的多個存儲器存儲體的ADD存儲映射的實施例,沒有產生衝突並顯示出存儲映射是無競爭的。圖20示出了M=2C多個存儲器存的ADD存儲映射的實施例,沒有產生衝突並顯示出存儲映射是無競爭的。圖21示出了用於ADD映射和並行turbo解碼處理的自然序相位的直接地址生成的一個實施例。圖22示出了用於ADD映射和並行turbo解碼處理的交織(π)序相位的直接地址生成的一個實施例。圖23示出了用於ADD映射的直接地址生成的解碼結構實現的一個實施例。圖24示出了用於ADD映射和並行turbo解碼處理的自然序相位的預先地址生成的一個實施例。圖25示出了用於ADD映射和並行turbo解碼處理的交織(π)序相位的預先地址生成的一個實施例。圖26示出了用於ADD映射的預先地址生成的解碼結構實現的一個實施例。圖27示出了一個turbo解碼器的實施例,它使用2個獨立的SISO解碼器組和用於獲取存儲在多個存儲體內數據的預先地址。圖28示出了一個turbo解碼器的實施例,它使用多個SISO解碼器和用於獲取存儲在多個存儲體內數據的預先地址。圖29示出了用於解碼turbo編碼信號的一種方法的一個實施例。圖30示出了用於解碼turbo編碼信號的一種方法的一個替代實施例。具體實施例方式許多通信系統使用了turbo碼。然而還有許多可以使用turbo碼的潛在的應用,這裡給出的方法可以應用到3GPP信道編碼以支持任意數量信息比特。對於WCDMA和HSDPA,使用這裡給出的本發明的多個方面的所支持的比特數量的一些例子可以是40到5114,對於LTE則更多。關於UTRA-UTRAN長期演進(LTE)和3GPP系統結構演進(SAE)的其它信息可以在以下網際網路站點找到www.3gpp.org在3GPPLTE的信道編碼中,有提供大範圍的塊大小(也就是,turbo編碼塊長度)的必要和期望。而且,因為高的數據吞吐量和大編碼塊的需求,這些系統的turbo解碼主要需要利用並行解碼方式實現。並行解碼需要無競爭存儲器訪問(也就是任何一個turbo解碼器(一組並行安排的turbo解碼器中的一個)在任何給定的時間僅訪問一個存儲器(一組並行安排的存儲器中的一個))。Turbo編碼被建議用於3GPPLTE的信道編碼。對於這個編碼系統,在參考文獻[1]中稱為「近似正則置換(ARP)」的代數交織是一個候選方案。數字通信系統的目的是從一個地方或者子系統以無差錯或者可接受的低的錯誤率發射數字數據到另外一個地方或者子系統。如圖1所示,在多種通信系統中,數據可以通過多種通信信道發射如磁媒質,有線,無線,光纖,銅線以及其它類型媒質。圖1示出了一個通信系統的一個實施例100。參考圖1,該通信系統的實施例100是一個通信信道199,其將位於該通信信道199一端的通信設備110(包括一個有編碼器114的發射機112和一個有解碼器118的接收機116)通信連接到該通信信道199另外一端的另外一個通信設備120(包括一個有編碼器128的發射機126和一個有解碼器124的接收機122)。在一些實施例中,通信設備110和120之一可以僅僅包括一個發射機或一個接收機。該通信信道199可以用一些不同類型的媒質實現(例如,一個使用碟形衛星天線132和134的衛星通信信道130,一個使用發射塔142和144和/或本地天線152和154的無線通信信道140,一個有線通信信道150,和/或一個使用電光轉換(E/O)接口162和光電轉換(O/E)接口164的光纖通信信道160)。另外,可以使用一種以上媒質相互連接來構成通信信道199。圖2示出了一個turbo解碼器的一個實施例200。接收信號(例如典型地,由一個通信信道接收到的)發往I,Q提取模塊202,該模塊可以從所述接收信號201中提取I,Q(同相和正交)分量。這可以看成是接收機的預處理,並且它可能包括任何適當的頻率轉換(典型地,如果需要從一個載波頻率下變頻處理)。所述I,Q分量接著可以根據調製的特定星座和映射關係而映射。接著該映射I,Q被送到度量生成器204。該度量生成器204產生適當的度量241,它是在該調製的適當的星座和映射內測量所述接收I,Q分量到星座點距離而得到的;所述度量可以被該調製內的星座點的映射索引;這些度量可以看成是從實際接收符號位置到調製內的期望星座點位置之間歐式距離的縮放值。繼續上面的turbo解碼處理和功能,所述由度量生成器204產生的度量241接著被同時送到第一軟輸入/軟輸出(SISO0)解碼器210和第二SISO1解碼器230。在網格編碼環境中(例如,turbo碼網格編碼調製(TTCM)),根據所使用的網格,第一SISO0解碼器210和第二SISO1解碼器230均計算前向度量(alphas)和反向度量(betas),和外信息值。對於將要被編碼的幀,它內部的每一個符號的這些alphas和betas以及外信息值都要計算。這些alphas和betas以及外信息值的計算都是基於網格的。從第一SISO0解碼器210開始,在完成外信息值的計算211之後,它們被傳送到交織器(π)220,在這之後又被傳送到第二SISO1解碼器230以作為「先驗概率」(app)信息221。類似地,在第二SISO1解碼器230完成外信息值的計算231之後,它們被傳送到解交織器(π-1)240,在這之後又被傳送到第一SISO0解碼器210以作為「先驗概率」(app)信息241。應注意的是在turbo解碼器200中的迭代解碼處理的一次解碼迭代包括執行2個SISO操作;也就是說,迭代解碼處理必須既通過第一個SISO0解碼器210又通過第二個SISO1解碼器230。當達到了顯著標準置信度以及結果收斂之後,或者當執行了預先確定的解碼迭代次數之後,接著來自第二SISO1解碼器230的輸出將作為輸出被傳送到輸出處理器250。SISO210和230的操作主要指的是計算包含於接收符合內的符號的軟符號判決。在一些實施例中,可以對一個真值(true)比特級執行這些軟符號判決。輸出處理器250使用這些軟符號判決來為編碼在原始turbo編碼信號(例如,通常位於通信信道另一端的turbo編碼器位置中,信號201最初就是發送到該通信信道中的)中的信息比特產生最優估計251(例如,硬比特和/或符號判決)。還應注意的是在交織器(π)220執行的每次交織可以利用ARP交織實施例(參考數字291所示)執行。而且,有一些實施例中在解交織器(π-1)240中執行的解交織可以利用ARP解交織實施例執行。這裡給出的很多實施例都使用了ARP(近似正則置換)交織。更多的細節在參考以下方法而給出,在這種方法中一種結構可同時用於執行ARP交織和ARP解交織。然而在做這之前,為了讓讀者有可比較分析而給出了正則置換(regularpermutation)。圖3示出了分時turbo解碼器的一個實施例,它可以使用一個軟輸入/軟輸出解碼器或一個SISO解碼器陣列。依據turbo解碼器處理(或並行turbo解碼處理),該實施例利用一個SISO解碼器或者一個SISO解碼器陣列來同時執行SISO0和SISO1解碼操作。MUX305可以接收信息比特301和冗餘比特302並有選擇地把它們提供給SISO解碼器310。這個實施例的SISO解碼器310還包括一個集成交織器(π)320和一個集成解交織器(π-1)340。MUX305的選擇信號根據一個信號,它的偶(even)相位303控制選擇著將信息比特301或冗餘比特提供給302給SISO解碼器310以執行SISO0解碼處理或者SISO1解碼處理。在一個實施例中,由參考數字312所描述,當執行自然序相位解碼(例如,SISO0解碼操作),在選擇信號303指示一個偶相位給MUX305時,則執行存儲器條目訪問。而且,當執行交織(π)序相位解碼(例如SISO1解碼操作),在選擇信號303指示一個奇相位給MUX305,則執行存儲器條目訪問。圖4示出了一個可以應用於turbo解碼的並行解碼的實施例400。如圖所示,給出的turbo編碼信號內的一個信息塊的塊長度401是L。這也可以指的是將要進行turbo解碼處理的一個編碼塊。所述塊被分成多個窗,從而每一個窗的大小為W=L/M,如參考數字402所示。用於並行解碼所安排的處理器數量是M(如參考數字404所示),需要注意的是M是L的一個因子(也就是L除以M沒有餘數)。在周期0(也就是在turbo解碼的迭代解碼處理的第一次解碼迭代),每一個窗口的第一部分數據被處理,如每一個窗口的相應陰影部分所示。接著在周期1(也就是在turbo解碼的迭代解碼處理的第二次解碼迭代),每一個窗口的第二部分數據被處理,如每一個窗口的相應陰影部分所示。這樣一直下去直到周期W-1(也就是在turbo解碼的迭代解碼處理的最後一次解碼迭代)。每一個窗口的最後一部分數據被處理,如每一個窗口的相應陰影部分所示。在每一個周期內,使用多個解碼處理器(例如多個turbo解碼器)中的一個解碼處理器(例如,一個turbo解碼器)處理每一個窗口給定的部分。圖5示出了一個按自然/非交織序分配解碼處理器的一個實施例500(用於進行turbo編碼信號的並行解碼)。這個圖也與圖4相對應。例如,窗的大小為W,處理器的數量為M,以及塊長度為L,這些約定與之前所述實施例是一致的,如參考數字502所示(也就是W=L/M,或者M×W=L)。另外,交織索引如參考數字501所示,I={0,1,...,L-1}。根據並行turbo解碼處理,這包括使用M個解碼處理器,在周期0(也就是在turbo解碼的迭代解碼處理的第一次解碼迭代),每一個窗口相應的第一部分數據是按如下方式處理的1.處理器0處理信息塊的部分0。2.處理器1處理信息塊的部分W。3.處理器2處理信息塊的部分2W。...s.處理器s處理信息塊的部分sW(s是一個整數)。...M-1處理器M-1處理信息塊的部分(M-1)W。在周期1(也就是在turbo解碼的迭代解碼處理的第二次解碼迭代),每一個窗口相應的第二部分數據是按如下方式處理的1.處理器0處理信息塊的部分1。2.處理器1處理信息塊的部分W+1。3.處理器2處理信息塊的部分2W+1。...s.處理器s處理信息塊的部分sW+1(s是一個整數)。...M-1處理器M-1處理信息塊的部分(M-1)W+1。這個過程將會持續到周期W-1(也就是在turbo解碼的迭代解碼處理的最後一次解碼迭代)。每一個窗口相應的最後一部分數據是按如下方式處理的1.處理器0處理信息塊的部分W-1。2.處理器1處理信息塊的部分W+W-1。3.處理器2處理信息塊的部分W+2W-1。...s.處理器s處理信息塊的部分W+sW-1(s是一個整數)。...M-1處理器M-1處理信息塊的部分(M-1)W+W-1。第t次解碼周期的索引如下(也可以參考數字503所示)E0={0,W,...,(M-1)W},和Et={t,W+t,...,(M-1)W+t}。圖6示出了用於按照交織(π)序來分配解碼處理器的一個實施例600(用於進行turbo編碼信號並行解碼)。這個圖也與圖4相對應。例如,窗的大小為W,處理器的數量為M,以及塊長度為L,這些約定與之前所述實施例是一致的,如參考數字602所示(也就是W=L/M,或者M×W=L)。另外,交織索引如參考數字601所示,I={0,1,...,L-1}。根據並行turbo解碼處理,這包括使用M個解碼處理器,在周期0(也就是在turbo解碼的迭代解碼處理的第一次解碼迭代),每一個窗口相應的第一部分數據是按如下方式處理的(注意這些是已交織(π)部分數據)1.處理器0處理信息塊的部分π(0)。2.處理器1處理信息塊的部分π(W)。3.處理器2處理信息塊的部分π(2W)。...s.處理器s處理信息塊的部分π(sW)(s是一個整數)。...M-1處理器M-1處理信息塊的部分π((M-1)W)。在周期1(也就是在turbo解碼的迭代解碼處理的第二次解碼迭代),每一個窗口相應的第二部分數據是按如下方式處理的1.處理器0處理信息塊的部分π(1)。2.處理器1處理信息塊的部分π(W+1)。3.處理器2處理信息塊的部分π(2W+1)。…s.處理器s處理信息塊的部分,π(sW+1)(s是一個整數)。…M-1處理器M-1處理信息塊的部分π((M-1)W+1)。這個過程將會持續到周期W-1(也就是在turbo解碼的迭代解碼處理的最後一次解碼迭代)。每一個窗口相應的最後一部分數據是按如下方式處理的1.處理器0處理信息塊的部分π(W-1)。2.處理器1處理信息塊的部分π(W+W-1)。3.處理器2處理信息塊的部分π(2W+W-1)。…s.處理器s處理信息塊的部分π(sW+W-1)(s是一個整數)。…M-1處理器M-1處理信息塊的部分π((M-1)W+W-1)。第t次解碼周期的索引如下(也可以參考數字603所示)和存儲器映射M是無競爭並滿足以下關係i,i′∈Et,i≠i′=>M(i)≠M(i′)需要注意的是第t個周期的索引集中的元素應該映射到不同的存儲器體(例如,為多個並行安排的turbo解碼器提供服務的多個存儲器中的不同存儲器)。圖7A示出了按照自然/非交織序相位的並行解碼的存儲器映射的一個實施例700。圖7B示出了按照交織(π)序(示出了在一個存儲器內的競爭)相位的並行解碼的存儲器映射的一個實施例702。圖7A和圖7B應該相互參考。這些實施例700和702的每一個使用4個存儲體(如所示的存儲器741,存儲器742,存儲器743,存儲器744)。給出的一個編碼塊被分割成多個子模塊。這個特定的編碼塊包括4W個數據位置。在自然序相位中,第一個子塊從數據位置0,1開始並一直到W-1。第二個子塊從數據位置W,W+1開始並一直到2W-1。第三個子塊從數據位置2W,2W+1開始並一直到3W-1。第四個子塊從數據位置3W,3W+1開始並一直到4W-1。在周期0,第一個子塊的第一個數據(也就是位置0內的數據)存儲於存儲器742的第一個位置。在周期0,第二個子塊的第一個數據(也就是位置W內的數據)存儲於存儲器743的第一個位置。在周期0,第三個子塊的第一個數據(也就是位置2W內的數據)存儲於存儲器741的第一個位置。在周期0,第四個子塊的第一個數據(也就是位置3W內的數據)存儲於存儲器744的第一個位置。在周期1,第一個子塊的第二個數據(也就是位置1內的數據)存儲於存儲器741的第二個位置。在周期1,第二個子塊的第二個數據(也就是位置W+1內的數據)存儲於存儲器744的第二個位置。在周期1,第三個子塊的第二個數據(也就是位置2W+1內的數據)存儲於存儲器742的第二個位置。在周期1,第四個子塊的第二個數據(也就是位置3W+1內的數據)存儲於存儲器743的第二個位置。該過程持續到編碼塊的所有數據元素都存儲到所述4個存儲體內相應的存儲位置。一個特定數據放置在哪個存儲體內取決於所使用的映射。在經過交織(π)後,如圖所示,交織後的編碼快也分割成多個子塊。該特定編碼塊包括4W個數據位置。在交織序相位中,第一個子塊從數據位置π(0),π(1)開始並一直到π(W-1)。第二個子塊從數據位置π(W),π(W+1)開始並一直到π(2W-1)。第三個子塊從數據位置π(2W),π(2W+1)開始並一直到π(3W-1)。第四個子塊從數據位置π(3W),π(3W+1)開始並一直到π(4W-1)。在周期0,第一個子塊的第一個數據(也就是位置π(0)內的數據)存儲於存儲器741的一個位置,該位置是由所使用的特定交織和映射控制。在周期0,第二個子塊的第一個數據(也就是位置π(W)內的數據)存儲於存儲器744的一個位置,該位置是由所使用的特定交織和映射控制。在周期0,第三個子塊的第一個數據(也就是位置π(2W)內的數據)存儲於存儲器743的一個位置,該位置是由所使用的特定交織和映射控制。在周期0,第四個子塊的第一個數據(也就是位置π(3W)內的數據)存儲於存儲器742的一個位置,該位置是由所使用的特定交織和映射控制。在周期1,第一個子塊的第二個數據(也就是位置π(1)內的數據)存儲於存儲器742的一個位置,該位置是由所使用的特定交織和映射控制。在周期1,第二個子塊的第二個數據(也就是位置π(W+1)內的數據)存儲於存儲器741的一個位置,該位置是由所使用的特定交織和映射控制。在周期1,第三個子塊的第二個數據(也就是位置π(2W+1)內的數據)存儲於存儲器742的一個位置,該位置是由所使用的特定交織和映射控制。在周期1,第四個子塊的第二個數據(也就是位置π(3W+1)內的數據)存儲於存儲器744的一個位置,該位置是由所使用的特定交織和映射控制。該過程持續到已交織編碼塊的所有數據元素都被存儲到所述4個存儲體內相應的存儲位置。一個特定數據放置在哪個存儲體內取決於使用的映射。注意該映射不是無競爭的,因為在交織相位序的周期1,第一個子塊的第二個數據(也就是在位置{pi}(1)的數據)和第三個子塊的第二個數據(也就是在位置{pi}(2W+1)的數據)都映射到同一個存儲器742。圖8示出了一個可以執行並行解碼的turbo解碼器的一個實施例800,由於在turbo解碼器和存儲器之間缺少無競爭存儲映射,在該解碼器中會產生競爭。這個turbo解碼器800包括多個turbo解碼器821-827,多個存儲器841-847和一個處理模塊830,該處理模塊可以執行在多個turbo解碼器821-827和多個存儲器841-847之間的存儲映射。如圖所示,在一個給定的時間內,多於一個turbo解碼器試圖訪問同一個存儲器。確切的說,turbo解碼器821和turbo解碼器822都試圖訪問存儲器841,以及turbo解碼器824和turbo解碼器825都試圖訪問存儲器845。還有,turbo解碼器827和另外一個turbo解碼器(包含在所示的省略號...區域內)試圖訪問存儲器847。這將會產生衝突並引起不好的性能。圖9示出了一個可以執行並行解碼的turbo解碼器的一個實施例,由於在turbo解碼器和存儲器之間有無競爭存儲映射,在該解碼器中會不會產生競爭。這個turbo解碼器900包括多個turbo解碼器921-927,多個存儲器941-947和一個處理模塊930,該處理模塊可以執行在多個turbo解碼器921-927和多個存儲器941-947之間的無競爭存儲映射。如圖所示,在一個給定的時間,僅一個turbo解碼器試圖訪問任何一個存儲器。在多個turbo解碼器921-927和多個存儲器941-947之間,這是一個完全的無競爭存儲映射。圖10和圖11示出了一個通信系統的其它實施例。參考圖10中的通信系統1000,該通信系統1000包括一個通信設備1010,它通過通信信道1099連接到另外一個設備1090。通信設備1010包括一個解碼器1021,其實現為並行turbo解碼器,並可以使用無競爭存儲映射。通信設備1010通過通信信道1099連接的另外一個設備1090可以是另外一個通信設備1092,一個存儲媒質1094(例如,一個硬碟驅動器(HDD))或者可以接收和/或發射信號的其它類型的設備。在一些實施例中,通信信道1099是雙向通信信道,該雙向信道可以在第一時間發射第一個信號,而在第二時間接收第二個信號。若需要,還可以使用全雙工通信,通信設備1010和設備1090的每一個可以同時發射和/或接收彼此的數據。通信設備1010的解碼器1021包括一個turbo解碼器1020,一個處理模塊1030,和一個存儲器1040。該處理模塊1030可以連接到存儲器1040以至於存儲器可以存儲處理模塊1030用來執行特定功能的操作指令。一般地說,在迭代解碼處理時,處理模塊1030可以執行turbo解碼器1020和存儲器1040之間的無競爭映射。需要注意的是處理模塊1030以及這裡描述的其它處理模塊可以用以下描述的任何方法實現。在一個實施例中,處理模塊1030可以用電路嚴格實現。或者,處理模塊1030可以用軟體例如可以用數位訊號處理器(DSP)或者類似的設備嚴格實現。甚至在另外一個實施例中,在不脫離本發明的範圍和精神實質情況下,處理模塊1030還可以用硬體和軟體的組合實現。甚至在其它實施例中,處理模塊1030可以用一個共享處理設備,單個處理設備,或者多個處理設備實現。這樣一個處理設備可以是一個微處理器,微控制器,數位訊號處理器,微型計算機,中央處理單元,現場可編程門陣列,可編程邏輯設備,狀態機,邏輯電路,模擬電路,數字電路,和/或基於可操作指令的且可處理信號(模擬和/或數字)的任何設備。處理模塊1030可以連接到存儲器1040,該存儲器可以存儲處理模塊1030用來執行turbo解碼器1030和存儲器1040間的適當無競爭存儲映射的可操作指令。這樣一個存儲器1040可以是單個存儲器設備或者多個存儲器設備。這樣一個存儲器1040可以是只讀存儲器,隨機訪問存儲器,易失性存儲器,非易失性存儲器,靜態存儲器,動態存儲器,快閃記憶體,和/或任何可以存儲數字信息的設備。注意當處理模塊1030可以使用一個狀態機,模擬電路,數字電路,和/或邏輯電路實現它的一個或者多個功能,存儲相應可操作指令的存儲器可以嵌入到電路中,該電路包括所述狀態機,模擬電路,數字電路和/或邏輯電路。參考圖11中的通信系統1100,該實施例與之前的實施例有相似之處。通信系統1100包括一個通信設備1110,它可以通過通信信道1199連接到另外一個設備。通信設備1110包括一個turbo解碼器1120,它自身由多個turbo解碼器1121-1122組成。通信設備1110還可以包括一個存儲器1140,它自身由多個存儲器1141-1142組成。在迭代解碼處理turbo編碼信號時,處理模塊1130可以執行多個turbo解碼器1121-1122和多個存儲器1141-1142之間的無競爭存儲映射。圖12A,圖12B,圖12C,圖12D示出了在turbo解碼器和存儲器之間的多個而連續無競爭存儲映射。這4個圖可以相互參考。一個通信設備包括一個turbo解碼器,它自身由多個turbo解碼器1221,1222,1223組成。這樣一個通信設備還可以包括一個存儲器,它自身由多個存儲器1241,1242和1243組成。在對turbo編碼信號的迭代解碼處理時,一個處理模塊1230可以執行多個turbo解碼器1221,1222,1223和多個存儲器1241,1242和1243之間的無競爭映射。在任意給定時間,處理模塊1230用於確保在一個給定時間只有一個turbo解碼器訪問給定的存儲器。例如在時間1處理模塊1230可以執行一個第一次無競爭存儲映射,如參考數字1201所示。在時間2處理模塊1230可以執行一個第二次無競爭存儲映射,如參考數字1202所示。在時間3處理模塊1230可以執行一個第三次無競爭存儲映射,如參考數字1203所示。在時間4處理模塊1230可以執行一個第四次無競爭存儲映射,如參考數字1204所示。如圖所示,在任何給定的時間,這4個圖中的每一個中僅僅一個turbo解碼器可以連接到任何一個存儲器。如圖所示,在對turbo編碼信號的迭代解碼處理時,無競爭存儲映射在多個turbo解碼器1221,1222,1223和多個存儲器1241,1242和1243之間的無競爭映射會隨著時間而變化。圖13A,圖13B分別示出了用來執行並行解碼處理的多個處理器和多個存儲器存儲體的一些Toy例子的實施例,1301和1302。這些實施例1301和1302的每一個使用多個存儲體1310,該存儲體包括4個存儲體。當執行turbo解碼處理時,對於自然序的第一次迭代周期內,如實施例1301所示存儲映射如下E0={0,6,12,18}→{0,2,1,3}當執行turbo解碼處理時,還是對於交織(π)序的第一次迭代周期內,如實施例1301所示存儲映射如下當執行turbo解碼處理時,對於自然序的第二次迭代周期內,如實施例1302所示存儲映射如下E1={1,7,13,19}→{1,3,2,0}當執行turbo解碼處理時,還是對於交織(π)序的第二次迭代周期內,如實施例1302所示存儲映射如下E1={11,9,23,21}→{3,1,0,2}在後面的解碼周期內(例如解碼迭代),處理器和存儲器之間的存儲映射如下第三個解碼周期(自然序/交織序)是第四個解碼周期(自然序/交織序)是第5個解碼周期(自然序/交織序)是第6個解碼周期(自然序/交織序)是如圖所示,自然序和交織序它們都是無競爭的。圖14示出了一個正則置換的一個實施例1400。該實施例1400還可以指的是一個循環置換。例如,該正則(循環)置換1400可以如下定義i=π(j)=PjmodL,0≤i,j≤L-1L表示幀的大小,而gcd(P,L)=1,那麼表明π(j)≠π(j′)如j≠j′。正則置換1400的實現相對要直接,但是性能不是很好。由參考文獻[1]中介紹的信息塊大小L=CW(也就是C是L的一個除數)的一個ARP(近似正則置換)定義為i=π(j)=jP+θ+A(jmodC)P+B(jmodC)modL其中P和L互為素數,θ是一個常數,A(x)和B(x)是定義於{0,1,...,C-1}的整數函數。為了所定義的函數的功能是一個置換(也就是一個到另外一個或者到其它),在參考文獻[1]A(x)和B(x)進一步限制為A(i)P+B(i)=C[α(i)P+β(i)],i=0,...,C-1其中α和β是整數函數。在這個文檔中,我們稱C是ARP的抖動(dithering)周期。如圖所示,C|L(因此,gcd(C,P)=1),因此π(j)≠π(j′)如果j≠j′。例如C=4第一個ARP交織的例子在這裡給出y=π(x)=Px+C[α(xmodC)P+β(xmodC)](modL)L=24,C=4,P=7和這表明如果提供以下的輸入到ARP交織(π),0,1,2,3,x4,5,6,7,x8,9,10,11,x12,13,14,15,x16,17,18,19,x20,21,22,23那麼對應的輸出為如下0,11,22,x4,15,2,9,x8,19,6,13,x12,23,10,17,x16,3,14,21,x20,7,18,1。這裡給出了另外一個ARP交織的例子y=π(x)=Px+C[α(xmodC)P+β(xmodC)](modL)L=24,C=4,P=3和和θ=1如果提供以下的輸入到這樣一個ARP交織(π),0,1,2,3,x4,5,6,7,x8,9,10,11,x12,13,14,15,x16,17,18,19那麼對應的輸出為如下1,6,16,15,x13,18,8,7,x,5,10,0,19,x17,2,12,11,x9,14,4,3。對於ARP還有一些特別的情況。情況1A(x)=Cα(x),和B(x)=Cβ(x)當θ=0,在參考文獻[1]中的方程(10),(11)和(12)。當θ=3,C=4,[2]FranceTelecom,GET,「EnhancementofRel.6turboCode,」3GPPTSGRANWG1#43,R1-051310,2005當θ=3,C=4和8,表1,[3]Motorola,「Acontention-freeinterleaverdesignforLTEcodes,」,3GPPTSGRANWG1#47。情況2在參考文獻[1]的方程(13)。另外,以下也給出了ARP的特定性質性質1x0=x1modC,這表明π(x0)=π(x1)modC。證明令x1=x0+kC,那麼π(x1)-π(x0)=PkC=0modC。性質2定義ψ{0,1,...C-1}→{0,1,...C-1}通過ψ(u)=π(u)modC。π是一個置換,它表明ψ是雙向映射(bijection)。證明假設u0,u1∈{0,1,...C-1),u0≠u1,但ψ(u0)=ψ(u1).對C求模在{0,1,...L-1)有L/C個元素以及同餘u0以及另外一個對C求模的L/C個元素以及同餘u1。因此,根據性質1,有2L/C個元素u這樣π(u)有同樣的同餘模塊C。這與假設π是一個置換是相矛盾的。性質3定義ψ{0,1,...C-1)→{0,1,...C-1)通過ψ(u)=π(u)modC。ψ是雙向映射(bijection),那麼π是一個置換。證明假設x0,x1∈{0,1,...L-1),x0<x1,但π(x0)=π(x1).設u0=x0modC和u1=x1modC。如果u0≠u1,那麼π(x0)modC≠π(x1)modC因為ψ是一一對應的映射的。如果u0=u1,對於一個k∈{0,1,...,L/C-1)那麼設X1=x0+kC。因此,π(x1)-π(x0)=PkCmodL。因為gcd(P,L)=1和C|L,PkCmodL=0表明k=0或者k除L/C。對於k的範圍,不可避免的存在矛盾;因此,僅當x0=x1時π(x0)=π(x1)。性質4如果π(x)是一個周期為C的ARP交織(π),那麼π(x)還可以是一個周期為的ARP交織(π),如果證明設π(x)=[Px+A(xmodC)P+B(xmodC)+θ]modL。清楚地,π(x)還可以如下寫其中和因此,如果那麼π(x)是一個周期為的交織(π)。圖15A和圖15B示出了多個存儲器存儲體的MOD存儲映射的實施例。繼續另外一種形式的存儲映射,有另外一種形式的存儲映射,在所引用的參考文獻[1]和[2]中定義的參考模塊化映射(也就是,縮寫的MOD映射)。根據該MOD映射方式(再一次說明,M是解碼處理器的數量),MMODi|→imodM,其中M是解碼處理器的數量,C是ARP交織(π)的周期,和M是C的倍數。這個MOD映射方式的實施例只有在gcd(W,M)=1時是無競爭的。當gcd(W,M)=1時,這些實施例1501和1502的每一個對應於MOD映射。而且這些實施例1501和1502對索引集(W=5,C=4,M=4和gcd(W,M)=1)使用MOD映射。這些實施例1501和1502使用多個存儲體1510,該存儲體包括4個存儲體。在第一次解碼周期,當執行turbo解碼處理時,對於自然序的第一次迭代周期內,如實施例1501所示存儲映射如下E0={0,5,10,15}→{0,1,2,3}當執行turbo解碼處理時,還是對於交織(π)序的第一次迭代周期內,如實施例1501所示存儲映射如下當執行turbo解碼處理時,對於自然序的第二次迭代周期內,如實施例1502所示存儲映射如下E1={1,7,13,19}→{1,3,2,0}當執行turbo解碼處理時,還是對於交織(π)序的第二次迭代周期內,如實施例1502所示存儲映射如下在後面的解碼周期內(例如解碼迭代),處理器和存儲器之間的存儲映射如下第三個解碼周期(自然序/交織序)是第四個解碼周期(自然序/交織序)是第五個解碼周期(自然序/交織序)是如圖所示,自然序和交織序都是無競爭的。然而,很多之前的實施例,特別在turbo編碼和turbo解碼中使用ARP交織(π)的那些實施例需要限制所使用的解碼處理器的數量M。例如,這些之前的實施例需要解碼處理器的數量M是信息塊長度L的一個因子。以下給出了一種方法,通過該方法可以選擇使用任意數量(M)解碼處理器用於執行並行turbo解碼處理。在做這時,選擇了一個計劃(scheduled)塊長度L』是非常明智的,那樣該任意選定數量(M)解碼處理器可以結合一個無競爭的特定存儲映射使用。圖16A和圖16B示出了依據所述Toy例子的多個存儲器存儲體的MOD存儲映射的實施例,衝突產生了並顯示出存儲映射是競爭的。而且,這些實施例1601和1602對索引集(W=6,C=4,M=4和gcd(W,M)≠1)使用MOD映射。這些實施例1601和1602使用多個存儲體1610,具體包括4個存儲體。在第一次解碼周期,當執行turbo解碼處理時,對於自然序的第一次迭代周期內,如實施例1601所示存儲映射如下E0={0,6,12,18}→{0,2,0,2}當執行turbo解碼處理時,還是對於交織(π)序的第一次迭代周期內,如實施例1601所示存儲映射如下當執行turbo解碼處理時,對於自然序的第二次迭代周期內,如實施例1602所示存儲映射如下E1={1,7,13,19}→{1,3,1,3}當執行turbo解碼處理時,還是對於交織(π)序的第二次迭代周期內,如實施例1602所示存儲映射如下在後面的解碼周期內(例如解碼迭代),處理器和存儲器之間的存儲映射如下第三個解碼周期(自然序/交織序)是第四個解碼周期(自然序/交織序)是第5個解碼周期(自然序/交織序)是第6個解碼周期(自然序/交織序)是如圖所示,自然序和交織序都是競爭的。這是另外一種存儲器映射,稱為除法映射(也就是簡稱DIV映射),其在所引用的參考文獻[4]中做了定義定義。根據該DIV映射方式,MDIV:i|→i/M,其中W是並行解碼結構窗口的大小。第i周期的索引集如下Ei={i,W+1,...,(M-1)W+i},其中M是解碼處理器的數量,C是ARP交織(π)的周期。另外,如果M是L/C的一個因子,那麼對於ARP交織(π)的映射實際上是無競爭的。然而需要注意,在以下參考文獻[3]和參考文獻[4]引用的例子沒有這個性質。圖17A和圖17B示出了多個存儲器存儲體的DIV存儲映射的實施例。這些實施例1701和1702的每一個對應於當M除L/C的情況。另外,這些實施例1701和1702對索引集(C=4,M=3實際上是L/C=6的一個因子,以及W=8)使用DIV映射。這些實施例1701和1702的每一個使用多個存儲體1710,具體包括3個存儲體。當執行turbo解碼處理時,對於自然序的第一次迭代周期內,如實施例1701所示存儲映射如下E0={0,8,16}→{0,1,2}當執行turbo解碼處理時,還是對於交織(π)序的第一次迭代周期內,如實施例1701所示存儲映射如下當執行turbo解碼處理時,對於自然序的第二次迭代周期內,如實施例1702所示存儲映射如下E1={1,9,17}→{0,1,2}當執行turbo解碼處理時,還是對於交織(π)序的第二次迭代周期內,如實施例1702所示存儲映射如下在後面的解碼周期內(例如解碼迭代),處理器和存儲器之間的存儲映射如下第三個解碼周期(自然序/交織序)是第四個解碼周期(自然序/交織序)是第5個解碼周期(自然序/交織序)是第6個解碼周期(自然序/交織序)是第7個解碼周期(自然序/交織序)是第8個解碼周期(自然序/交織序)是如圖所示,自然序和交織序都是無競爭的。圖18A和圖18B示出了依據所述Toy例子的多個存儲器存儲體的DIV存儲映射的實施例,衝突產生了並顯示出存儲映射是競爭的。這些實施例1801和1802的每一個對應於當M不是L/C的因子的情況。換句話說,M不能被L/C除盡。另外,這些實施例1801和1802對索引集(C=4,M=4,M不是L/C=6的一個因子,以及窗大小,W=6)使用DIV映射。這些實施例1801和1802的每一個使用多個存儲體1810,具體包括4個存儲體。當執行turbo解碼處理時,對於自然序的第一次迭代周期內,如實施例1801所示存儲映射如下E0={0,6,12,18}→{0,1,2,3}當執行turbo解碼處理時,還是對於交織(π)序的第一次迭代周期內,如實施例1801所示存儲映射如下當執行turbo解碼處理時,對於自然序的第二次迭代周期內,如實施例1802所示存儲映射如下E1={1,7,13,19}→{0,1,2,3}當執行turbo解碼處理時,還是對於交織(π)序的第二次迭代周期內,如實施例1702所示存儲映射如下在後面的解碼周期內(例如解碼迭代),處理器和存儲器之間的存儲映射如下第三個解碼周期(自然序/交織序)是第四個解碼周期(自然序/交織序)是第5個解碼周期(自然序/交織序)是第6個解碼周期(自然序/交織序)是如圖所示,自然序是無競爭的,但是交織序是競爭的。根據以上描述的ARP交織(π),以下(用MADD或ADD映射描述)給出了一種用於ARP交織(π)的新的的無競爭存儲映射。對於一個任意大小的ARP交織(π),以下存儲映射是無競爭的其中CARP的周期;M#處理器個數,其中M是C的倍數(也就是,M=mC,其中m是整數);W並行解碼窗口大小;和q滿足qW=0mod(M)性質的最小正整數。對於任意大小的ARP交織(π)和使用任意個數M的並行解碼器實現,可以斷定在多個處理器和多個存儲器(也就是存儲體)之間的ADD映射是無競爭的。這個ADD映射可以按如下方式把在第t個解碼周期的索引集映射到不同的存儲器(也就是存儲體)Et={t,W+t,...,(M-1)W+t},和圖19A和圖19B示出了依據所述Toy例子的多個存儲器存儲體的ADD存儲映射的實施例1901和1902,沒有產生衝突顯示出存儲映射是無競爭的。這些實施例1901和1902對應C=4窗口大小W=6、q=2、從而qw=12的情況。這些實施例1901和1902使用多個存儲體1910,具體包括4個存儲體。當執行turbo解碼處理時,對於自然序的第一次迭代周期內,如實施例1901所示存儲映射如下當執行turbo解碼處理時,還是對於交織(π)序的第一次迭代周期內,如實施例1901所示存儲映射如下當執行turbo解碼處理時,對於自然序的第二次迭代周期內,如實施例1902所示存儲映射如下當執行turbo解碼處理時,還是對於交織(π)序的第二次迭代周期內,如實施例1902所示存儲映射如下在後面的解碼周期內(例如解碼迭代),處理器和存儲器之間的存儲映射如下第三個解碼周期(自然序)是第三個解碼周期(交織序)是第四個解碼周期(自然序)是第四個解碼周期(交織序)是第五個解碼周期(自然序)是第五個解碼周期(交織序)是第六個解碼周期(自然序)是第六個解碼周期(交織序)是如圖所示,自然序和交織序相位都是無競爭的。圖20示出了M=2C多個存儲器存的ADD存儲映射的實施例2000,沒有產生衝突顯示出存儲映射是無競爭的。這個實施例2000對應C=4,m=2的情況,窗口大小,W=3,q=8,以及qW=24。因為qW>L-1,可以得到x/24=0,x<L,那麼MADD→xmod(8)這個實施例2000使用多個存儲體2010,它具體包括8個存儲體。當執行turbo解碼處理時,對於自然序的第一次迭代周期內,如實施例2001所示存儲映射如下當執行turbo解碼處理時,還是對於交織(π)序的第一次迭代周期內,如實施例2001所示存儲映射如下在後面的解碼周期內(例如解碼迭代),處理器和存儲器之間的存儲映射如下第二個解碼周期(自然序)是第二個解碼周期(交織序)是第三個解碼周期(自然序)是第三個解碼周期(交織序)是如圖所示,自然序和交織序相位都是無競爭的。圖21示出了用於ADD映射和並行turbo解碼處理的自然序相位的直接地址生成的一個實施例2100。使用自然序的直接地址生成如下AN:X→xmod(W)。這個直接地址生成2100可以應用於多種存儲映射,但是可以看出最後實現複雜度有時候是不令人滿意的而且有時候可以產生一些壞的效應例如解碼速度的降低。特別地參考圖21,這個實施例使用ADD映射(也就是,存儲映射M=MADD);另外,這個實施例2100對應C=4的情況,窗口大小,W=6,q=2,以及qW=12,如參考數字2102描述的所示。而且4個處理器(如所示的處理器P02110,處理器P12111,P22112,P32113)和4個存儲體(如所示的存儲體B02120,存儲體B12121,存儲體B22122,存儲體B32123)。根據自然序相位turbo解碼處理(例如,SISO0解碼操作),地址是順序的進行訪問,如參考數字2103所示。該映射(在這個情況下是ADD映射)確定從哪個特定存儲器體提供哪個數據給哪個處理器,然而可以得出以下1.在時間0訪問到每一個存儲體的上面的第一個數據條目(entry)。2.在時間1訪問到每一個存儲體的上面的第二個數據條目。3.在時間2訪問到每一個存儲體的上面的第三個數據條目。4.在時間3訪問到每一個存儲體的上面的第四個數據條目。5.在時間4訪問到每一個存儲體的下面的第二個數據條目。6.在時間5訪問到每一個存儲體的下面的第一個數據條目。圖22示出了用於ADD映射和並行turbo解碼處理的交織(π)序相位的直接地址生成的一個實施例。這個圖可以參考圖21考慮。根據交織序(π)turbo解碼處理(例如,SISO1解碼操作),根據存儲映射(M)和使用的交織(π),如參考數字2104所描述的,地址是變化序的訪問(也就是,沒有必要順序的)。該映射(在這個情況下是ADD映射)確定從哪個特定存儲器體提供哪個數據給哪個處理器,然而考慮每一個存儲體時可以得出以下考慮存儲體B021201.在時間0訪問到存儲體B02120的上面的第一個數據條目。2.在時間1訪問到存儲體B02120的下面的第一個數據條目。3.在時間2訪問到存儲體B02120的上面的第三個數據條目。4.在時間3訪問到存儲體B02120的上面的第二個數據條目。5.在時間4訪問到存儲體B02120的下面的第二個數據條目。6.在時間5訪問到存儲體B02120的上面的第四個數據條目。考慮存儲體B121211.在時間0訪問到存儲體B12121的上面的第一個數據條目。2.在時間1訪問到存儲體B12121的上面的第四個數據條目。3.在時間2訪問到存儲體B12121的上面的第三個數據條目。4.在時間3訪問到存儲體B12121的下面的第一個數據條目。5.在時間4訪問到存儲體B12121的下面的第二個數據條目。6.在時間5訪問到存儲體B12121的上面的第二個數據條目。若考慮存儲體B22122和存儲體B32123可以做出類似的觀察。圖23示出了用於ADD映射的直接地址生成的解碼結構實現的一個實施例2300。這個圖可以結合圖21和圖22作為參考。使用一個縱橫交換2310以執行從每一個存儲體提供合適的數據值到適當的處理器。該適當的數據供應也是所使用的存儲映射(M)和交織(π)的函數。根據每一個存儲體映射(例如,在一個給定的解碼時間,一個特定存儲體內的每一個數據條目是提供給哪個處理器的)(這4個存儲體的存儲器映射用M(Xs0),M(Xs1),M(Xs2)和M(Xs3)表示),接著對於存儲體的地址以及在存儲體內特定位置的數據值,如果(M(Xsm)=bn),則通過sm→bn處理,那麼處理器索引{s0,s1,s2,s3}被映射到特定存儲體索引{b0,b1,b2,b3}。參考圖23,可以按以下描述過程操作1.在周期t,處理器Ps計算比特位置xs(在自然序相位中的sW+t;在交織序(π)相位中的π(sW+t))。2.對xs的存儲體和存儲地址位置,Ps計算M(xs)(例如哪個存儲體)和A(xs)(例如在存儲體的哪個位置)。3.根據M(xs)集將每個處理器連接到對應的存儲體M(xs),以此來配置縱橫交換(cross-bar)2310。4.來自於處理器Ps的地址A(xs)被送到相應的存儲體M(xs)那樣在比特位置xs的值L(xs)可以訪問。另外一種描述方式,如果地址映射如下AN:X→xmod(W)。在並行turbo解碼處理的自然序相位中,地址是順序地訪問的,這是一種相對快和簡單的實現。在並行turbo解碼處理的交織序(π)相位中,地址是由處理器計算並接著送到特定的存儲體。這需要很長的周期時間而且縱橫交換2310需要提供和轉換存儲體和處理器之間的存儲器地址和數據值。圖24示出了用於ADD映射和並行turbo解碼處理的自然序相位的預先地址生成的一個實施例2400。這裡給出了一種新的的方式,通過該方式對於並行turbo解碼處理相應的地址生成的周期時間可以非常明顯的減少。這裡指的地址生成主要是預先地址生成。初始時,假設地址映射如下AN:X→xmod(W)接著可能會出現是否需要對每一個存儲體計算它自身的地址序列而不是必須由處理器通過橫交換提供必要的地址的問題。如果使用以上假設的地址映射(AN:X→xmod(W)),那麼這實際上是可以執行的,但是那是非常難實現的。這裡給出通過計算索引函數(F)的新的的方式,在並行turbo解碼處理的交織序(π)的周期t,該索引函數(F)給出存儲體b內數據的索引x。例如,以下索引函數(F)是為特定地址映射(AN:X→xmod(W))而計算的。F(b,t)=x,這表示M(x)=b以及對於某個s,x=π(sW+t)。然而對於特定地址映射(AN:X→xmod(W)這個索引函數(F)非常難得出,因為方程x=π(sW+t)mod(W)之後可能有餘數。對於這個的一個例外可能是DIV存儲映射(例如MDIV)而這是因為其中s的地址AN(π(sW+t))對於特定存儲映射是獨立的。因此,給出了一種新的地址生成方法,這裡給出存儲映射到地址而不是根據如下解交織(π-1)序得出的AI:X→π-1(x)mod(W)當計算交織(π),其解交織(也就是解交織(π-1))也是可以被保存。另外,解交織(π-1)還可以用另外一種ARP交織(π)得到,該交織在以下公共受讓人美國臨時專利申請和美國發明專利申請中所描述,它們的內容可以在這裡作為整體任意參考1.美國臨時專利申請號為60/872,367,題目為「TurbodecoderemployingARP(almostregularpermutation)interleaveandinversethereofasde-interleave,」(代理案號NO.BP5864),申請日為2006年12月1日,未決;2.美國發明申請申請號為11/657,819,題目為「TurbodecoderemployingARP(almostregularpermutation)interleaveandinversethereofasde-interleave,」(代理案號NO.BP5864),申請日為2007年1月25日,未決;對於Toy例子(以上提供了它的幾個實施例)計算解交織(π-1)的例子在以下給出對於以下的參數,L=24,C=4以及P=7,那麼P-1=7,因為pp-1=1mod(L)。自然序相位(當考慮4個處理器時)如下0,1,2,4,5x6,7,8,9,10,11x12,13,14,15,16,17x18,19,20,21,22,23交織(π)序相位(當考慮4個處理器時)如下0,11,22,5,4,15x2,9,8,19,6,13x12,23,10,17,16,3x14,21,20,7,18參考圖24,地址生成2400使用自然序如下AI:X→π-1(x)mod(W)這個預先地址生成2400可以運用於多種存儲映射,相對於以上描述的直接地址生成,它可以很大程度改善解碼速度。特別地參考圖24,這個實施例使用ADD映射(也就是存儲映射M=MADD);另外,這個實施例2400對應C=4的情況,窗口大小,W=6,q=2,以及qW=12,如參考數字2402描述的所示。而且,4個處理器(如所示的處理器P02410,處理器P12411,P22412,P32413)和4個存儲體(如所示的存儲體B02420,存儲體B12421,存儲體B22422,存儲體B32423)。根據自然序相位turbo解碼處理(例如,SISO0解碼操作),地址是變化序的獲取(也就是,沒有必要順序),這取決於所使用的存儲映射(M)和交織(π),如參考數字2402所示。該映射(在這個情況下是ADD映射)確定從哪個特定存儲器體中提供哪個數據給哪個處理器,然而在考慮每一個存儲體時可以得出以下考慮存儲體B024201.在時間0訪問到存儲體B02420的上面的第一個數據條目。2.在時間1訪問到存儲體B02420的上面的第四個數據條目。3.在時間2訪問到存儲體B02420的上面的第三個數據條目。4.在時間3訪問到存儲體B02420的下面的第一個數據條目。5.在時間4訪問到存儲體B02420的下面的第二個數據條目。6.在時間5訪問到存儲體B02420的上面的第二個數據條目。考慮存儲體B124211.在時間0訪問到存儲體B12421的上面的第一個數據條目。2.在時間1訪問到存儲體B12421的下面的第一個數據條目。3.在時間2訪問到存儲體B12421的上面的第三個數據條目。4.在時間3訪問到存儲體B12421的上面的第二個數據條目。5.在時間4訪問到存儲體B12421的下面的第二個數據條目。6.在時間5訪問到存儲體B12421的上面的第四個數據條目。在考慮存儲體B22422和存儲體B32423可以得出類似的觀察。圖25示出了用於ADD映射和並行turbo解碼處理的交織序(π)相位的預先地址生成的一個實施例2500。該圖可以參考圖24。根據turbo解碼處理(例如,SISO1解碼操作)交織序(π),地址是順序的訪問,如參考數字2404所示。該映射(在這個情況下是ADD映射)確定從哪個特定存儲器體中提供哪個數據給哪個處理器,然而可以得出以下1.在時間0訪問到每一個存儲體的上面的第一個數據條目。2.在時間1訪問到每一個存儲體的上面的第二個數據條目。3.在時間2訪問到每一個存儲體的上面的第三個數據條目。4.在時間3訪問到每一個存儲體的上面的第四個數據條目。5.在時間4訪問到每一個存儲體的下面的第二個數據條目。6.在時間5訪問到每一個存儲體的下面的第一個數據條目。圖26示出了用於ADD映射的預先地址生成的解碼結構實現的一個實施例2600。該圖應該結合圖24和圖25考慮。通過使用索引函數(F),可以很大程度減小複雜度和增加解碼速度。使用一個縱橫交換2610以執行從每一個存儲體提供合適的數據值到適當的處理器。但該實施例相比於以上所描述的圖23中的實施例的複雜度要小很多。該適當的提供數據值也是所使用的存儲映射(M)和交織(π)的函數。根據每一個存儲體映射(例如,在一個給定的解碼時間,一個特定存儲體內的每一個數據條目是提供給哪個處理器的)(這4個存儲體的存儲器映射用M(xs0),M(xs1),M(Xs2)和M(xs3)表示),接著對於存儲體的地址以及僅在存儲體內特定位置的數據值,如果(M(Xsm)=bn)通過sm→bn那麼處理器索引{s0,s1,s2,s3}被映射到特定存儲體索引{b0,b1,b2,b3}。換句話說,不需要像圖23中實施例中還需要考慮存儲體地址(也就是存儲體地址和數據值都不需要考慮-僅僅考慮存儲體內特定位置中的數據值)。參考圖26,可以按以下描述過程操作1.在周期t,處理器Ps計算比特位置xs(在自然序相位中的sW+t;在交織序(π)相位中的π(sW+t))。2.對xs的存儲體位置,Ps計算M(xs)(例如哪個存儲體)。3.根據M(xs)集將每個處理器Ps連接到對應的存儲體M(xs),以此來配置縱橫交換2610。4.同時地,每一個存儲體的存儲生成器確定地址A(xs),那樣在比特位置xs的值L(xs)可以訪問並通過縱橫交換2610提供給特定處理器。另外一種描述方式,如果地址映射如下AI:X→π-1(x)mod(W)。在並行turbo解碼處理的自然序相位中,地址由每一個存儲體相應的存儲生成器計算。例如,存儲生成器2620使用計算好的索引函數(F),那麼該函數(F)可以提供存儲於存儲體B0內的子塊的數據條目的地址信息。類似地,存儲生成器2621使用計算好的索引函數(F),那麼該函數(F)可以提供存儲於存儲體B1內的子塊的數據條目的地址信息。類似地,存儲生成器2622使用計算好的索引函數(F),那麼該函數(F)可以提供存儲於存儲體B2內的子塊的數據條目的地址信息。類似地,存儲生成器2623使用計算好的索引函數(F),那麼該函數(F)可以提供存儲於存儲體B3內的子塊的數據條目的地址信息。在並行turbo解碼處理的交織(π)序相位中,地址是很簡單是順序地獲取,這樣非常簡單和快速。根據並行turbo解碼處理,基於索引函數(F),這樣使用存儲生成器計算地址可以改善很多解碼速度。根據預先地址生成,開始假設地址映射如下AI:X→π-1(x)mod(W)接著可能會出現是否可能對每一個存儲體計算它自身的地址序列而不是必須由處理器通過橫交換提供必要的地址的問題。如果使用以上假設的地址映射(AI:X→π-1(x)mod(W)),那麼這實際上是可以相對簡單地執行因此可以提高了一個簡單的多的實現。這裡給出通過計算索引函數(F)的新的的方式,在並行turbo解碼處理的交織序(π)的周期t,該索引函數(F)給出存儲體b內數據值的比特索引x。例如,以下索引函數(F)是為特定地址映射而計算的(AI:X→π-1(x)mod(W))。F(b,t)=x,這表示M(x)=b以及對於某個s,x=π(sW+t)。因為對於特定的地址映射(AI:X→π-1(x)mod(W))該索引函數F可以建立,因為對於特定的地址映射(AI:X→π-1(x)mod(W)),索引函數F(b,t)有特定的sW+t的形式。一般來說,一旦知道了x,那麼可以確定地址映射AI。因此,給出了一種新的的地址生成方法,這裡給出存儲映射到地址而不是根據如下解交織(π-1)序得出的AI:X→π-1(x)mod(W)需要注意的是該使用索引函數的預先地址生成可以應用於在特定應用中所需要的任何特定存儲映射(M)。對於一個例子,當考慮MOD映射(也就是MMOD)功能如下MMOD(i)=imodM,那麼索引函數如下IMOD(b,t)=(b-t)vW+t,其中vW≡1mod(M),其中有v是因為gcd(W,M)=1。該證明在以下給出MMOD(IMOD(b,t))=((b-t)vW+t)modMMMOD(IMOD(b,t))=((b-t)+t)modMMMOD(IMOD(b,t))=b對於另外一個例子,當考慮DIV映射(也就是MDIV)功能如下MDIV(i)=i/W,那麼索引函數如下IDIV(b,t)=bW+t該證明在以下給出MDIV(IDIV(b,t))=(bW+t)/WMDIV(IDIV(b,t))=b對於另外一個例子,當考慮ADD映射(也就是MADD)功能如下那麼索引函數如下其中g=gcd(W,M)以及v(W/g)≡1mod(q)。還需要注意到是有v是因為q=M/g通過如下q(W/g)≡0mod(M/g)(W/g)|q以及(W/g)W≡0modM(W/g)≥q。該證明在以下給出令b-t=mg+n其中0≤n<g。IADD(b,t)modM=((mvmodq)W+t)modM=(mg+t)modM因為vW≡gmod(M),由v(W/g)≡1mod(W/g)MADD(IADD(b,t))=(mg+t+n)modM=b-t+t=b。那樣,可以看出該新的地址函數,AI:X→π-1(x)mod(W),在並行解碼處理時,可以允許每一個存儲體計算各自的地址序列以執行適當的存儲體訪問從而提供其中特定的數據到特定處理器使用。該新的方法的某些優點,預先地址生成包括減少了周期時間。因為存儲體本身(或者連接到每一個存儲體的存儲生成器,或者一個集成的存儲生成器)自身可以生成地址而不需要等待處理器提供地址,並接著可以通過縱橫交換傳送到存儲體。另外,該新的地址函數AI:X→π-1(x)mod(W)允許在一個硬體中更小的面積上實現,因為這樣一個縱橫交換僅執行數據引導(steering)(也就是地址是由存儲生成器本地產生的)。這可以對比於縱橫交換的操作方式,縱橫交換需要在存儲體和處理器之間執行提供和連接地址和數據。而且,該新的地址函數AI:X→π-1(x)mod(W)在turbo解碼處理時允許更少的網絡擁塞,這是因為地址是由存儲生成器本地產生的而不是通過縱橫交換由處理器設置的。圖27示出了一個turbo解碼器的實施例2700,它使用2個獨立的SISO解碼器組和用於訪問存儲在多個存儲體內數據的預先地址生成。如其它實施例所示,給出了一個接收信號(例如,典型是來自通信信道的接收信號)到I,Q提取模塊2702,該模塊可以從所述接收信號2701中提取I,Q(同相和正交)分量。這可以看成是接收機的預處理,並且它可能包括任何適當的頻率轉換(典型地,如果需要從一個載波頻率下變頻處理)。I,Q接著可以根據調製的特定星座和映射關係而映射處理。接著該映射I,Q被送到度量生成器2704。該度量生成器2704產生適當的度量2705,它是在該調製的適當的星座和映射內測量所述接收I,Q分量到星座點距離而得到的;所述度量可以被該調製內的星座點的映射索引;這些度量可以看成是從實際接收符號位置到調製內的期望星座點位置之間歐式距離的縮放值。為了繼續turbo解碼處理和功能,所述由度量生成器2704產生的度量2705接著被送到預先地址生成模塊2707。開始,預先地址生成模塊2707可以分割該接收數據成多個子塊。每一個子塊包括相應的多個數據。每一個子塊的單個數據接著被存儲到多個存儲體2790中的一個存儲體內的存儲位置。該多個存儲體2790包括多個存儲體,如B02791所示,...,和Bn2792所示。基於每一個子塊的這些數據的位置,因為它們存儲於存儲體2790中,地址預先生成模塊2707也可以產生適當的索引函數(例如F),當執行turbo解碼處理(例如SISO0解碼操作)的自然序相位地時候,它可以用來為特定的每一個數據條目的地址訪問。這個索引函數接著可以被多個存儲生成器(例如,在其它實施例中所描述的)使用,那樣可以立刻產生適當的地址而不需要使用在並行turbo解碼處理中所使用的多個解碼處理器。該合適的地址接著被提供給第一個軟輸入/軟輸出(SISO)0解碼器陣列2710使用。該第一個SISO0解碼器陣列2710包括多個SISO0解碼器,如SISO02711,....和SISO02712等所示。在SISO0解碼器陣列2710中的每一個SISO解碼器可以對存儲於多個特定存儲體2790中的一個特定存儲位置的數據執行SISO解碼。之前計算得到的度量2705,也就是由度量生成器2704產生的度量也被提供到第二個SISO1解碼器陣列2730。SISO1解碼器陣列2730包括多個SISO1解碼器,如SISO12731,....和SISO12732等所示。在SISO1解碼器陣列2730中的每一個SISO解碼器可以對存儲於多個特定存儲體2790中的一個特定存儲位置的數據執行SISO解碼。在網格編碼技術中(例如,turbo碼網格編碼調製(TTCM)),第一個SISO0解碼器陣列2710和第二個SISO1解碼器陣列2730中的每一個計算前向度量(alphas)和反向度量(betas),和外信息值,這些是根據每一個相應存儲位置的每一個數據條目所使用的網格而得到的,這些值在特定的迭代過程中被更新。對於一個將要編碼的幀的每一個符號的這些alphas和betas以及外信息值都要計算。這些alphas和betas以及外信息值的計算都是基於網格的。從第一個SISO0解碼器陣列2710開始,在完成計算外信息值2711之後,它們被傳送到一個交織器(π)2720,在這之後它被傳送到第二個SISO1解碼器2730以作為「一個先驗概率」(app)信息2721。需要注意的是第二個SISO1陣列2730對存儲體2790中數據的訪問是順序地執行的,這是因為使用了符合turbo解碼處理(例如,SISO1解碼操作)的交織(π)序相位的索引函數(F)。類似地,在第二個SISO1解碼器陣列2730中完成外信息值的計算2731之後,它們被傳送到一個解交織器(π-1)2740,在這之後,作為「一個先驗概率」(app)信息2741,它被傳送到預先地址生成模塊2707,當執行turbo解碼處理(例如SISO0解碼處理)的自然序相位時,該模塊可以使用合適的索引函數(例如F)訪問每一個數據條目的地址。對於其它實施例中,當執行turbo解碼處理(例如SISO0解碼處理)的自然序相位時,對每一個數據條目的地址的訪問不是順序的;基於所使用的特定存儲映射以及交織(π),訪問每一個數據條目的地址是不同的順序的。應注意的在turbo解碼器2700的迭代解碼處理的一次解碼迭代包括執行2個SISO操作;也就是說,迭代解碼處理必須通過第一個SISO0解碼器陣列2710和第二個SISO1解碼器陣列2730。當達到了顯著標準置信度以及結果收斂之後,或者當執行了預先確定的迭代次數之後,接著由第二個SISO1解碼器陣列2730的輸出被傳送到一個輸出處理器2750。SISO0解碼器陣列2710和SISO1解碼器陣列2730的操作主要指的是計算包含於接收符合內的符號的軟符號判決。在一些實施例中,可以對一個真值(true)比特級執行這些軟符號判決。輸出處理器2750使用這些軟符號以產生信息比特的最優估計2751(例如,硬比特和/或符號判決),在源turbo編碼信號中,該信息比特編碼成turbo編碼信號(例如,主要在通信信道的另外一端的一個turbo編碼器位置,也就是信號2701開始啟動的位置)。還應注意的是在交織器(π)2720執行的每次交織可以利用ARP交織實施例執行,參考數字2791所示。而且,有一些實施例中在解交織器(π-1)2740中執行的解交織可以利用ARP解交織實施例執行。圖28示出了一個使用多個SISO解碼器和用來訪問存儲於多個存儲體的預先地址生成的turbo解碼器的一個實施例2800。如其它實施例中所示,給出了一個接收信號(例如典型地,由一個通信信道接收到的)到I,Q提取模塊2802,該模塊可以從所述接收信號2801中提取I,Q(同相和正交)分量。這可以看成是接收機的預處理,並且它可能包括任何適當的頻率轉換(典型地,如果需要從一個載波頻率下變頻處理)。I,Q接著可以根據調製的特定星座和映射關係而映射處理。接著該映射I,Q被送到度量生成器2804。該度量生成器2804產生適當的度量2805,它是在該調製的適當的星座和映射內測量所述接收I,Q分量到星座點距離而得到的;所述度量可以被該調製內的星座點的映射索引;這些度量可以看成是從實際接收符號位置到調製內的期望星座點位置之間歐式距離的縮放值。為了繼續turbo解碼處理和功能,所述由度量生成器2804產生的度量2805接著被送到預先地址生成模塊2807。開始,預先地址生成模塊2807可以分割該接收數據塊為多個子塊。每一個子塊包括相應的多個數據。每一個子塊的單個數據接著被存儲到多個存儲體2890中的一個存儲體內的一個存儲位置。該多個存儲體2890包括多個存儲體,如B02891所示,...,和Bn2892所示。基於每一個子塊的這些數據的位置,因為它們存儲於存儲體2890中,地址預先生成模塊2807也可以產生適當的索引函數(例如F),當執行turbo解碼處理(例如SISO0解碼操作)的自然序相位地時候,它可以用來訪問特定的每一個數據條目的地址。對於其它實施例中,當執行turbo解碼處理(例如SISO0解碼處理)的自然序相位時,對每一個數據條目的地址的訪問不是順序的;基於所使用的特定存儲映射以及交織(π),對每一個數據條目的地址的訪問是不同的順序。這個索引函數接著可以被多個存儲生成器(例如,在其它實施例中所描述的)使用,那樣可以立刻產生適當的地址而不需要使用在並行turbo解碼處理中所使用的多個解碼處理器。該合適的地址接著被提供給一個軟輸入/軟輸出(SISO)解碼器陣列2810使用,該解碼器陣列2810可以執行SISO0和SISO1解碼操作。該SISO解碼器陣列2810包括多個SISO0解碼器,如SISO02811,....和SISO02812等所示。在SISO0解碼器陣列2810中的每一個SISO解碼器可以對存儲於多個特定存儲體2890中的一個特定存儲位置的數據執行SISO解碼(SISO0和SISO1解碼操作都可以)。之前計算得到的度量2805,也就是由度量生成器2804產生的度量也被提供到SISO0解碼器陣列2810以執行初始化SISO1解碼操作,如參考數字2809所示。在網格編碼技術中(例如,turbo碼網格編碼調製(TTCM)),SISO0解碼器陣列2810中的每一個計算前向度量(alphas)和反向度量(betas),和外信息值(extrinsicvalue),這些是根據每一個相應存儲位置的每一個數據條目所使用的網格而得到的,這些值在特定的迭代過程中被更新。對於一個將要編碼的幀,需要計算每一個符號的這些alphas和betas以及外信息值。這些alphas和betas以及外信息值的計算都是基於網格的。從SISO0解碼器陣列2810執行第一次解碼操作(也就是SISO0)開始,在完成外信息值計算2811之後,它們被傳送到一個交織器(π)2820,在這之後它被傳回SISO0解碼器陣列2810以作為「一個先驗概率」(app)信息2821。需要注意的是,當執行SISO1解碼操作時,SISO0解碼器陣列2810對存儲體2890中的數據的訪問是順序地執行的,這是因為使用了符合turbo解碼處理(例如,SISO1解碼操作)的交織(π)序相位的索引函數(F)。類似地,在SISO0解碼器陣列2810中在完成外信息值計算2831之後(也就是在SISO1解碼操作中),它們被傳送到一個解交織器(π-1)2840,在這之後,作為「一個先驗概率」(app)信息2841,它被傳送到預先地址生成模塊2807,當執行turbo解碼處理(例如SISO0解碼處理)的自然序相位時,該模塊可以使用合適的索引函數(例如F)訪問每一個數據條目的地址。應注意的是一次解碼迭代,在turbo解碼器2800的迭代解碼處理包括執行2個SISO操作;也就是說,迭代解碼處理必須通過SISO解碼器陣列2810兩次。當達到了顯著標準置信度以及結果收斂之後,或者當執行了預先確定的迭代次數之後,接著由SISO0解碼器陣列2810的輸出(在執行完SISO1解碼操作之後)被傳送到一個輸出處理器2850。SISO0解碼器陣列2810的操作主要指的是計算包含於接收符合內的符號的軟符號判決。在一些實施例中,可以對一個真值(true)比特級執行這些軟符號判決。輸出處理器2850使用這些軟符號以產生信息比特的最優估計2851(例如,硬比特和/或符號判決),在源turbo編碼信號中,該信息比特編碼成turbo編碼信號(例如,主要在通信信道的另外一端的一個turbo編碼器位置,也就是信號2801開始啟動的位置)。還應注意的是在交織器(π)2820執行的每次交織可以利用ARP交織實施例執行,參考數字2891所示。而且,有一些實施例中在解交織器(π-1)2840中執行的解交織可以利用ARP解交織實施例執行。如其它實施例中所示,單個SISO解碼器陣列2810可以執行SISO0和SISO1解碼操作。還需要注意到是單個模塊可以被用來執行交織器(π)2820和解交織器(π-1)2840的功能。特別地,當所使用的交織器(π)具有ARP格式時,那麼一個解交織器(π-1)可以由也具有ARP格式的交織器(π)產生。在這樣的一個實施例中,單個模塊,軟體,硬體,和/或它們的組合可以被用來執行符合併行turbo解碼處理的交織(π)和解交織(π-1)操作。圖29示出了用於解碼turbo編碼信號的一種方法的一個實施例2900。如模塊2910所示,方法2900從通信信道中接收一個turbo編碼信號開始執行。方法2900繼續通過執行預處理以從該turbo編碼信號中提取一個編碼塊,如模塊2920所示。方法2900繼續通過分割編碼塊為多個子塊,如模塊2930所示。還需要注意的是每一個子塊自身包括多個數據。方法2900接著繼續通過存儲該多個子塊中的多個數據到多個存儲體,如模塊2940所示。方法2900繼續通過執行預先地址生成(例如,索引函數)以訪問存儲於多個存儲體中的多個子塊的多個數據,如模塊2950所示。方法2900繼續通過使用符合併行turbo解碼處理的多個解碼處理器turbo解碼該編碼模塊(也就是多個子塊中的每一個內的數據),如模塊2960所示。方法2900繼續通過產生對編碼成turbo編碼信號的信息比特的最優估計,如模塊2970所示。圖30示出了用於解碼turbo編碼信號的一種方法的一個替代實施例3000。開始,在一些實施例中,方法3000可以執行如圖29中的方法2900中的模塊2910,2920,2930,2940所描述的類似的操作。如模塊3010所示,方法3000通過執行預先地址生成(例如索引函數F)以訪問存儲於多個存儲體中的多個子塊的多個數據的方式操作。方法3000接著繼續通過使用符合併行turbo解碼處理的多個解碼處理器對編碼塊(也就是在多個子塊中的每一個子塊的數據)的第一次SISO解碼(例如,SISO0,自然序相位),因而可以產生第一次外信息,如模塊3020所示。方法3000接著繼續通過交織(π)第一次的外信息,因而產生第一次的先驗概率信息,如模塊3030所示。方法3000接著繼續通過使用符合併行turbo解碼處理的多個解碼處理器對編碼塊(也就是在多個子塊中的每一個子塊內的數據)第二次SISO解碼(例如,SISO1,交織序(π)相位),因而可以產生第二次外信息,如模塊3040所示。當在執行一次解碼操作,如參考數字3051所示,方法3000繼續通過解交織(π-1)第二次外信息因此產生第二次的先驗概率信息,如模塊3050所示。方法3000接著回到模塊3010以執行用於後續解碼迭代的預先地址生成。然而,當執行完最後一次迭代操作(例如,所有的SISO0和SISO1操作都執行完,以及特別地在一個最後SISO1解碼操作之後)如參考數字3401所示,接著方法3000繼續執行,它通過產生對編碼成turbo編碼信號的信息比特的最優估計,如模塊3060所示。本發明的以上描述還結合了示意出特定功能性能以及它們的關係的方法。這些功能構建塊和方法步驟的分界和順序,在這裡是為了方便描述而任意給出的。只要特定的功能和關係可以正確地執行,替換的分界和順序也是可以定義的。因為這樣的分界和順序也在權利要求的發明的範圍和精神實質之內。本發明的以上描述也結合了示意出特定重要功能的性能的功能構建模塊。這些功能構建塊的分界和順序在這裡是為了方便描述而任意給出的。只要特定重要功能可以正確地執行,替換的界和序號也是可以定義的。類似地,這裡的流程圖模塊也可以是任意定義以示出特定重要功能。為了擴大使用,流程圖模塊的分界和順序可以用其他的方式定義,而且仍可以執行特定重要的功能。因此,對於功能構建模塊和流程圖以及序號的這樣的替代定義是屬於本發明權利要求的範圍和精神實質之內。本領域內的普通技術人員也應該認識到這裡的這些功能構建模塊,和其它示出的框圖,模塊和部件可以用如圖所示的方式實現或者用分離部件,專集成電路,可執行特定軟體的處理器以及類似的或者這些方式的任意組合而實現。而且,儘管通過以上事實例詳細的描述是為了陳清和理解,本發明不局限於這些實施例。對於本領域內的普通技術人員,在本發明的精神實質和範圍內的多種改變和修改是可以實現的,而這些僅受限於附加權力要求的範圍。參考文獻C.Berrou,Y.Saouter,C.Douillard,S.Kerouédan,andM.Jézéquel,「Designinggoodpermutationsforturbocodestowardsasinglemodel,」2004IEEEInternationalConferenceonCommunication(ICC),Vol.1,pp341-345,20-24june2004.FranceTelecom,GET,「EnhancementofRel.6turboCode,」3GppTSGRANWG1#43,R1-051310,2005.Motorola,「Acontention-freeinterleaverdesignforLTEcodes,」3GPPTSGRANWG1#47.A.Nimbalker,T.E.Fuja,D.J.Costello,Jr.T.K.BlankenshipandB.Classon,「Contention-FreeInterleavers,」IEEEISIT2004,Chicago,USA,June27-July2,2004.說明相關專利的交叉引用/專利申請臨時優先權要求依據美國專利法35U.S.C§119(e),當前美國發明專利申請要求優先於以下美國臨時專利申請,這些專利申請在這裡可以作為整體可任意方式被參考引用以及作為當前美國發明專利的部分3.美國臨時專利申請號為60/850,492,題目為「Generalandalgebraic-constructedcontention-freememorymappingforparallelturbodecodingwithalgebraicinterleaveARP(almostregularpermutation)ofallpossiblesizes,」(代理案號NO.BP5774),申請日為2006年10月10日,未決;4.美國臨時專利申請號為60/872,367,題目為「TurbodecoderemployingARP(almostregularpermutation)interleaveandinversethereofasde-interleave,」(代理案號NO.BP5864),申請日為2006年12月1日,未決;5.美國臨時專利申請號為60/872,716,題目為「TurbodecoderemployingARP(almostregularpermutation)interleaveandarbitraynumberofdecodingprocessors,」(代理案號NO.BP5873),申請日為2006年12月4日,未決;6.美國臨時專利申請號為60/861,832,題目為「ReducedcomplexityARP(almostregularpermutation)interleavesprovidingflexiblegranularityandparallelismadaptabletoanypossibleturbocodeblocksize,」(代理案號NO.BP5874),申請日為2006年11月29日,未決;7.美國臨時專利申請號為60/879,301,題目為「Addressgenerationforcontention-freememorymappingofturbocodeswithARP(almostregularpermutation)interleaves,」(代理案號NO.BP5951),申請日為2007年1月8日,未決;整體引用以下美國臨時專利申請,這些專利申請在這裡可以作為整體可任意方式被參考引用以及作為當前美國發明專利的部分1.美國臨時專利申請號為11/704,068,題目為「Generalandalgebraic-constructedcontention-freememorymappingforparallelturbodecodingwithalgebraicinterleaveARP(almostregularpermutation)ofallpossiblesizes,」(代理案號NO.BP5774),申請日為2007年2月8日,未決;2.美國臨時專利申請號為11/657,819,題目為「TurbodecoderemployingARP(almostregularpermutation)interleaveandinversethereofasde-interleave,」(代理案號NO.BP5864),申請日為2007年1月25日,未決;3.美國臨時專利申請號為________,題目為「TurbodecoderemployingARP(almostregularpermutation)interleaveandarbitraynumberofdecodingprocessors,」(代理案號NO.BP5873),申請日為2007年6月7日,未決;4.美國臨時專利申請號為_______,題目為「ReducedcomplexityARP(almostregularpermutaion)interleavesprovidingflexiblegranularityandparallelismadaptabletoanypossibleturbocodeblocksize,」(代理案號NO.BP5874),申請日為2007年6月7日,未決;權利要求1.一種turbo解碼器,可以對turbo編碼信號執行並行解碼的,所述turbo解碼器包括多個turbo解碼器;和多個存儲器;以及其中所述多個turbo解碼器可以讀寫所述多個存儲器;以及在第一次解碼迭代中當執行自然序相位解碼處理時,所述多個turbo解碼器的每一個可以從所述多個存儲器中的一個相應的存儲器取出和處理來自於該存儲器的信息,相應的存儲器是基於多個turbo解碼器和多個存儲器之間的無競爭映射來確定,相應的存儲器中信息的第一個位置是基於索引函數的,該函數是基於該相應的存儲器的地址映射的;以及當執行交織序相位解碼處理時,所述多個turbo解碼器的每一個可以從所述多個存儲器中的第一個相應的存儲器中的第一個存儲位置取出和處理信息;在第二次解碼迭代中當執行自然序相位解碼處理時,所述多個turbo解碼器的每一個可以從所述多個存儲器中的一個相應的存儲器取出和處理相應的存儲器的信息,對應的存儲器是基於所述多個turbo解碼器和所述多個存儲器之間的無競爭映射來確定的,所述相應的存儲器中信息的第二位置是基於索引函數的,該函數是基於所述相應的存儲器的地址映射的;以及當執行交織序相位解碼處理時,所述多個turbo解碼器的每一個可以從所述多個存儲器中的第二個相應的存儲器中的第二個存儲位置取出和處理信息;以及所述多個turbo解碼器可以對至少一個編碼成turbo編碼信號的比特產生一個最優的估計。2.根據權利要求1所述的turbo解碼器,進一步包括一個預先地址模塊,它可以基於所述相應存儲器的地址映射而產生索引函數。3.根據權利要求1所述的turbo解碼器,進一步包括在迭代解碼處理所述turbo編碼信號時,一個可以在所述多個turbo解碼器和所述多個存儲器之間執行無競爭存儲映射的處理模塊。4.根據權利要求1所述的turbo解碼器,其中在產生所述turbo編碼信號的turbo編碼過程時,所述turbo編碼信號經過了近似正則置換(ARP)交織。5.根據權利要求1所述的turbo解碼器,其中當執行turbo解碼時,所述多個turbo解碼器中的一個可以對外信息執行近似正則置換(ARP)交織從而產生「一個先驗概率」(app)信息。6.根據權利要求1所述的turbo解碼器,其中所述多個turbo解碼器中的一個turbo解碼器包括一個預先地址模塊,它可以接收多個與所述turbo編碼信號相關的度量;存儲所述多個度量到一個相應的存儲器中;以及基於在所述相應的存儲器中的多個度量的地址映射而產生所述索引函數;第一個軟輸入/軟輸出(SISO)解碼器可以對所述多個度量執行SISO解碼從而計算第一個外信息;一個交織器模塊,它可以對所述第一個外信息執行交織從而產生第一個「先驗概率」(app)信息;和第二個SISO解碼器可以對所述第一個app信息執行SISO解碼從而產生第二個外信息;一個解交織器模塊,它可以對所述第二個外信息執行解交織從而產生第二個app信息;和一個輸出處理器,它可以處理由第二個SISO解碼器產生的最新外信息從而產生所述編碼成turbo編碼信號的信息比特的一個最優的估計。7.一種turbo解碼器,它可以對一個turbo編碼信號執行並行解碼,所述turbo解碼器包括多個turbo解碼器;多個存儲器;和一個預先地址模塊,它可以基於所述多個存儲器中的一個相應存儲器的地址映射產生一個索引函數;以及其中所述多個turbo解碼器可以讀寫所述多個存儲器;在第一次解碼迭代中當執行自然序相位解碼處理時,所述多個turbo解碼器中的每一個可以從所述多個存儲器中的一個相應的存儲器中取出和處理信息,對應的存儲器是基於所述多個turbo解碼器和所述多個存儲器之間的無競爭映射來確定的,所述相應的存儲器中信息的第二位置是基於索引函數的,該函數是基於所述相應的存儲器的地址映射的;和當執行交織序相位解碼處理時,所述多個turbo解碼器的每一個可以從所述多個存儲器中的第一個相應的存儲器中的第一個存儲位置取出和處理信息;在第二次解碼迭代中當執行自然序相位解碼處理時,所述多個turbo解碼器的每一個可以取出和處理來自於所述多個存儲器中的一個相應的存儲器的信息,對應的存儲器是基於所述多個turbo解碼器和所述多個存儲器之間的無競爭映射來確定的,所述相應的存儲器中信息的第二位置是基於索引函數的,該函數是基於所述相應的存儲器的地址映射的;和當執行交織序相位解碼處理時,所述多個turbo解碼器的每一個可以從所述多個存儲器中的第二個相應存儲器中的第二個存儲位置取出和處理信息;和所述多個turbo解碼器可以對至少一個編碼成turbo編碼信號的比特產生一個最優的估計。8.根據權利要求7所述的turbo解碼器,其中在產生所述turbo編碼信號的turbo編碼過程時,所述turbo編碼信號經過了近似正則置換(ARP)交織。當執行turbo解碼時,所述多個turbo解碼器中的一個可以對外信息執行近似正則置換(ARP)交織從而產生「一個先驗概率」(app)信息。9.一種用於解碼turbo編碼信號的方法,所述方法包括從一個通信信道中接收一個turbo編碼信號;執行預處理以從所述turbo編碼信號中提取一個編碼塊;分割所述編碼塊為多個子塊以使得所述多個子塊的每一個包括相應的多個數據;把所述多個子塊的第一個子塊的第一部分的多個數據存儲到多個存儲體的第一存儲體中;把所述多個子塊的第二個子塊的第二部分的多個數據存儲到多個存儲體的第二存儲體中;當執行自然序相位解碼處理所述turbo編碼信號時,執行預先地址生成,它包括確定用於訪問所述第一存儲體中的第一組數據的元素和訪問所述第二存儲體中的第二組數據的元素的一個索引函數;從所述第一存儲體中得到第一組多個數據的第一個定義索引的元素並對其執行turbo自然序解碼處理;從所述第二存儲體中得到第二組多個數據的第二個定義索引的元素並對其執行turbo自然序解碼處理;從所述第一存儲體中得到第一組多個數據的第一個元素並對其執行交織自然序相位解碼處理;從所述第二存儲體中得到第二組多個數據的第二個元素並對其執行交織自然序相位解碼處理;根據並行turbo解碼處理,使用多個解碼處理器turbo解碼所述編碼塊。對編碼成turbo編碼信號的信息比特產生最優的估計。10.根據權利要求9,進一步包括基於所述相應存儲器的地址映射而產生所述索引函數。全文摘要本發明公開使用了ARP(近似正則置換)交織的turbo碼的無競爭存儲映射的地址生成方法。給出了一種新的方法,通過所述方法並利用索引函數(F)的方式而採用預先地址生成,該索引函數是基於與解交織解碼處理(π-1)相應的地址映射(A)。依據並行turbo解碼處理,不是通過順序地獲取存儲體位置中的數據元素執行自然序相位解碼處理,而是基於turbo編碼中使用的映射和交織(π)的索引函數(F)獲取地址。換句話說,對於自然序相位解碼處理,從存儲體位置中訪問數據不是順序的。所述索引函數(F)也可以允許通過順序地訪問存儲體位置的數據元素的方式執行交織(π)序相位解碼處理。文檔編號H03M13/29GK101192837SQ20071019388公開日2008年6月4日申請日期2007年11月29日優先權日2006年11月29日發明者塔克·K·李,巴中·申申請人:美國博通公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀