專利名稱::游程長度限制碼錯誤更正解碼方法
技術(shù)領(lǐng)域:
:本發(fā)明是有關(guān)一種應(yīng)用于游程長度限制碼的錯誤訊號更正譯碼方法,特別是以改良的譯碼規(guī)則更正游程長度限制碼的信道位錯誤。
背景技術(shù):
:編碼是數(shù)字系統(tǒng),尤其是數(shù)字通訊、數(shù)據(jù)儲存系統(tǒng)中重要的一環(huán)。一般而言,編碼可分為3大類來源編碼(sourcecoding)、錯誤控制編碼(errorcontrolcoding)、與信道編碼(channelcoding)。來源編碼的目的在將消息(information)來源-可能是人或計算機-轉(zhuǎn)換成數(shù)字數(shù)據(jù)序列,特別是二進制位序列,以及消息內(nèi)容的壓縮;錯誤控制編碼則將數(shù)字數(shù)據(jù)序列編碼成一新的位串行,使此位串行具有錯誤訊號偵測或更正的保護功能;而信道編碼的目的則是為了更有效率地將位字符串調(diào)變至通訊信道或儲存媒介中以更方便數(shù)據(jù)的傳輸或儲存。圖1是典型的數(shù)據(jù)傳輸/數(shù)據(jù)儲存系統(tǒng)的方塊圖,通常在信道編碼前已先作錯誤控制編碼。在譯碼端解調(diào)變得到的信道位可能有錯誤,但只要得到的信道位的錯誤量不超出錯誤控制編碼(特別是錯誤更正碼)的更正能力,接收端即可取得正確的消息訊號。大部分通訊或數(shù)據(jù)儲存系統(tǒng),錯誤訊號的更正是在錯誤控制碼方塊內(nèi)完成,而信道編碼并不具有錯誤訊號的更正能力。通常信道編碼是為了調(diào)變的目的,讓數(shù)據(jù)訊號能在特定的傳輸媒介或儲存裝置中傳輸或儲存,以得到較佳通訊效能或儲存效率。舉例來說,格雷碼(Graycode)是一種簡單的編碼方法,它讓每次發(fā)送的訊號序列與上一個訊號序列只有一個位元的差異。以一3位元格雷碼為例,若現(xiàn)在發(fā)送一個訊號序列為010,則下一個訊號可能為011、110、或000,每次訊號組間只有一個位元的改變。格雷碼可以限定通訊系統(tǒng)發(fā)射訊號間的相位差避免產(chǎn)生180度的相位反轉(zhuǎn),切合調(diào)變的需要。而目前有些技術(shù)則將通道變碼與錯誤控制編碼結(jié)合在一起,例如連續(xù)相位調(diào)變(ContinuousPhaseModulation),錯誤控制編碼與信道編碼的區(qū)隔不再明顯。但基本上,信道編碼并不具有錯誤更正的能力,必須靠錯誤控制編碼來更正。當譯碼(解調(diào))的信道位錯誤量超過錯誤控制碼的更錯能力時,得到的數(shù)據(jù)訊號即可能發(fā)生錯誤。游程長度限制碼(RunLengthLimited,RLLcode)是一種常見信道編碼技術(shù),目前廣泛應(yīng)用于儲存裝置,如硬盤、CD/DVD盤片中。游程長度限制碼通常以RLL(x,y)表示,x、y為大于0的自然數(shù),x代表最小的游程長度,y是限制的游程長度,經(jīng)由RLL(x,y)編碼后兩個信道位“1”的間包含至少x個、最多y個0。圖2A為一游程長度限制碼RLL(2,7)編碼表的例子。假設(shè)一組數(shù)據(jù)序列,其值為10001111(分組為10-0011-11),則經(jīng)過編碼后得到的信道位序列應(yīng)為0100-00001000-1000。經(jīng)由游程長度限制碼編碼的數(shù)據(jù)可以有效限制0、1位的變化頻率,同時其游程長度有限制,可以提供同步信息以及降低數(shù)據(jù)的直流值,這個特性使它適合應(yīng)用于儲存裝置如光盤、硬盤的信道編碼。游程長度限制碼的譯碼可利用編碼表,將可能的數(shù)據(jù)序列與其對應(yīng)的信道位序列的位序列的對應(yīng)關(guān)系作成解碼表(demodulationtable),當接收或讀取一信道位序列時,根據(jù)該對照表對應(yīng)回原資料序列。例如編碼時數(shù)據(jù)序列D1=11011000,編碼后輸出的位序列為C1=1000001000000100,將C1與D1的對應(yīng)關(guān)系紀錄于譯碼表中,日后若接收一序列與C1相同,根據(jù)該對應(yīng)關(guān)系即可譯碼為數(shù)據(jù)序列D1。在硬盤磁道上,數(shù)據(jù)是以磁通翻轉(zhuǎn)(fluxtransition)代表信道位為“1”,不變的為“0”;光盤片中則是以坑(pit)與巷(land)變換的處代表“1”,平坦處則代表“0”。圖2B中顯示上述信道位0100000010001000序列與盤片上坑、巷的對應(yīng)圖。4T代表2個1間有4-1=3個0,7T代表有7-1=6個0,亦即坑或巷的長度。讀取的訊號可以nT序列表示如7T4T4T,其代表的信道位序列為1000000100010001。若以RLL(2,7)作信道編碼的訊號,其訊號應(yīng)介于3T至8T間。目前常見的游程長度限制碼有RLL(1,7)、RLL(2,7)、RLL(2,10)等,這些編碼方式正常情形下最小的訊號分別為2T與3T訊號,最大則是8T與11T。當盤片上坑或巷的長度過小,或讀寫頭取樣結(jié)果解調(diào)變得到小于編碼最小限制的訊號,這時信道位有錯誤,若直接作信道位譯碼會得到錯誤的數(shù)據(jù)訊號。反之若盤片上坑或巷的長度過大亦然。由于游程長度限制碼本身并不具有錯誤更正能力,若要于錯誤更正碼譯碼前先行更正游程長度限制碼的錯誤信道位,必須另覓方法處理。以RLL(1,7)碼為例,1T是非法的訊號。常見RLL(1,7)碼1T錯誤發(fā)生的處理方法有二,一為忽略1T訊號,即使讀取的信道位出現(xiàn)連續(xù)兩個“1”,仍然將整個序列由譯碼表譯碼,此時解出的數(shù)據(jù)序列與正確的數(shù)據(jù)序列會有所差異。一般情形下這些差異仍可透過錯誤校正碼更正回正確的消息數(shù)據(jù),但如果錯誤的位數(shù)目大于錯誤更正碼的更正能力時,會發(fā)生譯碼錯誤而形成不同的消息數(shù)據(jù)。另一方法是于解碼前先將1T訊號轉(zhuǎn)換為2T訊號。因為通常是2T訊號誤判為1T訊號,所以加入1T/2T的轉(zhuǎn)換,即增加一部分的邏輯電路單元于游程長度限制碼的譯碼電路,或修改系統(tǒng)固體的設(shè)定。此方法是當每接收或讀取一位序列,必須判斷此位序列是否包含1T錯誤訊號,并將1T錯誤訊號修正為2T訊號,之后再透過譯碼表譯碼。將1T修正為2T訊號再進行譯碼可降低錯誤率,其代價是電路變復(fù)雜且必須花時間運算判定接收的游程長度限制碼是否擁有1T訊號部分并修正為2T訊號,這會使得執(zhí)行的時間增長。圖3A與3B分別為采取忽略方式、以及增加更正電路方式的譯碼架構(gòu)示意圖,兩種方式都未改變譯碼表的譯碼規(guī)則。如果能在不增加額外電路下更正游程長度限制碼的錯誤而取得較正確的位序列,使進入錯誤控制碼方塊(參考圖1)的信道位的錯誤率下降,可以使接收/讀取訊號經(jīng)錯誤校正碼更正后有較高的正確性。
發(fā)明內(nèi)容根據(jù)上述理由,本發(fā)明提供一種更正游程長度限制碼錯誤位序列的方法,設(shè)計一新的譯碼規(guī)則,增加游程長度限制碼譯碼表的對應(yīng)關(guān)系,可將包含錯誤訊號(如RLL(1,7)碼的1T訊號)的接收位序列譯碼,而不需增加轉(zhuǎn)換的邏輯電路即可完成信道位錯誤的更正。新的游程長度限制碼的譯碼規(guī)則將不合法的信道字節(jié)成的位序列亦加入譯碼表中,以擴充譯碼表的方式,讓錯誤的位序列亦對應(yīng)到一數(shù)據(jù)序列,而不需額外增加訊號轉(zhuǎn)換的邏輯電路來完成游程長度限制碼錯誤更正。另外本發(fā)明提出一種針對RLL(1,7)編碼的訊號作1T訊號錯誤更正譯碼的方法與譯碼表,是將包含1T訊號的位序列直接經(jīng)由新的譯碼規(guī)則對應(yīng)至一數(shù)據(jù)序列,省略更正1T訊號的邏輯電路。這些對應(yīng)關(guān)系可由系統(tǒng)設(shè)計者根據(jù)統(tǒng)計數(shù)據(jù)或其經(jīng)驗增加于原本的解碼表中。圖1為典型的數(shù)據(jù)傳輸/數(shù)據(jù)儲存系統(tǒng)的方塊圖;圖2A為RLL(2,7)碼的編碼表;圖2B為信道位與光盤片上坑、巷的對應(yīng)圖;圖3A為忽略1T錯誤訊號的譯碼架構(gòu)圖;圖3B為增加1T/2T更正電路的譯碼架構(gòu)圖;圖4A為修正后的解碼表的示意圖;圖4B為使用修正后譯碼表譯碼的譯碼架構(gòu)圖;圖5A為RLL(1,7)碼的編碼表;以及圖5B為本發(fā)明揭露的RLL(1,7)碼解碼表的示意圖。具體實施例方式本發(fā)明的一些實施方式會詳細描述如下。然而,除了詳細描述的內(nèi)容外,本發(fā)明還可以廣泛地在其它的實施例施行,且本發(fā)明的范圍不受限定,其以申請的專利范圍為準。RLL(x,y)碼合法的信道位序列組成介于(x+1)T至(y+1)T的間,以RLL(1,7)碼為例即2T至8T,而1T或9T、10T...等皆為不合法的訊號。假設(shè)現(xiàn)有一數(shù)據(jù)序列以RLL(x,y)編碼,其合法的位序列應(yīng)為(x+1)T至(y+1)T的訊號所組成,其中x、y是大于0自然數(shù)且x小于y。此合法的位序列由通訊系統(tǒng)的發(fā)射端發(fā)射至接收端、或儲存于儲存裝置由讀取裝置讀出經(jīng)過模擬訊號轉(zhuǎn)換后,可能得到的是非合法的位序列,即接收/讀取的位序列組成包含1T至xT、或(y+1)T以上的訊號。換句話說,當合法的位序列調(diào)變至一信道,由于信道可能引進噪聲,或是接收端讀取錯誤,接收端接收的模擬訊號序列解調(diào)變后得到的位序列可能與原本發(fā)射/儲存的位序列不同,而其中更可能產(chǎn)生非合法的位序列。游程長度限制碼本身并不具有錯誤更正的功能,如果接收/讀取的位序列與原本的位序列不同,并無法辨識出來。然而,若是非合法的位序列,在RLL譯碼前即可得知。由前述的公知技術(shù)的描述得知,非合法的位序列可能導(dǎo)因于合法的位序列解調(diào)變錯誤。不同的非合法位序列其原本的位序列也有所不同,例如,1T訊號極可能是2T訊號所誤判(由3T訊號誤判的機率相對而言極小),若接收訊號為3T2T1T4T的位序列,其原本的位序列可能是3T2T2T3T;若接收訊號為3T3T1T3T的位序列,原本的位序列可能是3T2T2T3T或3T3T2T2T。公知技術(shù)使用一更正電路或增加固件功能的方式將非合法的位序列修正為合法位序列(例如,將3T3T1T3T序列修正為3T2T2T3T),再經(jīng)由譯碼表譯碼,本發(fā)明則公開一種具錯誤訊號更正能力的譯碼方法,是直接修改譯碼表的譯碼規(guī)則,增加非合法位序列與數(shù)據(jù)序列的對應(yīng)關(guān)系以完成譯碼流程。參考圖4A,為上述修改解碼表的一實施例的示意圖。編碼方式為RLL(x,y)碼,區(qū)塊42包含原本未修改前的解碼表的對應(yīng)關(guān)系,例如位序列4420其值為3T2T2T3T訊號,對應(yīng)至數(shù)據(jù)序列4424,其值為100100;區(qū)塊46則為修改的解碼表增加的對應(yīng)關(guān)系。新增加的對應(yīng)關(guān)系461中,位序列4610為3T2T1T4T,因序列中包含1T的訊號是不合法的位序列。假設(shè),由統(tǒng)計數(shù)據(jù)或系統(tǒng)設(shè)計者經(jīng)驗判斷,位序列4610是合法序列4420接收/讀取錯誤的結(jié)果。因此修正的譯碼表加入一新對應(yīng)關(guān)系461,讓位序列4610與合法的位序列4420都對應(yīng)到相同的數(shù)據(jù)序列,即位序列4610對應(yīng)的數(shù)據(jù)序列4614與合法位序列4420所對應(yīng)的數(shù)據(jù)序列4424相同。因此,當接收一位序列4000,若其值為非法的位序列4610,透過此修正的解碼表,可直接藉由對應(yīng)關(guān)系461,將其譯碼為數(shù)據(jù)序列4424,其功能相當于由更正電路先修正為合法的位序列4420后由譯碼表對照譯碼輸出。因此原先圖3B具有錯誤更正電路的譯碼系統(tǒng)可簡化成如圖4B的形式。本發(fā)明提出的系統(tǒng)架構(gòu)與原先忽略錯誤訊號直接譯碼的電路相同,差別是其中譯碼表經(jīng)過修正,增加了非合法位序列與數(shù)據(jù)序列的對應(yīng)關(guān)系,因而具有修正錯誤位序列的功能。本發(fā)明亦公開一具體實施例,包含一種RLL(1,7)編碼的位序列作1T訊號錯誤更正譯碼的方法,以及修正的譯碼表架構(gòu)。RLL(1,7)碼常用于硬盤與光盤中,對RLL(1,7)碼而言,1T訊號是不合法的。圖5A為RLL(1,7)碼的編碼表。假設(shè)現(xiàn)有一數(shù)據(jù)序列為101100,編碼后得到位序列CW0為001010101并紀錄于光盤片中?,F(xiàn)在讀取頭讀取盤片數(shù)據(jù)得到一模擬訊號序列,經(jīng)由訊號轉(zhuǎn)換后得到一位序列CW1。先前技術(shù)的處理方法為不論是否有1T錯誤訊號都直接由譯碼表對照譯碼,或透過一更正電路先判斷是否有1T錯誤訊號,并將1T訊號更正為2T訊號后根據(jù)譯碼表譯碼。然而,對于每個接收的位序列判斷是否有錯誤訊號會造成譯碼時間的延宕,且需要增加額外的邏輯電路。例如,若上述讀取的位序列CW1的位序列為001010101,由于并沒有1T錯誤訊號,直接譯碼得到的序列101100即為正確的數(shù)據(jù)序列,若經(jīng)過更正電路的判斷處理只是增加譯碼時間。但是若讀取的位序列CW1的位序列為001100101,因為有1T訊號所以是錯誤的序列。直接譯碼得到的是錯誤的數(shù)據(jù)序列100011,若先作1T/2T轉(zhuǎn)換將位序列CW1先更正為001010101才可正確解碼。為避免上述1T/2T訊號轉(zhuǎn)換所導(dǎo)致增加譯碼電路與譯碼時間的問題,根據(jù)本發(fā)明的精神,透過修改解碼表來達成游程長度限制碼的更正。若讀取的位序列CW1的位序列為001100101包含1T訊號,在進入錯誤控制碼前可先判斷位序列CW1為錯誤序列。由上述得知1T訊號可能是2T訊號誤判而產(chǎn)生,即位序列CW1可能是位序列001010101讀取錯誤的結(jié)果。本發(fā)明提出的方法是將原解碼表作一修正,將位序列(CW1)001100101視為位序列(CW0)001010101讀取錯誤的結(jié)果,并加入此新的對照關(guān)系于解碼表中,即當讀取一含1T錯誤訊號的位序列001100101時,將其視為序列001010101而直接經(jīng)對照表轉(zhuǎn)換為數(shù)據(jù)序列101100。根據(jù)修正的新譯碼表,當讀取的位序列的數(shù)據(jù)序列為001010101時,可依解碼表原本即包含的對應(yīng)關(guān)系譯碼為數(shù)據(jù)序列101100;若讀取的位序列的位序列為001100101,亦可根據(jù)新加入的對應(yīng)關(guān)系解碼。經(jīng)由此修正后的譯碼表來譯碼,可以同樣達到訊號更正的效果而不需增加譯碼電路與時間。除了上述實施例所使用例子,RLL(1,7)碼常見的非合法位序列與合法的位序列、以及數(shù)據(jù)序列的對應(yīng)關(guān)系尚包含位序列101100101對應(yīng)位序列101010101,其數(shù)據(jù)序列為001100;位序列011001對應(yīng)位序列010101,其數(shù)據(jù)序列為1100;位序列110對應(yīng)位序列101,其數(shù)據(jù)序列為00......等。以上的對應(yīng)關(guān)系,是根據(jù)觀察與經(jīng)驗法則取得的,常見的包含1T錯誤訊號的序列與其可能的正確序列,以及其對應(yīng)的數(shù)據(jù)序列。圖5B為修正后的譯碼表的示意圖,包含合法位序列與數(shù)據(jù)序列的對應(yīng)關(guān)系54,以及增加的非合法位序列與數(shù)據(jù)序列的對應(yīng)關(guān)系56。對應(yīng)關(guān)系56包含上述實施例所提及的對應(yīng)關(guān)系,但并非僅限制于上述實施例所述。以上所述僅為本發(fā)明的較佳實施例,并非用以限定本發(fā)明的申請專利權(quán)利;同時以上描述對于熟知本
技術(shù)領(lǐng)域:
的專門人士應(yīng)可明了及實施,因此其它未脫離本發(fā)明所揭露的精神下所完成的等效改變或修飾,均應(yīng)包含在本發(fā)明申請的專利范圍中。權(quán)利要求1.一種解碼方法,該方法包括接收一模擬訊號序列,并將該模擬訊號序列經(jīng)訊號轉(zhuǎn)換為一位序列;輸入該位序列至一譯碼電路;以及該譯碼電路依據(jù)一譯碼表譯碼;其中該模擬訊號序列是一數(shù)字數(shù)據(jù)序列以一編碼方式編碼,于接收端接收的訊號;其中該譯碼表包含該數(shù)字數(shù)據(jù)序列以該編碼方式編碼得到的一合法位序列與該數(shù)字數(shù)據(jù)序列的一對應(yīng)關(guān)系,該譯碼電路根據(jù)該對應(yīng)關(guān)系將該位序列對應(yīng)至該數(shù)字數(shù)據(jù)序列譯碼;其中該譯碼表還包含至少一非合法的位序列與該數(shù)字數(shù)據(jù)序列的對應(yīng)關(guān)系。2.如權(quán)利要求1的譯碼方法,其特征在于,其中該非合法的位序列是指不屬于該合法位序列的該位序列。3.如權(quán)利要求1的譯碼方法,其特征在于,其中上述編碼方式包含游程長度限制碼(RunLengthLimited,RLLcode)。4.一種用于RLL(1,7)碼的譯碼表,其中該譯碼表包含復(fù)數(shù)個合法位序列與數(shù)字數(shù)據(jù)序列的對應(yīng)關(guān)系,使一譯碼電路根據(jù)上述對應(yīng)關(guān)系將一接收訊號的位序列譯碼,該譯碼表的特征在于包含至少一非合法位序列與數(shù)字數(shù)據(jù)序列的對應(yīng)關(guān)系,當該接收訊號的位序列屬于該非合法的位序列時,該譯碼電路可根據(jù)該非合法位序列與數(shù)字數(shù)據(jù)序列的對應(yīng)關(guān)系解碼。5.如權(quán)利要求4用于RLL(1,7)碼的譯碼表,其特征在于,其中該合法的位序列為以nT訊號所組成的序列,n為介于2到8的自然數(shù)。6.如權(quán)利要求4用于RLL(1,7)碼的譯碼表,其特征在于,其中該非合法位序列為具有1T訊號的該位序列。7.如權(quán)利要求6用于RLL(1,7)碼的譯碼表,其特征在于,其中該非合法位序列至少包含序列001100101、序列101100101、序列011001、與序列110。8.如權(quán)利要求7用于RLL(1,7)碼的解碼表,其特征在于,其中上述序列001100101對應(yīng)資料序列101100,序列101100101對應(yīng)數(shù)據(jù)序列001100,序列011001對應(yīng)數(shù)據(jù)序列1100,以及序列110對應(yīng)數(shù)據(jù)序列00。全文摘要游程長度限制碼(RunLengthLimited,RLLcode)為一種信道編碼技術(shù),本身不具有錯誤更正能力。本發(fā)明公開一種方法,透過一經(jīng)修改其譯碼規(guī)則的譯碼表,在不增加額外更正電路下更正游程長度限制碼的錯誤而取得較正確的序列,使錯誤控制碼的錯誤率下降,增加數(shù)據(jù)譯碼的正確性。文檔編號H03M7/46GK1801629SQ20041010462公開日2006年7月12日申請日期2004年12月31日優(yōu)先權(quán)日2004年12月31日發(fā)明者李瑞政申請人:建興電子科技股份有限公司