編碼最終衍生出6組糾錯編碼, 總共72種糾錯編碼方式。糾錯編碼最小距離為3 :-組編碼中任意兩個編碼至少有3個碼 元不同。
[0096] 當檢錯編碼采用12組中第一組時:
[0097] 000 0Π 022
[0098] 1〇1 112 120
[0099] 202 210 221
[0100] 相應(yīng)的6組糾錯編碼為:
[0101]
[0102] 本發(fā)明實施例中,為了便于記憶,采用第二種糾錯編碼
[0103] 0000 0112 0221
[0104] 1011 1120 1202
[0105] 2022 2101 2210
[0106] 此組糾錯編碼的特點:每個編碼的第1位+第2位=第3位,第2位+第3位=第 4位(此處相加為模3加法)。因此,只需簡單記住手勢控制命令對應(yīng)的命令號,其編碼方 式可計算得到。如機器人控制中,"前進"對應(yīng)2號命令,則組合碼為01,檢錯編碼為011,糾 錯編碼為0112。
[0107] 非等長檢錯編碼方案:本發(fā)明同時提供一種三進制非等長手勢命令檢錯編碼,仍 以九種手勢命令為例,其檢錯編碼后形式如下:
[0108]
[0109] 本發(fā)明同時提供一種二進制非等長檢蟄編碼,基本手勢映射為"0"、〃Γ兩個編碼 碼元。的對應(yīng)的手勢同上。仍以九種手勢命令為例,其檢錯編碼后形式如下:
[0110]
[0111] 非等長糾錯編碼方案:本發(fā)明同時提供一種三進制非等長手勢命令Μ籃編碼,仍 以九種手勢命令為例,其糾錯編碼后形式如下:
[0112]
[0113] 本發(fā)明同時提供一種二進制非等長Μ盥編碼,基本手勢映射為"0"、〃1"兩個編碼 碼元。〃0〃、〃1〃的對應(yīng)的手勢同上。仍以九種手勢命令為例,其組合編碼和糾錯編碼后形 式如下:
[0114]
[0115] 上述二進制和三進制檢錯編碼中,除唯一的一元編碼"0"外,所有編碼長度均不小 于2的任一對編碼或者編碼長度不同,或至少有2個碼元不同,因而具有檢錯能力。
[0116] 同樣,上述二進制和三進制糾錯編碼每一個在編碼長度或編碼碼元上區(qū)別于其 他。如三講制非等長糾錯編碼中,編碼長度唯一的一元編碼"0"和唯一的二元編碼"11",其 余長度相同且編碼長度不小于3的編碼至少有三個碼元不同,如"000"和"111",因而上述 編碼的糾錯能力來源兩個方面:(1)長度不小于3的編碼依靠糾錯編碼來糾正手勢誤判決; (2)長度小于3的編碼依靠手勢與編碼長度之間的唯一映射來避免手勢誤判。同時,較短編 碼分配給更頻繁使用的控制命令。
[0117] 按上述思路,稍加變化還可構(gòu)造其他形式的二進制和三進制編碼,本發(fā)明不再 歹丨J舉。
[0118] 40)待檢命令手勢信號獲?。喊l(fā)射機發(fā)射信號,接收機接收經(jīng)命令手勢反射的信 號,得到待檢命令手勢信號;
[0119] 所述待檢手勢信號獲?。?0)步驟中,發(fā)射信號包括:單音信號、雙音信號、正交頻 分復(fù)用信號、頻率調(diào)制連續(xù)波信號。
[0120] 50)命令手勢信號識別:將待檢命令手勢信號分成多個子手勢,每個子手勢對應(yīng) 一個未知的基本手勢,通過各子手勢識別實現(xiàn)命令手勢信號識別,所述各子手勢識別為檢 測各個子手勢的信號特征,將各子手勢特征依次與基本手勢特征做對比,找出與各子手勢 相匹配的基本手勢,這些基本手勢依次組合,構(gòu)成待檢命令手勢信號判決結(jié)果;
[0121] 手勢信號識別(50)步驟中,所述子手勢識別包括:
[0122] 51)子手勢信號分段:對每一個子手勢信號,將其完整過程分成等時長的多段,其 分段數(shù)目與所述基本手勢分段(21)步驟中分段數(shù)目相同,計算各個分段的信號特征標量, 按先后順序組合成子手勢信號特征矢量,并根據(jù)預(yù)先設(shè)定模式,保留子手勢信號特征矢量 中各個標量的絕對數(shù)值或僅保留其符號;
[0123] 52)信號特征類型判斷:判斷子手勢信號的信號特征類型,如為測量數(shù)值的符號, 則轉(zhuǎn)至范數(shù)計算(54)步驟;
[0124] 53)夾角計算:計算子手勢信號特征矢量與基本手勢特征庫中所有特征矢量的夾 角,轉(zhuǎn)至手勢匹配(55)步驟;
[0125] 54)范數(shù)計算:計算子手勢信號特征矢量與基本手勢特征庫中所有特征矢量之差 的范數(shù);
[0126] 55)子手勢匹配:尋找基本手勢特征庫中與子手勢信號特征矢量的夾角或與子手 勢信號特征矢量之差的范數(shù)最小的基本手勢,將其作為與子手勢信號相匹配的基本手勢。
[0127] 測量過程中子手勢劃分需要區(qū)分手勢的開始和結(jié)束,一種已有方法在不同的 手勢間停留短暫時間,以識別新手勢開始,具體參考"Q.Pu,S.Gupta,S.Gollakota,and S.Patel,Whole-homegesturerecognitionusingwirelesssignals,ACM InternationalConferenceonMobileComputingandNetworking(MOBICOM),2013"。子 手勢識別實施例中,對每個子手勢,將子手勢信號分成12段,測量各段信號的Doppler頻移 值,取測量值的符號構(gòu)成測量的特征矢量。分別計算測量的特征矢量與訓(xùn)練階段得到的各 個基本手勢的Doppler頻移矢量G。、GpG2之間的距離,Doppler頻移矢量與測量的特征矢 量距離最小的基本手勢即為判決的手勢。此處,兩矢量之間的距離定義為兩矢量之差的范 數(shù)。
[0128] 如當基本手勢為手勢〃0〃時,測量誤差導(dǎo)致測量的Doppler頻移矢量為G" = [-1 1 1 1 1 1 -1 1 -1 -1 -1 -1]。則 6"1與6。、61、62之間的距尚(1。,|11、(1 1,|11、(12,|11分別為
昆然,判決測量的手勢為基本手勢〃〇〃。
[0129] 60)手勢信號譯碼:對待檢手勢信號判決結(jié)果進行檢錯譯碼和糾錯譯碼,得到與 待檢手勢信號對應(yīng)的手勢控制命令。
[0130] 所述手勢信號譯碼(60)步驟包括:
[0131] 61)容錯編碼模式判斷:判斷手勢容錯編碼模式,若為糾錯模式,則轉(zhuǎn)至手勢糾錯 譯碼(63)步驟;
[0132] 62)手勢檢錯譯碼:判決手勢識別是否出現(xiàn)錯誤,若發(fā)現(xiàn)錯誤則停止譯碼,手勢控 制成為無效操作,否則譯碼并轉(zhuǎn)至手勢控制命令輸出(64)步驟;
[0133] 63)手勢糾錯譯碼:使用最優(yōu)的最大似然譯碼或最小距離譯碼,糾正手勢識別中 出現(xiàn)的錯誤,得到譯碼結(jié)果;
[0134] 64)手勢控制命令輸出:將與譯碼結(jié)果對應(yīng)的手勢控制命令輸出。
[0135] 基本手勢判決完成后,得到一組編碼即原始手勢編碼的測量值,本發(fā)明稱為"測量 碼"。如果測量誤差過大,使得上述基本手勢判決出現(xiàn)偶爾誤判,"測量碼"將不同于原始編 碼??蛇M一步通過手勢容錯譯碼來處理:本發(fā)明實施例給出了識別九種手勢命令的手勢識 別系統(tǒng)的一種三進制等長檢錯譯碼和糾錯譯碼,及三進制非等長檢錯譯碼和糾錯譯碼的譯 碼方法。
[0136] 三進制等長檢錯譯碼:根據(jù)三進制等長檢錯編碼表的編碼特點,如下表所示,判斷 "測量碼"的各位數(shù)字是否滿足如下關(guān)系(其中加法為模3加法):第1位+第2位=第3 位?如相等,剝離第三位得到譯碼結(jié)果。如不相等,則給出錯誤提示,當前手勢操作無效。
[0137] 000 0Π022
[0138] 1〇1 112 120
[0139] 202 210 221
[0140] 三進制等長糾錯譯碼:依次計算"測量碼"和如下碼表中所有編碼的距離。距離定 義為:兩個編碼中對應(yīng)碼元不同的個數(shù)。如實際手勢編碼為"〇〇〇〇",測量誤差導(dǎo)致判決的 "測量碼"為"0002","測量碼"和碼表
[0141] 0000 0112 0221
[0142] 1011 1120 1202
[0143] 2022 2101 2210
[0144] 中各個編碼距離為:
[0145] 123
[0146] 342
[0147] 234
[0148] 則"0000"與"0002"距離最小,糾錯譯碼得到"0000"后,剝離第三和第四位得到 譯碼結(jié)果。
[0149] 三進制非等長檢錯譯碼:判斷"測量碼"的長度,當編碼