1 points par GN⁺ 2024-10-21 | 1 commentaires | Partager sur WhatsApp
  • 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

 
GN⁺ 2024-10-21
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

    • Dans l’un des exemples de simulation, on peut changer la visualisation des ondes vers la densité de puissance moyenne dans le temps, ce qui se rapproche davantage du type d’affichage de couverture recherché
  • 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 deuxième problème a aussi été reproduit sur Apple M1, donc cela ne semble pas être un problème spécifique à une carte graphique
    • Le deuxième problème semble survenir plus facilement quand on augmente la vitesse de simulation
  • 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

    • S’il existait un « laser sonore », on pourrait contrôler les ondes entrant dans une zone en forme de colonne, et annuler le son entrant comme avec un « parapluie sonore »
      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
    • Si c’est techniquement faisable, ça pourrait bien être la prochaine licorne
  • 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

    • Je suis venu en espérant voir Hamina mentionné. Je l’utilise au travail pour la planification d’installations sans fil, et c’est un logiciel plutôt correct
  • 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 dans Float32Array.set() et Pi.makeUniformBuffer https://wifi-solver.com/dist/bundle-UKQ5A5W6.js:32:118833

  • Il 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

    • Cela ressemble à du coil whine. C’est un phénomène qu’on entend souvent quand un GPU travaille au maximum
      https://en.wikipedia.org/wiki/Electromagnetically_induced_ac...
    • Il est très probable que le son vienne du circuit d’alimentation du GPU. Si le profil de consommation électrique contient une fréquence audible, des composants comme les inductances ou les condensateurs peuvent vibrer mécaniquement à cette fréquence et produire un son
      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à
    • Cela peut être du coil whine ou un sifflement de condensateur causé par un GPU tournant à un taux de rafraîchissement trop élevé. La solution la plus simple consiste à fixer une limite de FPS dans le panneau de configuration Nvidia, pour le navigateur ou globalement, à environ deux fois la fréquence maximale de l’écran
      C’est assez courant pour des charges au-delà de 600 fps
    • J’entends le même son sur une 3070 de bureau. Rien sur un Mac M1
    • Sur le GPU mobile AMD Radeon de mon portable aussi, j’entends le même coil whine à chaque fois que j’exécute du code qui sollicite beaucoup le GPU
  • 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 ?

    • Les 6 GHz et 5 GHz sont presque identiques, tandis que les 5 GHz et 2,4 GHz diffèrent assez nettement en termes d’absorption et de réflexion