WebGPUベースのWiFiシミュレーター
(wifi-solver.com)- 家の構造や素材に応じて変化する WiFi信号強度 を物理ベースで計算し、ルーターの設置場所選びを支援するWebシミュレーター
- シミュレーションはユーザーのデバイス上で リアルタイムにローカル実行 され、背景シミュレーションの色や速度を変更できる
- 実際の住宅の間取り図と壁・窓の素材を適用した サンプルシミュレーション を実行でき、デモ動画とドキュメントも提供される
- 電磁波が素材を通過しながら移動する方式を直接計算し、テキストボックス周辺で波動が 屈折 する例を示す
- 計算量の大きい手法のため、WebGPU でグラフィックカードを活用し、ブラウザー上でより高速にシミュレーションする
ルーターの設置場所を選ぶWiFiシミュレーション
- WiFi Solver は、家の中でアクセスポイントのWiFi信号がどのように広がるかを示すシミュレーションエンジン
- 家の WiFi信号強度 を計算し、WiFiルーターを置く位置を判断することに焦点を当てている
- すべてのシミュレーションはユーザーのデバイス上で ライブ実行 される
- 実際の住宅の間取り図と壁・窓に対する現実的な素材を適用した例を実行できる
- デモ動画で一部の機能を見ることができ、より詳しい情報は ドキュメント で確認できる
- 1日体験するか、1回限りの支払いで永続アクセス権を取得できる
1件のコメント
Hacker News の意見
可視化は見事だが、6〜12.5cm 波長の実際のカバレッジパターンよりも波そのものに焦点を当てすぎていて、カバレッジ確認用としては他のツールより有用性が低い。
それでもアートプロジェクトとしては面白く、WebGL をサポートするオープンソースの Milkdrop である projectM https://github.com/projectM-visualizer/projectm/blob/master/... や、その元祖の一つである Geisswerks https://www.geisswerks.com/ も思い出す。
こういうものが好きなら、VJ 向けの音楽可視化とドーム内部投影機能を備えた NestDrop も気に入るかもしれない https://nestimmersion.ca/nestdrop.php
バグがある。「add a new source」ボタンを押し続けると、固定最大サイズ 128 の配列を超えて、画面に JavaScript 例外が表示される。
さらに AMD カードだけかもしれないが、テキストボックスのせいでスクロールを特定の方法で動かすとシミュレーションが壊れる。Page Up/Down を素早く押したり、一番下までスクロールした後にスクロール位置を揺らしたりすると、不正なデータが広がって画面全体がノイズ、黒、白で埋まり、3D モードに上げるとポリゴンの大混乱になる。
「スクロールするとテキストボックスの周囲で波が屈折するのが見える」とは、役に立たないのにかっこいい機能だ。
以前、音で似たようなものを作りたいと思っていた。ヘッドホンではなく、部屋の中でアクティブノイズキャンセリングをするために、マイクとスピーカーを組み合わせた装置を戦略的な位置に置く構想だった。
少し考えると、干渉のせいで静かな領域と音が 2 倍になる領域ができる可能性があり、理想的ではないが興味深かった。さらに考えてみると、3 次元で扱う必要があるため設定の複雑さがずっと大きくなることに気づいた。屈折効果を見ると、ここにも同じように当てはまりそうだ。
ただし、遠くにあるスピーカーのように指向性の弱い一般的な音にしか機能せず、人の話し声のようなものを消すのは難しい。クラブでテーブルごとに普通の会話を可能にする用途には、かなり役立つかもしれない。問題は関連技術が現在特許で縛られていて、作るのはかなり簡単でも、特許切れを待つかライセンス料を払う必要があること。
可視化の面は本当に素晴らしい。複数の送信機を扱う部分とスクロールの終盤は、ビームフォーミングを示す https://apenwarr.ca/beamlab/ を思い出させる。
このデモで流れを見る一番簡単な方法は、右のメニューで 3 をオフにして送信機を 2 つだけ残し、「r」ボタンを押した後、クリックまたはドラッグしてビームが最適化されていく過程を見ること。右側では受信電力利得の統計も見られる。
見た目にはこのデモが一番楽しいが、自宅の Wi-Fi 配置を最適化したい人には Hamina の無料ティアの方がはるかに有用な可能性が高い https://www.hamina.com/planner。
欠点はアカウントを作らせること、利点は一般的な Wi-Fi 指標や機能に合わせた複数のサマリービューを提供し、波動シミュレーションそのものを見せることにあまり重点を置いていないこと。
下の方にある新しいソース追加リンクを押しすぎたら、Unexpected Application Error が出た。
主なエラーは
RangeError: offset is out of boundsで、Float32Array.set()とPi.makeUniformBufferで発生している https://wifi-solver.com/dist/bundle-UKQ5A5W6.js:32:118833似た興味深いプロジェクトとして https://cemsim.com/ もある。私が作ったものではない。
ここでは SDR 無線処理、つまり GPIO から読み取ったノイズをパイプで Web ブラウザに渡し、すべてのチャネル活動を一度に見せるものを期待していた。
Alienware M15 Ryzen Ed. R5 で Waveguide Simulator デモを動かすと、ノート PC からはっきりした高音の震える音がする。
RTX 3070、Windows 11 Pro、Chrome v129 環境で、最初はスピーカーの音かと思ったが、音量を下げてもシミュレーターが再生されている間はずっと聞こえた。ゲームや他の WebGPU デモでは聞こえず、現実的な家のシミュレーションではまた別の音のパターンが出る。
https://en.wikipedia.org/wiki/Electromagnetically_induced_ac...
ゲームで聞こえない理由は、ゲーム音声の方が大きいか、電力パターンにそうした可聴周波数がないためかもしれない。CPU の電源回路でも同じ現象は起こり得るが、これは GPU を使っているので GPU 側と見るのが無難だ。
600fps 以降のワークロードではかなり一般的だ。
Wifi 6E ルーターを使っているので、ここで 6GHz、5GHz、2.4GHz が目に見えて違う動きをするのか気になる。全体の形が同じなのか、それとも周波数が大きな違いを生むのか知りたい。