1. 程式人生 > >[原創·論文閱讀]QGesture: Quantifying Gesture Distance and Direction with WiFi Signals

[原創·論文閱讀]QGesture: Quantifying Gesture Distance and Direction with WiFi Signals

[原創·論文閱讀]QGesture: Quantifying Gesture Distance and Direction with WiFi Signals

前言

本文推出了一個叫做QGesture的系統,在一維和二維部署場景下,它能對人的手勢的運動距離和方向進行測量。部署場景:

比如,人在房間中做出一個推的動作,系統會識別出csi資料的模式,進而調整音量大小。下圖是系統結構圖概覽:

模型構建

考慮下圖的一維部署情景,空間中有n條無線電磁波路徑。其中由於人的手向接收機(client)勻速運動而產生的路徑稱為動態分量,而其餘n-1條路徑稱為靜態分量。

相位-距離關係模型的構建:

靜態路徑的疊加結果是一個可看做常數的複數值。而動態路徑B由於人手的運動,其路徑每減少一個波長,相位便改變2pi。在複平面的表現則是,若只考慮動態分量,理想情況下應該是一個繞原點旋轉的訊號,疊加上靜態分量後,會成為一個有一定偏移量的旋轉訊號。結果如下:

另外可以發現,對於不同子載波,其靜態分量的大小是不同的。該圖可以簡單地用下列程式碼模擬:

x=2*pi*1/0.06;
t=0:0.1:10;
%static component
s=3*cos(x)-3i*sin(x);
%dynamic component
d=cos(0.4*t)-1i*sin(0.4*t); 
%channel state information
h=s+d; 
plot(d);hold on;
plot(h);

模擬結果如下:藍色訊號是隻考慮動態分量的訊號,橙色訊號是考慮了靜態分量的疊加訊號。

人手的移動距離d:

因此可以用相位改變數來估計移動距離。

降噪處理

csi的測量值包含以下幾種誤差:

相位:CFO、SFO/PBD;幅度:發射機功率的改變、環境噪聲

相位降噪方法:

1)移除CFO:對於該系統,使用2*3的MIMO,有6個天線對。注意到對於0號子載波相位,只包含CFO+人手移動的資訊,因此選取0號子載波可以移除SFO+PBD。然而,不同天線對上的靜態分量是不同的。任意選取其一作為參考CFO的話,可能會破壞我們需要的人手移動的資訊。因此選取具有最大靜態分量的天線對,可認為它是最合理的CFO參考值,幾乎不包含人手移動的相位。然後將其他天線對上的相位減去該參考CFO,就消除了CFO。

2)移除SFO/PBD:線性擬合。將不同子載波序號下的csi相位擬合出slope,然後用不同子載波的相位減去擬合出的方程。

幅度降噪方法:

使用低通移動平均濾波器降噪,可消去高頻噪聲,理論依據是人移動造成的頻率範圍在1~100Hz,具體分析見我的部落格[原創·論文閱讀]Gait Recognition Using WiFi Signals

系統設計

進行系統設計前,來看一下實際收到的csi值,這裡的csi值已經經過了降噪處理。

可以發現,1)圓心在移動,說明靜態分量在緩慢改變,並非常量;2)半徑在變化,說明動態分量的a(f,t)也在改變。

解釋如下:靜態分量是一系列靜態分量的疊加,有的靜態路徑是發射機經由人的軀幹、胳膊反射到了接收機。當人在做推的動作時,身體其他位置也在緩慢移動,造成了這部分靜態分量的改變。

半徑變化是由於人手的位置不同,該位置的無線能量也有不同。有鑑於此,設計方法來移除靜態分量。

移除靜態分量:

論文在這部分說的比較複雜,其實原理很簡單,尋找I或Q訊號的交替的極大極小值,將每一對極值的平均值移除即可。

如圖,有16個尖峰,則移動距離為16*2pi=32pi,應用公式

可得d=32*pi*5/(2*2*pi)=40cm,符合實際結果。

之後選取相位變化最敏感的子載波計算相位改變數。

2d 手勢追蹤:

A是發射機,B和C是接收機,則A、B和A、C可分別看做橢圓的兩個焦點。欲知人手位置D的座標(x,y),其表示式中含L1、L2、d1、d2項。在知道這四個引數後,x,y不難計算。

實際上,實驗者是以一個已知的角度(30度、45度等)運動,然後用計算出的座標對比groundtruth,並不滿足arbitrary direction的追蹤要求。

前導動作

前導動作的設計是為了啟用QGesure。選用punch和double punch。系統中預先訓練了檢測前導動作的二分類器。當檢測到目標前導動作時,系統啟動並開始追蹤使用者動作,之後可以完成控制音量等功能。

從上圖可以看出,實驗者首先推出一段距離(約為3~6個cycles),在短暫停頓後再次推出。訊號的特徵提取也是比較容易的。

evaluation和implementation無甚亮點,不再贅述。