国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于級(jí)聯(lián)碼解碼的高速模塊、裝置和方法

      文檔序號(hào):7536499閱讀:244來(lái)源:國(guó)知局
      專利名稱:用于級(jí)聯(lián)碼解碼的高速模塊、裝置和方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及對(duì)屬于一個(gè)或多個(gè)要被發(fā)送或被廣播的源數(shù)據(jù)序列的數(shù)字?jǐn)?shù)據(jù)進(jìn)行的編碼,尤其是存在各種信源噪聲情況下進(jìn)行這樣的編碼,并涉及對(duì)被傳送的編碼數(shù)據(jù)進(jìn)行的解碼。
      特別是本發(fā)明涉及特別被稱為“turbo碼”(注冊(cè)商標(biāo))的解碼技術(shù)的改進(jìn),尤其涉及級(jí)聯(lián)碼的迭代解碼操作。
      信息(數(shù)據(jù),圖像,語(yǔ)音等)的傳輸愈來(lái)愈依賴于數(shù)字傳輸技術(shù)。在源編碼方面已做了大量努力,以減小數(shù)字比特率,并同時(shí)保持高質(zhì)量。這些技術(shù)自然提出了增強(qiáng)對(duì)傳輸比特的保護(hù),以抵抗與傳輸相關(guān)的干擾這一要求。在這些傳輸系統(tǒng)中應(yīng)用有效的糾錯(cuò)碼已被證實(shí)是必需的。已經(jīng)提出了“turbo碼”技術(shù)特別用于上述目的。
      “turbo碼”的一般原理發(fā)表在法國(guó)專利No.FR-9105280中,其題目為“Procede do codage correcteur d’erreurs a au moins deux codagesconvolutifs systematiques paralleles”(“具有至少兩個(gè)并行的系統(tǒng)卷積編碼操作的糾錯(cuò)編碼方法”),還發(fā)表在C.Berrou,A.Glavieux和P.Thitimajshima所著“Near Shannon Limit error-correcting codingand decodingTurbo-codes”(“接近香農(nóng)極限的糾錯(cuò)編碼和解碼Turbo碼”)中,該論文發(fā)表在1993年5月IEEE國(guó)際通信會(huì)議上,ICC93,vol.2/3,1064至1071頁(yè)。相關(guān)現(xiàn)有技術(shù)發(fā)表在C.Berrou和A.Glavieux的論文“Near Optimum Error Correcting Coding andDecodingTurbo-codes”(“接近最佳的糾錯(cuò)編碼和解碼Turbo碼”)中(IEEE Transactions on Communications,Vol.44,No.10,1261-1271頁(yè),1996年10月)。
      該技術(shù)建議進(jìn)行“并行級(jí)聯(lián)”編碼,它依賴于應(yīng)用至少兩個(gè)基本的解碼器。這使得能利用來(lái)自兩個(gè)獨(dú)立的編碼器的兩個(gè)冗余符號(hào)。在兩個(gè)基本的編碼器之間應(yīng)用排列手段,使得這些基本碼器中的每一個(gè)所輸入的源數(shù)字?jǐn)?shù)據(jù)是相同的數(shù)據(jù),但對(duì)不同編碼器以不同的排序輸入。
      對(duì)這種技術(shù)的一個(gè)補(bǔ)充被用來(lái)獲得所謂的“分組turbo碼”或簡(jiǎn)寫為BTC。此補(bǔ)充技術(shù)適用于分組編碼(級(jí)聯(lián)碼)。上述改進(jìn)技術(shù)被描述在R.Pyndiah,A.Glavieux,A.Picart和S.Jacq的論文“Near optimumdecoding of Product code”(“乘積碼的準(zhǔn)最佳解碼”)中(IEEETransactions on commurnications,vol.46,No.8,1003-1010頁(yè),1998年8月),上述技術(shù)還被描述在專利FR-9313858“Procede pourtransmettre des bits dinformation en appliquant des codes en blocsconcatenes”(應(yīng)用級(jí)聯(lián)分組碼傳輸信息比特的方法)及O.Aitsab和R.Pyndiah的論文“Performance of Reed Solomon Block Turbo-code”(“里德-所羅門分組Turbo碼的實(shí)現(xiàn)”)(IEEE Globecom’96Conference,Vol.1/3,121-125頁(yè),倫敦,1996年11月)中。
      上述技術(shù)特別依賴于應(yīng)用P.Elias在其論文“Error-Free Coding”(“無(wú)差錯(cuò)編碼”)中提出的乘積碼,該論文發(fā)表于1954年9月“IRETransaction on Information Theory”(Vol.IT4,27-29頁(yè))中。乘積碼基于分組碼的串行級(jí)聯(lián)。乘積碼一直按照硬輸入和硬輸出算法進(jìn)行解碼,在其中一個(gè)基本的分組碼解碼器在輸入端接收比特并在輸出端給出比特。
      為了解碼分組“turbo碼”,提出應(yīng)用軟輸入和軟輸出解碼方法,在其中一個(gè)基本的分組碼解碼器在輸入端接收被加權(quán)為其似然函數(shù)的比特并在輸出端給出這些比特。
      當(dāng)數(shù)據(jù)編碼應(yīng)用于小規(guī)模的分組(例如小于100比特的分組)時(shí),或碼效率(即有用比特?cái)?shù)除以已編碼數(shù)據(jù)比特?cái)?shù),例如0.95)高,且要求誤碼率低的情況下,分組“turbo碼”是特別有吸引力。確實(shí),通常用作為給定信噪比的函數(shù)的殘留誤碼率進(jìn)行度量的編碼性能水平是編碼的最小漢明距離的函數(shù),它在分組“turbo碼”的情況下是很大的(9,16,24,36或更大)。
      對(duì)于需要更高的可靠性的數(shù)字通信系統(tǒng)而言不同的“turbo-解碼”技術(shù)愈來(lái)愈有意義。而且傳輸速率也在不斷提高。特別是光纖中傳輸信道的應(yīng)用使得比特率可達(dá)到千兆比特,甚至到兆兆比特范圍。
      在現(xiàn)有技術(shù)中對(duì)于分組“ turbo碼”有兩種不同類型的解碼器體系結(jié)構(gòu),它們分別基于—模塊結(jié)構(gòu);或—Von Neumann結(jié)構(gòu)在模塊結(jié)構(gòu)中,模塊或基本解碼器被級(jí)聯(lián),這些模塊中的每一個(gè)負(fù)責(zé)完成半次迭代。這種方法適用于解碼加權(quán)輸入和加權(quán)輸出的算法,因?yàn)樵谶@些算法中許多功能傳統(tǒng)上是按序?qū)崿F(xiàn)的,并且從而能簡(jiǎn)單地嵌入。
      該現(xiàn)有技術(shù)的主要缺點(diǎn)在于它引入較長(zhǎng)等待時(shí)間到數(shù)據(jù)處理中,等待時(shí)間是在輸入端的一段數(shù)據(jù)依次被置于輸出端之前解碼器輸出的樣值數(shù)。此等待時(shí)間隨模塊數(shù)量而增大。而且電路的空間要求本身也相對(duì)地大,且隨模塊數(shù)量增加。當(dāng)?shù)螖?shù)和/或編碼的長(zhǎng)度增大時(shí),等待時(shí)間和電路的空間要求參數(shù)構(gòu)成了主要缺陷。
      在Von Neumann結(jié)構(gòu)中,電路用單個(gè)存儲(chǔ)單元和單個(gè)處理單元實(shí)現(xiàn)所有各次迭代。一個(gè)基本解碼模塊在其自身環(huán)回。在此結(jié)構(gòu)中所需存儲(chǔ)器數(shù)量減小了。在存儲(chǔ)電路表面面積上獲得的好處是相當(dāng)可觀的,因?yàn)榇鎯?chǔ)電路表面面積與迭代次數(shù)無(wú)關(guān)。然而,這種結(jié)構(gòu)的主要缺點(diǎn)是它導(dǎo)致數(shù)據(jù)吞吐率的降低。
      本發(fā)明在其各方面被特別設(shè)計(jì)來(lái)克服現(xiàn)有技術(shù)的上述這些缺點(diǎn)。
      更具體地說(shuō),本發(fā)明的一個(gè)目的是提供一種解碼模塊、方法和裝置,它適于提供在誤碼率方面的高性能,且同時(shí)又限制處理操作(基本解碼)和存儲(chǔ)所需的電路的表面面積。
      本發(fā)明的另一個(gè)目的是提供一種解碼模塊、方法和裝置,在一給定的工作時(shí)鐘頻率下它能夠處理高的吞吐率。
      本發(fā)明的目的還在于減小在這種解碼模塊、方法和裝置中的解碼等待時(shí)間。
      這些目的以及將在下面提到的其它優(yōu)點(diǎn)是如此達(dá)到的至少一個(gè)用于對(duì)一個(gè)對(duì)應(yīng)至少兩個(gè)基本碼的級(jí)聯(lián)碼進(jìn)行解碼的模塊提供存儲(chǔ)裝置,在其中存儲(chǔ)要被解碼的數(shù)據(jù)樣值。按照本發(fā)明,該模塊包括至少兩個(gè)用于上述基本碼中至少一個(gè)的基本解碼器,與上述基本碼中的一個(gè)相聯(lián)系的所述基本解碼器并行地同時(shí)執(zhí)行對(duì)包含在存儲(chǔ)裝置中的不同碼字的處理。
      這樣,本發(fā)明提出了一種完全新穎的和創(chuàng)新的解碼方法,其中在一個(gè)模塊中解碼器的數(shù)量被加倍而不加倍存儲(chǔ)裝置的數(shù)量。這導(dǎo)致它相對(duì)于現(xiàn)有技術(shù)的優(yōu)點(diǎn),在現(xiàn)有技術(shù)中為了提高吞吐率自然地加倍存儲(chǔ)器和解碼器的數(shù)量,而存儲(chǔ)器在解碼器電路中占用最多的空間(例如,存儲(chǔ)器能占用電路總表面面積的80%)。
      本發(fā)明可有利地應(yīng)用于迭代解碼器尤其是“turbo-解碼器”。本發(fā)明能應(yīng)用于不同的解碼器結(jié)構(gòu),尤其是Von Neumann結(jié)構(gòu)(其中接收和/或數(shù)據(jù)處理存儲(chǔ)器以及處理單元被用于數(shù)次迭代,從而提供了電路表面面積上的經(jīng)濟(jì)性,但是在一給定的工作速度下限制了解碼速度)和模塊結(jié)構(gòu)(其中接收和/或數(shù)據(jù)處理存儲(chǔ)器以及處理單元被應(yīng)用來(lái)進(jìn)行單個(gè)半次迭代,從而提供了解碼速度上的好處,但是有可觀的解碼等待時(shí)間),這些結(jié)構(gòu)將在后面進(jìn)一步詳細(xì)說(shuō)明。
      一般,本發(fā)明的價(jià)值在于提供解碼速度上的好處(特別是當(dāng)本發(fā)明用于Von Neumann結(jié)構(gòu)時(shí),Von Neumann結(jié)構(gòu)的主要問(wèn)題是速度)和/或解碼等待時(shí)間上的好處(主要是當(dāng)本發(fā)明用于模塊結(jié)構(gòu)時(shí)),同時(shí)保持相對(duì)小的電路表面面積。
      所以,本發(fā)明可用于獲得高的數(shù)據(jù)傳輸率。
      按照一個(gè)有利的特征,存儲(chǔ)上述要被解碼的數(shù)據(jù)的存儲(chǔ)裝置被組織成矩陣形式,該矩陣有n1行,每一行包含一個(gè)基本碼字,矩陣有n2列,每一列包含一個(gè)基本碼字,解碼模塊包括n1個(gè)(和對(duì)應(yīng)地n2個(gè))基本解碼器,其每一個(gè)由矩陣行(和對(duì)應(yīng)地列)中的一個(gè)饋給。
      換言之,本發(fā)明可有利地用于串行級(jí)聯(lián)碼。
      按照本發(fā)明另一特征,存儲(chǔ)裝置被組織成矩陣形式,矩陣有包含k1行在內(nèi)的n1行,k1行中每一行包含一個(gè)基本碼字,矩陣有包含k2列在內(nèi)的n2列,k2列中每一列包含一個(gè)基本碼字,解碼模塊的特征在于它包括k1個(gè)(和對(duì)應(yīng)地k2個(gè))基本解碼器,其每一個(gè)由矩陣行(和對(duì)應(yīng)地列)中的一個(gè)饋給。
      所以本發(fā)明可有利地用于并行級(jí)聯(lián)碼。
      本發(fā)明還使對(duì)應(yīng)于所用編碼的矩陣的多行(和對(duì)應(yīng)地多列)的并行解碼成為可能,從而提高了解碼速度或降低了等待時(shí)間,同時(shí)保持相對(duì)小的電路表面面積,相比數(shù)據(jù)接收和處理存儲(chǔ)器所需的表面面積而言,基本解碼器通常需要一個(gè)小的表面面積(或者一般講,少量的晶體管)。
      按照本發(fā)明一個(gè)優(yōu)選的特征,存儲(chǔ)裝置被組織成能夠同時(shí)存取至少兩個(gè)基本碼字。
      所以,對(duì)應(yīng)于至少兩個(gè)碼字的數(shù)據(jù)能并行地在基本解碼操作期間被處理,從而能獲得速度上的好處和/或減小等待時(shí)間。
      有利地,存儲(chǔ)裝置是單端口RAM類型的。
      所以,本發(fā)明能夠應(yīng)用現(xiàn)有的存儲(chǔ)器,它不提供存取在兩個(gè)不同的地址上被存儲(chǔ)的數(shù)據(jù)的能力,并且它不必需應(yīng)用多端口存儲(chǔ)器(即使不禁止應(yīng)用它)。
      存儲(chǔ)裝置最好組織成多個(gè)艙室(compartment),每個(gè)艙室具有單個(gè)地址,并且每個(gè)艙室包含一個(gè)基本碼的至少兩段基本數(shù)據(jù)。
      所以,本發(fā)明使得存取包含至少兩段基本數(shù)據(jù)(一般是二進(jìn)制數(shù)據(jù),它可以是加權(quán)的,也可以是不加權(quán)的)的單個(gè)存儲(chǔ)艙室成為可能,這些數(shù)據(jù)可能同時(shí)被至少兩個(gè)基本解碼器所應(yīng)用。這就提供了對(duì)內(nèi)容相互獨(dú)立的數(shù)據(jù)的同時(shí)存取,并從而限制了存儲(chǔ)電路的工作效率(因此限制了其能耗),同時(shí)有相對(duì)高的整體解碼速度。
      按照本發(fā)明的一個(gè)有利的特征,解碼模塊可同時(shí)存取m個(gè)基本碼字和l個(gè)基本碼字,m>1和/或l>1,可同時(shí)饋送給至少兩個(gè)基本解碼器。
      所以本發(fā)明可具有最大限度的優(yōu)點(diǎn),它來(lái)自于將基本碼進(jìn)行劃分,同時(shí)提供與每個(gè)基本碼相關(guān)的一個(gè)基本解碼器。所以本發(fā)明使解碼速度和/或等待時(shí)間達(dá)到最優(yōu)。
      按照本發(fā)明的一個(gè)特征,可同時(shí)存取對(duì)應(yīng)于具有n1行和n2列的初始矩陣的相鄰數(shù)行和/或相鄰數(shù)列的碼字,相鄰數(shù)行和/或相鄰數(shù)列中的每一個(gè)包含一個(gè)基本碼字。
      按照一個(gè)具體的實(shí)施形式,多個(gè)基本碼是相同的C碼。
      所以,當(dāng)基本碼相同時(shí)本發(fā)明使解碼速度和/或等待時(shí)間達(dá)到最優(yōu)。
      有利地,解碼模塊被設(shè)計(jì)成實(shí)現(xiàn)至少兩個(gè)基本的解碼操作。
      按照第一種實(shí)施形式,級(jí)聯(lián)碼是一個(gè)串行級(jí)聯(lián)碼。
      按照第二種實(shí)施形式,級(jí)聯(lián)碼是一個(gè)并行級(jí)聯(lián)碼。
      所以,本發(fā)明可同樣好地應(yīng)用于級(jí)聯(lián)碼的這兩種主要類型。
      本發(fā)明還涉及對(duì)一個(gè)級(jí)聯(lián)碼進(jìn)行解碼的裝置,它配置有至少兩個(gè)上面所述的模塊,每一個(gè)模塊實(shí)現(xiàn)一個(gè)基本的解碼操作。
      本發(fā)明也涉及對(duì)一個(gè)級(jí)聯(lián)碼進(jìn)行解碼的方法,該級(jí)聯(lián)碼對(duì)應(yīng)于兩個(gè)基本碼,并且解碼包含至少兩個(gè)同時(shí)的進(jìn)行上述基本碼中至少一個(gè)的基本解碼的步驟,所述基本碼來(lái)自同一個(gè)存儲(chǔ)裝置。
      按照一個(gè)有利的特征,解碼方法的特征在于存儲(chǔ)裝置被組織成對(duì)一個(gè)存儲(chǔ)裝置地址的單次訪問(wèn)實(shí)現(xiàn)對(duì)至少兩個(gè)基本碼字的存取,從而同時(shí)提供至少兩個(gè)基本解碼步驟。
      按照一個(gè)具體的實(shí)施形式,解碼方法是迭代的。
      最好至少某些被處理的數(shù)據(jù)被加權(quán)。
      所以,本發(fā)明有利地應(yīng)用于“turbo碼”的情形,它特別提供了解碼后在殘留誤碼率方面的高性能。
      解碼裝置和方法的優(yōu)點(diǎn)相同于解碼模塊的優(yōu)點(diǎn),因此不再詳細(xì)說(shuō)明。
      下面說(shuō)明結(jié)合附圖給出的優(yōu)選實(shí)施例,它們以簡(jiǎn)化形式示出,但沒(méi)有局限性,由以下說(shuō)明可更清楚地看出本發(fā)明的其它特性和優(yōu)點(diǎn)。附圖中—

      圖1示出按照本發(fā)明一個(gè)具體實(shí)施形式表示一個(gè)乘積碼字或分組“turbo碼”的矩陣結(jié)構(gòu);—圖2是按照現(xiàn)有技術(shù)解碼一個(gè)分組“turbo碼”的方框—圖3是按照現(xiàn)有技術(shù)實(shí)現(xiàn)“turbo解碼”的半次迭代的處理單元的方框圖;—圖4是按照現(xiàn)有技術(shù)實(shí)現(xiàn)“turbo解碼”的半次迭代的處理單元的方框圖;—圖5是按照現(xiàn)有技術(shù)的模塊結(jié)構(gòu)中一個(gè)turbo解碼器模塊的方框圖;—圖6是按照現(xiàn)有技術(shù)的模塊結(jié)構(gòu)中一個(gè)turbo解碼器模塊的方框圖,它示出存儲(chǔ)器的結(jié)構(gòu);—圖7是按照現(xiàn)有技術(shù)的Von Neumann結(jié)構(gòu)中一個(gè)turbo解碼器模塊的方框圖,它示出存儲(chǔ)器的結(jié)構(gòu);—圖8是按照本發(fā)明第一種實(shí)施形式,適應(yīng)高吞吐率、采用解碼器并聯(lián)的解碼器方框圖;—圖9是按照本發(fā)明第二種實(shí)施形式的一個(gè)存儲(chǔ)器艙室的示意圖;—圖10是按照本發(fā)明一個(gè)變型實(shí)施形式的一個(gè)存儲(chǔ)器艙室及其分配給處理單元的示意圖;—圖11是按照本發(fā)明另一種實(shí)施形式的一個(gè)turbo解碼器的方框圖。
      本發(fā)明的基本原理在于用在級(jí)聯(lián)碼解碼,尤其是這些編碼的解碼操作中的存儲(chǔ)器的具體結(jié)構(gòu)。
      首先回顧一下,一個(gè)串行級(jí)聯(lián)碼通??杀硎緸橐粋€(gè)2維的二進(jìn)制矩陣[C]的形式,如圖1所示。此矩陣[C]有n1行和n2列,并且—二進(jìn)制信息樣值被一個(gè)子矩陣10[M]表示,它具有k1行和k2列;—矩陣[M]的k1行中的每一個(gè)被一個(gè)基本碼C2(n2,k2,δ2)編碼(冗余由一個(gè)行冗子矩陣11表示);—矩陣[M]和行冗余子矩陣的n2列中的每一個(gè)由一個(gè)基本碼C1(n1,k1,δ1)編碼(對(duì)應(yīng)于二進(jìn)制信息樣值的冗余由列冗余子矩陣12表示;對(duì)應(yīng)于子矩陣11行冗余的冗余由冗余子矩陣13表示)。
      如果編碼C1是線性的,由C1建立的(n1-k1)行是編碼C2的字,從而可以像前k1行一樣被解碼。一個(gè)串聯(lián)級(jí)聯(lián)碼由n1個(gè)沿著行的C2碼字和n2個(gè)沿著列的C1碼字表征。編碼C1和C2可以由用作分組碼的卷積基本碼或線性分組碼得到。
      級(jí)聯(lián)碼被迭代編碼,首先對(duì)沿著行的每個(gè)基本碼進(jìn)行解碼,然后對(duì)沿著列的每個(gè)基本碼進(jìn)行解碼。
      按照本發(fā)明,為提高解碼比特率,多個(gè)基本解碼器被并聯(lián);—為解碼n1行,m1個(gè)(2≤m1≤n1)編碼C2的基本解碼器被應(yīng)用,并且/或者—為解碼n2行,m2個(gè)(2≤m2≤n2)編碼C1的基本解碼器被應(yīng)用。
      每個(gè)基本解碼器有來(lái)自一個(gè)接收和/或處理存儲(chǔ)器的輸入數(shù)據(jù),并且給出輸出數(shù)據(jù),保存在一個(gè)接收和/或處理存儲(chǔ)器中。為了進(jìn)一步提高解碼吞吐率并保持仍然合理的電路時(shí)鐘頻率,在解碼器輸入端或輸出端的數(shù)段數(shù)據(jù)被收集在單個(gè)存儲(chǔ)器艙室中。因而,通過(guò)將例如4段基本數(shù)據(jù)(每段基本數(shù)據(jù)對(duì)應(yīng)于一段二進(jìn)制數(shù)據(jù),它可以是加權(quán)的,也可以是不加權(quán)的)集合在單個(gè)存儲(chǔ)器艙室中,并通過(guò)在解碼器輸入端(和對(duì)應(yīng)地輸出端)或存儲(chǔ)器的輸出端(和對(duì)應(yīng)地輸入端)去復(fù)用(和對(duì)應(yīng)地復(fù)用)這些數(shù)據(jù)段,對(duì)于一給定的電路時(shí)鐘頻率,在存儲(chǔ)器輸入端和輸出端的數(shù)據(jù)比特率變?yōu)樵瓉?lái)的4倍,從而取得解碼速度的總體提高和/或降低等待時(shí)間。
      本發(fā)明可以同樣的方法應(yīng)用于并行級(jí)聯(lián)碼?;仡櫼幌拢粋€(gè)并行級(jí)聯(lián)碼通??杀硎緸橐粋€(gè)二維的二進(jìn)制矩陣[C],如圖1所示。該矩陣[C]有n1行和n2列,并且—二進(jìn)制信息樣值由一個(gè)子矩陣10[M]表示,它具有k1行和k2列;—矩陣[M]的k1行中的每一個(gè)被一個(gè)基本碼C2(n2,k2,δ2)編碼(冗余由一個(gè)行冗子矩陣11表示);—矩陣[M]的k2列中的每一個(gè)被一個(gè)基本碼C1(n1,k1,δ1)編碼(對(duì)應(yīng)于二進(jìn)制信息樣值的冗余由列冗余子矩陣12表示;在并行級(jí)聯(lián)碼情況下不存在冗余的冗余)。
      對(duì)應(yīng)于圖1所示矩陣C的一個(gè)編碼的“trubo-解碼”在于按照?qǐng)D2所示迭代過(guò)程在矩陣C的所有行上實(shí)現(xiàn)一個(gè)加權(quán)輸入和加權(quán)-輸出解碼,然后對(duì)矩陣C的所有列實(shí)現(xiàn)上述解碼。
      在接收被處理數(shù)據(jù)21后,預(yù)定數(shù)量(Nb_Iter_Max)的以下操作被實(shí)現(xiàn)—列的解碼22(半次迭代);—矩陣的重構(gòu)23;—行的解碼24(半次迭代);—矩陣的重構(gòu)25。
      這些操作被重復(fù),只要迭代次數(shù)I—每次迭代后它增大1(26)—小于Nb_Iter_Max(27)。事先必需將數(shù)I初始化為零(28)。
      以Dk表示的已解碼數(shù)據(jù)然后被處理(29)。
      一般,由一個(gè)半次迭代22、25到另一個(gè)半次迭代時(shí)交換的信息由圖3確定。
      Rk對(duì)應(yīng)于從信道接收到的信息,R′k對(duì)應(yīng)于從先前半次迭代來(lái)的信息,而R′k+對(duì)應(yīng)于給到下一個(gè)半次迭代的信息。所以每個(gè)半次迭代的輸出等于Rk和附帶信息Wk與一反饋或收斂系數(shù)alpha的乘積(31)之和36。該附帶信息對(duì)應(yīng)于解碼器32的貢獻(xiàn)。它通過(guò)計(jì)算解碼器的加權(quán)輸出Fk與同一解碼器的計(jì)僅輸入之差值33而獲得。
      時(shí)間限定34和35用于補(bǔ)償解碼器32的等待時(shí)間。
      下面,加權(quán)-輸入和加權(quán)-輸出解碼器將被視為一個(gè)方框,它有Rk和R′k(q比特取樣)作為輸入,在輸出端以某個(gè)等待時(shí)間L(完成解碼算法所需時(shí)延)給出R′k+和Rk+。它被稱作一個(gè)處理單元(PU)30。
      解碼器32還給出一個(gè)二進(jìn)制判決Dk,在一個(gè)“turbo-解碼”操作的最后半次迭代時(shí)它被應(yīng)用,它對(duì)應(yīng)于在圖2所示操作29中送出的已解碼數(shù)據(jù)。
      如果我們考慮圖3方框圖的另一類型,R′k可用附帶信息Wk代替,它變成處理單元40的輸入-輸出,R′k仍被用作解碼器32的一個(gè)輸入,它是一個(gè)內(nèi)部變量。這種變型如圖4所示。
      如前所述,“turbo-解碼”算法的功能分析被用于認(rèn)定一個(gè)乘積碼“turbo-解碼器”電路的兩種可能結(jié)構(gòu)(一種結(jié)構(gòu)是模塊結(jié)構(gòu),另一種結(jié)構(gòu)類似于被稱作Von Neumann機(jī)的機(jī)器)?,F(xiàn)在更詳細(xì)地說(shuō)明這兩種結(jié)構(gòu)。
      A)模塊結(jié)構(gòu)由算法的工作流程,一個(gè)模塊結(jié)構(gòu)可被設(shè)想用于“turbo-解碼器”,其中每個(gè)子電路實(shí)現(xiàn)一個(gè)解碼半次迭代(即數(shù)據(jù)矩陣[R]和[W]或[R′]的行和列的解碼)。存儲(chǔ)[R]和[W](或[R′],依賴于方框圖選擇處理單元30還是40)是必要的。
      于是整個(gè)電路通過(guò)級(jí)聯(lián)同樣的圖5所示模塊構(gòu)成。例如對(duì)于4次迭代,電路用8個(gè)模塊,或基本解碼器。
      在模塊結(jié)構(gòu)中,數(shù)據(jù)被順序處理(樣值接著樣值)。這種處理很適合于加權(quán)-輸入和加權(quán)-輸出解碼算法,因?yàn)樵谶@些算法中許多功能傳統(tǒng)上順序進(jìn)行,從而簡(jiǎn)單地被嵌入。
      每個(gè)模塊引入(n1n2+L)個(gè)樣值的等待時(shí)間。此等待時(shí)間是一段出現(xiàn)在輸入端的數(shù)據(jù)依次被放在輸出端之前解碼器輸出的樣值數(shù)。在此表達(dá)式中前n1n2個(gè)樣值對(duì)應(yīng)于一個(gè)數(shù)據(jù)矩陣的填充時(shí)間,后L個(gè)樣值對(duì)應(yīng)于該矩陣的一行(或一列)完全解碼的時(shí)間。
      b)Von Neumann結(jié)構(gòu)第二種結(jié)構(gòu)可類似一個(gè)Von Neumann順序機(jī)。它用同一個(gè)處理單元實(shí)現(xiàn)數(shù)次迭代。與上一種結(jié)構(gòu)相比,此結(jié)構(gòu)主要目的是減小“turbo-解碼器”的空間要求。此結(jié)構(gòu)還具有以下優(yōu)點(diǎn)限制電路所引入的總等待時(shí)間為2n1n2個(gè)樣值的最大值,而與實(shí)現(xiàn)的迭代次數(shù)無(wú)關(guān)(n1n2對(duì)應(yīng)于填充一個(gè)矩陣的時(shí)間,另外n1n2個(gè)樣值對(duì)應(yīng)于解碼時(shí)間)。
      每個(gè)樣值順序地被處理,并且必須在一個(gè)時(shí)間中被解碼,此時(shí)間不超過(guò)數(shù)據(jù)吞吐率與實(shí)現(xiàn)的半次迭代次數(shù)的乘積的倒數(shù)。所以,對(duì)于4次迭代,數(shù)據(jù)吞吐率只能是比數(shù)據(jù)吞吐率至少低8倍。這意味著在模塊結(jié)構(gòu)和Von Neumann結(jié)構(gòu)之間,最大數(shù)據(jù)吞吐率被一個(gè)因子除,此因子至少等于所用半次迭代的次數(shù)。對(duì)于Von Neumann結(jié)構(gòu),等待時(shí)間較低(最大2n1n2個(gè)樣值,相應(yīng)模塊結(jié)構(gòu)為(n1n2+L)·it,it是半次迭代的次數(shù)),而對(duì)于相同的數(shù)據(jù)處理速度,其數(shù)據(jù)吞吐率較低。
      能集成在電路中的最大迭代次數(shù)受獲得的比特率和由所用工藝決定的最高操作頻率的限制。
      現(xiàn)在將對(duì)這兩種結(jié)構(gòu)說(shuō)明有關(guān)存儲(chǔ)器的問(wèn)題。在任何情況下,電路的空間要求主要是緣于所用存儲(chǔ)器的大小和數(shù)量。與所選擇的結(jié)構(gòu)無(wú)關(guān),實(shí)際上必需對(duì)半次迭代進(jìn)行的整個(gè)時(shí)間寬度存儲(chǔ)矩陣[R]和[W](或[R′])(一個(gè)半次迭代對(duì)應(yīng)于一個(gè)數(shù)據(jù)矩陣的行或列的解碼)。行中數(shù)據(jù)的處理和接著列中數(shù)據(jù)的處理使得有必要提供第一個(gè)存儲(chǔ)器來(lái)接收數(shù)據(jù)和第二個(gè)存儲(chǔ)器來(lái)處理數(shù)據(jù)。這兩個(gè)存儲(chǔ)器交替地工作在寫和讀方式下,并且自動(dòng)管理其順序。每個(gè)存儲(chǔ)器組織成一個(gè)矩陣,并且對(duì)于長(zhǎng)度n1n2的一個(gè)編碼和q比特量化的數(shù)據(jù),每個(gè)矩陣由q·n1n2比特的存儲(chǔ)器陣列構(gòu)成。
      a)模塊結(jié)構(gòu)在模塊結(jié)構(gòu)情況下,實(shí)現(xiàn)一個(gè)半次迭代的電路的一般結(jié)構(gòu)如圖5和圖6所示。
      圖5中所示模塊50包含一個(gè)處理單元40(如圖4所示)和4個(gè)存儲(chǔ)器;—一個(gè)含有數(shù)據(jù)[R]的存儲(chǔ)器51;—一個(gè)含有數(shù)據(jù)[R]的處理存儲(chǔ)器52;—一個(gè)含有數(shù)據(jù)[W](或[R′],依賴于處理單元)的存儲(chǔ)器53;以及—一個(gè)含有數(shù)據(jù)[W](或[R′])的處理存儲(chǔ)器54;抵達(dá)存儲(chǔ)器模塊50的以q比特編碼的數(shù)據(jù)[R]571(和對(duì)應(yīng)地[W]572)沿著工作在寫方式下的接收存儲(chǔ)器51(和對(duì)應(yīng)地53)的行被安置,在存儲(chǔ)器51(和對(duì)應(yīng)地53)輸入端的邏輯開關(guān)551(和對(duì)應(yīng)地55a)閉合(例如以在工作期間使能存儲(chǔ)器51(和對(duì)應(yīng)地53)的選擇的一個(gè)尋址比特的形式實(shí)現(xiàn)),而在存儲(chǔ)器52(和對(duì)應(yīng)地54)的輸入端的開關(guān)561(和對(duì)應(yīng)地563)打開。在第一個(gè)模塊輸入端的數(shù)據(jù)[R]直接來(lái)自傳輸信道,而后面每一個(gè)模塊的數(shù)據(jù)[R]來(lái)自前一模塊的輸出[R]591。第一個(gè)模塊輸入端的數(shù)據(jù)[W]是零,而后面每一個(gè)模塊的數(shù)據(jù)[W]來(lái)自前一模塊的輸出[W]592。
      并行地,以前已接收到的矩陣數(shù)據(jù)沿著工作在讀方式下的處理存儲(chǔ)器52和54的列被讀取,存儲(chǔ)器52(和對(duì)應(yīng)地54)輸出端的邏輯開關(guān)552(和對(duì)應(yīng)地554)閉合(例如以在讀工作期間使能存儲(chǔ)器52(和對(duì)應(yīng)地54)的選擇的一個(gè)尋址比特的形式實(shí)現(xiàn)),而在存儲(chǔ)器51(和對(duì)應(yīng)地53)輸出端的開關(guān)562(和對(duì)應(yīng)地564)打開。
      一旦接收存儲(chǔ)器被填滿,處理存儲(chǔ)器進(jìn)入寫方式(換言之,存儲(chǔ)器51與52(對(duì)應(yīng)地53與54)交換角色,且邏輯開關(guān)551,552,561,562(以及對(duì)應(yīng)地553,554,563,564)“改變位置”,以存儲(chǔ)對(duì)應(yīng)于下一碼字的數(shù)據(jù)。通過(guò)級(jí)聯(lián)兩個(gè)模塊,一個(gè)模塊對(duì)一個(gè)編碼矩陣的列進(jìn)行解碼,而另一個(gè)模塊則對(duì)矩陣的行進(jìn)行解碼,從而實(shí)現(xiàn)一個(gè)整次迭代。
      所用的存儲(chǔ)器51,52,53和54可毫無(wú)困難地用傳統(tǒng)的可行-尋址和列-尋址的,單端口RAM(隨機(jī)存取存儲(chǔ)器)設(shè)計(jì)。其它器件(例如用移位寄存器)也可以被考慮,但是它們占用更大的空間。
      應(yīng)注意,如圖5所示數(shù)據(jù)總線上交換的數(shù)據(jù)是q比特編碼的,在圖6所示變型中,數(shù)據(jù)以2q比特編碼,每個(gè)數(shù)據(jù)包含對(duì)應(yīng)于一段數(shù)據(jù)[R]的q比特和對(duì)應(yīng)于一段數(shù)據(jù)[W](或[R′])的q比特。
      圖6所示模塊60可以完成一個(gè)解碼的半次迭代,該模塊包括一個(gè)處理單元40(如參考圖4所說(shuō)明的)和兩個(gè)存儲(chǔ)器。
      —一個(gè)儲(chǔ)放或接收存儲(chǔ)器62,它包含數(shù)據(jù)[R]和[W](或[R′],如果處理單元像圖3所示的單元30的話);以及—一個(gè)處理存儲(chǔ)器63,它包含數(shù)據(jù)[R]和[W](或[R′])。
      抵達(dá)解碼器模塊的以2q比特編碼的數(shù)據(jù)61沿著工作在寫方式下的接收存儲(chǔ)器62的行依次被放置。并行地,以前接收到的矩陣數(shù)據(jù)沿著工作在讀方式下的處理存儲(chǔ)器62的列被讀出。一旦接收存儲(chǔ)器62被填滿,處理存儲(chǔ)器進(jìn)入寫方式,以存儲(chǔ)對(duì)應(yīng)于下一碼字的數(shù)據(jù)。通過(guò)級(jí)聯(lián)兩個(gè)模塊,實(shí)現(xiàn)一個(gè)完整的迭代,其中一個(gè)模塊進(jìn)行一個(gè)編碼矩陣的列的解碼,而另一模塊用于矩陣的行的解碼。
      所用的存儲(chǔ)器62、63可毫無(wú)困難地用傳統(tǒng)的,可行-一尋址和列-尋址的,單端口RAM(隨機(jī)存取存儲(chǔ)器)設(shè)計(jì),其它器件(例如用移位寄存器)也可以被考慮,但是它們占用更大的空間。
      從實(shí)際觀點(diǎn)看,模塊方法具有高工作頻率和在應(yīng)用中非常靈活的優(yōu)點(diǎn)。作為一種折衷,整個(gè)模塊的級(jí)聯(lián)連接導(dǎo)致等待時(shí)間的增加和電路所占空間大小的增加。當(dāng)?shù)螖?shù)和/或編碼長(zhǎng)度增加時(shí)這些參數(shù)將構(gòu)成基本的缺陷。
      b)被稱作業(yè)Von Neumann結(jié)構(gòu)的結(jié)構(gòu)現(xiàn)在圖7示出用4個(gè)存儲(chǔ)單元70、71、72和73實(shí)現(xiàn)數(shù)次迭代的電路。解碼模塊反饋到自身構(gòu)成環(huán)路。在此結(jié)構(gòu)中,總電路只有4個(gè)存儲(chǔ)器70,71、72和73,而與實(shí)現(xiàn)的迭代次數(shù)無(wú)關(guān)。然而這些存儲(chǔ)器70、71、72和73應(yīng)能按行,也能按列讀和寫。
      存儲(chǔ)器70、71、72和73是傳統(tǒng)的單端口RAM,在其中可以讀和寫由共地址所確定的一段數(shù)據(jù)。因?yàn)槊總€(gè)樣值是直接存取的,矩陣可沿其行解碼,也可沿其列解碼。存儲(chǔ)器類似于模塊結(jié)構(gòu)中所選用的存儲(chǔ)器。然而,因?yàn)檎麄€(gè)電路只有4個(gè)存儲(chǔ)器,在表面面積上的好處是可觀的(對(duì)4交迭代為80%)。然而必需指出,表面面積的這種減小的獲得,對(duì)于相同的電路工作速度而言,是以降低數(shù)據(jù)吞吐率為代價(jià)的(對(duì)于it/2次迭代吞吐率至少被it除;必要的是在計(jì)算等待時(shí)間時(shí)考慮每個(gè)基本的解碼)。q比特編碼的數(shù)據(jù)[R]76(和對(duì)應(yīng)地[W]75)沿著工作在寫方式下的接收存儲(chǔ)器70(和對(duì)應(yīng)地72)的行依次被放置,邏輯開關(guān)771(和對(duì)應(yīng)地781)將數(shù)據(jù)送給存儲(chǔ)器70(和對(duì)應(yīng)地72)(例如以在寫方式下使能存儲(chǔ)器70(和對(duì)應(yīng)地72)的選擇的一個(gè)尋址比特的形式實(shí)現(xiàn))。輸入數(shù)據(jù)[R]76直接來(lái)自傳輸信道。輸入數(shù)據(jù)[W]在第一個(gè)半次迭代時(shí)為零,而在以后各個(gè)半次迭代中數(shù)據(jù)[W]來(lái)自前一個(gè)半次迭代的輸出[W]75。
      并行地,前面接收到的數(shù)據(jù)[R]沿著工作在讀方式下的處理存儲(chǔ)器71的列被讀取。在存儲(chǔ)器71和70的輸出端的邏輯開關(guān)772使能處于讀方式的存儲(chǔ)器71的選擇(例如以一個(gè)尋址比特的形式實(shí)現(xiàn))。同時(shí),來(lái)自前一半次迭的數(shù)據(jù)[W](或者是零,如果是第一個(gè)半迭代的話)沿著工作在讀方式下的處理存儲(chǔ)器73的列被讀取。在存儲(chǔ)器72和73的輸出端的邏輯開關(guān)782使能處于讀方式的存儲(chǔ)器72的選擇。
      一旦[W]的接收存儲(chǔ)器被填滿(即如果假設(shè)數(shù)據(jù)是連續(xù)發(fā)送的,在一個(gè)分組的turbo-解碼的一次操作結(jié)束時(shí)),[W]的處理和接收存儲(chǔ)順的角色互相交換[W]的處理存儲(chǔ)器進(jìn)入寫方式而變?yōu)榻邮沾鎯?chǔ)器(換言之,邏輯開關(guān)781和782“改變位置”),以存儲(chǔ)對(duì)應(yīng)下一碼字的數(shù)據(jù),并且[W]的接收存儲(chǔ)器進(jìn)入讀方式而變?yōu)樘幚泶鎯?chǔ)器。
      一旦[R]的接收存儲(chǔ)器被填滿(即如果假設(shè)數(shù)據(jù)是連續(xù)發(fā)送的,在一個(gè)分組的turbo-解碼的一次操作結(jié)束時(shí)),[R]的處理和接收存儲(chǔ)器的角色互相交換[R]的處理存儲(chǔ)器進(jìn)入寫方式而變?yōu)榻邮沾鎯?chǔ)器(換言之,邏輯開關(guān)771和772“改變位置”),以存儲(chǔ)對(duì)應(yīng)下一碼字的數(shù)據(jù),并且[R]的接收存儲(chǔ)器進(jìn)入讀方式而變?yōu)樘幚泶鎯?chǔ)器。如果作為一種變型,數(shù)據(jù)以包(或突發(fā))方式被傳送,并且如果每個(gè)包僅被解碼一次,解碼在一個(gè)新的包到達(dá)之前完成,則在Von Neumann結(jié)構(gòu)中對(duì)于數(shù)據(jù)[R]不必需有兩個(gè)分別為處理和接收的存儲(chǔ)器,而是僅有一個(gè)就夠了。
      所用存儲(chǔ)器70、71、72和73可毫無(wú)困難地用傳統(tǒng)的,可行-尋址和列-尋址的,單端口RAM(隨機(jī)存取存儲(chǔ)器)設(shè)計(jì)。其它器件(例如用移位寄存器)也可考慮,但它們占用更大空間。
      應(yīng)該指出,作為圖5、6和7所示實(shí)施形式的一種變型,圖3所示處理單元30可以替代處理單元40。這時(shí)在存儲(chǔ)器中[W]型數(shù)據(jù)被[R′]型數(shù)據(jù)所替代。
      按照現(xiàn)有技術(shù),一個(gè)高吞吐率結(jié)構(gòu)使得圖6或7所示模塊的數(shù)量加倍。
      本發(fā)明建議一種新穎的方法,它特別適用于級(jí)聯(lián)碼的turbo-解碼的高吞吐率結(jié)構(gòu)。
      我們已看到,級(jí)聯(lián)碼在原始矩陣C的所有行(或列)上具有碼字的屬性。
      按照本發(fā)明,解碼按照?qǐng)D8所示原理并行進(jìn)行,所示模塊80用于實(shí)現(xiàn)一個(gè)半次迭代,模塊80能被級(jí)聯(lián),以構(gòu)成一個(gè)模塊turbo-解碼結(jié)構(gòu)。矩陣81(包含數(shù)據(jù)[R]和[W](或[R′],依賴于處理單元的類型)的n1n2個(gè)2q比特樣值的處理存儲(chǔ)器陣列)供給一組基本解碼器(或借助圖3和4所說(shuō)明的處理單元30或40)821至82m。
      當(dāng)然,編碼C1(或C2)的基本解碼器的數(shù)量被加倍為m個(gè)基本解碼器821到82m。因而可以處理最多n1(或n2)個(gè)碼字,只要讀或?qū)懘鎯?chǔ)器的存取操作在不同的瞬時(shí)發(fā)生(除非采用“多端口”RAM,不可能同時(shí)讀矩陣的多個(gè)存儲(chǔ)單元)。在此條件被滿足時(shí),比值Fthroughputrate/Fpumax可能增大到n2(或n1)倍(Fthroughput rate/為turbo解碼器輸出端的有用吞吐率,F(xiàn)pumax表示處理單元的工作速度),因?yàn)樵谝唤o定時(shí)間上可處理n2(或n1)個(gè)樣值。
      矩陣83(n1n2個(gè)2q比特樣值的接收存儲(chǔ)器陣列)是由前一模塊80的一組基本解碼器821至82m饋給的。
      應(yīng)該指出,在第一個(gè)模塊中數(shù)據(jù)[R]直接來(lái)睚信道,而數(shù)據(jù)[W]為零(或者,作為一個(gè)變型,在第一個(gè)模塊中基本解碼器的輸入端只使用對(duì)應(yīng)于數(shù)據(jù)[R]的一半總線)。
      在每個(gè)半次迭代后,存儲(chǔ)器81和83的角色相互交換,這兩個(gè)存儲(chǔ)器交替地作為處理或接收存儲(chǔ)器工作。
      需要指出,數(shù)據(jù)沿著接收存儲(chǔ)器陣列的列被寫入,而它們沿著處理存儲(chǔ)器陣列的列被讀取。從而有利地得到一個(gè)交織和去交織裝置。此裝置容易地通過(guò)將模塊級(jí)聯(lián),即一個(gè)模塊的基本解碼器的輸出連接到下一模塊接收存儲(chǔ)器陣列而實(shí)現(xiàn)(如果turbo-編碼器的交織器是規(guī)則的,即在交織器中數(shù)據(jù)逐行寫入和逐列讀出)。
      這種結(jié)構(gòu)的主要缺點(diǎn)在于,如果有m個(gè)基本解碼器并聯(lián),存儲(chǔ)器81和83必須以m·Fpumax的頻率工作。
      按照模塊結(jié)構(gòu)的第一種變型,矩陣81被分成兩個(gè)有n1n2個(gè)q比特樣值的處理存儲(chǔ)器陣列,這兩個(gè)陣列分別包含數(shù)據(jù)[R]或[W](或[R′],依賴于處理單元的類型)。而且矩陣83自身也不分成兩個(gè)有n1n2個(gè)q比特樣值的接收存儲(chǔ)器陣列,它們分別包含數(shù)據(jù)[R]或[W]。
      作為一個(gè)變型,“turbo-解碼器”按照Von Neumann結(jié)構(gòu)實(shí)現(xiàn)。按此變型結(jié)構(gòu),處理存儲(chǔ)器陣列被分成一個(gè)與數(shù)據(jù)[R]相關(guān)的處理存儲(chǔ)器陣列(如果假設(shè)數(shù)據(jù)是連續(xù)發(fā)送的)和一個(gè)與數(shù)據(jù)[W](或[R′],依賴于處理單元的實(shí)施形式)相關(guān)的處理存儲(chǔ)器陣列。類似地接收存儲(chǔ)器陣列被分成一個(gè)與數(shù)據(jù)[R]相關(guān)的接收存儲(chǔ)器陣列和一個(gè)與數(shù)據(jù)[W]相關(guān)的接收存儲(chǔ)器陣列。像圖7所示結(jié)構(gòu)那樣,在每個(gè)半次迭代之后數(shù)據(jù)[R]的處理和接收存儲(chǔ)器交換角色,在每個(gè)分組turbo-解碼工作后數(shù)據(jù)[W]的處理和接收存儲(chǔ)器的角色相互交換。然而,應(yīng)注意,按照本發(fā)明,在Von Neumann結(jié)構(gòu)中,數(shù)據(jù)[R]和[W]的處理存儲(chǔ)器供給m個(gè)基本解碼器,并且這些解碼器的輸出[W]被返送到數(shù)據(jù)[W]接收存儲(chǔ)器。按此變型的實(shí)施形式,如果數(shù)據(jù)以包(或突發(fā))方式被傳送,且如果每個(gè)包必須僅在一次操作中被解碼,解碼在一個(gè)新的包到達(dá)之前完成,則不必要對(duì)數(shù)據(jù)[R]有兩個(gè)分別的處理和接收存儲(chǔ)器,而只需有一個(gè)存儲(chǔ)器。
      按照本發(fā)明的一個(gè)有利的方案,可以保持相同的存儲(chǔ)器工作速度并提高吞吐率,按圖10所示,原理在同一地址上存儲(chǔ)數(shù)段數(shù)據(jù)。然而必需能按行和按列應(yīng)用這個(gè)數(shù)據(jù)。這導(dǎo)致以下的結(jié)構(gòu)這個(gè)地址將具有在行和列中相鄰的讀取(或?qū)懭?的數(shù)據(jù)。
      讓我們考慮圖9所示原始矩陣90的兩個(gè)相鄰的行i和i+1以及兩個(gè)相鄰的確列j和j+1。
      4個(gè)樣值(i,j),(i,j+1),(i+1,j)和(i+1,j+1)組成新矩陣100的一個(gè)字105,如圖10所示,新矩陣的地址數(shù)量是原始矩陣(I,J)地址數(shù)量的四分之一,但字長(zhǎng)是原始矩陣字長(zhǎng)的4倍。如果n1和n2是偶校驗(yàn)值,則如果1≤I≤n1/2, i=2*I-1類似地,如果1≤J≤n2/2,j=2*J-1對(duì)于行解碼,樣值(i,j),(i,j+1)101被指配給處理單元PU1,(i+1,j)和(i+1,j+1)102被指配給處理單元PU2。對(duì)于列解碼,我們必需將(i,j),(i+1,j)103給PU1,而將(i,j+1),(i+1,j+1)104給PU2。如果處理單元能在相同的時(shí)間周期1/FPumax中處理在輸入端(讀RAM)和輸出端(寫RAM)的這些樣值時(shí),矩陣的處理時(shí)間是原始矩陣的4倍(圖10)。
      路線圖10僅示出作為例子的存儲(chǔ)器分為4部分的一個(gè)“子劃分”。
      為了一般化,如果新矩陣100的一個(gè)字105包含一行的m個(gè)樣值和一列的l個(gè)樣值,矩陣的處理時(shí)間比僅有m個(gè)“行”解碼處理單元和l個(gè)“列”解碼處理單元時(shí)的快m·l倍。
      如果編碼C1和C2相同,“行”處理單元PUs和“列”處理單元PUs也相同,這可以圖11看出。這時(shí)m=l,并且m個(gè)處理單元1121至112m是必要的(圖3和4所示的處理單元30或40)。一個(gè)去復(fù)用器114給m個(gè)基本處理單元(PU)1121至112m供給矩陣111(具有n1n2/m2個(gè)2qm2比特的字的處理存儲(chǔ)器矩陣)的數(shù)據(jù),每個(gè)處理單元同步地接收2qm比特樣值。
      基本解碼器1121至112m提供2qm比特的樣值給復(fù)用器115。復(fù)用器115供給2qm2比特的樣值到對(duì)應(yīng)于下一個(gè)半次迭代的模塊的接收存儲(chǔ)器陣列113。
      數(shù)據(jù)矩陣的這種結(jié)構(gòu)既不需要特別的存儲(chǔ)器結(jié)構(gòu),也不需要更高的速度。而且,如果PU的復(fù)雜度保持小于以前的PU的復(fù)雜度的m倍,則總復(fù)雜度更小,而速度高m2倍(這個(gè)結(jié)果可通過(guò)用m2個(gè)PU而得到,如圖8所建議的)。
      存儲(chǔ)器相比原始矩陣C具有少m2倍的字。對(duì)相同工藝來(lái)說(shuō),它的存取時(shí)間更短。
      所以本發(fā)明建議了一種對(duì)級(jí)聯(lián)碼進(jìn)行解碼的結(jié)構(gòu),編碼工作在高吞吐率上。這些編碼可以從卷積碼得到,也可以線性分組碼得到。本發(fā)明主要改變了在存儲(chǔ)器C的原始結(jié)構(gòu),以提高解碼速度。在1/Fpumax的時(shí)間周期間,m個(gè)樣值在m個(gè)基本解碼器中的每一個(gè)中被處理。這給出m2的吞吐率增益。如果這m個(gè)樣值的處理沒(méi)有使基本解碼器的表面面積增加很多,表面面積與要求m2個(gè)解碼器的方案相比,有接近m倍的好處。
      按照一個(gè)變型,去復(fù)用器114將從存儲(chǔ)器陣列111收到的每個(gè)2qm2比特的樣值去復(fù)用,并串聯(lián)它們得到m個(gè)序列,每個(gè)序列有m個(gè)2q比特的樣值。每一個(gè)這種序列被給到基本處理單元1121至112m中的一個(gè)。每個(gè)處理單元1121至112m給復(fù)用器115提供2q比特的樣值序列。復(fù)用器處理這些同步地來(lái)自處理單元1121至112m的m個(gè)序列,給出2qm2比特的樣值到對(duì)應(yīng)于下一個(gè)半次迭代的模塊的接收存儲(chǔ)器陣列113。這種變型給出的解碼速度在相同的時(shí)鐘速度下比現(xiàn)有技術(shù)得到的速度高m倍,同時(shí)在每個(gè)模塊中僅有一個(gè)處理存儲(chǔ)器陣列。
      按照?qǐng)D11所示實(shí)施例,存儲(chǔ)器陣列111和113包含以2qm2比特編碼的數(shù)據(jù),接收和處理存儲(chǔ)器中的字?jǐn)?shù)減少,從而對(duì)這些存儲(chǔ)器的存取時(shí)間縮短。
      當(dāng)然,本發(fā)明不局限于上面所述的實(shí)施例。
      尤其是,現(xiàn)有技術(shù)能夠提供任何所用的存儲(chǔ)器類型。例如它們可以是單端口RAM或多端口RAM。
      而且,本發(fā)明可同樣地應(yīng)用于以包(或突出)方式或連續(xù)方式傳送數(shù)據(jù)的情況。
      此外,本發(fā)明也適用于串行或并行級(jí)聯(lián)碼,這些編碼可以是卷積碼或分組碼。
      本發(fā)明適用于由兩個(gè)級(jí)聯(lián)碼形成的編碼,也適用于由多于兩個(gè)的級(jí)聯(lián)碼形成的編碼。
      一般,本發(fā)明適用于所有的“turbo-碼”,不論這們是否為分組turbo-碼,只要它們由作用于信息序列(不論是否進(jìn)行排列)的基本碼構(gòu)成,基本碼字中至少有一個(gè)是由至少兩個(gè)碼字組成的。
      權(quán)利要求
      1.用于對(duì)一個(gè)對(duì)應(yīng)至少兩個(gè)基本碼的級(jí)聯(lián)碼進(jìn)行解碼的模塊,提供其中存儲(chǔ)要被解碼的數(shù)據(jù)樣值的存儲(chǔ)裝置,其特征在于,對(duì)于上述基本碼中的至少一個(gè),它包括至少兩個(gè)基本解碼器(821至82m,1121至112m),與一個(gè)上述基本碼相關(guān)的上述基本碼器(821至82m,1121至112m)并行地同時(shí)執(zhí)行對(duì)包含在上述存儲(chǔ)裝置(81、83、90、111、113)中的不同碼字的處理,并且其中上述存儲(chǔ)裝置(81、83、90、111、113)以艙室(105)進(jìn)行組織,每個(gè)艙室具有單個(gè)地址,并且每個(gè)艙室包含至少兩段對(duì)應(yīng)于一個(gè)基本碼字的基本數(shù)據(jù)(101、102、103、104)。
      2.如權(quán)利要求1所述的解碼模塊,存儲(chǔ)上述要被解碼的數(shù)據(jù)的上述存儲(chǔ)裝置以一個(gè)n1行和n2列的矩陣(10)的形式進(jìn)行組織,其中每一行包含上述基本碼的一個(gè)碼字,每一列包含上述基本碼的一個(gè)碼字,其特征在于,它包括n1(和對(duì)應(yīng)地n2)個(gè)基本解碼器(821至82m,1121至112m),每一個(gè)基本解碼器由上述矩陣(10)的一行(和對(duì)應(yīng)地一列)饋送。
      3.如權(quán)利要求1所述的解碼模塊,存儲(chǔ)上述數(shù)據(jù)的上述存儲(chǔ)裝置以一個(gè)n1行和n2列的矩陣(10)的形式進(jìn)行組織,n1行中包括k1行,其每一行包含上述基本碼的一個(gè)碼字,而n2列中包括k2列,其每一行包含上述基本碼的一個(gè)碼字,其特征在于,它包括k1(和對(duì)應(yīng)地k2)個(gè)基本解碼器。(821至82m,1121至112m),每一個(gè)基本解碼器由上述矩陣(10)的一行(和對(duì)應(yīng)地一列)饋送。
      4.如權(quán)利要求1至3中任一項(xiàng)所述的解碼模塊,其特征在于,上述存儲(chǔ)裝置(81,83,90,111,113)被組織成可同時(shí)存取至少兩個(gè)基本碼字。
      5.如權(quán)利要求4所述的解碼模塊,其特征在于,上述存儲(chǔ)裝置(81、83、90、111、113)是單端口RAM型。
      6.如權(quán)利要求4和5中任一項(xiàng)所述的解碼模塊,其特征在于,上述存儲(chǔ)裝置(81、83、90、111、113)的每個(gè)具有單個(gè)地址的上述艙室(105)包含m·l個(gè)基本數(shù)據(jù)(101、102、103、104),使得能夠同時(shí)完成以下饋送—沿著權(quán)利要求2和3中任一項(xiàng)所述的行饋送給m個(gè)基本解碼器;以及/或者—沿著權(quán)利要求2和3中任一項(xiàng)所述的列饋送給l個(gè)基本解碼器;m和l是嚴(yán)格大于1的整數(shù)。
      7.如權(quán)利要求4至6中任一項(xiàng)所述的解碼模塊,其特征在于,上述可同時(shí)存取的多個(gè)字對(duì)應(yīng)于具有n1行和n2列的原始矩陣(10)的相鄰行和/或相鄰列,相鄰行和/或相鄰列中的每一個(gè)包含一個(gè)基本碼字。
      8.如權(quán)利要求1至7中任一項(xiàng)所述的解碼模塊,其特征在于,基本碼是相同的C碼。
      9.如權(quán)利要求1至8中任一項(xiàng)所述的解碼模塊,其特征在于,它完成至少兩個(gè)基本解碼操作。
      10.如權(quán)利要求1至9中任一項(xiàng)所述的解碼模塊,其特征在于,級(jí)聯(lián)碼是一個(gè)串行級(jí)聯(lián)碼。
      11.如權(quán)利要求1至10中任一項(xiàng)所述的解碼模塊,其特征在于,上述級(jí)聯(lián)碼是一個(gè)并行級(jí)聯(lián)碼。
      12.用于對(duì)一個(gè)級(jí)聯(lián)碼進(jìn)行解碼的裝置,其特征在于,它提供至少兩個(gè)級(jí)聯(lián)配置的如權(quán)利要求1至11之一所述的模塊,并且每個(gè)模塊實(shí)現(xiàn)一個(gè)基本解碼操作。
      13.用于對(duì)一個(gè)對(duì)應(yīng)于兩個(gè)基本碼的級(jí)聯(lián)碼進(jìn)行解碼的方法,其特征在于,它包括至少兩個(gè)同時(shí)的對(duì)至少一個(gè)上述基本碼進(jìn)行基本解碼的步驟,所述基本碼由相同的存儲(chǔ)裝置(81、83、90、111、113)提供;并且上述存儲(chǔ)裝置被這樣組織,使得對(duì)所述存儲(chǔ)裝置(81、83、90、111、113)的一個(gè)地址的單次訪問(wèn)實(shí)現(xiàn)對(duì)至少兩個(gè)基本碼字的存取,以同時(shí)提供至少兩個(gè)上述基本解碼步驟。
      14.如權(quán)利要求13所述的解碼方法,其特征在于,它是迭代解碼方法。
      15.如權(quán)利要求13和14中任一項(xiàng)所述的解碼方法,其特征在于,至少一些被處理數(shù)據(jù)被加權(quán)。
      全文摘要
      本發(fā)明涉及用于對(duì)一個(gè)對(duì)應(yīng)于至少兩個(gè)基本碼C
      文檔編號(hào)H03M13/29GK1479975SQ01820410
      公開日2004年3月3日 申請(qǐng)日期2001年11月9日 優(yōu)先權(quán)日2000年11月10日
      發(fā)明者帕特里克·埃達(dá), 拉米施·匹恩迪阿, 匹恩迪阿, 帕特里克 埃達(dá) 申請(qǐng)人:法國(guó)電信公司, 恩斯特布列塔尼電信大學(xué)集團(tuán)公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1