專利名稱::糾正位串錯(cuò)誤的方法
技術(shù)領(lǐng)域:
:本發(fā)明是關(guān)于錯(cuò)誤糾正碼的譯碼方法,特別是關(guān)于使用癥狀值譯碼機(jī)制所作的錯(cuò)誤糾正譯碼,其表示癥狀值是以一對(duì)一方式對(duì)應(yīng)于可糾正的錯(cuò)誤樣式(ErrorPatterns)0可使用此機(jī)制的例子包含線性碼(LinearCodes)或循環(huán)碼(CyclicCodes)、二進(jìn)制代碼(BinaryCodes)或非二進(jìn)制代碼(Non-binaryCodes)、系統(tǒng)碼(SystematicCodes)或非系統(tǒng)碼(Non-systematicCodes)、以及延伸碼(ExtendedCodes)或縮短碼(ShortenCodes)寸。
背景技術(shù):
:在信號(hào)傳遞時(shí),會(huì)發(fā)生如衰減(Fading)、信道噪聲(ChannelNoise)及信號(hào)干擾(SignalInterference)等因素,信道中的數(shù)據(jù)傳輸難免會(huì)發(fā)生錯(cuò)誤,因此錯(cuò)誤糾正碼在通訊系統(tǒng)中扮演了一個(gè)重要的角色。錯(cuò)誤會(huì)發(fā)生在任何通訊信道中,因此,接收器將接收到具有錯(cuò)誤型態(tài)的傳輸信號(hào),通過使用錯(cuò)誤糾正碼,可消除可糾正的錯(cuò)誤,因此原來的傳輸信號(hào)將在無需要求重新傳送信號(hào)的前提下被修復(fù)。所有的這些機(jī)制的基礎(chǔ)原理是在要傳輸?shù)男畔?Message-Word)中加入額外的冗余信息(Redundancy),以使得傳輸過程中的錯(cuò)誤能夠被偵測(cè)并加以糾正。這個(gè)機(jī)制把被傳輸?shù)男畔?duì)應(yīng)到一個(gè)碼字(Codeword),所對(duì)應(yīng)到的碼字包含要傳輸?shù)男畔⒁约坝米麇e(cuò)誤控制的冗余信息。加入的額外的冗余信息的數(shù)量是該機(jī)制錯(cuò)誤控制能力的函數(shù)。在接收器端,若傳輸時(shí)發(fā)生錯(cuò)誤,則接收器將接收到含有錯(cuò)誤樣式的碼字(CorruptedCodeword)0然而,若含有錯(cuò)誤樣式的碼字中的錯(cuò)誤數(shù)量小于或等于該機(jī)制的錯(cuò)誤控制能力(ErrorCorrectingCapacity),則接收器可根據(jù)癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系來確定出錯(cuò)誤樣式,并正確復(fù)原出原傳送的信息。用來從含有錯(cuò)誤樣式的碼字中移除錯(cuò)誤樣式的譯碼程序包含有下列步驟。首先,計(jì)算對(duì)應(yīng)于含有錯(cuò)誤樣式的碼字的癥狀值。由此癥狀值可得出包含在碼字中的錯(cuò)誤樣式的特征。因此,可通過一譯碼機(jī)制來確定出該癥狀值,并利用該癥狀值來識(shí)別包含在含有錯(cuò)誤樣式的碼字中的錯(cuò)誤樣式。一旦確定出錯(cuò)誤樣式后,便可從含有錯(cuò)誤樣式的碼字中直接移除以得到原來傳輸時(shí)的碼字,并從該碼字中還原出原信息。之前,已經(jīng)有各種執(zhí)行錯(cuò)誤糾正的譯碼機(jī)制被提出。然而,現(xiàn)有的譯碼方法主要缺點(diǎn)為譯碼過程非常耗時(shí),使得這些機(jī)制很難使用在實(shí)時(shí)(Real-time)應(yīng)用中。為何這些譯碼方法如此耗時(shí)?主要有二個(gè)理由,第一,確定錯(cuò)誤樣式所需的代數(shù)計(jì)算相當(dāng)復(fù)雜,第二,有些譯碼程序需多次遞歸執(zhí)行。因此,需要更快速且更簡單的錯(cuò)誤糾正譯碼機(jī)制,以提供高速的性能表現(xiàn)以符合大部分應(yīng)用的需求。
發(fā)明內(nèi)容本發(fā)明是一種執(zhí)行錯(cuò)誤糾正的譯碼方法,可應(yīng)用于癥狀值譯碼機(jī)制所涵蓋的錯(cuò)誤糾正碼。本發(fā)明的目的在于提供一種有用的譯碼方法,可應(yīng)用于癥狀值譯碼機(jī)制所涵蓋的錯(cuò)誤糾正碼,其中癥狀值譯碼機(jī)制可使用于大部分主要的與實(shí)時(shí)的應(yīng)用。本發(fā)明的另一目的在于提供一種快速且簡單的錯(cuò)誤糾正譯碼方法,此方法可應(yīng)用于癥狀值譯碼機(jī)制所涵蓋的錯(cuò)誤糾正碼。為了達(dá)到上述目的,并與本說明書中所廣泛描述的功效一致,本發(fā)明提供一種癥狀值譯碼機(jī)制所涵蓋的錯(cuò)誤糾正碼的譯碼方法,其中癥狀值譯碼機(jī)制包含線性碼或非線性碼、二進(jìn)制代碼或非二進(jìn)制代碼、系統(tǒng)碼或非系統(tǒng)碼、以及延伸碼或縮短碼的癥狀值譯碼機(jī)制。本發(fā)明改進(jìn)的高速錯(cuò)誤糾正能力以搜尋癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系(TheMappingRelationshipbetweenSyndromesandErrors)來實(shí)現(xiàn),而癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系建立在下列的理論基礎(chǔ)上所有癥狀值的集合與所有可糾正錯(cuò)誤樣式的集合間存在有一對(duì)一的對(duì)應(yīng)關(guān)系。本發(fā)明以兩個(gè)實(shí)施例來說明。第一實(shí)施例使用完整癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系,而第二實(shí)施例則使用部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系。本方法包含下列步驟計(jì)算對(duì)應(yīng)于接收到位串的癥狀值;確定癥狀值是否為零位串;當(dāng)癥狀值為非零位串時(shí),通過搜尋完整或者是部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系來確定錯(cuò)誤樣式;以及使用得到的錯(cuò)誤樣式糾正所接收的位串??梢岳斫獾氖?,前面的一般描述以及后續(xù)的詳細(xì)說明均以實(shí)施例方式加以說明,以提供對(duì)本發(fā)明進(jìn)一步的解釋。本發(fā)明的優(yōu)點(diǎn)為,利用不同的癥狀值譯碼機(jī)制,可減少譯碼程序中所需的遞歸運(yùn)算的次數(shù),進(jìn)而降低運(yùn)算元件所耗損的能量,同時(shí),當(dāng)癥狀值譯碼機(jī)制簡化后,即可以相對(duì)較少的硬件元件來執(zhí)行譯碼程序所需的運(yùn)算,故可降低硬件所需的成本。為了能夠?qū)Ρ景l(fā)明的觀點(diǎn)有更好的理解,請(qǐng)參照上述優(yōu)選實(shí)施例的詳細(xì)說明并結(jié)合相應(yīng)的附圖。相關(guān)附圖的說明如下圖IA是示出依據(jù)本發(fā)明第一實(shí)施例的線性碼或循環(huán)碼的譯碼的流程圖。圖IB是示出依據(jù)本發(fā)明第一實(shí)施例的利用完整癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系以確定錯(cuò)誤樣式的流程圖。圖2A是示出依據(jù)本發(fā)明第二實(shí)施例的譯碼線性碼或循環(huán)碼的流程圖。圖2B是示出依據(jù)本發(fā)明第二實(shí)施例的利用部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系以作錯(cuò)誤嘗試(Error-Trying)的流程圖。具體實(shí)施例方式本發(fā)明的優(yōu)選實(shí)施例將由以下內(nèi)容作詳細(xì)說明,而本發(fā)明的實(shí)施例將結(jié)合相應(yīng)的附圖加以介紹。在可能的情況下,相同的參考圖標(biāo)用來在附圖及說明中表示相同或相似的部分。本發(fā)明提供一種有用的錯(cuò)誤糾正方法,用作線性碼或循環(huán)碼、二進(jìn)制代碼或非二進(jìn)制代碼、系統(tǒng)碼或非系統(tǒng)碼、以及延伸碼或縮短碼的譯碼。與現(xiàn)有方法比較,本發(fā)明所改進(jìn)的高速錯(cuò)誤糾正能力是利用搜尋癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系來實(shí)現(xiàn)的。癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系建立在下列的理論上在所有的癥狀值形成的集合以及所有的可糾正的錯(cuò)誤樣式形成的集合之間,存在有一對(duì)一的對(duì)應(yīng)關(guān)系。如果錯(cuò)誤樣式的權(quán)重(Weight)小于或等于錯(cuò)誤糾正能力<formula>formulaseeoriginaldocumentpage7</formula>則稱錯(cuò)誤樣式是可糾正的,其中d是編碼的最小漢明距離,標(biāo)記d-1/2表示不超過[d-1/2]的最大整數(shù),而位串的權(quán)重表示位串中非零位置的數(shù)量。因?yàn)榘Y狀值隱藏在含有錯(cuò)誤樣式的碼字之中,而且僅與錯(cuò)誤樣式相關(guān),即癥狀值僅由可糾正的錯(cuò)誤樣式所確定。單個(gè)可糾正的錯(cuò)誤樣式不可能對(duì)應(yīng)于兩個(gè)不同的癥狀值。從另一觀點(diǎn)來說,假如有兩個(gè)可糾正的錯(cuò)誤樣式e與e’,且與該兩個(gè)錯(cuò)誤樣式相關(guān)的癥狀值是完全相同的,則該兩個(gè)錯(cuò)誤樣式相減的字符串e-e’的癥狀值等于零。上述狀況意味著相減的字符串e-e’實(shí)際上是一個(gè)碼字。因?yàn)橄鄿p的字符串e-e’的權(quán)重并沒有大于錯(cuò)誤樣式e與e’的權(quán)重的和,即<formula>formulaseeoriginaldocumentpage7</formula>所以相減的字符串e_e,的權(quán)重最大為t+t=2t,其中t為錯(cuò)誤糾正能力。根據(jù)上述描述可知相減的字符串e-e’的權(quán)重小于d(碼字的最小距離),此狀況對(duì)于線性碼或循環(huán)碼而言是不合理的。通過使用癥狀值與可糾正的錯(cuò)誤樣式之間的對(duì)應(yīng)關(guān)系,可以建立一有用的癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)表,并將其使用于譯碼過程,其中癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)表也可稱為癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系。癥狀值作為癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系的輸入部分,而輸出部分則為相對(duì)應(yīng)的可糾正錯(cuò)誤樣式。上述做法可避免從癥狀值中確定錯(cuò)誤樣式的復(fù)雜計(jì)算。以下將詳細(xì)描述兩個(gè)實(shí)施例。請(qǐng)先參照?qǐng)D1A,根據(jù)本發(fā)明第一實(shí)施例的應(yīng)用于譯線性碼或譯循環(huán)碼的方法將在下面進(jìn)行說明。在步驟102中,計(jì)算對(duì)應(yīng)到所接收位串r的癥狀值S。在循環(huán)碼的例子中,一般狀況下,計(jì)算癥狀值包含以下兩種常見的方法,第一是由接收的多項(xiàng)式除以生成多項(xiàng)式的余式當(dāng)作癥狀值,或者將生成多項(xiàng)式的根代入到接收多項(xiàng)式中所得的值當(dāng)作癥狀值。在線性碼的例子中,一般狀況下,癥狀值包含有利用校驗(yàn)矩陣(ParityCheckMatrix)乘以接收碼字(ReceiveCodeword)所獲得的向量。接著在步驟104中,確定在步驟102中所算出的癥狀值S是否為零位串。當(dāng)癥狀值S為非零位串時(shí),在步驟106中使用該癥狀值S從完整癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系中找出相對(duì)應(yīng)的錯(cuò)誤樣式e。相反地,當(dāng)癥狀值S等于零時(shí),在步驟110中宣告無錯(cuò)誤發(fā)生。錯(cuò)誤樣式的確定可利用查表法(Look-UpTable)或邏輯函數(shù)法(LogicFunctionMethods)來執(zhí)行。這些確定錯(cuò)誤的方法將在后面結(jié)合圖IB加以說明。最后,在步驟108中,執(zhí)行錯(cuò)誤樣式e與含有錯(cuò)誤樣式的碼字r(CorruptedCodeword)兩者的數(shù)據(jù)部分的模二加法(Modulo_2Addition)來回復(fù)原來的數(shù)據(jù)信息,其中該含有錯(cuò)誤樣式的碼字即前述步驟102中所接收的位串r?,F(xiàn)在請(qǐng)參照?qǐng)D1B,根據(jù)本發(fā)明第一實(shí)施例的使用完整癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系的方法將在下面進(jìn)行說明。在步驟112中,確定癥狀值S是否屬于完整癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系中的一部分。接著,在步驟114中,當(dāng)癥狀值S屬于癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系中的一部分時(shí),確定與其相對(duì)應(yīng)的錯(cuò)誤樣式e。相反的,當(dāng)癥狀值S不屬于完整癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系中的一部分時(shí),在步驟116中宣告為無法糾正的錯(cuò)誤。以下是關(guān)于從癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系中的癥狀值確定錯(cuò)誤樣式的一種方式的說明設(shè)e=(e0,ei;…,e^)為錯(cuò)誤樣式發(fā)生時(shí)的數(shù)據(jù)部分,每個(gè)錯(cuò)誤位置力用邏輯函數(shù)ei=fJS。,S1,…,Snrl)表示,其中i=0,1,…,k-Ι,而SQ,S1,.",Snri是從含有錯(cuò)誤樣式的碼字中所得的癥狀值S的癥狀值位(SyndromeBits),且將癥狀值位Stl,S1,…,Snrl輸入各位函數(shù)&計(jì)算即可得出錯(cuò)誤樣式位置ei的值。詳細(xì)描述如下設(shè)e=(e0,e1…,^1)為發(fā)生在數(shù)據(jù)部分的錯(cuò)誤樣式且設(shè)癥狀值S已經(jīng)被計(jì)算出。然后存在邏輯函數(shù)&,1,…,得每個(gè)錯(cuò)誤位置能夠經(jīng)由代入癥狀值位到邏輯函數(shù)中來確定<formula>formulaseeoriginaldocumentpage8</formula>因此,可執(zhí)行錯(cuò)誤樣式與含有錯(cuò)誤樣式的碼字兩者數(shù)據(jù)部分的模二加法來回復(fù)原來的數(shù)據(jù)信息。第一實(shí)施例的一特定實(shí)例敘述如下??紤]二進(jìn)制循環(huán)碼(17,9)搭配生成多項(xiàng)式g(x)=x8+x7+x6+x4+x2+x+l。表1為二進(jìn)制循環(huán)碼(17,9)的完整癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系,其中包含所有的可糾正的錯(cuò)誤樣式以及相對(duì)應(yīng)的癥狀值。設(shè)r=(11101111011111111)為接收的位串,而相關(guān)的接收多項(xiàng)式(ReceivedPolynomial)為r(x)=Z+Z+WZ+xWa+xWxW+Z+f+f+x+l。首先,用接收多項(xiàng)式r(χ)除以生成多項(xiàng)式g(x)來計(jì)算與r相對(duì)應(yīng)的癥狀值S以取得余式x4+x3+x+l。癥狀值S=(00011011)是與余式相關(guān)的系數(shù)向量(CoefficientVector)。因?yàn)榘Y狀值S是非零的位串,因此接收的位串為含有錯(cuò)誤樣式的碼字。此外,因?yàn)榘Y狀值S屬于表1的一部分,因此可通過查詢表1來確定錯(cuò)誤樣式的信息,或是根據(jù)所得的癥狀值S=(00011011)使用邏輯函數(shù)來直接確定錯(cuò)誤樣式的信息,其方式如下e。=f0(0,0,0,1,1,0,1,1)=Le1=^(0,0,0,1,1,0,1,1)=0,e2=f2(0,0,0,1,1,0,1,1)=0,e3=f3(0,0,0,1,1,0,1,1)=0,e4=f4(0,0,0,1,1,0,1,1)=0,e5=f5(0,0,0,l,l,0,l,l)=1,e6=f6(0,0,0,1,1,0,1,1)=0,e7=f7(0,0,0,1,1,0,1,1)=0與%=f8(0,0,0,l,l,0,l,l)=0,然后可得到數(shù)據(jù)部分的錯(cuò)誤樣式(000100001)。接著,數(shù)據(jù)部分的錯(cuò)誤樣式(000100001)與含有錯(cuò)誤樣式的碼字的數(shù)據(jù)部分(111011110)兩者進(jìn)行模二加法可以還原得到原來的數(shù)據(jù)信息(111111111)。<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage9</column></row><table><table>tableseeoriginaldocumentpage10</column></row><table>表1(17,9)完整癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系現(xiàn)在請(qǐng)參照?qǐng)D2A,根據(jù)本發(fā)明第二實(shí)施例的應(yīng)用于譯線性碼或譯循環(huán)碼的方法將在下面進(jìn)行說明。在步驟202中,計(jì)算對(duì)應(yīng)到接收到的位串r的癥狀值S。在循環(huán)碼的例子中,一般狀況下,計(jì)算癥狀值包含以下兩種常見的方法,第一是由接收的多項(xiàng)式除以生成多項(xiàng)式的余式當(dāng)作癥狀值,或者將生成多項(xiàng)式的根代入到接收多項(xiàng)式中所得的值當(dāng)作癥狀值。在線性碼的例子中,一般狀況下,癥狀值包含利用校驗(yàn)矩陣乘以接收的位串所獲得的向量。接著在步驟204中,確定在步驟202中所得的癥狀值S是否為零位串。當(dāng)癥狀值S為非零位串時(shí),在步驟206中從部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系中找出與癥狀值S相對(duì)應(yīng)的錯(cuò)誤樣式e。相反地,當(dāng)癥狀值S等于零時(shí),在步驟210中宣告無錯(cuò)誤發(fā)生。確定錯(cuò)誤的方法將在后面參照?qǐng)D2B進(jìn)行說明。步驟208中執(zhí)行錯(cuò)誤樣式e與含有錯(cuò)誤樣式的碼字兩者的數(shù)據(jù)部分的模二加法以回復(fù)原來的數(shù)據(jù)信息,其中該含有錯(cuò)誤樣式的碼字即上述步驟202中所接收的位串r?,F(xiàn)在請(qǐng)參照?qǐng)D2B,根據(jù)本發(fā)明第二實(shí)施例的使用部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系的方法將在下面進(jìn)行說明。預(yù)先建構(gòu)的部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系包含所有癥狀值的子集合以及相對(duì)應(yīng)的可糾正的錯(cuò)誤樣式的子集合。預(yù)先計(jì)算的癥狀值[et]對(duì)應(yīng)于可糾正的錯(cuò)誤樣式但不包含在預(yù)先建構(gòu)的部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系中的癥狀值中,而此標(biāo)志符號(hào)[et]用來表示對(duì)應(yīng)于錯(cuò)誤樣式et的癥狀值。在步驟212中,將起始癥狀值(StartingSyndrome)S0指定為根據(jù)接收多項(xiàng)式所算出的癥狀值S,并將嘗試錯(cuò)誤(TryingError)的樣式et指定為零。接著,在步驟214中,確定癥狀值S是否屬于部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系中的一部分。在步驟216中,當(dāng)癥狀值S屬于部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系中的一部分時(shí),可確定出與其相對(duì)應(yīng)的錯(cuò)誤樣式ep。相反地,當(dāng)癥狀值S不屬于部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系中的一部分時(shí),在步驟220中檢查所有的預(yù)先計(jì)算的癥狀值[et]是否均已使用完。假設(shè)預(yù)先計(jì)算的癥狀值[et]尚未使用完,則在步驟222中選擇一個(gè)預(yù)先計(jì)算的癥狀值[et]與起始癥狀值Stl進(jìn)行模二加法,并將癥狀值S更新成該兩者相加之和。此后,在步驟224中,以對(duì)應(yīng)于該預(yù)先計(jì)算的癥狀值[et]的錯(cuò)誤樣式覆寫上述嘗試錯(cuò)誤的樣式et。另一方面,假如預(yù)先計(jì)算的癥狀值[et]全部使用完且找不到任何的錯(cuò)誤樣式,則在步驟226中宣告為無法糾正的錯(cuò)誤。當(dāng)癥狀值S不屬于部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系且預(yù)先計(jì)算的癥狀值[et]尚未使用完時(shí),將起始癥狀值Stl與預(yù)先計(jì)算的癥狀值[et]其中之一進(jìn)行模二加法的過程會(huì)一直重復(fù),直到起始癥狀值Stl與預(yù)先計(jì)算的癥狀值[et]其中之一的和能夠在部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系中找到為止,或是所有預(yù)先計(jì)算的癥狀值[et]均使用完為止。假如產(chǎn)生有錯(cuò)誤樣式ep,則在步驟218中將所獲得的錯(cuò)誤樣式ep與嘗試錯(cuò)誤的樣式et兩者的數(shù)據(jù)部分的模二加法結(jié)果指定為錯(cuò)誤樣式e的數(shù)據(jù)部分。第二實(shí)施例的一個(gè)實(shí)例敘述如下。考慮二進(jìn)制循環(huán)碼(17,9)由生成多項(xiàng)式所產(chǎn)生。表2是二進(jìn)制循環(huán)碼(17,9)的部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系,其中包含有部分的可糾正的錯(cuò)誤樣式以及相對(duì)應(yīng)的癥狀值。設(shè)r=(11101111011111111)為接收的位串,而相應(yīng)的接收多項(xiàng)式為r(X)=χ16+χ15+χ14+χ12+χ11+χ10+χ9+χ7+χ6+χ5+χ4+χ3+χ2+χ+1ο首先,用接收多項(xiàng)式r(x)除以生成多項(xiàng)式g(x)來計(jì)算與r相對(duì)應(yīng)的癥狀值S以算得余式X4+X3+X+1。癥狀值S=(00011011)為此余式的系數(shù)向量。因?yàn)榘Y狀值S為非零位串,因此接收的位串為含有錯(cuò)誤樣式的碼字。為了移除隱藏在接收位串中的錯(cuò)誤樣式,指定起始癥狀值Stl為癥狀值S,即Stl=S=(00011011)。因?yàn)闊o法在部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系中找到癥狀值S=(00011011),一些嘗試錯(cuò)誤樣式的預(yù)先計(jì)算的癥狀值[et]將與起始癥狀值S。進(jìn)行模二加法。經(jīng)過嘗試后,嘗試錯(cuò)誤的樣式et=(00000000100000000)搭配預(yù)先計(jì)算的癥狀值[et]=(11010111)即為所需。將該一預(yù)先計(jì)算的癥狀值(11010111)與起始癥狀值(00011011)進(jìn)行模二加法,并將此數(shù)值存儲(chǔ)在癥狀值S中,即S=Stl+[et]=(11001100)。在這一實(shí)例中,在表2中可找到癥狀值S=(11001100),且可通過查閱表2來確定錯(cuò)誤樣式,或是根據(jù)所得的癥狀值S=(11001100)使用邏輯函數(shù)來直接確定錯(cuò)誤樣式的信息,其方式如下epQ=f0(l,l,0,0,l,l,0,0)=0,epl=4(1,1,0,0,1,1,0,0)=0,ep2=f2(l,l,0,0,l,l,0,0)=0,ep3=f3(l,l,0,0,l,l,0,0)=0,ep4=f4(1,1,0,0,1,1,0,0)=0,ep5=f5(l,l,0,0,1,1,0,0)=1,ep6=f6(l,l,0,0,l,l,0,0)=0,ep7=f7(l,1,0,0,1,1,0,0)=0與ep8=f8(l,1,0,0,1,1,0,0)=0,然后可得到數(shù)據(jù)部分的錯(cuò)誤樣式ep=(000100000)。接著,所得的錯(cuò)誤樣式ep=(000100000)與嘗試錯(cuò)誤的樣式(000000001)兩者的信息數(shù)據(jù)部分的模二加法可以得到發(fā)生在數(shù)據(jù)部分的錯(cuò)誤樣式位串e=(000100001)。最后,計(jì)算出的e=(000100001)與錯(cuò)誤碼字(111011110)的信息部分的模二加法可以得到原來的數(shù)據(jù)信息(111111111)。<table>tableseeoriginaldocumentpage11</column></row><table><table>tableseeoriginaldocumentpage12</column></row><table>表2(17,9)部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系本發(fā)明的優(yōu)點(diǎn)在于提供一應(yīng)用于線性碼與循環(huán)碼譯碼的方法,此方法可使用于大部分主要的與實(shí)時(shí)的應(yīng)用中。本發(fā)明為一種快速且簡單的方法,用作線性碼與循環(huán)碼、二進(jìn)制代碼或非二進(jìn)制代碼、系統(tǒng)碼或非系統(tǒng)碼、以及延伸碼或縮短碼的譯碼。本發(fā)明所改進(jìn)的高速錯(cuò)誤糾正能力是以從適當(dāng)?shù)陌Y狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系中直接確定錯(cuò)誤樣式來實(shí)現(xiàn)。本發(fā)明可用軟件或硬件來進(jìn)行具體化。本發(fā)明一般的軟件實(shí)施例中包含使用程序內(nèi)存、數(shù)據(jù)存儲(chǔ)器或者內(nèi)容可尋址內(nèi)存(CAM)來存儲(chǔ)癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系,或者根據(jù)癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系以數(shù)學(xué)函數(shù)的方式而應(yīng)用到軟件中。本發(fā)明一般的硬件實(shí)施例中包含使用記憶裝置來存儲(chǔ)癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系,或者使用組合邏輯電路(CombinationalLogicCircuit)或邏輯函數(shù)(LogicFunction)來執(zhí)行癥狀值與錯(cuò)誤樣式之間的對(duì)應(yīng)關(guān)系而應(yīng)用到硬件中。此一請(qǐng)求保護(hù)的范圍包含上述癥狀值與錯(cuò)誤樣式間對(duì)應(yīng)關(guān)系的任何改進(jìn)或簡化裝置。雖然本發(fā)明已經(jīng)在上述說明中結(jié)合優(yōu)選實(shí)施例進(jìn)行詳細(xì)說明,但仍可有其它的實(shí)施例。因此,下述的要求保護(hù)的范圍的精神與范疇?wèi)?yīng)不局限于本說明書所包含的優(yōu)選實(shí)施例的描述。本領(lǐng)域的普通技術(shù)人員將能體會(huì)到,在不脫離本發(fā)明的范圍或精神的情況下,可對(duì)本發(fā)明的結(jié)構(gòu)作出各種更改與變化。根據(jù)前述的內(nèi)容,可以預(yù)期的是,本發(fā)明所包含的更改與變化均落在后續(xù)要求保護(hù)的范圍及其等價(jià)的范圍內(nèi)。權(quán)利要求一種糾正位串錯(cuò)誤的方法,可用來糾正所接收的一位串中的錯(cuò)誤,其中該糾正位串錯(cuò)誤的方法包含計(jì)算對(duì)應(yīng)于所接收的該位串的一癥狀值;確定該癥狀值是否為零位串;當(dāng)該癥狀值為非零位串時(shí),通過搜尋一完整癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系以確定出一錯(cuò)誤樣式,其中該完整癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系是包含所有癥狀值與其對(duì)應(yīng)的可糾正錯(cuò)誤樣式的集合;以及使用所得的該錯(cuò)誤樣式來糾正所接收的該位串中的錯(cuò)誤。2.根據(jù)權(quán)利要求1所述的糾正位串錯(cuò)誤的方法,還包含當(dāng)該癥狀值為零位串時(shí),宣告無錯(cuò)誤發(fā)生。3.根據(jù)權(quán)利要求1所述的糾正位串錯(cuò)誤的方法,其中所接收的該位串為一錯(cuò)誤糾正碼所編成的碼字,且該錯(cuò)誤糾正碼使用一癥狀值譯碼機(jī)制。4.根據(jù)權(quán)利要求3所述的糾正位串錯(cuò)誤的方法,其中該癥狀值譯碼機(jī)制表示所有癥狀值的集合以一對(duì)一的方式對(duì)應(yīng)于所有可糾正錯(cuò)誤樣式的集合。5.根據(jù)權(quán)利要求3所述的糾正位串錯(cuò)誤的方法,其中適用該癥狀值譯碼機(jī)制的編碼方式包含線性碼(LinearCodes)或循環(huán)碼(CyclicCodes)、二進(jìn)制代碼(BinaryCodes)或非二進(jìn)制代碼(Non-binaryCodes)、系統(tǒng)碼(SystematicCodes)或非系統(tǒng)碼(Non-systematicCodes)、以及延伸碼(ExtendedCodes)或縮短碼(ShortenCodes)。6.根據(jù)權(quán)利要求1所述的糾正位串錯(cuò)誤的方法,其中該完整癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系建立在所有所述癥狀值的集合與所有所述可糾正錯(cuò)誤樣式的集合之間的一對(duì)一的對(duì)應(yīng)關(guān)系上。7.根據(jù)權(quán)利要求1所述的糾正位串錯(cuò)誤的方法,其中該確定一錯(cuò)誤樣式的步驟包含確定該癥狀值是否屬于該完整癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系;以及當(dāng)該癥狀值屬于該完整癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系時(shí),確定與該癥狀值相對(duì)應(yīng)的該錯(cuò)誤樣式。8.根據(jù)權(quán)利要求7所述的糾正位串錯(cuò)誤的方法,進(jìn)一步包含當(dāng)該癥狀值不屬于該完整癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系時(shí),宣告為無法糾正的錯(cuò)誤。9.根據(jù)權(quán)利要求1所述的糾正位串錯(cuò)誤的方法,其中該確定一錯(cuò)誤樣式的步驟可通過使用內(nèi)存存儲(chǔ)該完整癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系,或根據(jù)該完整癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系以使用函數(shù)的方式而應(yīng)用到軟件中。10.根據(jù)權(quán)利要求1所述的糾正位串錯(cuò)誤的方法,其中該確定一錯(cuò)誤樣式的步驟可通過使用記憶裝置存儲(chǔ)該完整癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系,或使用組合邏輯電路(CombinationalLogicCircuit)或邏輯函數(shù)(LogicFunction)來執(zhí)行所有所述癥狀值與所有所述可糾正錯(cuò)誤樣式之間的對(duì)應(yīng)關(guān)系而應(yīng)用到硬件中。11.根據(jù)權(quán)利要求1所述的糾正位串錯(cuò)誤的方法,其中該糾正所接收的該位串中的錯(cuò)誤的步驟包含執(zhí)行所接收的該位串與該錯(cuò)誤樣式的模二加法。12.—種糾正位串錯(cuò)誤的方法,可用來糾正所接收的一位串中的錯(cuò)誤,其中該糾正位串錯(cuò)誤的方法包含計(jì)算對(duì)應(yīng)于所接收的該位串的一癥狀值;確定該癥狀值是否為零位串;當(dāng)該癥狀值為非零位串時(shí),通過搜尋一部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系以確定出一錯(cuò)誤樣式,其中該部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系是包含所有癥狀值與其對(duì)應(yīng)的可糾正錯(cuò)誤樣式的集合的一子集合;以及使用所得的該錯(cuò)誤樣式來糾正所接收的該位串中的錯(cuò)誤。13.根據(jù)權(quán)利要求12所述的糾正位串錯(cuò)誤的方法,還包含當(dāng)該癥狀值為零位串時(shí),宣告無錯(cuò)誤發(fā)生。14.根據(jù)權(quán)利要求12所述的糾正位串錯(cuò)誤的方法,其中該接收的位串為一錯(cuò)誤糾正碼所編成的碼字,且該錯(cuò)誤糾正碼使用一癥狀值譯碼機(jī)制。15.根據(jù)權(quán)利要求14所述的糾正位串錯(cuò)誤的方法,其中該癥狀值譯碼機(jī)制表示所有所述癥狀值的集合以一對(duì)一的方式對(duì)應(yīng)于所有所述可糾正錯(cuò)誤樣式的集合。16.根據(jù)權(quán)利要求14所述的糾正位串錯(cuò)誤的方法,其中適用該癥狀值譯碼機(jī)制的編碼方式包含線性碼或循環(huán)碼、二進(jìn)制代碼或非二進(jìn)制代碼、系統(tǒng)碼或非系統(tǒng)碼、以及延伸碼或縮短碼。17.根據(jù)權(quán)利要求12所述的糾正位串錯(cuò)誤的方法,其中該部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系建立在所有所述癥狀值與其相對(duì)應(yīng)的所述可糾正錯(cuò)誤樣式的集合的該子集合之間的一對(duì)一對(duì)應(yīng)關(guān)系上。18.根據(jù)權(quán)利要求12所述的糾正位串錯(cuò)誤的方法,其中該確定一錯(cuò)誤樣式的步驟包含指定一起始癥狀值為由所接收的該位串計(jì)算所得的該癥狀值,且先指定一嘗試錯(cuò)誤的樣式為零;確定該癥狀值是否屬于該部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系;當(dāng)該癥狀值屬于該部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系時(shí),確定所得的該錯(cuò)誤樣式;以及執(zhí)行所得的該錯(cuò)誤樣式與該嘗試錯(cuò)誤的樣式的模二加法。19.根據(jù)權(quán)利要求18所述的糾正位串錯(cuò)誤的方法,進(jìn)一步包含當(dāng)該癥狀值不屬于該部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系時(shí),確定多個(gè)預(yù)先計(jì)算的癥狀值是否已使用完,其中所有所述預(yù)先計(jì)算的癥狀值與所述可糾正的錯(cuò)誤樣式相對(duì)應(yīng),但不包含在該部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系的癥狀值中;以及當(dāng)所有所述預(yù)先計(jì)算的癥狀值均已使用完時(shí),宣告為無法糾正的錯(cuò)誤。20.根據(jù)權(quán)利要求19所述的糾正位串錯(cuò)誤的方法,進(jìn)一步包含當(dāng)所有所述預(yù)先計(jì)算的癥狀值尚未使用完時(shí),將該起始癥狀值與所有所述預(yù)先計(jì)算的癥狀值其中之一進(jìn)行模二加法作為該部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系的輸入值。21.根據(jù)權(quán)利要求12所述的糾正位串錯(cuò)誤的方法,其中該確定一錯(cuò)誤樣式的步驟可通過使用記憶裝置存儲(chǔ)該部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系,或根據(jù)該部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系以使用函數(shù)的方式而應(yīng)用到軟件中。22.根據(jù)權(quán)利要求12所述的糾正位串錯(cuò)誤的方法,其中該確定一錯(cuò)誤樣式的步驟可通過使用記憶裝置存儲(chǔ)該部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系,或使用組合邏輯電路(CombinationalLogicCircuit)或邏輯函數(shù)(LogicFunction)來執(zhí)行所有癥狀值與所有可糾正錯(cuò)誤樣式之間的對(duì)應(yīng)關(guān)系而應(yīng)用到硬件中。23.根據(jù)權(quán)利要求12所述的糾正位串錯(cuò)誤的方法,其中該糾正所接收的該位串的錯(cuò)誤的步驟包含執(zhí)行所接收的該位串與該錯(cuò)誤樣式的模二加法。全文摘要本發(fā)明是應(yīng)用于使用癥狀值譯碼機(jī)制的錯(cuò)誤糾正碼中的譯碼方法,而癥狀值譯碼機(jī)制是指所有癥狀值集合(SyndromeSet)以一對(duì)一方式對(duì)應(yīng)至所有可糾正錯(cuò)誤樣式(ErrorPatterns)集合。本發(fā)明改進(jìn)的高速錯(cuò)誤糾正能力是以搜尋癥狀值與錯(cuò)誤樣式集合間的一對(duì)一對(duì)應(yīng)關(guān)系來實(shí)現(xiàn)。本發(fā)明第一實(shí)施例與第二實(shí)施例是分別使用完整與部分癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系。本方法包含下列步驟計(jì)算對(duì)應(yīng)于接收到的位串的癥狀值;確定位串的癥狀值是否為零位串;當(dāng)癥狀值為非零位串時(shí),由癥狀值與錯(cuò)誤樣式的對(duì)應(yīng)關(guān)系來確定出錯(cuò)誤樣式;隨后使用錯(cuò)誤樣式糾正所接收到的位串。文檔編號(hào)H03M13/00GK101803204SQ200880100849公開日2010年8月11日申請(qǐng)日期2008年7月27日優(yōu)先權(quán)日2007年7月27日發(fā)明者張耀祖申請(qǐng)人:張楷文;張耀宗