2021/07/01 WiFi Sensing with Channel State Information: A Survey 論文情報
- Yongsen Ma, Gang Zhou, Shuangquan Wang: ウィリアム・アンド・メアリー大学, Department of Computer Science
選んだ理由
私の研究分野の紹介をするので学生時代に読んだサーベイを選んだ.論文タイトル通りの研究をやっていた
...選んではいますが自分の知識を元に書いていくので元論文とこの記事の内容はリンクしないです,ご容赦ください
浅く広く紹介するつもり.無線通信のドメイン知識みたいなところをお届けできたらいいかなと思っていて,以下を読めばこのサーベイ論文は楽に読めるようになるというのを期待
ネットワークの低レイヤを具体的に解説したら学びがあるかなと:データをどう用いるのか?データがどう発生するのか?
研究供養
研究分野のまとめ:
Wi-Fi は通信インフラとして普及している
このユビキタスな通信データを他のことに応用したい
たとえばセンシング技術
取得した物理層レベルでの信号データの物理的意味と伝搬した空間の状況を対応付ける
フリスの伝達公式(自由空間伝搬損失): (送信電力, 受信電力) => 送受信機間距離
光速度不変の原理 : 通信時間 * 光速度 = 送受信機間距離
信号が弱い -> なにか障害物がある
信号の変動がある -> なにか移動体がある
人間の位置がわかったりするととても嬉しい
屋内ナビゲーション
商業施設における顧客回遊データの収集
産業施設における労働者の最適配置,設備電力最適化(空調,照明)
地理的アクセス制限
カメラと違って照明条件がない:暗くても精度は変わらない
ユーザからの体感としてのプライバシー保護:老人ホームでの転倒検知に高解像度カメラは険しい
ただ信号の強弱データ程度だと結構きびしいのでみんないろんな工夫をしている
通信リンク(送信機-受信機の組)を増やしてみる
Channel State Information(CSI) と呼ばれる受信強度データの高級版みたいなデータを用いる
(マニア向け)通信の変調方式が OFDM だと細かいスペクトルが得られるので同様のことができる
ハードウェア改造してみる
(マニア向け)帯域をクッソ広くすると時間解像度が上がるので当然精度上がる,みたいな(大迷惑)
通信データ取得・測定のためのハードウェア改造で研究が加速したってのはある
CSI は普通の端末だと NIC(ネットワークカード)などハードウェアで閉じていてアクセスできない
ある Intel の評価チップだと Linux カーネル書き換えれば CSI が読める改造が公開された
あとは FPGA みたいな自作ボードで内部処理を実装すれば好きにアクセスできる(弊研究室)
学習を頑張ってみる <- ここで機械学習が出てくる
前提知識
前提知識 : Wi-Fi $ \neq 無線LAN
無線 LAN は IEEE が策定する「IEEE802.11」として国際規格が定まっている
イーサネットは IEEE802.3,WiMAX とかは IEEE802.16.無線 PAN(LAN より狭い)の IEEE 802.15 とかが親戚かも
その規格に則った機器を製造するメーカーからなる団体 Wi-Fi Alliance が実質的に無線LAN製品の参照実装製品を独占?しているのでほぼ Wi-Fi = 無線LAN みたいな現状ではある
前提知識 : IEEE802.11ax とかの文字について
802.11 の中でもさらに細かく分科会があり,それぞれ英字が振られていく.発足が古いものからアルファベットが振られていき桁数が増えていく a -> b -> c -> ... -> z -> aa -> ab -> ... -> az -> ba -> bb -> ...
商品の目玉である通信性能に関するグループの規格策定の内容は製品パッケージにも書かれたりする
e.g. 802.11b/n/g, 802.11ac, 802.11ax...
それ以外の文字ももちろんグループはあるんだけど研究開発レベルだったりするし実装するかはベンダが決める.
4年に一回くらい,それまでに確定した分科会の成果をマージして盛り込んだ統一の規格書が発行される,最近だと「IEEE802.11-2016」で 11ac が入っている
...と思ってたけどさっき調べたら「IEEE802.11-2020」が出ていた!ax-2021, ay, az, ba 規格を盛り込んでいるみたい
私の研究テーマでもある 無線LANセンシング は去年の今頃に 802.11bf が発足したくらいの感じでリアルタイムな研究ができて楽しかった.11bf はIntelとHUAWEIの研究者が主導だった記憶ある
11azというか時刻情報を使った測位も論文書いていたので興味ある方いたら説明します!
前提知識 : 「通信」の位置付け
https://gyazo.com/072d6f683195f403bd3df79834de1985
無線LANルータがやっているのはデータリンク層と物理層の仕事,といっていいはず(厳密にはPHY/MAC層なのでちがう)
データリンク層:
無線 LAN ルータ端末はそれぞれ SSID という固有番号を持っている.「SSID: hoge さん,このネットワークで通信したいです」とリクエストを投げてきたクライアント端末(みなさんのスマホなど)を登録していくことで Local Area Network (LAN) を形成する.LAN 内部での通信機会のコントロールを中央集権的にしたり,各端末があるアルゴリズムで自由に通信して統計的にうまくいかせたりそういったコントロールの仕組みを取り決めている(CSMA-CA, 指数バックオフなど)
(マニア向け)MAC層の研究としては,統計的にうまくいく各端末の振る舞いの設計などがある.隠れ端末問題とかさらし端末問題とかで調べると解説出てくると思います
https://gyazo.com/7fd6db0e9047ede2bb4617d28c64fb94
物理層:
無線通信のアンテナは電流をポールに流すことで電磁波をいい感じに形成させるのが仕事.なのでビット列 -> デジタルな信号 -> アナログな信号(電流)へと変換作業を行う必要があるのでそれをやる(送信機側)
また受け取った電波から適切に「ここからここまでが信号だな」と認識してアナログな信号を意味のある(スキーマの定まった)ビット列へと変換する必要がある(受信機側)
前提知識:通信の単位
無線LANでの通信を確立したとき,その送受信機間の通信リンクの単位は 20MHz 幅の「チャネル」という
Wi-Fi だと 2.4GHz 帯と 5GHz 帯にそれぞれ複数のチャネルを有していて,どこにどれくらいの電力を割いていいかは電波法で定まっている(そして基本的に屋内限定)
https://gyazo.com/9b0d328f315f4d10cef475560d9071b9
(豆知識)ISM バンドというものが国際的にあり,屋内で産業(Industory)・科学(Science)・医療(Medical) 分野のためになら事前の届出とかライセンス申請とかしなくてもある帯域の電波を使っていいよと許されている(電子レンジが代表例).これがあるのでその範囲内の 2.4/5 GHz になってるはず
重要な前提として,信号というのは干渉する.自由に飛ばしまくっているとえらいことになるのでいろいろと法の制約がある.だから携帯電話は電波オークションとかしてプラチナバンド(性能が良い:我々が通信するその環境特性に対して相性が良い)を頑張って取りあったりしている
無線LANだと上記の通り,5GHzのほうがチャネルが多いので素朴に空いている通信リンクが多いと考えられる.そういった意味では 5GHz の方が体感として速度が早いと感じられるかもしれない.ただし,よくある誤解として「電波は周波数が高いと通信速度が速い」というものがあると思っているがそれは正しくない.情報量(通信路容量)は利用周波数の高さではなく利用周波数の太さ(帯域幅)に比例する(シャノン=ハートレーの定理).
なのでチャネルを束ねて通信を行うというアイデアはありチャネルボンディングという
(マニア向け)そもそも周波数が高くなるのはアンテナから出てきた先の一時的な電磁波の世界だけで,受信アンテナから電気信号になってADCによってディジタルの世界に持ってこられたあとの信号は,どのチャネルであろうとすべて同じ周波数として処理されているという意味でも周波数が高い恩恵はない.むしろ周波数が高いとガラスを通らないし減衰が早まるし変に指向性が高まって回折してくれないので物理的な伝搬特性としては相対的に悪いほうかもしれない
さらに細かくみていくと,チャネル一つは64個の山で構成されている.この最小単位となる山を「サブキャリア」という
https://gyazo.com/ba8438f5d3779b5313425cfd18f8a6fc
無線LANにおける「信号」は ↑ 図の赤線の山と同等の時間信号(理想的ではないけど正弦波もどき)を足し合わせたもので構成されている.あとはこの山のそれぞれをどれくらいの大きさに調整するかでどんな信号になるかが制御されているともいえる
念のため書いておくと,↑ 図の山ひとつがある周波数の正弦波に相当している(理想的には)
なので理論的には 64 個の正弦波の重ね合わせから成り立つ信号をどう操作するかが通信の最小単位とみなせる,そして「通信環境の良さ」はこの 64 個の周波数それぞれにどれくらい影響を及ぼすか,と一対一になってくる
https://gyazo.com/55e8177c46677ef083db9ec3271a85c8
受信機からみたときにこの「通信環境の良さ」を見る指標として Long Training Field (LTF) がある.そしてその通信環境のよさがタイトルにもあるChannel State Information.下の図だと L-LTF って書いてあるところが想定している LTF の部分.
https://gyazo.com/4841ddc01815149a574081432325f841
時間に対する波形としてみると ↑ の緑の部分はこんなかんじ ↓
https://gyazo.com/845025e1e49ee18a279abc880a6f3357
この信号は無線LAN通信の送信機からはすべてのパケットに必ずついているものなので,受信機はこの系列の相関を取り続けることで相関を監視して受信を検知する.
そして L-LTF は 64 個すべての山を均等な大きさで出力したとき(重ね合わせたとき)の波形として設計されているので,この波形の山(周波数スペクトル)の歪み方を見ればその送受信機間の通信が信号にどのような影響を及ぼすか,を周波数領域で見ることができる.これがまさにチャネル状態情報(CSI)とかチャネル周波数応答 $ H (CFR)とか言われているやつ
たとえばこんな部屋に行くと電波が吸収されて直接波しかないのでチャネル状態情報はフラットになる:均等の山で送られた波形がそのままの形を保ったまま受信機に届くので CSI は均等になる
https://gyazo.com/34d9d5eb4edb97ccbfcc7904684519bd
だけども,送受信機間に人間が挟まっているなどしてごちゃごちゃしてくると山の均等が崩れ,波形が歪んでくる
一部は盛り上がったり,一部が沈んだりしてくる
https://gyazo.com/dfb100ec81de3f49dc91b6a0e158954e
逆にいえば,受信機が得た CSI から「どのような環境を通ってきたか」を予言することができるのではないか?(逆問題)というのがセンシングの根本的なアイデア
まとめ:
上記の知識をもとにまとめると,
Wi-Fi センシングとは受信機で得られる CSI をもとにして送信機から送られた電波がどのような通信路を通ってきたかを当て,それによって最終的には周囲に人がいるか・いないかや,居るとすれば何人か,など価値のある情報を推定するための予測・分類の仕組み
精度向上のためにハードウェアを弄ったり予測分類のためのアルゴリズムを頑張ったりといったところが研究のポイントかなと思われる
数式で書く
マルチパス(反射のある伝搬路)を数式で表現するためにインパルス応答 $ \bm{h} とかをよく使う.(単位時間次元のベクトル)
例えば反射のない場所だと,時間に対して信号が複製されないので$ \bm{h} = [1, 0, 0, 0, 0, ...]
1 単位時間後にゲインの半減した反射信号が遅れて届くなら $ \bm{h} = [1, 0.5, 0, 0, ...] みたいな
(直接波が届いた時刻を原点にしてそのゲインを 1 とする)
たぶん回路システムとか波を扱う分野の人は同じようなモデルを使うとおもう(音響・光学・電気回路とか?)
送りたい信号を上記のインパルス応答と同じある時間解像度 $ T_s=1/f_s(サンプリング周波数 $ f_s)で区切って見たときの電磁波の振幅を $ \bm{x} = [x(0), x(1), x(2), ...] と表現するなら,
その受信信号系列は $ \bm{y} = [h(0)x(0),\quad h(1)x(0)+h(0)x(1),\quad h(2)x(0)+h(1)x(1)+h(0)x(2), ...] と畳み込み演算になる
あえて書くなら $ \bm{y}=\bm{h}*\bm{x}
畳み込み演算を行列計算に内包してあげるようなデザインを $ \bm{x} 側に持たせて行列 $ X_c とすると,$ \bm{y}=X_c\bm{h} とも書ける
いままで話してきた CSI は周波数応答 $ \bm{H} の形で見ることが多い
インパルス応答は時間に対する応答(いつどれくらい大きくするか) <-> 周波数応答は周波数に対する応答(どの周波数でどれくらい大きくなるか)
無線LANの信号は 64 個の山(正弦波の持つスペクトル)の組み合わせなので,それぞれが振幅にどのような影響を受けるかを横軸を周波数にして並べたら勝手に周波数応答になる
$ \bm{H} = F\bm{h} ($ F は離散フーリエ変換行列)かつ $ \bm{h} = F^{-1}\bm{H} の対応.
あとは LTF のような性質の良い既知系列 $ \bm{x_l} を持ってきて畳み込み演算用の行列 $ X_{lc} を考えると,既知系列なので逆行列(逆畳み込み)も用意できるので $ X_{lc}^{-1} を受信機側で準備しておける
よって受信信号 $ \bm{y} に $ FX_{lc}^{-1} を掛けると,
$ FX_{lc}^{-1}\bm{y} = FX_{lc}^{-1}X_{lc}\bm{h} = \tilde{H} ということで CSI が推定できる.
今回は周波数のみに言及しているけど,無線LANは多アンテナ通信(MIMO)があるのでアンテナ空間の次元もある
あとパケットごとに得られるので時間次元もある
この多次元データをどう処理していくかが肝要
1. 無線LANルータの位置は変わらないので,こいつの位置を固定したとき長時間のデータを学習して予測
2. 物理モデルと対応させて航空レーダとかと似たようなことをやる:学習なしで測定という希望