專利名稱:糾錯解碼器的錢搜索單元的制作方法
技術領域:
本發(fā)明涉及數(shù)字通信系統(tǒng)的檢錯和糾錯。
背景技術:
任何現(xiàn)代數(shù)字通信系統(tǒng)的一項重要功能是差錯控制編碼。差錯控制編碼是通信領域中用于處理數(shù)字系統(tǒng)中的檢錯和糾錯的技術。一般來說,檢錯/糾錯方案一般用于確保在數(shù)字數(shù)據(jù)的存儲和傳輸過程中,不引入數(shù)據(jù)差錯,或者可選地,如果數(shù)據(jù)引入了差錯,可以糾正引入的錯誤。通過向數(shù)據(jù)增加冗余以實現(xiàn)數(shù)據(jù)的檢錯和/或糾錯的能力。傳輸或存儲的數(shù)據(jù)中包含冗余位導致編碼信號或字段的組成要比未編碼原始信號或字段具有更多位。
檢錯/糾錯中一種常用方案通過使用被稱作里德-所羅門(ReedSolomon)的編碼。里德-所羅門碼是非二進制系統(tǒng)循環(huán)線性分組編碼。非二進制碼的碼元由幾位組成。如里德-所羅門編碼的非二進制碼非常適于校正突發(fā)的差錯,因為這些編碼的校正是在碼元級別上完成的。如里德-所羅門碼的系統(tǒng)碼生成包括未改變形式的報文碼元的碼字。解碼器將可逆數(shù)學函數(shù)應用在報文碼元上以產生冗余,或奇偶碼元。然后,通過將奇偶碼元附加在報文碼元之后形成碼字。里德-所羅門碼被認為是循環(huán)碼,因為任何有效碼字的循環(huán)移位同樣產生另一個有效碼字。循環(huán)碼字的流行是因為其可以通過高效并且廉價的解碼技術實現(xiàn)。最后,里德-所羅門碼被認為是線性的,因為任何兩個有效碼字相加將得到另一個有效碼字。
典型的里德-所羅門解碼器包括下列主要組件模塊
(i)伴隨式生成模塊,(ii)差錯多項式模塊,(iii)差錯位置模塊,以及(iv)差錯數(shù)量模塊,(v)糾錯模塊,以及(vi)延遲模塊。伴隨式生成模塊用于接收碼字和根據(jù)碼字生成伴隨式。該伴隨式用于在差錯多項式模塊中生成差錯多項式。差錯多項式傳輸?shù)讲铄e位置和差錯數(shù)量模塊,其中分別確定碼字的差錯位置和數(shù)量。差錯向量是根據(jù)差錯的位置和數(shù)量產生的。延時的接收碼字通過糾錯模塊使用與特定碼字對應的差錯向量進行糾錯。
里德-所羅門解碼器中用于執(zhí)行差錯位置模塊的一個常見方法是通過使用稱作錢(Chien)的模塊(或錢搜索),其使用高強度錢算法以計算多項式所有可能的值。錢模塊由一些單個的錢單元組成。錢搜索單元(參見圖11)是用于執(zhí)行差錯位置多項式的單階或系數(shù)的硬件,因此共有(t+1)階(因為差錯多項式位置具有最大次數(shù)為t次以及t次多項式具有(t+1)個系數(shù))。典型的錢搜索單元以迭代方式處理差錯位置多項式系數(shù)。在第一次迭代中,復用器接收與正在處理的碼字對應的合適的多項式系數(shù),并將多項式系數(shù)發(fā)送到寄存器。在后續(xù)時鐘周期中,寄存器的輸出首先進入伽羅華(Galois)域乘法器,然后通過復用器反回到寄存器進行存儲。該過程共執(zhí)行N個時鐘周期,其中N為碼字長度。
與這種實現(xiàn)相關的問題在于差錯位置是按照對應碼字字節(jié)的逆序生成的,因此在被添加到碼字進行校正前,需要通過LIFO模塊進行逆序。LIFO模塊是包括多個寄存器的硬件存儲元件。一旦所有寄存器存滿,LIFO模塊發(fā)送其輸出。最后輸入的元素成為第一個輸出元素,依次類推。使用LIFO模塊存在兩個問題其一是LIFO模塊為較大的存儲元件,并且因此增加了IC的門數(shù)和功耗。另一個問題是,LIFO模塊帶來了N個時鐘周期的延遲。該延遲發(fā)生是因為LIFO模塊需要N個時鐘周期來完成初始存滿,并且直到最后的元素被讀入LIFO才生成輸出。
發(fā)明內容
應用本發(fā)明有利于解決現(xiàn)有技術相應問題。本發(fā)明在差錯位置模塊中生成與每個碼字順序相同的系數(shù)差錯位置,這樣不需要使用LIFO模塊。本發(fā)明是用于計算根據(jù)單元中與系數(shù)對應的碼字而生成的單個差錯位置多項式系數(shù)的方法和裝置,其中接收與接收碼字相對應的差錯位置多項式系數(shù)。在第一個時鐘周期中,差錯位置多項式系數(shù)通過負指數(shù)的伽羅華域乘法器相乘。負指數(shù)的值是與該單元相對應的階數(shù)和碼字長度(N)的函數(shù)。相乘結果作為單元輸出。單元輸出結果通過具有正指數(shù)的伽羅華域乘法器迭代相乘N-1次。第二個伽羅華域乘法器的正指數(shù)值是階數(shù)的函數(shù)。
參照本發(fā)明的以下描述應該結合附圖,其中圖1是具有糾錯方案的數(shù)字數(shù)據(jù)傳輸系統(tǒng)的示意方框圖;圖2是說明典型糾錯方案的方法流程圖;圖3是示意不同糾錯方法的分層表示;圖4是示意里德-所羅門解碼器的方框圖;圖5是示意應用本發(fā)明原理的里德-所羅門解碼器典型實施方式的方框圖;圖6是示意根據(jù)本發(fā)明原理說明的典型的內部解碼器握手協(xié)議的方框圖;圖7是示意根據(jù)本發(fā)明原理,里德-所羅門解碼器典型實施例中功能模塊之間握手協(xié)議的方框圖;圖8是根據(jù)本發(fā)明原理的典型里德-所羅門解碼器的時序圖,說明了使用內部模塊信號交換的解碼器效率;圖9是根據(jù)本發(fā)明原理,除錢/Fomey模塊之外應用錢模塊的里德-所羅門(RS)解碼器的典型實施方式的方框圖;圖10是在里德-所羅門解碼器中實現(xiàn)的典型的現(xiàn)有技術錢搜索單元的方框圖;以及圖11是根據(jù)本發(fā)明原理,在里德-所羅門解碼器中實現(xiàn)減少存儲需求和延遲的改進錢搜索單元的方框圖。
具體實施例方式
圖1根據(jù)本發(fā)明原理,描述了包括檢錯/糾錯方法的數(shù)字數(shù)據(jù)傳輸系統(tǒng)100的方框圖。檢錯/糾錯方法通常應用于保證在數(shù)據(jù)的傳輸和存儲期間,不會引入數(shù)據(jù)差錯,或者如果數(shù)據(jù)引入差錯,可以糾正引入的錯誤。通過向數(shù)據(jù)增加冗余來實現(xiàn)數(shù)據(jù)檢錯/糾錯功能。傳輸中或存儲的數(shù)據(jù)中包含冗余位導致編碼信號或字段具有比未編碼信號或字段更多的位數(shù)。附加開銷的補償是檢錯或者檢錯并糾錯的功能。通常根據(jù)編碼增益來測量使用差錯控制編碼獲得的性能改進。假設一個未編碼通信系統(tǒng)在信噪比(SNR)30dB時達到一給定誤碼率(BER)。如果系統(tǒng)添加編碼增益為3dB的差錯控制編碼方法,則該編碼系統(tǒng)將能夠在信噪比為27dB時達到該誤碼率?;蛘呷绻到y(tǒng)工作時的信噪比為30dB,則編碼系統(tǒng)所達到的誤碼率將與信噪比為33dB的未編碼系統(tǒng)相同。編碼增益的性能在于其允許通信系統(tǒng)(i)在比未編碼可能低的SNR中保持所希望BER;(ii)在給定NR時相比未編碼系統(tǒng)能夠達到較高的BER。
通過實施例的方式,編碼器110的功能是接受來自數(shù)據(jù)源的數(shù)字數(shù)據(jù),并且將數(shù)據(jù)通過信道發(fā)送或者存儲在存儲介質(圖上集中顯示為信道或存儲設備115)或者操作或處理數(shù)據(jù)。通常情況是,在傳輸或存儲過程中,噪聲或差錯125可能被引入數(shù)據(jù),因而破壞或改變原始數(shù)字數(shù)據(jù)的形式。解碼器120的功能是檢錯并糾錯或僅僅是檢測數(shù)字數(shù)據(jù)的指定部分是否受到破壞。
圖2是說明在發(fā)射機/信道/接收機環(huán)境中應用的各種檢錯/糾錯處理過程的流程圖。盡管上下文已經(jīng)有所描述,但是現(xiàn)有技術人員顯然清楚這種檢錯/糾錯處理也能應用在廣播傳輸,數(shù)字數(shù)據(jù)存儲,或對數(shù)據(jù)進行處理或操作的任何過程中(以數(shù)據(jù)段,包,流等形式存在的數(shù)據(jù))。作為實施例,僅僅說明但不限于下述可以使用檢錯/糾錯方法提高性能,完整性和可靠性的技術/設備(i)各種存儲設備,包括但不限于磁帶,光盤(CD),數(shù)字化通用盤(DVD),條形碼等;(ii)無線或移動通信(包括蜂窩電話,雙向收發(fā)機,微波連接等);(iii)衛(wèi)星通信;(iv)數(shù)字無線電,數(shù)字電視(DTV),數(shù)字視頻廣播(DVB)等;(v)調制解調器,包括但不限于電纜,V.pcm,ADSL,xDSL等。
按照步驟210,在初始建立連接,協(xié)定傳輸信道參數(shù)后,傳輸源將數(shù)字數(shù)據(jù)處理為可傳輸?shù)男问?。按照步驟215,在傳輸之前,源產生差錯碼;差錯碼部分至少基于要傳輸?shù)臄?shù)字數(shù)據(jù)的值,因此提供數(shù)據(jù)冗余度。按照步驟220,生成的差錯碼被附加、添加、復用,或者被包括在數(shù)字數(shù)據(jù)中,從發(fā)射機傳輸?shù)浇邮諜C。按照步驟225,數(shù)字數(shù)據(jù)和差錯碼在接收機接收。如需要,按照步驟230在接收機執(zhí)行初始信號處理。按照步驟235,接收機訪問差錯碼的冗余位,并根據(jù)應用的差錯控制碼方案處理其中所包含的信息。按照步驟240,如果被處理的冗余位肯定地檢查接收數(shù)字數(shù)據(jù),則假設數(shù)據(jù)未被破壞。數(shù)字數(shù)據(jù)的進一步信號處理(如果有的話)按照步驟245在接收機繼續(xù)進行。
然而,如果被處理的冗余位表明接收的數(shù)字數(shù)據(jù)(至少包括一個位出錯)被破壞,則按照步驟250,計算數(shù)據(jù)差錯以確定差錯是否能在正應用的差錯控制方法中得到校正。即,某些差錯控制方法只能檢錯,但不包括用于校正這些差錯的冗余數(shù)據(jù)的屬性和類型。其它差錯控制方法僅使用其檢錯性能,而不論是否具有檢錯和糾錯兩種性能。通常在任何特定的數(shù)字信號,報文或包的精度不很重要的時候使用該方法,但是數(shù)據(jù)的一致性和及時傳輸是極其重要的。這種應用的實例是語音,音頻和視頻應用的同步流數(shù)據(jù)。而且,甚至當使用差錯控制方法來檢錯和糾錯時,如果檢查出的差錯數(shù)量超出差錯校正能力時(即,超出差錯碼位所提供的冗余信息),那么數(shù)據(jù)不可恢復。按照步驟255,如果數(shù)據(jù)可校正,那么數(shù)據(jù)差錯被校正并且在接收機進行進一步的信號處理(如果有)。然而,如果差錯不可校正,則按照步驟260執(zhí)行運算以確定數(shù)據(jù)精度是否必要。如果和純數(shù)據(jù)系統(tǒng)一樣需要數(shù)據(jù)精度,則單個位差錯十分關鍵的可能性很大,按照步驟265,將重發(fā)請求傳輸給傳輸源。如果和同步特性的數(shù)據(jù)報文的情況一樣,不可校正數(shù)據(jù)的精度不是必要的,則按照步驟270僅僅舍棄被破壞并且不可校正的數(shù)據(jù),然后處理后續(xù)數(shù)據(jù)報文。
圖3說明各種差錯碼分類和方案的分層表示。差錯碼310分為兩類(i)自動重傳請求(ARQ)或檢測碼315,以及(ii)前向糾錯(FEC)碼320。ARQ僅是檢測類型的編碼,其中可通過接收機檢測出傳輸中的差錯,但不校正。接收機必須請求任何接收的數(shù)據(jù),并且請求再次傳輸具有檢測差錯的接收數(shù)據(jù)。因為這些傳輸將占用一定帶寬,所以ARQ碼通常使用“干凈的”傳輸介質(其具有低差錯率)。一個最常見的實施例是簡單的奇偶校驗325,常常應用在RAM中檢測數(shù)據(jù)差錯。另一個實施例是應用于在以太網(wǎng)傳輸中檢錯的循環(huán)冗余校驗(CRC)330。如果檢測出差錯,將再次傳輸報文。因為以太網(wǎng)主要通過線路傳輸,所以出錯幾率小于其它介質。CRC和ARQ僅僅是差錯檢測碼方法中的兩類說明性實施例;本領域技術人員也知曉其它差錯檢測編碼方法。僅僅檢錯而不進行糾錯的差錯碼比糾錯碼顯著地減少了冗余。而且,差錯檢測解碼器遠沒有糾錯解碼器復雜。使用差錯檢測碼方法的系統(tǒng)通常需要克服數(shù)據(jù)再次傳輸?shù)拈_銷。即,數(shù)據(jù)的再次傳輸不會顯著地影響系統(tǒng)總通信量。
因為噪聲介質對特定的傳輸引入差錯的幾率平等,所以使用ARQ方法意味數(shù)據(jù)不斷再次傳輸,系統(tǒng)通信量降低到不可接受的水平。這種情況下,如其名稱所示,糾錯碼不僅允許在接收端檢錯,還允許糾錯。這樣減少了數(shù)據(jù)再次傳輸?shù)男枰瑑H當差錯數(shù)量遠遠大于所使用的糾錯方法可以校正的數(shù)量的時候才需要再次傳輸。糾錯也應用在單向通信中,其中不存在接收機請求再次傳輸報頭的幾率。這些單向路徑的說明性實施例包括某些衛(wèi)星傳輸和磁帶存儲介質。
糾錯碼可以分為兩種主要子類別。第一種為分組碼335,第二種為卷積碼340。分組碼335是經(jīng)常使用的糾錯碼,它和定義了有限長度的報文分組共同使用。之所以命名為分組碼335是因為此子分類使用了能夠處理報文碼元的分組的編碼器,然后輸出碼字碼元的分組。分組碼通常能夠分成兩種類型二進制碼345和非二進制碼355。二進制碼345的一種實例是海明碼350,其特征是每個字符具有四個信息位和三個校驗位。非二進制碼的示例是里德-所羅門碼360。
與之相反,卷積碼340編碼器用于報文碼元的連續(xù)流,并且同時生成連續(xù)的編碼輸出流。這些編碼這樣命名,是因為編碼處理過程能夠視為編碼器的脈沖響應和報文碼元的卷積。卷積碼340的兩個實施例為網(wǎng)格(Trellis)編碼調制(TCM)365和二進制卷積碼370。
圖4是典型的里德-所羅門(RS)解碼器的方框圖。如前所述,里德-所羅門碼是非二進制系統(tǒng)循環(huán)線性分組碼。非二進制碼使用包括幾位的碼元。通常,非二進制碼的碼元長度為8位或一個字節(jié)。非二進制碼,如里德-所羅門碼,可以很好地校正突發(fā)差錯,因為這些碼的校正是在碼元級上進行的。通過在解碼過程中處理碼元,這些碼能夠校正具有8個突發(fā)差錯的碼元,就象校正具有一位差錯的碼元那樣簡單。如里德-所羅門碼的系統(tǒng)碼,生成包括未改變形式的報文碼元的碼字。編碼器將可逆數(shù)學函數(shù)應用在報文碼元上,以生成冗余或奇偶碼元。然后,通過將奇偶碼元附加在報文碼元后形成碼字。因為任何有效碼字的循環(huán)移位同樣產生另一個有效碼字,里德-所羅門碼被認為是循環(huán)碼。循環(huán)碼的普遍使用是因為存在有效可行和低開銷的解碼技術來實現(xiàn)它們。最后,里德-所羅門碼被認為是線性的,因為任何兩個有效碼字相加可以得到另一個有效碼字。
差錯控制碼的理論利用了被稱作有限域或伽羅華域的數(shù)學概念。伽羅華域是有限個元素的集合。在這個集合上定義了加法和乘法運算,這些運算來自標準算術。例如,加法的恒等元素為0,乘法的恒等元素為1。里德-所羅門碼使用具有循環(huán)和線性特性的碼的伽羅華域數(shù)學實現(xiàn),并在階段為q=pm的伽羅華域中運算,其中p是正素數(shù),m是正整數(shù)。q階伽羅華域表示為GF(q),包含q個不同元素。
特定的里德-所羅門碼通過(n,k)碼表示。根據(jù)碼字中的碼元數(shù)目參數(shù)n表示碼字長度。參數(shù)k表示碼字中報文碼元數(shù)量。因而附加的奇偶碼元數(shù)目為n-k。碼的糾錯能力t=(n-k)/2。碼能夠檢測并校正T個差錯,0≤T≤t。碼字基于報文碼元,使用里德-所羅門編碼器生成。因為里德-所羅門是系統(tǒng)碼,傳輸n個報文碼元,n-k個奇偶碼元附加在報文碼元后形成碼字。向傳輸?shù)拇a字增加的冗余奇偶碼元的值,取決于報文碼元。接收機的解碼器使用該冗余來檢錯和糾錯。
在接收機的解碼器,接收碼字作伴隨式生成塊410。解碼器執(zhí)行的第一步是通過伴隨式生成塊410(也經(jīng)常指伴隨式生成模塊,或伴隨式生成器)實現(xiàn)伴隨式運算。伴隨式包括n-k個碼元,其值根據(jù)接收碼字計算。伴隨式僅取決于差錯向量,獨立于傳輸?shù)拇a字。即,每個差錯向量具有唯一的伴隨式向量,但是如果差錯圖案相同,則多個不同的接收碼字將具有相同的伴隨式。首先計算伴隨式的原因是因為這樣做限定了差錯向量的搜索域。首先知道伴隨式將正確差錯向量的數(shù)目限制為2n個可能差錯向量中的2n-k個。
伴隨式生成塊410計算伴隨式的一個方法是通過生成器多項式使用伽羅華域代數(shù)來除接收碼字。除法的余數(shù)被稱作伴隨多項式s(x)。通過計算S(x)在α到αn-k的值得出實際的伴隨式向量S(x)。然而,從硬件角度來看該方法并非效率最優(yōu),一種在硬件中常用的替換方法是直接計算在α到αn-k時接收碼字R(x)的值。伴隨式生成塊410通過計算接收碼字R在α到αn-k時的值(即,R(α)至R(αn-k))來計算伴隨式S。在里德-所羅門碼中,n-k=2t,因而,需要計算2t個伴隨式值[S1 S2S3...S(2t)]。這些值通常被并行計算,第一個伴隨式生成器計算接收碼字在α的值以得到S1,下一個伴隨式生成器計算接收碼字在α2的值以得到S2,依次類推。
一旦通過伴隨式生成模塊410計算出伴隨式,其值就傳輸?shù)讲铄e多項式模塊420。這里應用伴隨式來生成差錯位置多項式。該過程包括t個未知數(shù)的同步等式。幾種適合這些運算的快速算法,包括Berlekamp-Mαssey算法或歐幾里得算法。這些算法利用里德-所羅門碼的特殊矩陣結構,極大的減少了所需的計算量。
差錯多項式模塊420將差錯位置多項式(一旦已決定)傳輸?shù)讲铄e位置模塊430和差錯數(shù)量模塊440。差錯位置模塊430計算差錯位置多項式的根以確定差錯位置。典型地,可使用錢搜索算法,或錢單元實現(xiàn)。差錯位置模塊430確定的差錯位置和先前決定的差錯位置多項式被共同傳輸?shù)讲铄e數(shù)量模塊440。差錯數(shù)量模塊440通過計算t個未知數(shù)的同步等式來確定差錯數(shù)量。應用在差錯數(shù)量模塊440中的快速和廣泛使用的算法是Forney算法。
如果有錯的話,計算出的差錯位置和差錯數(shù)量被前向傳輸?shù)郊m錯模塊450,以恢復糾錯的碼字。通常將差錯位置和差錯數(shù)量的組合稱為差錯向量。差錯向量和碼字大小相同,在與差錯對應的位置上包含非零值。所有其它位置包括零。糾錯模塊450的另一輸入是延遲模塊460的輸出。延遲模塊460將獲得接收碼字,輸出具有延遲的相同接收碼字。在一個實施例中,糾錯模塊450通過使用伽羅華域加法器452和LIFO(后入先出)模塊454共同實現(xiàn)。通過使用伽羅華域加法器452將接收碼字和差錯向量相加來糾正接收碼字中的差錯。使用LIFO模塊454是因為差錯向量以接收碼字的逆序生成,所以LIFO操作必須應用于接收碼字或者差錯向量,以匹配兩個向量的字節(jié)順序。糾錯模塊450的輸出是原始碼字的解碼器估值。
圖5是里德-所羅門解碼器實施方式的方框圖。輸入的接收碼字被轉送到伴隨式生成模塊510。一旦通過伴隨式生成模塊510計算出伴隨式S(x),其值傳輸?shù)綒W幾里得算法模塊520。歐幾里得算法處理伴隨式S(x)以生成差錯位置多項式Λ(x)和差錯數(shù)量多項式Ω(x)。即,它求解下面的關鍵等式Λ(x)+[1+S(x)]=Ω(x)mod x21+1等式1在里德-所羅門解碼中應用的算法是基于用于尋找兩個多項式最大公約數(shù)(GCD)的歐幾里得算法。歐幾里得算法是人們所熟知的迭代多項式除法算法。
一旦計算出差錯位置多項式Λ(x),需要計算其根。錢搜索算法用于查找這些根。錢搜索是計算多項式所有可能輸入值的高強度算法,然后確定哪個輸出為零。如果差錯出現(xiàn)在位置i,則下式等于零Σj=0tΛjα-ij=0,]]>其中i=0..(n-1) 等式2錢搜索計算等式2在所有的i和j時的值,并計算使等式為零的值的個數(shù)。零的位置就是差錯的位置,零的數(shù)目是差錯碼元的數(shù)目。
在典型的實施方式中,硬件中執(zhí)行t+1階錢搜索。每階(其中一階包括一個乘法器,一個復用器和一個寄存器)代表在上面錢搜索等式中對于j取不同的值。搜索運行n個時鐘周期(每個時鐘周期代表上述等式i取不同的值),檢查加法器的輸出以確定其結果是否為零。如果結果為零,則零檢測模塊將輸出1,否則輸出0。錢搜索模塊的輸出因此為一個由“0”或“1”組成的n位字符串。每個“1”代表差錯碼元的位置。
對于第一個時鐘周期,復用器將差錯位置多項式系數(shù)發(fā)送到寄存器。對于剩余(n-1)個時鐘周期,乘法器輸出將通過復用器發(fā)送到寄存器。乘法器的指數(shù)為負值。然而,這些值可使用模算子預先計算出來。α-1的指數(shù)等于(-i模n)=(-j模255)。例如,α-1等于α254,α-2等于α253,依次類推。
Foney算法用于計算差錯值Yi。為計算這些值,F(xiàn)oney算法使用差錯位置多項式Λ(x)和差錯數(shù)量多項式Ω(x)。差錯值的等式為Yi=Ω(x)Λ,(x),]]>其中x=α-i,α-i是Λ(x)的根 等式3計算Λ′(x)的導數(shù)實際非常簡單。例如,假定Λ(x)=α4x3+α3x2+αx+α2。因而,Λ′(x)等于Λ′(x)=3α4x2+2α3x+α=(α4+α4+α4)x2+(α3+α3)x+α=α4x2+α 等式4求導是通過取X的奇數(shù)冪的系數(shù),并將其分配給X的低階冪(偶數(shù)冪)獲得的。
然后,使用同錢搜索中應用的相同類型的硬件和Λ′(x)多項式共同計算Ω(x)多項式。要計算Ω(x),Ω0系數(shù)加上系數(shù)Ω1乘以α-1,系數(shù)Ω2乘以α-2,依次類推直到系數(shù)Ωt乘以α-t。然后將這些乘法器的輸出結果相加。
分子然后乘以分母的倒數(shù)。反轉乘法包括查找表,用以搜索分母的倒數(shù)。例如,如果分母是α3,則倒數(shù)是α-3,可以表示為α-i=α(-1modn)=α(-3mod255)=α252等式5因為錢搜索和Foney算法都需要相同的硬件類型,所以可以在相同模塊中合并兩個功能,如錢/Forney模塊530所示。在實現(xiàn)中,錢搜索的輸出有兩個加法器。第一加法器將偶數(shù)階的值相加,另一個加法器將奇數(shù)階的值相加。為形成最后的錢搜索輸出,將這兩個加法器的輸出相加,零檢測模塊檢測根的位置。奇數(shù)階的加法器輸出用于Forney算法。奇數(shù)階的總和代表Forney等式的分母。該值取倒數(shù),然后乘以根據(jù)差錯數(shù)量多項式計算出的分子的值。輸出與零檢測輸出作與(AND)運算的結果,因為差錯的值僅對實際差錯位置有效(否則它們應當設置為0)。
因而,錢/Forney模塊530使用差錯位置多項式和差錯數(shù)量多項式以生成差錯向量,差錯向量被轉送到糾錯模塊540。差錯向量和碼字大小相同,在與差錯對應的位置上包含非零值。所有其它位置包含零。糾錯模塊540的另一輸入是延遲模塊550的輸出。延遲模塊550獲得接收碼字,延遲輸出相同的接收碼字。在本實施方式中,糾錯模塊540通過使用伽羅華域加法器544和LIFO模塊542共同實現(xiàn)。通過使用伽羅華域加法器544將接收碼字和差錯向量相加來糾正接收碼字中的差錯。使用LIFO模塊542是因為差錯向量以接收碼字逆序生成,所以LIFO操作必須應用于接收的碼字或者差錯向量,以同步兩個向量的字節(jié)順序。糾錯模塊540的輸出是原始碼字的解碼器估計值。
內部解碼器組件模塊消息發(fā)送如前所述,里德-所羅門解碼器至少包括四個主要組件或功能模塊。它們是伴隨式生成器,差錯多項式模塊,差錯位置模塊,以及差錯數(shù)量模塊。如果解碼器除檢錯外還糾錯,則解碼器還包括糾錯模塊。在現(xiàn)有技術的解碼器中,這些模塊形成一個“傳送管道”,其到一個模塊的輸入僅取決于前一模塊的輸出。即,一個模塊沒有對前一模塊的反饋。里德一所羅門解碼器在執(zhí)行特定碼字的解碼過程時(見圖4和圖5中的延遲模塊),還需要使用存儲器或緩沖模塊來存儲接收到的碼字。差錯位置/數(shù)量模塊在執(zhí)行解碼過程中生成差錯向量,該差錯向量與接收到的碼字異或(XOR),接收到的碼字被存儲在存儲器中以形成解碼器的輸出。典型的,所使用的存儲器容量等于一個碼字,因此解碼器一次僅能夠處理一個碼字。
圖6是根據(jù)本發(fā)明原理說明內部解碼器握手協(xié)議的典型實施方式的方框圖。內部解碼器模塊A610和內部解碼器模塊B620表示在使用模塊間反饋或通信的里德-所羅門解碼器中的任意兩個模塊(選自上面描述的功能模塊)。解碼“傳送管道”是數(shù)據(jù)信道630,表示里德-所羅門解碼器功能模塊之間的現(xiàn)有技術中的單向信道。另外,本發(fā)明同樣示出了反饋信道。反饋信道可以認為是功能模塊將當前或將來的不活動狀態(tài)傳送到上行或下行功能模塊的裝置。例如,假定內部解碼器模塊A610已經(jīng)完成特定碼字的處理功能。內部解碼器模塊A610將不活動報文發(fā)送到內部解碼器模塊B620中,表明它準備將特定碼字的計算結果發(fā)送到內部解碼器模塊B620。因此,這種不活動報文被稱做“準備發(fā)送”(RTS)報文650。相反地,假定內部解碼器模塊B620已經(jīng)完成特定碼字的處理功能。內部解碼器模塊B620將不活動報文發(fā)送到內部解碼器模塊A610,表明準備接收。因此,這種不活動報文被稱做“準備接收”(RTR)報文640。
本發(fā)明的此種實施方式,通過在功能模塊之間的反饋或握手實現(xiàn)的解碼器其優(yōu)勢在于允許適合知識產權(IP)內核的用戶可配置結構,使用戶基于所希望實現(xiàn)的存儲器大小來定制解碼器性能。
圖7是說明里德-所羅門(RS)解碼器實施方式中的功能模塊之間握手協(xié)議的方框圖。圖4已經(jīng)充分描述了伴隨式生成模塊410、差錯多項式模塊420、差錯位置模塊430、差錯數(shù)量模塊440、糾錯模塊450(包括伽羅華域加法器452和LIFO模塊454)以及延遲模塊460的功能、目的和操作,因此這里不再重復。圖7還包括前述的不活動報文(或者握手信號)。處理模塊使用握手信號(如,RTS和RTR報文),表明何時發(fā)送和/或準備接收數(shù)據(jù)。因此,伴隨式生成模塊410和差錯多項式模塊420能夠通過RTS信道710交換RTS報文,或通過RTR信道712交換RTR報文。差錯多項式模塊420和差錯位置模塊430能夠通過RTS信道718交換RTS報文,或通過RTR信道720交換RTR報文。差錯多項式模塊420和差錯數(shù)量模塊440能夠通過RTS信道724交換RTS報文,或通過RTR信道726交換RTR報文。差錯數(shù)量模塊420和糾錯模塊450能夠通過RTS信道724交換RTS報文,或通過RTR信道726交換RTR報文。伴隨式生成模塊410通過RTR信道740發(fā)送RTR報文來請求下一個接收碼字。糾錯模塊450還通過RTS信道760發(fā)送RTS報文到輸出處理級。另外,根據(jù)本發(fā)明的實施方式,有必要向延遲模塊460發(fā)送任何RTR或RTS報文(通過報文信道750),來合適地調整延遲以便正在檢測和校正的接收碼字能夠和糾錯模塊450中的差錯向量正確同步。
本發(fā)明的優(yōu)點在于,通過使內部解碼器功能模塊之間進行握手,當功能模塊不活動時(即,它完成了最后的工序),功能模塊能夠請求接收更多數(shù)據(jù)進行處理。近似的,功能模塊能夠通知下行功能模塊,它已經(jīng)完成自己的工作程序,可以在下行功能模塊能夠接收的任何時間發(fā)送結果。例如,盡管伴隨式生成模塊410通常使用固定(已知的)時鐘周期數(shù)來生成用于接收特定長度碼字的伴隨式,但是差錯多項式模塊420是一個執(zhí)行時間可變化的迭代過程。另外,差錯位置模塊430和差錯數(shù)量模塊440典型地將采用固定(已知的)時鐘周期數(shù),但是如果它確定碼字存在著大量差錯使其不可糾正,則舍棄有關該碼字的隨后處理,差錯位置模塊430和差錯數(shù)量模塊440能夠通過合適的RTR信道720,726向差錯多項式模塊420發(fā)送RTR報文來請求開始處理下一碼字。因此,差錯位置模塊430和差錯數(shù)量模塊440也能夠采用變化的時鐘周期完成。
應當注意,圖7說明的本發(fā)明實施方式僅僅是在不脫離本發(fā)明范圍的情況下實現(xiàn)的多個實施方式之一。例如,不需要解碼器的每個功能模塊發(fā)送RTS和RTR報文。而且,作為設計選擇,可僅在伴隨式生成模塊410和差錯多項式模塊420之間使用握手。其它變化也是可能的。而且,盡管RTS和RTR報文已說明和描述為通過RTS和RTR信道進行通信,但是這種描述僅僅是一種邏輯敘述,報文發(fā)送信道可以在與數(shù)據(jù)信道相分離的一個普通物理層報文信道上引入,或者,報文發(fā)送信道可以在與數(shù)據(jù)信道相同的物理層上引入。
根據(jù)本發(fā)明原理,用戶有通過改變存儲器分配大小設置解碼器性能。因此,實施方式中將存儲器大小分配等同于一個碼字將適于硬件和高效功耗設計,但是一次僅能處理一個碼字。分配的存儲器大于一個碼字長度的實施方式能在處理一個碼字的同時開始裝載第二個碼字。分配兩個碼字大小的存儲器實施方式可以同時處理兩個碼字,依次類推。當然,增加存儲器大小相應地導致硬件和功耗的開銷增大,但好處是解碼處理速度的相應提升和等待時間的降低,因為在特定的時間內可以處理更多的碼字。握手信號完全自動處理,以便用戶只需要輸入解碼器應用的存儲器大小。通過控制這一單個參數(shù),用戶能夠根據(jù)速度,功耗和大小(門數(shù))定制解碼器性能。
圖8是根據(jù)本發(fā)明原理的里德-所羅門(RS)解碼器的時序圖,說明與使用內部模塊握手的解碼器相關的效率。時序圖810的上半部分說明在沒有內部模塊握手的典型解碼器中所需的時間。在這個方案中,碼字1(CW1)的處理過程起始于t0時刻。CW1伴隨式在t1時刻生成,結果被傳輸?shù)讲铄e多項式模塊。差錯多項式模塊在t2時刻完成處理CW1,直到CW1在t4時刻被全部完成。碼字2(CW2)的處理因此起始于t4時刻。CW2的單函數(shù)順續(xù)處理直到t8時刻,CW2的差錯位置和差錯數(shù)量計算完成。注意在沒有內部模塊握手時處理兩個碼字的總時間為(t8-t0)。
時序圖820的下半部分說明具有內部模塊握手的解碼器的處理時間。注意到通過實現(xiàn)容納三個碼字的存儲器,解碼器能夠一次同時處理三個碼字。因為每個模塊通知先前的模塊已經(jīng)準備好,所以在完成處理時能夠接收更多數(shù)據(jù),因此獲得了效率。在本說明例中,碼字3(CW3)的處理完成時刻在t6和t7之間。
糾錯解碼器中的雙錢搜索模塊本發(fā)明的一個典型實施方式是使用雙錢搜索模塊來執(zhí)行糾錯處理。應用本發(fā)明原理的解碼器降低了解碼器的延遲和解碼器對存儲器的需求。
圖9是根據(jù)本發(fā)明原理應用雙錢搜索模塊的里德-所羅門解碼器示例實施方式的方框圖。輸入是接收碼字并被轉送到伴隨式生成模塊910。一旦通過伴隨式生成模塊910計算出伴隨式S(x),則伴隨式被轉送到歐幾里得算法模塊920。歐幾里得算法用于處理伴隨式S(x),以生成差錯位置多項式∧(x)和差錯數(shù)量多項式Ω(x)。
本發(fā)明的實施方式中,引入新的錢模塊930用于確定碼字中的差錯數(shù)目。一旦計算出差錯位置多項式∧(x),錢模塊930應用錢搜索算法來計算其根。錢搜索是高強度算法,計算所有可能輸入值的多項式,然后確定哪個輸出為零。如果差錯出現(xiàn)在位置1,則下列等式為零Σj=0tΛjα-ij=0,]]>其中i=0..(n-1)等式6錢模塊930計算上述等式在i和j取所有值時的結果,以及計算等式等于零的次數(shù)。結果數(shù)字為檢測出的差錯數(shù)目。
如前所述,差錯多項式必須計算差錯位置和差錯數(shù)量。因為相同類型的硬件需要執(zhí)行錢搜索和Forney算法,所以兩功能可以合并在相同的模塊中,如錢/Forney模塊940所示。在實現(xiàn)中,在錢搜索的輸出使用了兩個加法器。第一個加法器將所有偶數(shù)階的值相加,第二個加法器將所有奇數(shù)階的值相加。為生成最終的錢搜索結果,然后將這兩個加法器的輸出相加,零檢測模塊檢測根的位置。奇數(shù)階的加法器的輸出同樣應用于Forney算法中。奇數(shù)階的總和表示Forney等式的分母。該總和值反轉,然后乘以通過計算差錯數(shù)量多項式得出的分子值。輸出與零檢測輸出進行與(AND)運算,因為差錯值僅在實際出錯位置有效(否則他們應該被設置為零)。
因而,錢/Forney模塊940使用差錯位置多項式和差錯數(shù)量多項式來生成差錯向量,將其轉送到糾錯模塊950。差錯向量和碼字大小相同,包括在差錯對應位置的非零值。所有其它位置包括零。糾錯模塊950的另一個輸入是延遲模塊960的輸出。延遲模塊960輸入接收碼字,延遲輸出相同接收碼字。在此實施方式中,使用伽羅華域加法器954和LIFO模塊952執(zhí)行糾錯模塊950。接收碼字中的差錯通過將接收碼字加在差錯向量上,使用Galios域加法器954進行校正。應用LIFO模塊952,是因為差錯向量是按照接收碼字的逆序生成,因此LIFO操作必須應用在接收碼字或者差錯向量上,以匹配兩向量的字節(jié)順序。糾錯模塊950的輸出是原始碼字的解碼器估計。
里德-所羅門解碼器僅能校正到t個差錯,其中包含的奇偶字節(jié)數(shù)目為2t。如果檢測到多于t個差錯,一般需要將接收碼字不加改變不加糾錯地發(fā)送到解碼器輸出,因為如果檢測出大于t個差錯,則碼字不可糾正。在現(xiàn)有技術錢/Forney實現(xiàn)中,整個碼字必須在確定差錯個數(shù)之前進行處理。這樣,操作需要N個時鐘周期,N是碼字長度。一旦完成錢/Forney計算,確定差錯數(shù)目并與t的值比較。如果差錯數(shù)目小于或等于t,來自錢/Forney模塊的差錯值與接收碼字進行“異或”操作以進行糾錯,因而生成最后的解碼器輸出。然而,如果差錯數(shù)目多于t個,則接收碼字不被改變地被轉送作為解碼器輸出。因此,現(xiàn)有技術的方法需要存儲整個接收碼字直到錢/Forney模塊完成處理。這個方法還引入了等待時間的延遲,因為解碼器輸出直到模塊的全部N個時鐘周期完成才能繼續(xù)被轉送。
相比而言本發(fā)明此實施方式的碼字進行兩次錢算法;第一次為確定差錯數(shù)目,第二次為確定差錯位置。因此,當錢模塊930檢測到差錯數(shù)目大于閾值t時,接收碼字作為解碼器輸出,釋放存儲器。相反地,當差錯數(shù)目小于或等于閾值t時,數(shù)據(jù)傳輸?shù)藉X/Forney模塊以確定實際的差錯位置和數(shù)量。這種實施方式在結合使用本發(fā)明圖6至圖8的握手時可以得到優(yōu)化。這種結合使得錢/Forney模塊940在錢模塊930確定下個碼字差錯數(shù)目的同時計算差錯。因而,錢/Forney模塊940的輸出能夠立刻發(fā)送并釋放對應存儲器。
糾錯解碼器的改進錢搜索單元如前所述,錢/Forney模塊接收兩個多項式作為輸入差錯位置和差錯數(shù)量多項式;并且生成差錯向量作為輸出。差錯向量是代表接收碼字中差錯值的解碼器估計的N字節(jié)解碼器估計向量。差錯向量與接收碼字進行異或(XOR)運算,以糾錯形成原始碼字的解碼器估計值?,F(xiàn)有技術中應用錢/Foreny模塊確定差錯向量的解碼器產生與碼字向量逆序的差錯向量。即,在差錯向量(或相反,碼字)沒有被進一步處理的情況下碼字和差錯向量不能進行異或運算。進一步處理典型地采用LIFO(后入先出)操作的形式處理差錯向量或接收碼字,其目的在于將輸入逆序以便碼字和差錯向量可以進行異或運算。不過,這將帶來N個時鐘周期的延遲,其中N為碼字中字節(jié)數(shù)目。另外,某些現(xiàn)有技術使用大于單個碼字長度的存儲器大小,這樣就需要存儲器拆分到兩個或更多個獨立的LIFO時鐘中。如此將造成尋址復雜,并將存儲器大小限制到碼字長度的整數(shù)倍。
本發(fā)明的實施方式是一種新的錢/Forney單元,它產生與碼字正確同步的輸出。即,差錯向量和碼字向量在進行異或運算之前均不需要反轉,因此減少了對LIFO模塊或其它反轉裝置的需要。由于不需要延遲N個時鐘周期,所以減少了等待的周期。而且,本發(fā)明中本實施方式簡化了尋址方法(與現(xiàn)有技術相比),除了碼字長度整數(shù)倍的存儲器大小外還支持其它存儲器大小。例如,可以使用兩倍半于碼字長度的存儲器,允許解碼器處理兩個碼字的同時加載下一個碼字的一部分。
圖10是現(xiàn)有技術中典型的錢搜索單元1000(用于錢搜索和錢/Forney模塊的基本模塊)的方框圖表示。錢搜索模塊用于計算差錯位置多項式,以便找到它的根。根的位置對應于接收碼字的出錯位置。圖10的錢搜索單元用于執(zhí)行下列等式Xi=Σj=0tΛjα-ij=0,]]>其中i=0..(N-1)等式7計算等式9,碼字中在與差錯對應的字節(jié)位置上得到零值。錢搜索單元1000是用于執(zhí)行上述等式單階的硬件結構。每階處理差錯位置多項式的單個系數(shù)。因此總共有(t+1)階(因為差錯位置多項式最大階數(shù)為t,t階的多項式具有(t+1)個系數(shù))。
錢搜索單元1000以迭代形式處理差錯位置多項式系數(shù)。在第一次迭代中,復用器1020接收與正在處理的碼字對應的合適的多項式系數(shù)1010,將多項式系數(shù)傳遞給寄存器1030。在后續(xù)時鐘周期中,寄存器輸出首先被傳遞到乘法器1040,在那里乘以α-j,然后通過復用器1020傳送回寄存器進行存儲對于總的N個時鐘周期執(zhí)行此過程指數(shù)i表示迭代次數(shù),指數(shù)j表示錢搜索單元的階。即,j的值從0增加到t,因此在硬件上總共執(zhí)行(t+1)個錢搜索單元階。
說明例中,假定單元代表第二階(j=1)。因此,在每一個時鐘周期中,寄存器輸出將乘以α-1,結果存儲回寄存器中。該過程產生下列序列λ+λα-1X+(λα-1)α-1X2+((λα-1)α-1)α-1X3+...
其中Xn代表n個時鐘周期的延遲通過合并各項,最終序列產生為λ+λα-1X+λα-2X2+λα-3X3+...+λα-(N-1)X(N-1)與這種實施方式相關的問題是,差錯位置按照對應碼字字節(jié)的逆序產生,因此在與碼字相加進行校正之前需要通過LIFO模塊進行逆序。LIFO模塊是包含多個寄存器的硬件存儲單元。一旦所有的寄存器都已填充,LIFO模塊就發(fā)送它的輸出。輸入的最后一個元素成為輸出的第一個元素,依次類推。使用LIFO模塊存在兩個問題。一個問題是LIFO模塊是一個大容量存儲單元,其增加了IC的門數(shù)和功耗。另一個問題是LIFO模塊帶來了N個時鐘周期的等待時間。該等待時間的發(fā)生是因為LIFO模塊在最初需要N個時鐘周期才能充滿,直到最后一個元素讀入LIFO,才會有輸出。
圖11是示意根據(jù)本發(fā)明原理的改進錢搜索單元1100的方框圖,其中存儲器需求和延遲都有所下降。本發(fā)明中的本實施方式的原理在于使錢搜索模塊產生在數(shù)學上等同于標準錢搜索所生成的序列,雖然系數(shù)以相反順序生成(此后稱做“正常順序”)。本實施方式執(zhí)行下列兩個等式(等式10和等式11)用于以正常順序生成差錯位置進行碼字校正。
Xi=Σj=0tΛjα-j(N-1)=0,]]>其中i=0 等式8Xi=Σj=0tΛjαi,]]>其中i=1..(N-1) 等式9回想圖10中的現(xiàn)有技術錢搜索單元1000以迭代方式處理差錯位置多項式系數(shù),起始α的指數(shù)為0,隨著每個時鐘周期遞減直到該指數(shù)減至-j(N-1)。本實施方式中圖11的錢搜索單元1100,α的指數(shù)值從-j(N-1)并始,隨著每個時鐘周期遞增直到增至0。
因此,在第一個時鐘周期,多項式系數(shù)1110通過預乘法器1150乘以α-j(N-1)(其中j是階數(shù)),再輸入到復用器1120,然后傳輸?shù)郊拇嫫?130存儲。在隨后的時鐘周期中,寄存器1130的輸出被轉送到乘法器1140,乘以α1然后通過復用器1120傳送回寄存器。
在說明例中,假定單元代表第二階(j=1)。生成下列序列λα-(N-1)X+(λα-(N-1))αX2+((λα-(N-1)α)α×3+...
合并各項得到λα-(N-1)+λα-(N-2)X+λα-(N-3)×2+...+λα-1XN-2+λXN-1應當注意該序列中生成的系數(shù)與圖10中標準錢搜索單元1000產生的系數(shù)一致,除了它們的順序相反(如延遲系數(shù)的逆序所表示的)。圖11的錢搜索單元1100應用額外的伽羅華域乘法器(兩個而非1個),但是在硬件實現(xiàn)中是微不足道的。不再需要LIFO模塊進行反轉以及由于避免填充LIF0所需要的延遲獲得的優(yōu)勢和實用性可以抵銷為每個錢搜索單元提供額外的Galios域乘法器的不足。
在一個模塊內將錢搜索和Forney算法組合是一種通常的設計辦法,因為兩種算法都需要運行類似的功能。本發(fā)明中的本實施方式的原理如結合圖11所描述的同樣適用于Forney模塊單元,因為Forney算法使用非常近似的硬件來處理差錯數(shù)量多項式。本領域技術人員應當了解本發(fā)明原理可以擴展到Forney模塊單元和錢/Forney模塊單元的設計中。
許多現(xiàn)存系統(tǒng)使用“非定制”集成電路對里德-所羅門碼進行編解碼。這些IC趨于支持一定數(shù)目的可編程性(例如RS(255,k),其中t為1到16個碼元)。最近的趨勢是VHDL和Verilog設計(邏輯核或知識產權核)。標準IC具有大量優(yōu)點。邏輯核能夠集成在其它VHDL或Verilog組件上,并綜合到FPGA(現(xiàn)場可編程門陣列)或ASIC(專用集成電路)-這允許所謂的“片上系統(tǒng)”設計,即,在單個IC上組合多個模塊。取決于產量,邏輯核常常比“標準”IC明顯降低了系統(tǒng)費用。
盡管本發(fā)明描述了硬件實現(xiàn)的情況,但是本發(fā)明原理不應被視為受此限制。直到最近,實時軟件實現(xiàn)需要大量的計算功能,但是最簡單的里德-所羅門碼的除外(如碼字的值為t)。軟件實現(xiàn)里德-所羅門碼的主要困難在于通用處理器不支持伽羅華域數(shù)學運算。例如,在軟件中執(zhí)行伽羅華域的乘法需要對0測試,兩個對數(shù)表的查找,模加法(modulo add),反對數(shù)表查找。然而,處理器性能的增長以及細心的設計意味著軟件實現(xiàn)也能夠以相對高的數(shù)據(jù)率工作。
盡管本發(fā)明還已經(jīng)根據(jù)典型的實施方式和/或構成進行了描述,在本發(fā)明公開的范圍內還可以進一步改進。本申請試圖保護使用一般原理的對本發(fā)明的任何改變、應用或改進。而且,本申請意圖保護落入本發(fā)明所屬的公知常識以及落入權利要求中的限制范圍內的對本發(fā)明公開內容的偏離。
權利要求
1.在用于碼字的差錯檢測的解碼器中,一種用于計算單個差錯位置多項式系數(shù)的方法,該系數(shù)根據(jù)與所述單個差錯位置多項式系數(shù)對應的單元中的所述碼字而生成,所述方法包括步驟接收與所述碼字對應的差錯位置多項式系數(shù)(1110);在與所述碼字的處理對應的第一個時鐘周期中,通過具有負指數(shù)部分(1150)的伽羅華域乘法器乘以所述差錯位置多項式系數(shù)(1110),其中所述負指數(shù)部分是與所述單元對應的階數(shù)(j)和所述碼字長度(N)的函數(shù),所述的乘法步驟的結果為單元輸出;以及使用具有正指數(shù)(1140)的伽羅華域乘法器在隨后的N-1個時鐘周期內,迭代乘以所述單元輸出,其中所述正指數(shù)是所述階數(shù)(j)的函數(shù)。
2.根據(jù)權利要求1的方法,其中所述的單元是錢搜索模塊中的錢搜索單元。
3.根據(jù)權利要求1的方法,其中所述的單元是Forney算法模塊的Forney算法單元。
4.根據(jù)權利要求1的方法,其中所述單元是錢/Forney模塊中的Forney算法單元。
5.根據(jù)權利要求1的方法,其中所述解碼器是里德-所羅門解碼器。
6.在用于檢測碼字差錯的解碼器中,一種用于計算單個差錯位置多項式系數(shù)的方法,該系數(shù)根據(jù)與所述單個差錯位置多項式系數(shù)對應的單元中的所述碼字而生成,所述方法的操作通過以下等式的參數(shù)進行xi=Σj=0tΛjα-j(N-1)]]>當i=0;xi=Σj=0tΛjαj]]>當i=1,2,...,(N-1);其中,Xi是第i個差錯位置的根,t比差錯位置多項式對應的系數(shù)總個數(shù)少1,Λj是第j個差錯多項式系數(shù),N是碼字長度,α是伽羅華域元素;以及j是與所述單個差錯位置多項式系數(shù)對應的階數(shù)。
7.一種用于計算單個差錯位置多項式系數(shù)的設備,所述系數(shù)由與所述單個差錯位置多項式系數(shù)相對應的單元中的碼字而產生,所述設備引入用于所述碼字的差錯檢測的解碼器,所述設備包括用于接收與所述碼字對應的差錯位置多項式系數(shù)(1110)的裝置;通過具有負指數(shù)(1150)的伽羅華域乘法器,在與所述碼字處理對應的第一個時鐘周期中,用于和所述差錯位置多項式系數(shù)(1110)相乘的裝置,其中所述負指數(shù)是與所述單元對應的階數(shù)(j)以及所述碼字長度(N)的函數(shù),所述的相乘的結果得到單元輸出;以及用于通過具有正指數(shù)部分(1140)的伽羅華域乘法器在隨后的N-1個時鐘周期中迭代乘以所述單元輸出的裝置,其中正指數(shù)部分是所述階數(shù)(j)的函數(shù)。
8.根據(jù)權利要求7的設備,其中所述的單元是錢搜索模塊中的錢搜索單元。
9.根據(jù)權利要求7的設備,其中所述的單元是Forney算法模塊的Forney算法單元。
10.根據(jù)權利要求7的設備,其中所述單元是錢/Forney模塊中的Forney算法單元。
11.根據(jù)權利要求7的設備,其中所述解碼器是里德-所羅門解碼器。
全文摘要
一種結合了改進的錢搜索單元(1100)的解碼器和解碼方法,其降低了存儲需求和延遲時間?,F(xiàn)有技術的錢搜索單元以迭代的方式處理差錯位置多項式系數(shù),起始的α指數(shù)為“0”,α隨著每個時鐘周期減小,直到指數(shù)減到-j(N-1)。在改進的錢搜索單元(1100)中,α指數(shù)起始值為-j(N-1),隨著每個時鐘周期增至0。因此,在第一個時鐘周期期間,多項式系數(shù)(1100)通過預乘法器(1150)相乘,轉送到復用器(1120),并且發(fā)送到寄存器(1130)以便存儲。在后續(xù)時鐘周期內,寄存器(1130)的輸出被轉送到另一個乘法器(1140),然后通過復用器(1120)發(fā)送回寄存器(1130)。
文檔編號G06F11/10GK1636324SQ03802640
公開日2005年7月6日 申請日期2003年1月22日 優(yōu)先權日2002年1月23日
發(fā)明者L·R·小利特溫, D·韋萊斯 申請人:湯姆森許可公司