- Un simulateur web qui calcule de façon physiquement fondée la puissance du signal WiFi, variable selon la structure et les matériaux d’un logement, afin d’aider à choisir l’emplacement du routeur
- La simulation s’exécute localement en temps réel sur l’appareil de l’utilisateur, et il est possible d’en modifier les couleurs ou la vitesse en arrière-plan
- Il est possible de lancer des simulations d’exemple appliquant de vrais plans de logements ainsi que les matériaux des murs et des fenêtres, avec en plus une vidéo de démonstration et une documentation
- Le système calcule directement la manière dont les ondes électromagnétiques se déplacent en traversant les matériaux, et montre un exemple de réfraction des ondes autour des zones de texte
- Comme il s’agit d’une méthode très gourmande en calcul, la simulation utilise WebGPU pour exploiter la carte graphique et accélérer l’exécution dans le navigateur
Simulation WiFi pour choisir l’emplacement du routeur
- WiFi Solver est un moteur de simulation qui montre comment le signal WiFi d’un point d’accès se propage dans une maison
- Il se concentre sur le calcul de la puissance du signal WiFi dans le logement afin d’aider à déterminer où placer le routeur WiFi
- Toutes les simulations s’exécutent en direct sur l’appareil de l’utilisateur
- Il est possible d’exécuter des exemples utilisant de vrais plans de logements et des matériaux réalistes pour les murs et les fenêtres
- Une vidéo de démonstration permet d’apercevoir certaines fonctionnalités, et davantage d’informations sont disponibles dans la documentation
- Il est possible de l’essayer pendant une journée, ou d’obtenir un accès permanent via un paiement unique
Calcul physique et utilisation de WebGPU
- WiFi Solver simule directement, avec un minimum d’approximations, la manière dont les ondes électromagnétiques se déplacent à travers les matériaux
- En faisant défiler la page, on peut voir les ondes se réfracter autour des zones de texte
- Comme cette approche a un coût de calcul élevé, il utilise WebGPU pour exploiter la carte graphique et accélérer la simulation
- En bas de page, il est possible d’ajouter de nouvelles sources à la simulation en arrière-plan
- D’autres travaux du créateur sont visibles sur son blog
1 commentaires
Commentaires sur Hacker News
La visualisation est impressionnante, mais elle se concentre trop sur les ondes elles-mêmes plutôt que sur les motifs réels de couverture pour des longueurs d’onde de 6 à 12,5 cm, donc c’est moins utile que d’autres outils pour vérifier la couverture
Cela dit, comme projet artistique, c’est amusant, et ça rappelle aussi projectM, un clone open source de Milkdrop compatible WebGL https://github.com/projectM-visualizer/projectm/blob/master/..., ainsi que l’un des originaux, Geisswerks https://www.geisswerks.com/
Si vous aimez ce genre de chose, NestDrop pourrait aussi vous plaire, avec sa visualisation musicale pour VJ et sa projection à l’intérieur de dômes https://nestimmersion.ca/nestdrop.php
Il y a un bug : si on continue à cliquer sur le bouton « add a new source », un tableau de taille fixe maximale 128 déborde et une exception JavaScript s’affiche à l’écran
Aussi, c’est peut-être spécifique aux cartes AMD, mais si on fait défiler d’une certaine manière à cause de la zone de texte, la simulation se casse. En faisant rapidement Page Up/Down, ou en descendant tout en bas puis en secouant la position du défilement, de mauvaises données se propagent et l’écran entier se remplit de bruit, de noir ou de blanc, et en mode 3D ça devient un chaos de polygones
Le fait de pouvoir « voir les ondes se réfracter autour de la zone de texte quand on fait défiler » est une fonctionnalité à la fois inutile et vraiment stylée
J’avais autrefois envie de faire quelque chose de similaire avec le son. Pas pour un casque, mais pour faire de la réduction active du bruit dans une pièce, en plaçant à des endroits stratégiques des appareils combinant micros et haut-parleurs
En y réfléchissant un peu, à cause des interférences, il peut y avoir des zones calmes et d’autres où le son est doublé, donc ce n’est pas idéal, mais c’était intéressant. En poussant la réflexion, j’ai réalisé qu’il faudrait traiter ça en trois dimensions, ce qui augmente énormément la complexité du réglage. En voyant les effets de réfraction, j’imagine qu’ils s’appliqueraient aussi ici
Cela ne fonctionnerait toutefois que pour des sons ordinaires peu directionnels, comme des haut-parleurs éloignés, et il serait difficile d’effacer la parole humaine. Cela pourrait quand même être très utile dans des clubs pour permettre des conversations normales à chaque table. Le problème, c’est que la technologie concernée est actuellement couverte par des brevets, et même si c’est assez simple à fabriquer, il faut attendre l’expiration des brevets ou payer des licences
Côté visualisation, c’est vraiment superbe. La partie sur les multiples émetteurs et la fin du défilement rappellent https://apenwarr.ca/beamlab/, qui montre le beamforming
Dans cette démo, la manière la plus simple de voir ce qui se passe est de désactiver le 3 dans le menu de droite pour ne garder que 2 émetteurs, puis d’appuyer sur le bouton « r » et de cliquer ou faire glisser pour observer l’optimisation du faisceau. On peut aussi voir à droite les statistiques de gain de puissance reçue
Cette démo est probablement la plus amusante à regarder, mais pour quelqu’un qui veut optimiser le placement du Wi‑Fi chez lui, le niveau gratuit de Hamina sera probablement bien plus utile https://www.hamina.com/planner
Son inconvénient est qu’il faut créer un compte, et son avantage est qu’il fournit plusieurs vues récapitulatives adaptées aux métriques et fonctionnalités Wi‑Fi habituelles, en étant moins centré sur la simulation d’ondes elle-même
J’ai trop cliqué sur le lien d’ajout d’une nouvelle source en bas, et j’ai obtenu une Unexpected Application Error
L’erreur principale est
RangeError: offset is out of bounds, et elle se produit dansFloat32Array.set()etPi.makeUniformBufferhttps://wifi-solver.com/dist/bundle-UKQ5A5W6.js:32:118833Il y a aussi ce projet intéressant et similaire : https://cemsim.com/. Ce n’est pas moi qui l’ai fait
Ici, je m’attendais à voir du traitement radio SDR, c’est-à-dire à envoyer vers le navigateur web le bruit lu depuis le GPIO pour afficher toute l’activité sur tous les canaux d’un seul coup
En lançant la démo Waveguide Simulator sur un Alienware M15 Ryzen Ed. R5, on entend un grésillement aigu distinct venant du portable
Configuration : RTX 3070, Windows 11 Pro, Chrome v129. Au début je pensais que ça venait des haut-parleurs, mais même en baissant le volume, le son continuait tant que le simulateur tournait. Je ne l’ai pas entendu dans des jeux ni dans d’autres démos WebGPU, et une simulation réaliste de maison produit encore un autre motif sonore
https://en.wikipedia.org/wiki/Electromagnetically_induced_ac...
Si on ne l’entend pas dans les jeux, c’est peut-être parce que leur audio est plus fort, ou parce que leur profil de consommation ne contient pas de telles fréquences audibles. Le circuit d’alimentation du CPU peut produire le même phénomène, mais comme ici on utilise le GPU, il est plus sûr de regarder de ce côté-là
C’est assez courant pour des charges au-delà de 600 fps
J’utilise un routeur Wifi 6E, donc je me demande si les 6 GHz, 5 GHz et 2,4 GHz se comportent ici de manière visiblement différente. Est-ce que la forme globale reste la même, ou est-ce que la fréquence fait une grande différence ?