基於雙周期序列的單碼道絕對式編碼和解碼方法
2023-05-20 21:14:21
基於雙周期序列的單碼道絕對式編碼和解碼方法
【專利摘要】本發明公開了一種基於雙周期序列的單碼道絕對式編碼和解碼方法,將na階m序列和nb階m序列的碼元交錯排列形成單碼道絕對式編碼:其中na<nb,且na與nb互質,而分別為兩個序列A(na)與B(nb)的周期。本發明將單碼道絕對式編碼的碼字絕對位置與兩m序列A(na)與B(nb)的碼字序數聯繫起來,從而有效地克服了偽隨機編碼在尋找碼字絕對位置時的困難.解碼採用分析計算與查表法相結合的方法,具有佔用內存小、解碼速度快的特點。本發明所給單碼道絕對式編/解碼方法適合於高速高精度線位移長光柵的設計製造。
【專利說明】基於雙周期序列的單碼道絕對式編碼和解碼方法 【【技術領域】】
[0001] 本發明屬於工控領域,涉及一種高速、高精度線位移長光柵的單碼道絕對式編碼 方法和解碼方法。 【【背景技術】】
[0002] 單碼道絕對式編碼用於線位移光柵傳感器的設計製造。絕對式光柵尺的刻線與絕 對式編碼相對應,碼元為" 1"用刻線表示,若碼元為"〇"則不刻線,而解碼則是根據從光柵 尺上掃描得到的碼字給出讀數頭位移度量。
[0003] 1999年,德國HEIDENHAIN(海德漢)公司推出了新型絕對式線位移光柵尺,該光柵 尺具有增量式和絕對式兩個碼道,其中絕對式碼道就是依據單碼道絕對式編碼在標尺上光 刻而成的。該光柵在上電後不需要尋找"零位",根據當前掃描信息即可確定當前位置,而且 因在光柵運行時實時進行解碼而沒有累計誤差,所以常用於大型機械部件的精密加工與測 量。這類光柵代表了精密測量技術的世界先進水平和發展趨勢。
[0004] 單碼道絕對式編碼是傳統絕對式編碼的進一步發展。傳統絕對式編碼,如格雷碼, 按確定的規律進行編碼和解碼,但它不要求前後相鄰碼字具有碼元的重疊性,因此必須通 過多碼道實現。多碼道絕對式光柵製造工藝流程長,成本高,而單碼道光柵則可有效克服這 一缺陷。近年來,歐美國家相繼推出了自己的絕對式光柵產品,主要用於高端工具機製造。我 國也開展了單碼道絕對式光柵的研製,但目前還未推出自己的產品,仍處於研發階段。研究 的熱點領域是線位移長光柵的設計,其中滿足長光柵需求的絕對式編碼是關鍵問題之一。
[0005] 單碼道絕對式光柵對編碼技術要求較高,它要求前後相鄰碼字的碼元具有一定的 重疊性,以便所有碼字能夠組成一個序列(稱為編碼序列),這一要求使得編/解碼變得較 為困難。目前主要採用偽隨機編碼方法和分區編碼的思想。不足之處是當編碼序列較長 時,解碼算法佔用內存大,耗時多,不能滿足高速高精度光柵的要求。為克服這一不足,本發 明將隨機編碼與確定性編碼思想相結合,提出了基於雙周期序列絕對式編碼方法,有效地 減少了內存與解碼計算的開銷。所給編/解碼方法滿足高速高精度線位移絕對式光柵的要 求。 【
【發明內容】
】
[0006] 本發明提出了一種基於兩周期序列的單碼道絕對式編碼和解碼方法,其解碼算法 佔用內存小,適用於高速高精度線位移長光柵。
[0007] -種基於雙周期序列的單碼道絕對式編碼方法,將na階m序列3(?) = %?…… 和nb階m序列= …的碼元交錯排列形成單碼道絕對式編碼: ft=2%-1分別為兩個序列的周期。
[0008] 單碼道絕對式編碼SAC (na,nb)的碼字長為2 (pa+nb),表徵能力為2(P -1)(2?-1)。即 將SAC(na,nb)的每個碼元和其後2(p a+nb)-l個碼元組成一個碼字時,則任意兩個碼字均不 相同,且第i個碼字的後2(p a+nb)-l個碼元與第i+1個碼字的前2(pa+nb)-l個碼元相同。
[0009] 若序列A (na)的碼字CWa與B (nb)的碼字CWb相對應,且在序列A (na)和序列B (nb) 中的序數分別為化和隊,則當CWb位於B(nb)的第弋(慫=1,2,…,2?"-1 )周期時,序數(\和 〇b滿足如下關係:
[0010] [(? + 隊-l)(2"f -1) -1]%(2"- -1) +1 = Oa,其中," % " 為取餘運算符。
[0011] 對於B(nb)的任一碼字CWb,在B(nb)不同周期(即&=1,2,-1 )中CWb與A(na) 的不同碼字相對應。。
[0012] 一種對上述基於雙周期序列的單碼道絕對式編碼進行解碼的方法,包括以下步 驟:
[0013] (1)給定兩個序列A(na)和B(nb)的階數ndPn b,周期凡=2"…1和凡=2%-1,以 及單碼道絕對式編碼的碼長n6 = 2(pa+nb);
[0014] (2)在絕對式單碼道上掃描碼長為n6的代碼模式C,並記C的奇數位置碼元構成 的字符串為C 1, C的偶數位置碼元構成的字符串為C2 ;
[0015] (3)當字符串C1是A(na)的代碼模式時,記C 1的前na個碼元為CWa,C2的前nb個 碼元為CW b ;當字符串C1是B (nb)的代碼模式時,記C2的前na個碼元為CWa,C 1的前nb個碼 元為CWb ;
[0016] (4)在A (na)和B (nb)的解碼錶中分別查找CWa和CWb的序數Oa與O b ;
[0017] (5)根據步驟(3)和步驟⑷的結果計算kb,kb表示CW b在序列B (nb)的第kb個 周期內;
[0018] (6)根據kb計算CWb在周期序列B(nb)中的絕對位置:4=⑷+ ^
[0019] (7)根據步驟(6)計算C的解碼值。
[0020] 步驟(5)中,kb 根據公式隊-DP -1)]%(2?-1) = r 計算,其中,r = (O11 - -1)。
[0021] 步驟(7)中C的解碼值計算方法是:當C1為A (na)的代碼模式時,C的解碼值為L。 =2Lb-l ;當C1為B(nb)的代碼模式時,L。= 2Lb。
[0022] 與現有技術相比,本發明公開的一種基於雙周期序列的單碼道絕對式編碼及其解 碼方法至少具有以下有益效果:
[0023] 本發明將偽隨機編碼方法和有確定性規律的編碼方法相結合,從易於解碼的角度 研究編碼方法,提出編碼SAC(n a,nb).編碼SAC(na,nb)利用了兩個m序列,這兩個序列屬於 偽隨機編碼,而交錯排列碼元則屬於一種按確定規則進行編碼的編碼方法,它使絕對式編 碼碼字的絕對位置與m序列的碼字序數聯繫起來,從而使解碼變得容易,在一定程度上克 服了偽隨機編碼在尋找碼字絕對位置時的困難.解碼採用分析計算與查表法相結合的方 法,不同於完全依賴於查表法的偽隨機編碼的解碼方法。
[0024] 編碼SAC (na,nb)既具有位移連續碼"一個碼元對應一個絕對位置"的性質,又具有 基於序列周期性進行粗定位的特點,減小了存儲開銷。
[0025] 顯見,隨著階數(na,nb)的升高,SAC(n a,nb)的碼字數量迅速增加,但解碼僅利用兩 個m序列的性質,因此解碼算法在內存佔用和解碼速度方面均表現出良好的性能。本發明 所給絕對式編/解碼方法適合於線位移長光柵的設計製造。 【【專利附圖】
【附圖說明】】
[0026] 圖1為本發明單碼道絕對式編碼圖形示意圖。
[0027] 圖2為兩個m序列碼字對應關係不意圖。
[0028] 圖3為本發明快速連續解碼流程圖。 【【具體實施方式】】
[0029] 本發明給出了一種適用於高速高精度長光柵製造的編/解碼技術。所給方法基於 雙周期序列複合運算構造編碼,理論上可給出任意長的編碼,而解碼僅依賴於兩周期序列 的性質。因此在需要較長編碼序列時,所給單碼道絕對式編/解碼算法具有非常明顯的優 勢。
[0030] 定義:設含有P個位置的t位字長的有序碼字集合為W = {Wi I i = 1,2, . . .,p}, 其中% = ?...m丨為第i個位置的碼字,碼元wf取'〇'或'r。若w中任意兩個碼字都不相 同,且對任意i,Wi後t-i個碼元與w i+1的前t-i個碼元相同,則稱集合w為單碼道絕對式 編碼,根據w構造的序列稱為單碼道絕對式編碼序列。
[0031] 單碼道絕對式編碼方法
[0032] 假設術"^ = ¥1..'...,和5(?;))=咕2..七/..分別是1^階和叫階 111序列。則單碼道 絕對式編碼(即編碼序列)為:
[0033] SAC{n "nb) = aAa2b2---apbp^rt+lb p>+l---ai^^^^ ,
[0034] 其中na與nb是正整數,na關如且n a與nb互質。m序列A(na)和B(nb)的周期分 別為:Pa = 2 _ 丨' /? = 2 - I。
[0035] 根據上述編碼方法,SAC(na,nb)是由兩個周期序列碼元交錯排列而成的。可證明 當n a與nb互質時,SAC(na,nb)為單碼道絕對式編碼,對應的碼字長為2 (pa+nb),共有2papb 個碼字。
[0036] 單碼道絕對式編碼的解碼方法
[0037] 設A(na)和B(nb)分別為]^階與叫階!!!序列,na# nb。下述討論中不妨假Sna〈nb, 並定義序列中碼字的序數為該碼字在序列第一個周期中的絕對位置。
[0038] 單碼道絕對式編碼SAC (na,nb)的解碼步驟包括:
[0039] 步驟0 :初始化:輸入na, nb,凡=' -1,ne = 2 (pa+nb),其中ne表示編碼序列 SAC(na,n b)對應的碼字長度;
[0040] 步驟1 :掃描SAC (na,nb)的碼長為ne的代碼模式C ;記C的奇數位置的碼元構成的 字符串為C1,偶數位置的碼元構成的字符串為C2 ;
[0041] 步驟2 :如果C1是A(na)的代碼模式,則記C1的前na個碼元為CW a,C2的前nb個 碼元為CWb ;如果C1是B (nb)的代碼模式,則記C2的前na個碼元為CWa, C1的前nb個碼元為 CWb;
[0042] 步驟3 :在A (na)和B (nb)的解碼錶中分別查找代碼模式CWa和CWb的序數Oa與O b ;
[0043] 步驟4 :根據公式隊- DP -D]m〇d(2"- -l) = r計算kb(kb表示CWb在序列 B(nb)的第k b個周期內),或在周期索引表中讀取kb;當C1SA(Iia)的代碼模式時, r = (Ofl -06)mod(r- -1),當 C1 為 B(nb)的代碼模式時,r = (Ofl -l-06)mod(2"* -1)。其中在周期 索引表中讀取kb是指:提前計算好r和kb之間的對應關係,並製成索引表,這樣,在解碼時 只需要在索引表中查找即可;
[0044] 步驟5 :計算CWb在周期序列B (nb)中的絕對位置:Z7, = ;
[0045] 步驟6 :若C1為A (na)的代碼模式,則C的解碼值(即C的絕對位置):L。= 2Lb-l ; 若C1為B (nb)的代碼模式,L。= 2Lb ;
[0046] 步驟7 :輸出碼字C的解碼值Lc。
[0047] 單碼道絕對式解碼方法的進一步詳細闡述如下:
[0048] 1 ?單碼道絕對式編碼性質
[0049] (1)若m序列A (na)的碼字CWa與B (nb)的碼字CWb相對應,其序數分別為Oa和Ob, 則當CW b位於B (nb)的第以h =1,2,…,P-1)周期時,序數Oa和Ob滿足如下關係:
[0050] -I)(r - I) - I] - I) + I =(人。
[0051] ⑵對於B(nb)的任一碼字CWb,在B(nb)的第-1周期內,CW b與A(na)的 不同碼字相對應。
[0052] (3)編碼序列SAC (na,nb)的碼字長為2 (pa+nb),表徵能力為2(2"6 - DP -1)。
[0053] (4)若A (na)的碼字CWa與B (nb)的碼字CWb相對應,且CWa與CWb的序數分別為O a 和Ob,則當CWb位於B (nb)的第&札=1,2,…,-1)周期時,有
[0054] -1)=[(々,,-1.)(2". - l)]mod(r.' - I)。
[0055] 記 與K--對應。
[0056] 2、單碼道絕對式編/解碼的周期索引表
[0057] 根據性質4,當A (na)的碼字CWa與B (nb)的對應碼字CWb的序數Oa和Ob 已知時,可以計算CWb所在周期kb。首先計算r,,然後根據 隊-l)(2"q)]腦d(2- -1) = r計算CWb所在周期kb。實際中,為了節約計算時間可根據該性質 製作周期索引表,在周期索引表中查找周期kb。當CWb在序列B (nb)中所在周期kb給定時, 其絕對位置為A =(? -1)(2"6 - I) +O6。
[0058] 3?解碼規則
[0059] 從SAC (na,nb)中掃描得到長度為ne的代碼模式C,其中ne彡2 (pa+nb),記其奇數位 和偶數位的碼元分別構成的兩個字符串為C1和c2。
[0060] 情形I. C1為序列A(na)中的代碼模式。這時C2為B(nb)的代碼模式,C 1與C2相對 應。首先確定C1的第一個長為na的碼字CW a序數Oa和C2的第一個長為nb的碼字CWb的序 數〇 b,然後計算CWb在序列B(nb)中的當前絕對位置。在當前情形,代碼模式C在SAC(n a,nb) 中的絕對位置(解碼值)為L。= 2Lb-l。
[0061] 情形2. C1為序列B(nb)中的代碼模式。這時C1與C2的前一個碼字相對應,
[0062] 廠=_ U inodC. - I) , Lc = 2Lb。
[0063] 本發明將偽隨機編碼方法和有確定性規律的編碼方法相結合,從易於解碼的角度 研究編碼方法,提出了單碼道絕對式編碼SAC(n a,nb)。編碼SAC(na,nb)利用了兩個m序列, 這屬於偽隨機編碼,而交錯排列碼元則屬於一種按確定規則進行編碼的編碼方法,它使絕 對式編碼碼字的絕對位置與m序列的碼字序數聯繫起來,從而使解碼變得容易,在一定程 度上克服了偽隨機編碼在尋找碼字絕對位置時的困難.解碼採用分析計算與查表法相結 合的方法,不同於完全依賴於查表法的偽隨機編碼的解碼方法。
[0064] SAC (na,nb)碼是一種位移連續碼,即"一個碼元對應一個絕對位置"。但該編碼基 於兩個周期循環序列,只需儲存其中一個周期循環序列,因此減小了存儲開銷。
[0065] 顯見,隨著階數(na,nb)的升高,SAC(na,nb)的碼字數量迅速增加,但解碼僅利用兩 個m序列的性質,因此提高了解碼速度。基於此特點,本發明所給單碼道絕對式編/解碼方 法適合於高速高精度線位移長光柵的設計製造。
[0066] 下面根據幾個實例對本發明方法進行舉例說明:
[0067] 請參考圖1,該圖為當na = 2, nb = 3時,採用本發明絕對式編碼方法形成的光柵 尺結構示意圖。SAC(2, 3)碼由2階m序列A(2)和3階m序列B(3)的碼元交錯排列而成, 光柵尺上黑、白條碼平行排列。A(2)和B(3)的碼字對應關係見圖2。A(2)和B(3)的碼字 與其序數對應關係分別見表1和表2。
[0068] 表I、A (2)的碼字與序數對應關係
[0069]
【權利要求】
1. 一種基於雙周期序列的單碼道絕對式編碼方法,其特徵在於:將naMm序列 ^0 = ¥^1"/"和1113階111序列5(?6) = ¥?2_'入一的碼元交錯排列形成絕對式編碼: &4C(?u,,〇 = ^Afl2V.·?Α\+ι\+ι…&Α+_4-ι αΜ+,Λ,+%, 凡=2?-1,凡=2%-1分別為m序列A(na)與B(nb)的周期。
2. 根據權利要求1所述的基於雙周期序列的單碼道絕對式編碼方法,其特徵在於:該 單碼道絕對式編碼SAC (na,nb)的碼字長為2 (pa+nb),表徵能力為-1)。
3. 根據權利要求1所述的基於雙周期序列的單碼道絕對式編碼方法,其特徵在於:若 序列A (na)的碼字CWa與序列B (nb)的碼字CWb相對應,且CWa與CWb在序列A (na)和B (nb) 中的序數分別為Oa和〇b,則當CWb位於B(nb)的第k b ( & = l,2C -1 )周期時,序數Oa和 Ob滿足如下關係:網+?, -1) + 1 = Oa,其中% "為取餘運算符。
4. 根據權利要求1所述的基於雙周期序列的單碼道絕對式編碼方法,其特徵在於:對 B(nb)的任一碼字CWb,在B(nb)不同周期(即夂=1,2,…,2?-1 )中(^與六^)的不同碼字 相對應。
5. -種根據權利要求1所述的雙周期序列的單碼道絕對式編碼進行解碼的方法,其特 徵在於:包括以下步驟: (1) 初始化,給定兩個序列A (na)和B (nb)的階數ndP nb,周期A1 = 2"·1 -1和/?6 = -1, 以及單碼道絕對式編碼的碼字長ηε = 2(pa+nb); (2) 在絕對式單碼道上掃描碼長為ηε的代碼模式C,記C的奇數位置碼元構成的字符 串為C1, C的偶數位置碼元構成的字符串為C2 ; (3) 當字符串(^是八^)的代碼模式時,記C1的前\個碼元為CWa,C2的前n b個碼元 為CWb ;當字符串C1是B (nb)的代碼模式時,記C2的前na個碼元為CWa,C 1的前nb個碼元為 CWb; (4) 在A (na)和B (nb)的解碼錶中分別查找CWa和CWb的序數Oa與O b ; (5) 根據步驟(3)和步驟⑷的結果計算kb,kb表示CWb在序列B (nb)中的周期數,即 CWb位於B (nb)的第kb個周期內; (6) 根據kb計算CWb在周期序列B(nb)中的絕對位置:二.=((-1)0 -+ G ; (7) 根據步驟(6)計算C的解碼值。
6. 根據權利要求5所述的解碼方法,其特徵在於:步驟(5)中的kb根據公式 隊-1)(2* -1)]%(2?_ = r 計算,其中,r = (〇a - OJ%(2?-1)。
7. 根據權利要求5所述的解碼方法,其特徵在於:步驟(7)的具體方法是:當(;為 A(na)的代碼模式時,C的解碼值為Lc = 2Lb-l ;當C1為B(nb)的代碼模式時,C的解碼值為 Lc= 2Lb〇
【文檔編號】G01B11/02GK104374325SQ201410650170
【公開日】2015年2月25日 申請日期:2014年11月14日 優先權日:2014年11月14日
【發明者】劉峰, 彭濟根, 趙靜靜 申請人:西安交通大學