專利名稱:錯(cuò)誤檢測(cè)裝置和錯(cuò)誤校正/錯(cuò)誤檢測(cè)解碼裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及錯(cuò)誤檢測(cè)裝置和錯(cuò)誤校正/錯(cuò)誤檢測(cè)解碼裝置和方法。
背景技術(shù):
錯(cuò)誤檢測(cè)碼在數(shù)據(jù)通信系統(tǒng)等要求無(wú)錯(cuò)誤地傳送數(shù)據(jù)的系統(tǒng)、外部存儲(chǔ)裝置等要
求無(wú)錯(cuò)誤地進(jìn)行數(shù)據(jù)的讀出的系統(tǒng)中被使用,用于檢測(cè)傳送錯(cuò)誤、讀出錯(cuò)誤。
圖13是應(yīng)用錯(cuò)誤檢測(cè)的通信系統(tǒng)的結(jié)構(gòu)例。在發(fā)送側(cè)l,錯(cuò)誤檢測(cè)編碼部lb對(duì)信
息生成部la生成的規(guī)定位長(zhǎng)的數(shù)據(jù)串施加錯(cuò)誤檢測(cè)編碼處理,錯(cuò)誤校正編碼部lc通過(guò)規(guī)
定的編碼方式對(duì)輸入數(shù)據(jù)串進(jìn)行錯(cuò)誤校正編碼后通過(guò)通信路徑2向接收側(cè)3發(fā)送。在接收
側(cè)3,錯(cuò)誤校正解碼部3a通過(guò)錯(cuò)誤校正解碼處理對(duì)輸入的編碼數(shù)據(jù)串進(jìn)行解碼,并將解碼
數(shù)據(jù)串輸入錯(cuò)誤檢測(cè)解碼部3b。錯(cuò)誤檢測(cè)解碼部3b對(duì)解碼數(shù)據(jù)串施加錯(cuò)誤檢測(cè)解碼處理,
檢測(cè)錯(cuò)誤的有無(wú),如果有錯(cuò)誤則向發(fā)送側(cè)發(fā)出再次請(qǐng)求信號(hào)RRQ,如果無(wú)錯(cuò)誤則信息抽出部
3c抽出并輸出數(shù)據(jù)。 作為錯(cuò)誤檢測(cè)碼,例如循環(huán)冗余校驗(yàn)(CRC:Cyclic RedundancyCheck)碼能夠?qū)?連續(xù)的錯(cuò)誤進(jìn)行檢測(cè),因此常被利用。CRC是,在發(fā)送側(cè)將N位的信息位視為多項(xiàng)式,由生成 多項(xiàng)式進(jìn)行除法運(yùn)算,將得到的m位的剩余(奇偶校驗(yàn)位)添加于信息位,成為(N+m)位, 對(duì)能夠由生成多項(xiàng)式整除的數(shù)據(jù)進(jìn)行編碼并發(fā)送。在接收側(cè),由上述生成多項(xiàng)式對(duì)接收數(shù) 據(jù)進(jìn)行除法運(yùn)算,在剩余為0時(shí)的情況下沒(méi)有錯(cuò)誤,在此外的情況下存在錯(cuò)誤,進(jìn)行錯(cuò)誤檢 測(cè)。例如,使生成多項(xiàng)式G(x)為16位,
如果x16K (x) +G (x) = Q (x)余R(x) 則將W(x) = x16K(X)+R(x)作為CRC代碼字。此處,x16K(x)意味著在N位的數(shù)據(jù) 串K(x)的低次側(cè)添加了 16位的"0"而得的數(shù)據(jù)串。在接收側(cè),當(dāng)接收到在該代碼字W(x) 上添加有錯(cuò)誤E(x)的W' (x) =W(x)+E(x)時(shí),以G(x)對(duì)W' (x)進(jìn)行除法運(yùn)算,如果其剩 余為0則沒(méi)有錯(cuò)誤,如果為0以外則檢測(cè)為存在錯(cuò)誤。具體地說(shuō),計(jì)算
W' (x)/G(x)檢測(cè)是否能整除。 在CRC的編碼、解碼時(shí),需要進(jìn)行如上所述的除法運(yùn)算,該除法運(yùn)算器能夠由硬件 構(gòu)成,因此能夠以比較簡(jiǎn)單的電路構(gòu)成。以m次的生成多項(xiàng)式
[數(shù)學(xué)式1] G(x) = xm+gm—lXm-^ +gix+l (1) 進(jìn)行除法運(yùn)算時(shí)的電路結(jié)構(gòu)的一個(gè)例子表示于圖14(A)。在圖中,gi是O或1的 系數(shù),構(gòu)成為在gi = 1時(shí)使線連接,在gi = 0時(shí)使線不連接。圖14(B)是例如生成多項(xiàng)式 G(x) = x16+x12+x5+l時(shí)的CRC運(yùn)算裝置的除法運(yùn)算器的例子。該除法運(yùn)算器包括16段的 移位寄存器SR ;設(shè)置在0位位置、5位位置、12位位置的輸入側(cè),進(jìn)行前段的輸出數(shù)據(jù)與反 饋數(shù)據(jù)的異或運(yùn)算的異或電路(Exclusive OR電路)E0R1 E0R3 ;和設(shè)置于15位位置的 輸出側(cè)的開(kāi)關(guān)SW。通過(guò)在將開(kāi)關(guān)SW切換至反饋側(cè)(A側(cè))的狀態(tài)下,將數(shù)據(jù)串從高次開(kāi)始 一位一位地輸入E0R1,能夠進(jìn)行除法運(yùn)算。
根據(jù)圖14(A)的結(jié)構(gòu),通過(guò)將多項(xiàng)式W' (x)的各次數(shù)中的系數(shù)從次數(shù)高的項(xiàng)的系 數(shù)開(kāi)始依次從移位寄存器的低次側(cè)輸入,商多項(xiàng)式從移位寄存器的高次輸出,當(dāng)輸入全部 的次數(shù)時(shí),在移位寄存器中保存剩余多項(xiàng)式。這樣,能夠利用移位寄存器和異或由簡(jiǎn)單的電 路構(gòu)成除法運(yùn)算器。但是,在圖14的除法運(yùn)算器的結(jié)構(gòu)中電路雖簡(jiǎn)單,但需要將輸入數(shù)據(jù) 從高次的位開(kāi)始依次輸入。因此,在輸入不以正規(guī)的順序排列的位列時(shí),例如在由于交錯(cuò) (Interleave),數(shù)據(jù)串被改變排列而輸入位列時(shí),需要在輸入除法運(yùn)算器之前使用存儲(chǔ)器 等將數(shù)據(jù)串的排列變更為正規(guī)的順序。 圖15是不以正規(guī)順序排列的位列輸入時(shí)的CRC校驗(yàn)電路的結(jié)構(gòu)圖,在圖14(A)的 除法運(yùn)算器4a的前段設(shè)置有數(shù)據(jù)順序排列變更用的RAM4b,并設(shè)置有判斷由除法運(yùn)算器4a 求得的剩余是否為0并輸出校驗(yàn)結(jié)果的全零檢測(cè)電路4c。對(duì)數(shù)據(jù)順序排列變更用的RAM4b 與位列(輸入數(shù)據(jù)) 一同輸入各位的正規(guī)的順序(數(shù)據(jù)編號(hào))。由此,RAM4b將每位的輸入 數(shù)據(jù)寫入數(shù)據(jù)編號(hào)所指示的位置,然后,通過(guò)依次進(jìn)行讀出將位列的排列變更為正規(guī)的順 序并輸出。即,如果交錯(cuò)等的排列變更操作復(fù)雜,則需要在將全部輸入數(shù)據(jù)暫時(shí)存儲(chǔ)在存儲(chǔ) 器中之后從存儲(chǔ)器以正規(guī)順序進(jìn)行讀出并輸入除法運(yùn)算器4a,因此,數(shù)據(jù)排列變更需要時(shí) 間。例如,在N位輸入的情況下,如果不經(jīng)過(guò)N時(shí)鐘時(shí)間則不能夠開(kāi)始CRC運(yùn)算,結(jié)果,如果 不經(jīng)過(guò)2N時(shí)鐘時(shí)間則不能夠得到CRC校驗(yàn)結(jié)果。 但是,存在解碼次數(shù)越多錯(cuò)誤率特性越提高的解碼器。在該解碼器中,重復(fù)輸入的 數(shù)據(jù)的解碼直至沒(méi)有錯(cuò)誤,在沒(méi)有錯(cuò)誤的時(shí)刻停止該數(shù)據(jù)的解碼,開(kāi)始下一輸入數(shù)據(jù)的解 碼。圖16是在錯(cuò)誤校正碼中使用Turbo碼(turbo code),在錯(cuò)誤檢測(cè)碼中使用CRC碼的通 信系統(tǒng)的例子。 在發(fā)送側(cè)5, CRC添加部5b對(duì)信息生成部5a生成的規(guī)定位長(zhǎng)的數(shù)據(jù)串施加CRC添 加處理,Turbo碼編碼部5c通過(guò)Turbo碼編碼處理對(duì)添加了 CRC的輸入數(shù)據(jù)串進(jìn)行錯(cuò)誤校 正編碼處理,并發(fā)送至通信路徑(傳送路徑)6。在接收側(cè)7, Turbo碼解碼器7a通過(guò)Turbo 碼解碼處理對(duì)輸入的編碼數(shù)據(jù)串進(jìn)行解碼,將解碼結(jié)果輸入CRC檢測(cè)部7b。
Turbo碼解碼器7a通過(guò)重復(fù)進(jìn)行解碼,能夠提高錯(cuò)誤率特性。因此,Turbo碼解 碼器7a進(jìn)行重復(fù)規(guī)定次數(shù)的解碼處理,CRC檢測(cè)部7b對(duì)該錯(cuò)誤校正解碼結(jié)果進(jìn)行錯(cuò)誤檢 測(cè),如果有錯(cuò)誤則向發(fā)送側(cè)5發(fā)出再次請(qǐng)求RRQ,如果沒(méi)有錯(cuò)誤則向信息抽出部7c指示信息 抽出。此外,Turbo碼解碼器7a,如果在解碼次數(shù)達(dá)到規(guī)定次數(shù)之前沒(méi)有錯(cuò)誤,則立即停止 解碼處理,開(kāi)始下一編碼數(shù)據(jù)串的解碼,從而能夠達(dá)到解碼處理的效率化。因此,CRC檢測(cè) 部7b在每一次解碼時(shí)對(duì)解碼結(jié)果檢測(cè)錯(cuò)誤的有無(wú),將錯(cuò)誤檢測(cè)結(jié)果反饋至Turbo碼解碼器 7a。 Turbo碼解碼器7a如果輸入"存在錯(cuò)誤"則進(jìn)行重復(fù)解碼,如果輸入"沒(méi)有錯(cuò)誤"則即 使未達(dá)到規(guī)定次數(shù)也停止解碼動(dòng)作,開(kāi)始下一編碼數(shù)據(jù)的解碼。 圖17是Turbo碼編碼器5c的結(jié)構(gòu)圖,u是添加了 CRC位的N位的輸入數(shù)據(jù),xa、 xb、xc是由Turbo碼編碼器5c對(duì)輸入數(shù)據(jù)u進(jìn)行編碼后的編碼數(shù)據(jù)。編碼數(shù)據(jù)xa就是輸 入數(shù)據(jù)u,編碼數(shù)據(jù)xb是由編碼器8a對(duì)輸入數(shù)據(jù)u進(jìn)行巻積編碼后的數(shù)據(jù),編碼數(shù)據(jù)xc 是由交錯(cuò)器8b對(duì)信息數(shù)據(jù)u進(jìn)行交錯(cuò)(ji)并由編碼器8c進(jìn)行巻積編碼后的數(shù)據(jù)。S卩,從 Turbo碼編碼器輸出的編碼數(shù)據(jù)是在輸入數(shù)據(jù)u( = xa)上添加了奇偶校驗(yàn)位xb、 xc的編 碼率1/3的系統(tǒng)碼。 圖18是Turbo碼解碼器7a的結(jié)構(gòu)圖。Turbo碼解碼是,在編碼數(shù)據(jù)xa、xb、xc的接收信號(hào)Ys、 Ypl、 Yp2中,首先使用Ys、 Ypl,由第一要素解碼器9a進(jìn)行解碼。接著,使用 從第一要素解碼器9a輸出的解碼結(jié)果(似然,likelihood)和Ys、 Yp2,由第二要素解碼器 DEC9b進(jìn)行同樣的解碼。但是,Yp2是與xc對(duì)應(yīng)的接收信號(hào),該xc是對(duì)原數(shù)據(jù)u進(jìn)行交錯(cuò) 而得的,因此,在將Ys和從第一要素解碼器9a輸出的似然輸入第二要素解碼器9b之前,由 交錯(cuò)器9c、9d進(jìn)行交錯(cuò)(Ji)。 從第二要素解碼器9b輸出的似然由去交錯(cuò)器9e進(jìn)行去交錯(cuò)(Ji)后,作為向第一 要素解碼器9a的輸入進(jìn)行反饋。第一要素解碼器9a使用反饋的似然u'和Ys、Ypl進(jìn)行解 碼,以后由第一、第二要素解碼器9a、9b重復(fù)進(jìn)行上述解碼,直至解碼次數(shù)成為規(guī)定次數(shù), 或者,重復(fù)上述解碼直至沒(méi)有錯(cuò)誤。 圖19是使圖18的第一、第二要素解碼器為一個(gè)要素解碼器9a而共用的Turbo碼 解碼器的結(jié)構(gòu)圖,開(kāi)關(guān)9f根據(jù)解碼動(dòng)作是奇數(shù)次還是偶數(shù)次切換向要素解碼器9a的輸入 信號(hào)。通信線路值RAM9g存儲(chǔ)通過(guò)通信線路接收到的信號(hào)Ys、Ypl、Yp2,適當(dāng)?shù)貙⑦@些信號(hào) 通過(guò)開(kāi)關(guān)9f輸入要素解碼器9a,并且輸入交錯(cuò)器9c。解碼結(jié)果RAM9h保存解碼結(jié)果,并將 其輸入至交錯(cuò)器9d、去交錯(cuò)器9e。硬判定部9i將解碼結(jié)果硬判定為"0"、"1",將判定結(jié)果 輸入CRC檢測(cè)部7b (圖16)。 在圖19的Turbo碼解碼器中,最初,在開(kāi)關(guān)9f中以由實(shí)線表示的連接進(jìn)行第一次 解碼。此時(shí)的解碼結(jié)果以正規(guī)的順序(正順)被輸出。接著,在開(kāi)關(guān)9f中以由虛線表示的 連接進(jìn)行解碼。在該第二次解碼處理中,對(duì)信息位Ys和解碼結(jié)果實(shí)施交錯(cuò)并進(jìn)行解碼。此 時(shí)的解碼結(jié)果輸出也成為交錯(cuò)順序。以后,重復(fù)進(jìn)行該解碼處理,觀察解碼結(jié)果,在每次重
復(fù)時(shí)輸出順序反復(fù)成為正順一交錯(cuò)順序(IL順序)一正順一交錯(cuò)順序一......。 圖20是解碼次數(shù)和CRC校驗(yàn)結(jié)果的取得定時(shí)的說(shuō)明圖,表示在第4次的重復(fù)解碼 結(jié)果中沒(méi)有檢測(cè)出錯(cuò)誤的情況。CRC校驗(yàn)結(jié)果如在圖15中所說(shuō)明的那樣,如果作為解碼結(jié) 果的輸入數(shù)據(jù)為正規(guī)的順序則能夠與解碼結(jié)束同時(shí)地輸出CRC校驗(yàn)結(jié)果(錯(cuò)誤的有無(wú))。 但是,如果輸入數(shù)據(jù)的位列被交錯(cuò)而排列變更,則需要在變更排列為正規(guī)的順序后進(jìn)行CRC 校驗(yàn),CRC校驗(yàn)結(jié)果的輸出定時(shí)延遲。因此,Turbo碼解碼中的解碼次數(shù)和CRC校驗(yàn)結(jié)果的 取得定時(shí)成為圖20所示的狀態(tài)。 S卩,在對(duì)Turbo碼解碼的結(jié)果進(jìn)行CRC校驗(yàn)時(shí),因?yàn)槠鏀?shù)次的解碼結(jié)果中數(shù)據(jù)為正 順,所以能夠直接輸入CRC運(yùn)算裝置的除法運(yùn)算器,能夠與Turbo碼解碼結(jié)束同時(shí)地輸出 CRC校驗(yàn)結(jié)果。另一方面,解碼結(jié)果以交錯(cuò)順序輸出時(shí),需要將數(shù)據(jù)排列變更為正順,因此需 要將解碼結(jié)果暫時(shí)存儲(chǔ)在存儲(chǔ)器中,然后輸入CRC運(yùn)算裝置的除法運(yùn)算器,CRC校驗(yàn)結(jié)果的 取得定時(shí)延遲。因此,雖然在第四次的解碼結(jié)果中沒(méi)有檢測(cè)出錯(cuò)誤,Turbo碼解碼動(dòng)作希望 停止,但已經(jīng)在CRC運(yùn)算中進(jìn)行了下一次(第五次)的Turbo碼解碼,Turbo碼解碼器過(guò)度 動(dòng)作。換言之,多進(jìn)行一次無(wú)用的Turbo碼解碼動(dòng)作,因此Turbo碼解碼的處理效率降低。
在現(xiàn)有技術(shù)中,提出了一種即使校驗(yàn)子運(yùn)算時(shí)的數(shù)據(jù)的順序與校驗(yàn)數(shù)據(jù)的制作時(shí) 不同,也能夠進(jìn)行正確的校驗(yàn)子運(yùn)算的校驗(yàn)子運(yùn)算技術(shù)(專利文獻(xiàn)1)。但是,該現(xiàn)有技術(shù)并 不是在輸入數(shù)據(jù)的位列由于交錯(cuò)操作等而變更排列時(shí),不變更排列為正規(guī)的順序地高速輸 出CRC校驗(yàn)結(jié)果的技術(shù)。 根據(jù)以上內(nèi)容,本發(fā)明的目的是,在輸入數(shù)據(jù)的位列被變更排列時(shí),以該順序(不 變更排列為正規(guī)的順序)輸出CRC校驗(yàn)結(jié)果。
本發(fā)明的其它目的是,在解碼結(jié)果沒(méi)有錯(cuò)誤時(shí),立即輸出CRC校驗(yàn)結(jié)果。 本發(fā)明的其它目的是,減少解碼器的解碼次數(shù)。 本發(fā)明的其它目的是,以小規(guī)模的硬件結(jié)構(gòu)實(shí)現(xiàn)作為目的的CRC運(yùn)算裝置。 專利文獻(xiàn)1 :日本特開(kāi)平5-165660
發(fā)明內(nèi)容
錯(cuò)誤檢測(cè)方法 本發(fā)明的第一方面,提供一種錯(cuò)誤檢測(cè)方法,將規(guī)定位長(zhǎng)的數(shù)據(jù)串視為多項(xiàng)式,輸 入對(duì)該數(shù)據(jù)串添加錯(cuò)誤檢測(cè)碼的數(shù)據(jù)串,使得以錯(cuò)誤檢測(cè)碼生成用的多項(xiàng)式(生成多項(xiàng) 式)除該多項(xiàng)式而剩余為0的數(shù)據(jù)串,并對(duì)該輸入數(shù)據(jù)中有無(wú)錯(cuò)誤進(jìn)行檢測(cè),該錯(cuò)誤檢測(cè)方 法包括預(yù)先計(jì)算使與各個(gè)位位置對(duì)應(yīng)的多項(xiàng)式除以上述生成多項(xiàng)式時(shí)的剩余值,并保存 于存儲(chǔ)器的步驟;與輸入數(shù)據(jù)串一同,輸入表示各數(shù)據(jù)的正規(guī)的位位置的位位置信息的步 驟;利用上述存儲(chǔ)器求取輸入數(shù)據(jù)串中不是O的數(shù)據(jù)的與正規(guī)的位位置對(duì)應(yīng)的剩余值,對(duì) 求得的各剩余值,位對(duì)應(yīng)地進(jìn)行加法運(yùn)算的步驟;以及在加法運(yùn)算結(jié)果在全部的位為0時(shí) 判定輸入數(shù)據(jù)串不存在錯(cuò)誤,在此之外的情況下判定存在錯(cuò)誤的步驟。 在上述剩余值的保存步驟中,保存與一定數(shù)量的位間隔的各位位置對(duì)應(yīng)的剩余
值,使用保存的剩余值對(duì)未保存的位位置的剩余值進(jìn)行內(nèi)插。 錯(cuò)誤校正/錯(cuò)誤檢測(cè)解碼方法 本發(fā)明的第二方面,提供一種錯(cuò)誤校正/錯(cuò)誤檢測(cè)解碼方法,將規(guī)定位長(zhǎng)的數(shù)據(jù) 串視為多項(xiàng)式,對(duì)該數(shù)據(jù)串添加錯(cuò)誤檢測(cè)碼,使得以錯(cuò)誤檢測(cè)碼生成用的多項(xiàng)式(生成多 項(xiàng)式)除該多項(xiàng)式而剩余為O,然后,對(duì)由規(guī)定的編碼方式已編碼的編碼數(shù)據(jù)串進(jìn)行解碼, 該錯(cuò)誤校正/錯(cuò)誤檢測(cè)解碼方法包括在錯(cuò)誤檢測(cè)部中,預(yù)先計(jì)算使與各個(gè)位位置對(duì)應(yīng)的 多項(xiàng)式除以上述生成多項(xiàng)式時(shí)的剩余值,并保存于存儲(chǔ)器的步驟;在解碼部中對(duì)編碼數(shù)據(jù) 串重復(fù)進(jìn)行解碼的步驟;與表示解碼結(jié)果的數(shù)據(jù)串一同,向錯(cuò)誤檢測(cè)部輸入表示各數(shù)據(jù)的 正規(guī)的位位置的位位置信息的步驟;在該錯(cuò)誤檢測(cè)部中,利用上述存儲(chǔ)器求取解碼結(jié)果中 不是0的數(shù)據(jù)的與正規(guī)的位位置對(duì)應(yīng)的剩余值,對(duì)求得的各剩余值,位對(duì)應(yīng)地進(jìn)行加法運(yùn) 算,在加法運(yùn)算結(jié)果在全部的位為0時(shí)判定輸入數(shù)據(jù)串不存在錯(cuò)誤,在此之外的情況下判 定存在錯(cuò)誤的步驟;以及解碼部在沒(méi)有檢測(cè)出錯(cuò)誤時(shí)停止上述編碼數(shù)據(jù)的解碼的步驟。
錯(cuò)誤檢測(cè)裝置 本發(fā)明的第三方面,提供一種錯(cuò)誤檢測(cè)裝置,將規(guī)定位長(zhǎng)的數(shù)據(jù)串視為多項(xiàng)式,輸 入對(duì)該數(shù)據(jù)串添加錯(cuò)誤檢測(cè)碼的數(shù)據(jù)串,使得以錯(cuò)誤檢測(cè)碼生成用的多項(xiàng)式(生成多項(xiàng) 式)除該多項(xiàng)式而剩余為O,并對(duì)該輸入數(shù)據(jù)中有無(wú)錯(cuò)誤進(jìn)行檢測(cè),該錯(cuò)誤檢測(cè)裝置包括 剩余存儲(chǔ)器,其預(yù)先計(jì)算使與各個(gè)位位置對(duì)應(yīng)的多項(xiàng)式除以上述生成多項(xiàng)式時(shí)的剩余值, 并進(jìn)行保存;加法運(yùn)算部,與輸入數(shù)據(jù)串一同,輸入表示各數(shù)據(jù)的正規(guī)的位位置的位位置 信息,利用上述剩余存儲(chǔ)器求取輸入數(shù)據(jù)串中不是0的數(shù)據(jù)的與正規(guī)的位位置對(duì)應(yīng)的剩余 值,對(duì)求得的各剩余值,位對(duì)應(yīng)地進(jìn)行加法運(yùn)算;以及錯(cuò)誤有無(wú)判定部,其在加法運(yùn)算結(jié)果 在全部的位為0時(shí)判定輸入數(shù)據(jù)串不存在錯(cuò)誤,在此之外的情況下判定存在錯(cuò)誤。
錯(cuò)誤校正/錯(cuò)誤檢測(cè)解碼裝置 本發(fā)明的第四方面,提供一種錯(cuò)誤校正/錯(cuò)誤檢測(cè)解碼裝置,將規(guī)定位長(zhǎng)的數(shù)據(jù)
7串視為多項(xiàng)式,對(duì)該數(shù)據(jù)串添加錯(cuò)誤檢測(cè)碼,使得以錯(cuò)誤檢測(cè)碼生成用的多項(xiàng)式(生成多 項(xiàng)式)除該多項(xiàng)式而剩余為O,然后,對(duì)由規(guī)定的編碼方式已編碼的編碼數(shù)據(jù)串進(jìn)行解碼, 該錯(cuò)誤校正/錯(cuò)誤檢測(cè)解碼裝置包括解碼部,其對(duì)上述編碼數(shù)據(jù)串重復(fù)進(jìn)行解碼;以及 錯(cuò)誤檢測(cè)部,其對(duì)解碼結(jié)果檢測(cè)錯(cuò)誤的有無(wú),并將錯(cuò)誤檢測(cè)結(jié)果通知解碼部,上述解碼部包 括解碼器,其對(duì)編碼數(shù)據(jù)串重復(fù)進(jìn)行解碼,并輸出解碼結(jié)果;位位置管理部,其輸出解碼 結(jié)果的各數(shù)據(jù)的正規(guī)的位位置;以及控制部,其控制解碼器的解碼處理的繼續(xù)、停止,上述 錯(cuò)誤檢測(cè)部包括剩余存儲(chǔ)器,其預(yù)先計(jì)算使與各個(gè)位位置對(duì)應(yīng)的多項(xiàng)式除以上述生成多 項(xiàng)式時(shí)的剩余值,并進(jìn)行保存;加法運(yùn)算部,與解碼結(jié)果一同,輸入表示該解碼結(jié)果的各數(shù) 據(jù)的正規(guī)的位位置的位位置信息,利用上述剩余存儲(chǔ)器求取解碼結(jié)果中不是0的數(shù)據(jù)的與 正規(guī)的位位置對(duì)應(yīng)的剩余值,對(duì)求得的各剩余值,位對(duì)應(yīng)地進(jìn)行加法運(yùn)算;以及錯(cuò)誤有無(wú)判 定部,其在加法運(yùn)算結(jié)果在全部的位為0時(shí)判定輸入數(shù)據(jù)串不存在錯(cuò)誤,在此之外的情況 下判定存在錯(cuò)誤。
圖1是CRC運(yùn)算裝置的原理結(jié)構(gòu)圖; 圖2是從數(shù)據(jù)輸入開(kāi)始到校驗(yàn)結(jié)果輸出的定時(shí)說(shuō)明圖; 圖3是本發(fā)明的第一實(shí)施例的結(jié)構(gòu)圖; 圖4是第二實(shí)施例的位編號(hào)i與P、 k的關(guān)系說(shuō)明圖; 圖5是第二實(shí)施例的剩余存儲(chǔ)器的內(nèi)容說(shuō)明圖; 圖6是第二實(shí)施例的CRC運(yùn)算裝置的結(jié)構(gòu)圖; 圖7是明示剩余值內(nèi)插部的各部的輸入位數(shù)、輸出位數(shù)的說(shuō)明圖; 圖8是剩余計(jì)算部的結(jié)構(gòu)說(shuō)明圖; 圖9是將第一實(shí)施例的CRC運(yùn)算裝置用于Turbo碼解碼結(jié)果的錯(cuò)誤檢測(cè)的第三實(shí) 施例的結(jié)構(gòu)圖; 圖10是表示第三實(shí)施例中的Turbo碼解碼器的解碼結(jié)果和CRC校驗(yàn)結(jié)果的輸出 定時(shí)的說(shuō)明圖; 圖11是第四實(shí)施例的CRC校驗(yàn)裝置的結(jié)構(gòu)圖; 圖12是使輸入位列并行化而輸入的情況的說(shuō)明圖; 圖13是應(yīng)用錯(cuò)誤檢測(cè)的通信系統(tǒng)的結(jié)構(gòu)圖; 圖14是除法運(yùn)算電路的結(jié)構(gòu)例; 圖15是輸入未以正規(guī)的順序排列的位列時(shí)的CRC校驗(yàn)電路的結(jié)構(gòu)圖; 圖16是在錯(cuò)誤校正碼中采用Turbo碼,在錯(cuò)誤檢測(cè)碼中使用CRC碼的通信系統(tǒng)
例; 圖17是Turbo碼編碼器的結(jié)構(gòu)圖; 圖18是Turbo碼解碼器的結(jié)構(gòu)圖; 圖19是使第一、第二要素解碼器為一個(gè)要素解碼器而共用的Turbo碼解碼器的結(jié) 構(gòu)圖; 圖20是解碼次數(shù)和CRC校驗(yàn)結(jié)果的取得定時(shí)的說(shuō)明圖。
具體實(shí)施例方式
(A)本發(fā)明的原理 本發(fā)明,對(duì)于已被實(shí)施排列變更處理的數(shù)據(jù),能夠以該順序(不使排列順序回到 原來(lái)狀態(tài))進(jìn)行CRC運(yùn)算。 例如,在通過(guò)交錯(cuò)處理等以隨機(jī)化的順序輸入數(shù)據(jù)時(shí)的CRC運(yùn)算方式中,通過(guò)不 依據(jù)數(shù)據(jù)的輸入順序地進(jìn)行運(yùn)算,能夠迅速輸出錯(cuò)誤檢測(cè)結(jié)果。另外,以下的運(yùn)算全部表 示"位對(duì)應(yīng)的模2運(yùn)算"。"位對(duì)應(yīng)的運(yùn)算"是指位于同一位的數(shù)據(jù)彼此的運(yùn)算,模2加法 (modulo Addition)運(yùn)算的運(yùn)算子使用"+ "。模2加法運(yùn)算具體的是異或運(yùn)算,于是,位對(duì) 應(yīng)的模2加法運(yùn)算是指,位于同一位的數(shù)據(jù)彼此的異或運(yùn)算。此外,表示電路結(jié)構(gòu)的圖中表 示的+運(yùn)算記號(hào)也同樣意味著位對(duì)應(yīng)的異或運(yùn)算。 在CRC運(yùn)算中使用的剩余運(yùn)算是,將輸入數(shù)據(jù)視為多項(xiàng)式,表達(dá)為A(x),求取其除 以m次的生成多項(xiàng)式G(x)而得的剩余。
將N位的輸入位列
{aN—p an—2, , a丄xa(J
由[數(shù)學(xué)式2] 3+ + 2 r 您 進(jìn)行多項(xiàng)式表達(dá)。此外,m次的生成多項(xiàng)式由 [數(shù)學(xué)式3] G(x) = xm+gm—lXm—^ +glx+l (3) 表達(dá)。 將與第1位位置對(duì)應(yīng)的多項(xiàng)式?以G(x)除,使得到的剩余為Ri(x),則表示為[數(shù)學(xué)式4] xi = & (x) +Qi (x) G (x) (4) 此處,?意味著在1后加1個(gè)"0"而得的數(shù)據(jù)串(多項(xiàng)式)。此外,Qi(x)是以G(x) 除xi而得的商多項(xiàng)式。由此,重寫A(x),成為 [OO75][數(shù)學(xué)式5] 44-一, 化^)^k》) 2&風(fēng)W+^^)5^總w (5)式的右邊第二項(xiàng)能夠由生成多項(xiàng)式G(x)整除,因此,A(x)除以G(x)的剩余 R(x)是(5)式的右邊第一項(xiàng)被G(x)除的剩余,而第一項(xiàng)不能夠由G(x)整除,因此,R(x)成 為 [數(shù)學(xué)式6] 及1 ) = 2 "《及2) (紛 因此,如果預(yù)先得知R(x),則不管輸入為何種順序,都能夠通過(guò)計(jì)算aiRi (x),求取 全部位的結(jié)果的總和從而計(jì)算出剩余值R(x)。CN 101765976 A 圖1是依據(jù)以上原理的CRC運(yùn)算裝置的結(jié)構(gòu)圖,向該CRC運(yùn)算裝置,與一位一位的 位數(shù)據(jù)& 一同,輸入表示該數(shù)據(jù)的正規(guī)的位位置i的位位置信息(數(shù)據(jù)編號(hào))。剩余存儲(chǔ) 器ll預(yù)先將以生成多項(xiàng)式G(x)除?而得的m位的剩余Ri(x)與位位置i(i =0 N,N+1 是輸入數(shù)據(jù)串的位數(shù))相對(duì)應(yīng)地進(jìn)行存儲(chǔ),當(dāng)輸入位位置信息i時(shí),輸出與該位位置i對(duì)應(yīng) 的剩余& (x)。乘法運(yùn)算器12,如果ai為1則直接輸出& (x),如果ai為0則輸出m位的0。 加法運(yùn)算部13將在此之前的加法運(yùn)算結(jié)果(初始值為m位的0)和乘法運(yùn)算器12的輸出 位對(duì)應(yīng)地進(jìn)行模2加法運(yùn)算(異或運(yùn)算),將加法運(yùn)算結(jié)果保存在寄存器14中。以后,對(duì)全 部輸入數(shù)據(jù)進(jìn)行上述處理,作為剩余R(x)輸出最后的模2加法運(yùn)算結(jié)果。錯(cuò)誤檢測(cè)部15, 在剩余R(x)在全部的位為0時(shí),判定在輸入數(shù)據(jù)串中沒(méi)有錯(cuò)誤,在此之外的情況下判定為 存在錯(cuò)誤,輸出判定結(jié)果。 根據(jù)以上內(nèi)容,即使輸入順序被排列變更為不是正規(guī)的順序,也能夠與N+1位的 數(shù)據(jù)輸入完成大致同時(shí)地輸出CRC校驗(yàn)結(jié)果,從數(shù)據(jù)輸入開(kāi)始到校驗(yàn)結(jié)果輸出的時(shí)間,在 現(xiàn)有技術(shù)中需要圖2(a)所示的2XN時(shí)間,但本發(fā)明能夠在(b)所示的N時(shí)間內(nèi)結(jié)束。因 此,能夠在Turbo碼解碼的重復(fù)解碼結(jié)束后立即輸出CRC校驗(yàn)結(jié)果,在解碼結(jié)果沒(méi)有錯(cuò)誤的 情況下,能夠立即停止Turbo碼解碼器,不需要多余的解碼器動(dòng)作。
(B)第一實(shí)施例 圖3是本發(fā)明的第一實(shí)施例的結(jié)構(gòu)圖,對(duì)與圖1相同的部分標(biāo)注相同符號(hào)。不同 點(diǎn)在于,明示剩余存儲(chǔ)器11的內(nèi)容;明示各部11 15的輸入位數(shù)、輸出位數(shù);剩余Ri(x) 的位數(shù)m是24位。 剩余值R(x)的求取通過(guò)求取(6)式的右邊而實(shí)施,Ri(x)的值預(yù)先以表的形式存 儲(chǔ)于剩余存儲(chǔ)器11。輸入數(shù)據(jù)A與數(shù)據(jù)編號(hào)i 一同被輸入,根據(jù)數(shù)據(jù)編號(hào)i參照R0M表, 計(jì)算剩余Ri(x)。計(jì)算出的Ri(x)與輸入數(shù)據(jù)ai相乘,將乘法運(yùn)算結(jié)果與保存在寄存器14 的此前的加法運(yùn)算結(jié)果(初始值為m位的0)進(jìn)行加法運(yùn)算,將加法運(yùn)算結(jié)果保存在寄存器 14。如果對(duì)全部位進(jìn)行上述動(dòng)作,則在數(shù)據(jù)輸入完成后,能夠求取剩余值R(x)。錯(cuò)誤檢測(cè)部 15進(jìn)行該剩余值R(x)是否為0的判定,在為0的情況下,輸出檢驗(yàn)結(jié)果0K,在為0以外的 情況下,輸出校驗(yàn)結(jié)果NG。 S卩,第一實(shí)施例的CRC運(yùn)算裝置,(1)與輸入數(shù)據(jù)串的各數(shù)據(jù)ai—同輸入表示各數(shù) 據(jù)的正規(guī)的位位置的位位置信息i, (2)求取與N+1位的輸入數(shù)據(jù)串中不為0的數(shù)據(jù)的正規(guī) 位位置i對(duì)應(yīng)的剩余值& (x),將求得的各剩余值& (x)位對(duì)應(yīng)地進(jìn)行模2加法運(yùn)算,(3)以 加法運(yùn)算結(jié)果作為剩余值R(x),在該剩余值R(x)的全部位為0時(shí)判定輸入數(shù)據(jù)串沒(méi)有錯(cuò) 誤,在此外的情況下判定存在錯(cuò)誤。由此,根據(jù)第一實(shí)施例,能夠在Turbo碼解碼的重復(fù)解 碼結(jié)束后立即輸入CRC校驗(yàn)結(jié)果。
(C)第二實(shí)施例 在第一實(shí)施例中,需要對(duì)輸入的數(shù)據(jù)的最大位長(zhǎng)N+l的各個(gè)位保管剩余值& (x),
當(dāng)N很大時(shí),例如當(dāng)N二 10,000時(shí),剩余存儲(chǔ)器11的尺寸變大,存在問(wèn)題。于是,在第二實(shí)
施例中,通過(guò)隔P位地將剩余值存儲(chǔ)于剩余存儲(chǔ)器,能夠減少剩余存儲(chǔ)器11的尺寸。 使P為任意的常數(shù),如圖4所示將表示位位置的i以下述方式分解。[數(shù)學(xué)式7] i = Pn+k, 0《k《P-l (7)
其中,P是23。 此時(shí),需要的剩余值Ri(x)是以生成多項(xiàng)式G(x)除xi所得的剩余。使以生成多項(xiàng)
式G(X)除Xpn所得的商多項(xiàng)式為Qpn(X),使剩余多項(xiàng)式為RPn(X),表示&,則得到 [數(shù)學(xué)式8] = xPn+k = xPn xk (8)= (Qpn(x)G(x)+Rp^x))x15 剩余值Ri(x)與以G(x)除R^(x) *,所得的剩余相等。因此,如圖5所示,對(duì)與 每P的位位置對(duì)應(yīng)的RPn(x)進(jìn)行表化處理并存儲(chǔ),根據(jù)表求取與位位置i(i = P n+k)的
P對(duì)應(yīng)的Rpn(X),并與xk相乘,以G(X)除乘法運(yùn)算結(jié)果Rpn(X) ,,求取剩余,以該剩余作為 剩余值Ri (X)。 Rp^x) "xk通過(guò)將從表中得到的Rp^x)向左移動(dòng)k位,對(duì)空位插入0的運(yùn)算求得。
圖6是依據(jù)上述原理的第二實(shí)施例的CRC運(yùn)算裝置的結(jié)構(gòu)圖,對(duì)與圖1相同的部 分標(biāo)注相同符號(hào)。不同的點(diǎn)在于,設(shè)置有剩余值內(nèi)插部20,其保存與每一定數(shù)量P的位位 置PXn對(duì)應(yīng)的剩余值RPn(x),使用保存的剩余值對(duì)未保存的位位置的剩余值進(jìn)行內(nèi)插;以 及分離部30,其被輸入位位置i (i = P n+k),進(jìn)行P、 k的分離。 剩余值內(nèi)插部20包括存儲(chǔ)器21,其存儲(chǔ)與每一定數(shù)量P的位位置PXn對(duì)應(yīng)的 剩余值RPn(x);移位部22,其使與位位置i (i = P n+k)對(duì)應(yīng)的RPn(x)移動(dòng)k位;以及剩余 計(jì)算部23,其以生成多項(xiàng)式G(x)除移位而得的Rpn(x) "k,輸出剩余Ri(x)。
向CRC運(yùn)算裝置,與位數(shù)據(jù)ai—同一位一位地輸入表示該數(shù)據(jù)的正規(guī)的位位置 i ( = P n+k)的位位置信息(數(shù)據(jù)編號(hào))。分離部30將位位置i分離為P、 k,剩余存儲(chǔ)器 21輸出相應(yīng)的剩余Rpn(x)。移位部22使R^(x)移動(dòng)k位,計(jì)算Rpn(x) "k,剩余計(jì)算部23 以生成多項(xiàng)式G(x)除Rpn(x) "k,輸出剩余Ri(x)。 乘法運(yùn)算器12,如果ai為1則直接輸出剩余& (x),如果&為0則輸出m位的0。 加法運(yùn)算部13對(duì)保存在寄存器14中的此前的加法運(yùn)算結(jié)果(初始值為m位的O)和乘法運(yùn) 算器12的輸出,位對(duì)應(yīng)地進(jìn)行模2加法運(yùn)算,將加法運(yùn)算結(jié)果保存在寄存器14中。之后, 對(duì)輸入數(shù)據(jù)的全部位重復(fù)進(jìn)行上述處理,作為剩余R(x)輸出最后的模2加法運(yùn)算結(jié)果。錯(cuò) 誤檢測(cè)部15在剩余R(x)在全部位都為0時(shí)判定在輸入數(shù)據(jù)串中不存在錯(cuò)誤,在此之外的 情況下判定存在錯(cuò)誤,輸出判定結(jié)果。 使剩余值為m位的移位運(yùn)算結(jié)果,最大為m+P-l位,如果m二 24、P = 32 (26),則移 位運(yùn)算結(jié)果為55位。圖7(A)、(B)明示了m二24、P二 32 (26)、s二6、N二 12時(shí)的剩余值 內(nèi)插部20的各部的輸入位數(shù)、輸出位數(shù),k以0 4的5位表達(dá),n以5 12的8位表達(dá)。 剩余存儲(chǔ)器21與n對(duì)應(yīng)存儲(chǔ)有24位的Rp (X) ( = R32n(x))。移位部22的輸出I為0 54 的55位,剩余計(jì)算部23的輸出Ri(x) ( = RPn+k(X))為24位。 如果將圖6和圖7(A)中的剩余計(jì)算部23以圖14說(shuō)明的移位寄存器(除法運(yùn)算 器)構(gòu)成,則除法運(yùn)算中需要55時(shí)鐘時(shí)間,因此不優(yōu)選。剩余計(jì)算部23的輸入I的位數(shù)為 55是一定的。因此,以G(x)除輸入I的運(yùn)算,能夠認(rèn)為是固定輸入位長(zhǎng)的除法運(yùn)算,能夠不 使用移位寄存器而僅由異或的單一固定電路實(shí)現(xiàn)。例如,使生成多項(xiàng)式為
G(x) = x24+x23+x6+x5+x+l (9)
使P = 32,剩余計(jì)算部23的輸出位O[O] 0[23],如圖8所示,能夠利用輸入位 I
I [54]的規(guī)定的組合的異或運(yùn)算求取。作為一個(gè)例子,0[22]能夠利用I [45] 、I [40]、 1[22]的異或運(yùn)算求取。 根據(jù)第二實(shí)施例,與第一實(shí)施例同樣,能夠重復(fù)Turbo碼解碼,在解碼結(jié)束后立即 輸出CRC校驗(yàn)結(jié)果,而且能夠減少剩余存儲(chǔ)器的容量。 [(mo] (D)第三實(shí)施例 圖9是將第一實(shí)施例的CRC運(yùn)算裝置使用于Turbo碼解碼結(jié)果的錯(cuò)誤檢測(cè)的第 三實(shí)施例的結(jié)構(gòu)圖。Turbo碼解碼部51在圖19所說(shuō)明的Turbo碼解碼器51a之外,還具 有輸出表示解碼結(jié)果的各位的正規(guī)的位位置的位編號(hào)的位編號(hào)輸出部51b。位編號(hào)輸出部 51b,如果解碼結(jié)果為正規(guī)的順序,則以該正規(guī)的順序輸出位編號(hào),如果解碼結(jié)果是被交錯(cuò) 后的順序,則以該交錯(cuò)順序輸出位編號(hào)。CRC運(yùn)算部52具有圖3所示的第一實(shí)施例的結(jié)構(gòu), 被輸入Turbo碼解碼器51a的解碼結(jié)果和位編號(hào),對(duì)在該Turbo碼解碼結(jié)果中是否存在錯(cuò) 誤進(jìn)行校驗(yàn),輸出校驗(yàn)結(jié)果。Turbo碼解碼器控制部53,即使在解碼重復(fù)次數(shù)達(dá)到規(guī)定次數(shù) 之前,只要來(lái)自CRC運(yùn)算部52的校驗(yàn)結(jié)果為"沒(méi)有錯(cuò)誤",就停止Turbo碼解碼器51a中的 Turbo碼解碼,開(kāi)始下一編碼數(shù)據(jù)的解碼。另外,作為CRC運(yùn)算裝置52,也可以采用圖6所 示的第二實(shí)施例的結(jié)構(gòu)。 圖10是表示第三實(shí)施例的Turbo碼解碼器的解碼結(jié)果和CRC校驗(yàn)結(jié)果的輸出定 時(shí)的說(shuō)明圖,表示的是通過(guò)4次重復(fù)解碼而沒(méi)有錯(cuò)誤的情況(CRC 0K)。根據(jù)第三實(shí)施例, CRC運(yùn)算裝置52能夠在Turbo碼解碼器51a —位一位地輸入解碼結(jié)果的同時(shí)進(jìn)行CRC的運(yùn) 算,因此,即,能夠在Turbo碼解碼器51a進(jìn)行Turbo碼解碼的同時(shí)進(jìn)行CRC運(yùn)算裝置52的 CRC運(yùn)算。因此,在Turbo碼解碼器51a的重復(fù)解碼結(jié)束后,CRC運(yùn)算裝置52能夠立即輸出 對(duì)于該重復(fù)解碼結(jié)果的CRC校驗(yàn)結(jié)果,Turbo碼解碼器控制部53能夠在檢測(cè)出CRC OK后 立即對(duì)Turbo碼解碼器51a輸出停止指示,使Turbo碼解碼動(dòng)作停止。結(jié)果,Turbo碼解碼 器51a能夠不進(jìn)行多余的重復(fù)解碼地開(kāi)始下一編碼數(shù)據(jù)的解碼動(dòng)作。 另外,參照?qǐng)D20的解碼結(jié)果為第三次的定時(shí)的情況,在現(xiàn)有例中,不得不同時(shí)進(jìn) 行第二次的交錯(cuò)順序的CRC校驗(yàn)運(yùn)算和第三次的正順的CRC校驗(yàn)運(yùn)算。因此,在現(xiàn)有例中, 根據(jù)同時(shí)進(jìn)行CRC運(yùn)算的狀況能夠假定安裝有兩個(gè)CRC運(yùn)算器。但是根據(jù)第三實(shí)施例,能 夠僅由一個(gè)CRC運(yùn)算器進(jìn)行Turbo碼解碼結(jié)果的CRC運(yùn)算,能夠減少CRC運(yùn)算裝置的安裝 個(gè)數(shù)。 (E)第四實(shí)施例 圖11是第四實(shí)施例的CRC運(yùn)算裝置的結(jié)構(gòu)圖,具有在輸入位列并行化輸入的情況 下按每個(gè)并行輸入數(shù)據(jù)地計(jì)算剩余Ri(x)的結(jié)構(gòu)。另外,對(duì)與圖3相同的部分標(biāo)注相同符號(hào)。 圖12是輸入位列并行化地輸入CRC運(yùn)算裝置的情況的說(shuō)明圖。在發(fā)送側(cè),對(duì)發(fā) 送信息添加CRC位,將添加有該CRC位的信息分割為多個(gè)圖中為5個(gè)i央,對(duì)各分割的塊由 Turbo碼編碼器TCDR1 TCDR5例如進(jìn)行Turbo碼編碼并發(fā)送。另外,信息長(zhǎng)為5XM位,分 割為0 M-1、M 2M-1、2M 3M-1、3M 4M-1、4M 5M-1。 接收側(cè)的Turbo碼解碼器TDEC1 TDEC5對(duì)接收的各個(gè)編碼數(shù)據(jù)進(jìn)行Turbo碼解 碼,將解碼結(jié)果并行地輸入圖11的并行型CRC運(yùn)算裝置60。 CRC運(yùn)算裝置60具有圖ll所示的結(jié)構(gòu),對(duì)并行輸入的各個(gè)M位數(shù)據(jù)例如進(jìn)行第一實(shí)施例的剩余運(yùn)算,對(duì)各并行數(shù)據(jù)使 用得到的剩余值計(jì)算5 XM位的剩余值R(x),對(duì)該剩余值R(x)是否為0進(jìn)行校驗(yàn),輸出校驗(yàn) 結(jié)果。在圖11中,從各Turbo碼解碼器TDEC1 TDEC5輸出的M位的解碼結(jié)果和位編號(hào)
以正規(guī)的順序或者交錯(cuò)后的順序輸入第一 第五剩余運(yùn)算部61a、61b.......61e。例如,M
位的解碼結(jié)果a。 %—i以正規(guī)的順序或交錯(cuò)后的順序輸入第一剩余運(yùn)算部61a,與該解碼 結(jié)果位一同輸入表示正規(guī)的位位置的位編號(hào)0 M-1。此外,M位的解碼結(jié)果aM ai工以 正規(guī)的順序或交錯(cuò)后的順序輸入第二剩余運(yùn)算部61b,與該解碼結(jié)果位一同輸入表示正規(guī) 的位位置的位編號(hào)M 2M-1。同樣的,M位的解碼結(jié)果a4M a^工以正規(guī)的順序或交錯(cuò)后的 順序輸入第五剩余運(yùn)算部61e,與該解碼結(jié)果位一同輸入表示正規(guī)的位位置的位編號(hào)4M 5M-1。 剩余運(yùn)算部61a、61b.......61e相當(dāng)于圖3的第一實(shí)施例中的剩余存儲(chǔ)器11和
乘法運(yùn)算部12,在各剩余存儲(chǔ)器lla lie中分別與位位置對(duì)應(yīng)地存儲(chǔ)有剩余Ri(x)。艮P, 在剩余存儲(chǔ)器1 la中與位位置i = 0 M -1對(duì)應(yīng)地存儲(chǔ)有R。 (x) RM—工(x),在剩余存儲(chǔ) 器lib中與位位置i = M 2M-1對(duì)應(yīng)地存儲(chǔ)有RM(x) R2M—Jx),以下同樣地,在剩余存儲(chǔ) 器lie中與位位置i = 4M 5M-1對(duì)應(yīng)地存儲(chǔ)有R4M(x) R5M—: (x),各剩余存儲(chǔ)器lla lle輸出與輸入的位位置對(duì)應(yīng)的剩余。乘法運(yùn)算部12a 12e在分別輸入的解碼結(jié)果位上 乘以從剩余存儲(chǔ)器11a lle輸入的剩余值,并輸入加法運(yùn)算部13。另外,利用乘法運(yùn)算部 12a 12e作為整體向加法運(yùn)算部13 —次輸入5位的量的剩余。加法運(yùn)算部13對(duì)此前的 加法運(yùn)算結(jié)果(保存在寄存器14,初始值為0)與乘法運(yùn)算器12a 12e的輸出,位對(duì)應(yīng)地 進(jìn)行模2加法運(yùn)算,將加法運(yùn)算結(jié)果保存在寄存器14。之后,對(duì)輸入數(shù)據(jù)的M位重復(fù)進(jìn)行上 述處理,作為剩余R(x)輸出最后的模2加法運(yùn)算結(jié)果。錯(cuò)誤檢測(cè)部15,在剩余R(x)在全部 的位為0時(shí)判定輸入數(shù)據(jù)串不存在錯(cuò)誤,在此之外的情況下判定為存在錯(cuò)誤,輸出判定結(jié) 果。圖11中使圖3的第一實(shí)施例的CRC運(yùn)算裝置為基本結(jié)構(gòu),但也能夠使圖6的第二實(shí)施 例的CRC運(yùn)算裝置為基本結(jié)構(gòu)。 根據(jù)以上內(nèi)容,CRC運(yùn)算裝置60,在解碼結(jié)果并行輸入時(shí),將各并行數(shù)據(jù)串的不為 0的位數(shù)據(jù)的與正規(guī)位位置對(duì)應(yīng)的剩余值全部在加法運(yùn)算器13中進(jìn)行模2加法運(yùn)算,在加 法運(yùn)算結(jié)果在全部的位為0時(shí)判定在輸入數(shù)據(jù)串中不存在錯(cuò)誤,在此之外的情況下判定為 存在錯(cuò)誤,輸出校驗(yàn)結(jié)果。
發(fā)明效果 根據(jù)以上本發(fā)明,即使在輸入數(shù)據(jù)的位列被變更排列的情況下,也能夠直接(不 變更排列為正規(guī)的順序)輸出CRC校驗(yàn)結(jié)果。此外,根據(jù)本發(fā)明,在解碼結(jié)果沒(méi)有錯(cuò)誤時(shí), 能夠立即輸出CRC校驗(yàn)結(jié)果。此外,根據(jù)本發(fā)明,在解碼結(jié)果沒(méi)有錯(cuò)誤時(shí),能夠立即停止解 碼動(dòng)作,開(kāi)始下一編碼數(shù)據(jù)的解碼,能夠減少對(duì)一個(gè)編碼數(shù)據(jù)的解碼器的解碼次數(shù)。此外, 根據(jù)本發(fā)明,能夠以小規(guī)模的硬件結(jié)構(gòu)實(shí)現(xiàn)作為本發(fā)明目的的CRC運(yùn)算裝置。
權(quán)利要求
一種錯(cuò)誤檢測(cè)方法,其將規(guī)定位長(zhǎng)的數(shù)據(jù)串視為多項(xiàng)式,輸入對(duì)該數(shù)據(jù)串添加了錯(cuò)誤檢測(cè)碼的數(shù)據(jù)串,使得以錯(cuò)誤檢測(cè)碼生成用的多項(xiàng)式即生成多項(xiàng)式除該多項(xiàng)式而剩余為0,并對(duì)該輸入數(shù)據(jù)中有無(wú)錯(cuò)誤進(jìn)行檢測(cè),該錯(cuò)誤檢測(cè)方法的特征在于,包括預(yù)先計(jì)算使與各個(gè)位位置對(duì)應(yīng)的多項(xiàng)式除以所述生成多項(xiàng)式時(shí)的剩余值,并保存于存儲(chǔ)器的步驟;與輸入數(shù)據(jù)串一同,輸入表示各數(shù)據(jù)的正規(guī)的位位置的位位置信息的步驟;從所述剩余存儲(chǔ)器求取與輸入數(shù)據(jù)串中不是0的數(shù)據(jù)的正規(guī)的位位置對(duì)應(yīng)的剩余值,對(duì)求得的各剩余值,位對(duì)應(yīng)地進(jìn)行加法運(yùn)算的步驟;以及在加法運(yùn)算結(jié)果是全部的位為0時(shí)判定輸入數(shù)據(jù)串不存在錯(cuò)誤,在此之外的情況下判定存在錯(cuò)誤的步驟。
2. 如權(quán)利要求l所述的錯(cuò)誤檢測(cè)方法,其特征在于,在所述剩余值的保存步驟中,保存與一定數(shù)量的位間隔的各位位置對(duì)應(yīng)的剩余值,使 用保存的剩余值對(duì)未保存的位位置的剩余值進(jìn)行內(nèi)插。
3. 如權(quán)利要求2所述的錯(cuò)誤檢測(cè)方法,其特征在于,使所述一定數(shù)量的位間隔為P時(shí),位位置為nXP+k的剩余值是,使位位置為nXP時(shí)的 剩余值移動(dòng)k位,并使該移位結(jié)果除以所述生成多項(xiàng)式時(shí)的剩余值,其中,O《k < P。
4. 如權(quán)利要求l所述的錯(cuò)誤檢測(cè)方法,其特征在于,在所述數(shù)據(jù)串并行輸入時(shí),對(duì)與各并行數(shù)據(jù)串的不是O的數(shù)據(jù)的正規(guī)的位位置對(duì)應(yīng)的 剩余值全部進(jìn)行加法運(yùn)算,如果加法運(yùn)算結(jié)果是全部的位為0則判定并行輸入數(shù)據(jù)串沒(méi)有 錯(cuò)誤,在此之外的情況下判定存在錯(cuò)誤。
5. —種錯(cuò)誤校正/錯(cuò)誤檢測(cè)解碼方法,將規(guī)定位長(zhǎng)的數(shù)據(jù)串視為多項(xiàng)式,對(duì)該數(shù)據(jù)串 添加錯(cuò)誤檢測(cè)碼,使得以錯(cuò)誤檢測(cè)碼生成用的多項(xiàng)式即生成多項(xiàng)式除該多項(xiàng)式而剩余為O, 然后,對(duì)由規(guī)定的編碼方式已編碼的編碼數(shù)據(jù)串進(jìn)行解碼,該錯(cuò)誤校正/錯(cuò)誤檢測(cè)解碼方 法的特征在于,包括在錯(cuò)誤檢測(cè)部中,預(yù)先計(jì)算使與各個(gè)位位置對(duì)應(yīng)的多項(xiàng)式除以所述生成多項(xiàng)式時(shí)的剩 余值,并保存于存儲(chǔ)器的步驟;在解碼部中對(duì)編碼數(shù)據(jù)串重復(fù)進(jìn)行解碼的步驟;與表示解碼結(jié)果的數(shù)據(jù)串一同,向錯(cuò)誤檢測(cè)部輸入表示各數(shù)據(jù)的正規(guī)的位位置的位位 置信息的步驟;在該錯(cuò)誤檢測(cè)部中,從所述存儲(chǔ)器求取與解碼結(jié)果中不是O的數(shù)據(jù)的正規(guī)的位位置對(duì) 應(yīng)的剩余值,對(duì)求得的各剩余值,位對(duì)應(yīng)地進(jìn)行加法運(yùn)算,在加法運(yùn)算結(jié)果是全部的位為0 時(shí)判定輸入數(shù)據(jù)串不存在錯(cuò)誤,在此之外的情況下判定存在錯(cuò)誤的步驟;以及解碼部在沒(méi)有檢測(cè)出錯(cuò)誤時(shí)停止所述編碼數(shù)據(jù)的解碼的步驟。
6. 如權(quán)利要求5所述的錯(cuò)誤校正/錯(cuò)誤檢測(cè)解碼方法,其特征在于, 在所述剩余值的保存步驟中,保存與一定數(shù)量的位間隔的各位位置對(duì)應(yīng)的剩余值,使用保存的剩余值對(duì)未保存的位位置的剩余值進(jìn)行內(nèi)插。
7. —種錯(cuò)誤檢測(cè)裝置,將規(guī)定位長(zhǎng)的數(shù)據(jù)串視為多項(xiàng)式,輸入對(duì)該數(shù)據(jù)串添加了錯(cuò)誤 檢測(cè)碼的數(shù)據(jù)串,使得以錯(cuò)誤檢測(cè)碼生成用的多項(xiàng)式即生成多項(xiàng)式除該多項(xiàng)式而剩余為O, 并對(duì)該輸入數(shù)據(jù)中有無(wú)錯(cuò)誤進(jìn)行檢測(cè),該錯(cuò)誤檢測(cè)裝置的特征在于,包括剩余存儲(chǔ)器,其預(yù)先計(jì)算使與各個(gè)位位置對(duì)應(yīng)的多項(xiàng)式除以所述生成多項(xiàng)式時(shí)的剩余 值,并進(jìn)行保存;加法運(yùn)算部,與輸入數(shù)據(jù)串一同,輸入表示各數(shù)據(jù)的正規(guī)的位位置的位位置信息,從所 述剩余存儲(chǔ)器求取與輸入數(shù)據(jù)串中不是0的數(shù)據(jù)的正規(guī)的位位置對(duì)應(yīng)的剩余值,對(duì)求得的 各剩余值,位對(duì)應(yīng)地進(jìn)行加法運(yùn)算;以及錯(cuò)誤有無(wú)判定部,其在加法運(yùn)算結(jié)果是全部的位為0時(shí)判定輸入數(shù)據(jù)串不存在錯(cuò)誤, 在此之外的情況下判定存在錯(cuò)誤。
8. 如權(quán)利要求7所述的錯(cuò)誤檢測(cè)裝置,其特征在于,具有剩余值內(nèi)插部,其在所述剩余存儲(chǔ)器中,保存與一定數(shù)量的位間隔的各位位置對(duì) 應(yīng)的剩余值,使用保存的剩余值對(duì)未保存的位位置的剩余值進(jìn)行內(nèi)插。
9. 如權(quán)利要求8所述的錯(cuò)誤檢測(cè)裝置,其特征在于,所述內(nèi)插部,在使所述一定數(shù)量的位間隔為P時(shí),使位位置為nXP時(shí)的剩余值移動(dòng)k 位,使該移位結(jié)果除以所述生成多項(xiàng)式,而計(jì)算出位位置為nXP+k的剩余值,其中,O《k < P。
10. 如權(quán)利要求7所述的錯(cuò)誤檢測(cè)裝置,其特征在于,所述加法運(yùn)算部,在所述數(shù)據(jù)串并行輸入時(shí),對(duì)與各并行數(shù)據(jù)串的不是O的數(shù)據(jù)的正 規(guī)的位位置對(duì)應(yīng)的剩余值全部位對(duì)應(yīng)地進(jìn)行加法運(yùn)算。
11. 一種錯(cuò)誤校正/錯(cuò)誤檢測(cè)解碼裝置,將規(guī)定位長(zhǎng)的數(shù)據(jù)串視為多項(xiàng)式,對(duì)該數(shù)據(jù)串 添加錯(cuò)誤檢測(cè)碼,使得以錯(cuò)誤檢測(cè)碼生成用的多項(xiàng)式即生成多項(xiàng)式除該多項(xiàng)式而剩余為O, 然后,對(duì)由規(guī)定的編碼方式已編碼的編碼數(shù)據(jù)串進(jìn)行解碼,該錯(cuò)誤校正/錯(cuò)誤檢測(cè)解碼裝置的特征在于,包括解碼部,其對(duì)所述編碼數(shù)據(jù)串重復(fù)進(jìn)行解碼;以及錯(cuò)誤檢測(cè)部,其對(duì)解碼結(jié)果檢測(cè)錯(cuò)誤的有無(wú),并將錯(cuò)誤檢測(cè)結(jié)果通知解碼部,所述解碼部包括解碼器,其對(duì)編碼數(shù)據(jù)串重復(fù)進(jìn)行解碼,并輸出解碼結(jié)果; 位位置管理部,其輸出解碼結(jié)果的各數(shù)據(jù)的正規(guī)的位位置;以及 控制部,其控制解碼器的解碼處理的繼續(xù)、停止, 所述錯(cuò)誤檢測(cè)部包括剩余存儲(chǔ)器,其預(yù)先計(jì)算使與各個(gè)位位置對(duì)應(yīng)的多項(xiàng)式除以所述生成多項(xiàng)式時(shí)的剩余 值,并進(jìn)行保存;加法運(yùn)算部,與解碼結(jié)果一同,輸入表示該解碼結(jié)果的各數(shù)據(jù)的正規(guī)的位位置的位位 置信息,從所述剩余存儲(chǔ)器求取與解碼結(jié)果中不是0的數(shù)據(jù)的正規(guī)的位位置對(duì)應(yīng)的剩余 值,對(duì)求得的各剩余值,位對(duì)應(yīng)地進(jìn)行加法運(yùn)算;以及錯(cuò)誤有無(wú)判定部,其在加法運(yùn)算結(jié)果是全部的位為0時(shí)判定輸入數(shù)據(jù)串不存在錯(cuò)誤, 在此之外的情況下判定存在錯(cuò)誤,所述解碼部在沒(méi)有檢測(cè)出錯(cuò)誤時(shí)停止所述編碼數(shù)據(jù)的解碼。
12. 如權(quán)利要求12所述的錯(cuò)誤校正/錯(cuò)誤檢測(cè)解碼裝置,其特征在于, 所述錯(cuò)誤檢測(cè)部具有剩余值內(nèi)插部,其在所述剩余存儲(chǔ)器中保存與一定數(shù)量的位間隔的各位位置對(duì)應(yīng)的剩余值,使用保存的剩余值對(duì)未保存的位位置的剩余值進(jìn)行內(nèi)插。
全文摘要
本發(fā)明提供錯(cuò)誤檢測(cè)裝置和錯(cuò)誤校正/錯(cuò)誤檢測(cè)解碼裝置以及方法,該錯(cuò)誤檢測(cè)方法,將規(guī)定位長(zhǎng)的數(shù)據(jù)串視為多項(xiàng)式,對(duì)該數(shù)據(jù)串添加錯(cuò)誤檢測(cè)碼,使得以錯(cuò)誤檢測(cè)碼生成用的多項(xiàng)式(生成多項(xiàng)式)除該多項(xiàng)式剩余為0,輸入添加錯(cuò)誤檢測(cè)碼后的數(shù)據(jù)串,對(duì)該輸入數(shù)據(jù)中有無(wú)錯(cuò)誤進(jìn)行檢測(cè),該錯(cuò)誤檢測(cè)方法包括預(yù)先計(jì)算使與各個(gè)位位置對(duì)應(yīng)的多項(xiàng)式除以所述生成多項(xiàng)式時(shí)的剩余值,并保存于存儲(chǔ)器的步驟;與輸入數(shù)據(jù)串一同,輸入表示各數(shù)據(jù)的正規(guī)的位位置的位位置信息的步驟;利用存儲(chǔ)器求取輸入數(shù)據(jù)串中不是0的數(shù)據(jù)的與正規(guī)的位位置對(duì)應(yīng)的剩余值,對(duì)求得的各剩余值,位對(duì)應(yīng)地進(jìn)行加法運(yùn)算的步驟;以及在加法運(yùn)算結(jié)果在全部的位為0時(shí)判定輸入數(shù)據(jù)串不存在錯(cuò)誤,在此之外的情況下判定存在錯(cuò)誤的步驟。
文檔編號(hào)H03M13/09GK101765976SQ20078010005
公開(kāi)日2010年6月30日 申請(qǐng)日期2007年8月7日 優(yōu)先權(quán)日2007年8月7日
發(fā)明者池田德啟 申請(qǐng)人:富士通株式會(huì)社