WebGPU-basierter WiFi-Simulator
(wifi-solver.com)- Ein webbasierter Simulator, der die WiFi-Signalstärke abhängig von Hausstruktur und Materialien physikbasiert berechnet und so bei der Wahl des Router-Standorts hilft
- Die Simulation läuft in Echtzeit lokal auf dem Gerät der Nutzer und erlaubt es, Farben oder Geschwindigkeit der Hintergrundsimulation zu verändern
- Es lassen sich Beispielsimulationen mit echten Wohnungsgrundrissen sowie Wand- und Fenstermaterialien ausführen; zusätzlich werden ein Demo-Video und Dokumentation bereitgestellt
- Er berechnet direkt, wie sich elektromagnetische Wellen durch Materialien bewegen, und zeigt ein Beispiel, in dem Wellen um Textboxen herum gebrochen werden
- Da dieser Ansatz rechenintensiv ist, nutzt er WebGPU, um die Grafikkarte im Browser für schnellere Simulationen einzusetzen
WiFi-Simulation zur Wahl des Router-Standorts
- WiFi Solver ist eine Simulations-Engine, die zeigt, wie sich das WiFi-Signal eines Access Points in einem Haus ausbreitet
- Der Fokus liegt darauf, die WiFi-Signalstärke im Haus zu berechnen, um zu entscheiden, wo ein WiFi-Router platziert werden sollte
- Alle Simulationen werden live auf dem Gerät der Nutzer ausgeführt
- Es können Beispiele mit echten Wohnungsgrundrissen und realistischen Materialien für Wände und Fenster gestartet werden
- Einige Funktionen sind im Demo-Video zu sehen; weitere Informationen gibt es in der Dokumentation
- Man kann es einen Tag lang testen oder sich per Einmalzahlung dauerhaften Zugriff sichern
Physikalische Berechnung und Einsatz von WebGPU
- WiFi Solver simuliert direkt mit minimalen Näherungen, wie sich elektromagnetische Wellen durch Materialien bewegen
- Beim Scrollen auf der Seite ist zu sehen, wie Wellen um Textboxen herum gebrochen werden
- Da dieser Ansatz rechenintensiv ist, wird WebGPU verwendet, um die Grafikkarte zu nutzen und die Simulation zu beschleunigen
- Im unteren Bereich lassen sich der Hintergrundsimulation neue Quellen hinzufügen
- Weitere Arbeiten des Entwicklers sind im Blog zu finden
1 Kommentare
Meinungen auf Hacker News
Die Visualisierung ist cool, konzentriert sich aber zu sehr auf die Wellen selbst statt auf die realen Abdeckungsmuster bei 6–12,5 cm Wellenlänge; zur Überprüfung der Abdeckung ist sie daher weniger nützlich als andere Tools.
Trotzdem ist es als Kunstprojekt interessant und erinnert auch an projectM, ein Open-Source-Milkdrop mit WebGL-Unterstützung https://github.com/projectM-visualizer/projectm/blob/master/..., sowie an einen der Urväter, Geisswerks https://www.geisswerks.com/
Wenn man so etwas mag, könnte einem auch NestDrop gefallen, mit Musikvisualisierung für VJs und Projektion in Kuppelinnenräume https://nestimmersion.ca/nestdrop.php
Es gibt einen Bug: Wenn man weiter auf den Button „add a new source“ klickt, läuft ein Array mit fester Maximalgröße 128 über, und auf dem Bildschirm erscheint eine JavaScript-Exception.
Außerdem, vielleicht nur auf AMD-Karten: Wenn man wegen der Textboxen auf eine bestimmte Weise scrollt, geht die Simulation kaputt. Wenn man schnell Page Up/Down drückt oder ganz nach unten scrollt und dann die Scrollposition hin- und herbewegt, breiten sich fehlerhafte Daten aus, der ganze Bildschirm füllt sich mit Rauschen, Schwarz und Weiß, und wenn man in den 3D-Modus wechselt, entsteht ein Polygon-Chaos.
„Beim Scrollen sieht man, wie die Wellen um die Textboxen herum gebrochen werden“ – eine nutzlose, aber ziemlich stylische Funktion.
Ich wollte früher etwas Ähnliches mit Schall bauen. Nicht für Kopfhörer, sondern für aktive Geräuschunterdrückung in einem Raum, mit Geräten aus Mikrofon und Lautsprecher, die strategisch platziert werden.
Nach kurzem Nachdenken wurde klar, dass es wegen Interferenz Zonen mit Ruhe und Zonen mit doppelt so lautem Schall geben könnte, also nicht ideal, aber interessant. Und nach weiterem Nachdenken wurde mir klar, dass man das dreidimensional behandeln müsste, was die Einrichtung deutlich komplexer macht. Wenn man sich die Brechungseffekte ansieht, dürfte hier Ähnliches gelten.
Das funktioniert allerdings nur bei gewöhnlichem Schall mit geringer Richtwirkung, etwa von entfernten Lautsprechern; menschliche Sprache wäre schwer zu entfernen. In Clubs könnte das ziemlich nützlich sein, um an jedem Tisch normale Gespräche zu ermöglichen. Das Problem ist, dass die zugehörige Technik derzeit patentiert ist; obwohl sie recht einfach zu bauen wäre, müsste man auf das Auslaufen der Patente warten oder Lizenzgebühren zahlen.
Die Visualisierung ist wirklich großartig. Der Teil mit mehreren Sendern und das Ende beim Scrollen erinnern an https://apenwarr.ca/beamlab/, das Beamforming zeigt.
In dieser Demo sieht man den Ablauf am einfachsten, indem man im rechten Menü 3 deaktiviert, sodass nur zwei Sender übrig bleiben, dann den Button „r“ drückt und klickt oder zieht, um zu sehen, wie der Beam optimiert wird. Rechts kann man auch Statistiken zum Empfangsleistungsgewinn sehen.
Optisch ist diese Demo am unterhaltsamsten, aber für Leute, die ihre WLAN-Platzierung zu Hause optimieren wollen, ist der kostenlose Tarif von Hamina vermutlich deutlich nützlicher https://www.hamina.com/planner
Der Nachteil ist, dass man ein Konto erstellen muss; der Vorteil ist, dass es mehrere zusammenfassende Ansichten bietet, die auf übliche WLAN-Kennzahlen und Funktionen zugeschnitten sind, und sich weniger darauf konzentriert, die Wellensimulation selbst zu zeigen.
Ich habe unten zu oft auf den Link zum Hinzufügen einer neuen Quelle geklickt und bekam einen Unexpected Application Error.
Der Kernfehler ist
RangeError: offset is out of boundsund tritt beiFloat32Array.set()undPi.makeUniformBufferauf https://wifi-solver.com/dist/bundle-UKQ5A5W6.js:32:118833Ein ähnlich interessantes Projekt ist auch https://cemsim.com/. Nicht von mir gemacht.
Ich hatte hier SDR-Funkverarbeitung erwartet, also dass Rauschen, das von GPIO gelesen wird, per Pipe an den Webbrowser weitergereicht wird, um die Aktivität aller Kanäle auf einmal zu zeigen.
Wenn ich die Waveguide-Simulator-Demo auf einem Alienware M15 Ryzen Ed. R5 laufen lasse, kommt aus dem Laptop ein deutliches hochfrequentes Zittern.
Umgebung: RTX 3070, Windows 11 Pro, Chrome v129. Zuerst dachte ich, es sei der Lautsprecher, aber auch bei heruntergeregelter Lautstärke war es zu hören, solange der Simulator lief. Bei Spielen oder anderen WebGPU-Demos habe ich es nicht gehört, und die realistische Haussimulation erzeugt wiederum ein anderes Klangmuster.
https://en.wikipedia.org/wiki/Electromagnetically_induced_ac...
Dass man es in Spielen nicht hört, kann daran liegen, dass der Spielsound lauter ist oder dass das Leistungsprofil keine solche hörbare Frequenz enthält. CPU-Stromversorgungsschaltungen können dasselbe Phänomen verursachen, aber da hier die GPU genutzt wird, ist es naheliegend, die GPU-Seite anzunehmen.
Bei Workloads jenseits von 600 fps ist das ziemlich häufig.
Da ich einen Wifi-6E-Router nutze, frage ich mich, ob sich 6 GHz, 5 GHz und 2,4 GHz hier sichtbar unterschiedlich verhalten. Ich würde gern wissen, ob die Gesamtform gleich bleibt oder ob die Frequenz einen großen Unterschied macht.