Le bruit est mon nouveau meilleur ami
J’ai enfin découvert comment implémenter un effet de lampe à lave sur un réseau de LED tricolores en utilisant le bruit.
Quand j’étais jeune et stupide – par opposition à mon état d’être actuel, dans lequel l’un de ces descripteurs est excédentaire aux exigences – je considérais la plupart des formes de bruit comme étant mon ennemi. Vous ne pouvez donc qu’imaginer ma surprise de découvrir à quel point le bruit peut être utile dans les bonnes circonstances.
En fait, nous devrions probablement nuancer cela en notant que nous parlons principalement de bruit dans les systèmes électroniques et que nous utilisons le bruit pour créer des effets sonores et visuels, car différentes disciplines scientifiques et techniques ont des définitions différentes de ce qu’est le bruit. Par exemple, le terme bruit de communication, qui fait référence aux influences sur une communication efficace qui affectent l’interprétation des conversations, comprend le bruit psychologique, le bruit physiologique, le bruit environnemental, le bruit physique et le bruit sémantique.
Lorsqu’il s’agit d’électronique et de physique, y compris l’ingénierie audio et de nombreux autres domaines, nous pouvons désigner le bruit comme ayant des couleurs différentes, telles que le «bruit blanc» et le «bruit rose», où ces appellations font référence au spectre de puissance du signal de bruit. (le bruit blanc a un spectre de fréquence plat lorsqu’il est tracé en fonction linéaire de la fréquence, tandis que le spectre de fréquence du bruit rose est linéaire sur une échelle logarithmique). Pour ajouter à l’amusement et à la frivolité, il existe également des formes de bruit rouges, vertes, bleues, violettes, grises, brunes (abréviation de brownien), noires et gaussiennes.
Différentes couleurs de bruit ont des propriétés différentes. En tant que signaux audio, par exemple, le bruit blanc peut ressembler à de la pluie ou un bruissement de feuilles ou l’électricité statique d’un vieux téléviseur à tube cathodique (CRT) qui n’est pas réglé sur une chaîne de diffusion, tandis que le bruit rose est un peu plus structuré, comme le son des vagues se brisant sur une plage ou le son « chuff chuff chuff » d’une machine à vapeur à l’ancienne. Par comparaison, lorsque différentes couleurs de bruit sont appliquées aux images, elles donneront des textures visiblement différentes.
Avez-vous entendu les termes « tramage » et « tramage » dans le contexte de l’ingénierie ? Lorsque nous prenons un signal variant en continu dans le domaine analogique et le convertissons en un équivalent dans le domaine numérique, nous utilisons un processus appelé « quantification » pour contraindre le signal à un nombre fini d’états discrets appelés « quanta ». Dans ce cadre, nous introduisons des erreurs appelées erreurs de quantification.
Eh bien, le dithering fait référence à la superposition intentionnelle d’un signal de bruit au-dessus du signal principal d’intérêt avant la quantification pour randomiser toute erreur de quantification. Dans le cas des images, cela peut empêcher les motifs à grande échelle tels que les bandes. Dans le cas d’un convertisseur analogique-numérique (ADC), l’ajout de dither peut effectivement augmenter la résolution du convertisseur. Supposons que nous ayons un CAN 8 bits, par exemple, si nous superposons un signal de bruit avec une amplitude crête à crête égale à un bit le moins significatif (LSB), suréchantillonnez l’entrée à 4X le taux d’échantillonnage d’origine, puis appliquez un filtre passe-bas à la sortie de l’ADC (le filtre passe-bas le plus simple consiste à faire la moyenne des échantillons), le résultat est de faire en sorte que l’ADC 8 bits agisse comme un ADC 9 bits.
Une chose que j’ai trouvée très intéressante est que l’une des premières applications de tramage dont nous ayons connaissance est apparue pendant la Seconde Guerre mondiale. À cette époque, les bombardiers d’avions utilisaient des ordinateurs mécaniques (boîtes remplies de centaines d’engrenages et de rouages) pour effectuer des calculs de navigation et de trajectoire de bombe. Curieusement, ces ordinateurs effectuaient leurs calculs avec plus de précision lorsque les avions étaient en l’air avec leurs moteurs en marche que lorsqu’ils étaient au sol avec leurs moteurs éteints. Il s’est avéré que les vibrations de l’avion réduisaient l’erreur causée par les pièces mobiles collantes. Au lieu de se déplacer par à-coups courts, la vibration supplémentaire les a amenés à se déplacer de manière plus continue. Cette découverte a conduit les ingénieurs à construire de petits moteurs vibrants dans les ordinateurs. La vibration qu’ils ont introduite s’appelait « dither » du verbe moyen anglais « didderen, » sens « trembler. »
En fait, le dithering trouve toutes sortes d’applications. Dans le cas des systèmes hydrauliques où la pression du fluide est utilisée pour contrôler la position d’une servovalve, par exemple, l’introduction d’une petite quantité de tremblement dans la boucle de commande de la servovalve peut empêcher les à-coups qui affectent la précision du système. Un autre exemple se trouve dans commuté–alimentations en mode, où l’application d’un tremblement à la fréquence de commutation du contrôleur de modulation de largeur d’impulsion (PWM) peut réduire considérablement les amplitudes de crête des composants spectraux dans les interférences électromagnétiques (EMI) générées par le contrôleur.
Mais rien de tout cela n’est ce dont je voulais parler LOL. Mon intérêt récent pour le bruit est venu lorsque mon ami Paul Parry, propriétaire de Bad Dog Designs au Royaume-Uni, m’a envoyé un e-mail m’indiquant une vidéo YouTube d’une de ses créations qu’il appelle. La lanterne du fou.
Paul se spécialise dans la création d’horloges à tubes Nixie inhabituelles. Dans ce cas, il a également ajouté une matrice 16 x 16 de LED tricolores WS2812, communément appelées NeoPixels. Alors que je bavais devant les lumières clignotantes, mon œil a été attiré par un effet qui commence vers 1h00 dans la vidéo. J’ai vu cet effet, qui est similaire à la façon dont des gouttes de cire liquide ondulent et migrent dans une lampe à lave, sur des écrans d’éclairage auparavant, mais je n’ai jamais su comment le mettre en œuvre.
Lorsque j’ai envoyé un e-mail à Paul pour en savoir plus, il m’a répondu qu’il utilisait une version modifiée d’un exemple de programme appelé « Noise » qu’il avait trouvé inclus dans la bibliothèque FastLED. J’ai fait quelques recherches et j’ai trouvé un exemple de programme connexe appelé « NoisePlusPalette » qui est également fourni avec cette bibliothèque. J’ai ensuite « peaufiné » ce programme et je l’ai appliqué à mon réseau de balles de ping-pong 12 x 12, où chaque balle est équipée de son propre NeoPixel (voir aussi Le tableau de balles de ping-pong brille et Ajoutez facilement la détection de mouvement et d’orientation pour améliorer vos projets).
Une enquête plus approfondie a révélé que les fonctions de bruit FastLED sont basées sur quelque chose appelé bruit Simplex qui a été créé par Ken Perlin en 2001. Le bruit Simplex fournit une méthode pour construire m-bruit dimensionnel. Basé sur le bruit de Perlin, qui a été inventé par Ken en 1983, le bruit Simplex était à l’origine destiné à créer des textures synthétiques dans l’imagerie générée par ordinateur (CGI), mais il peut être utilisé pour toutes sortes de choses étranges et merveilleuses, comme la mise en œuvre de la lampe à lave effet sur ma rangée de balles de ping-pong 12 x 12, par exemple.
Vous pouvez voir cet effet en action sur mon tableau dans cette vidéo YouTube. Je pense que vous conviendrez que cela a l’air plutôt chic. Maintenant, je réfléchis à des moyens d’améliorer cet effet, par exemple en le faisant réagir aux sons. Une approche pourrait consister à changer les couleurs en fonction des fréquences prédominantes ; une autre pourrait être de modifier la vitesse de l’effet en fonction de l’amplitude du son.
Tant de choses amusantes à faire… si peu de temps pour tout faire. Et vous ? Avez-vous des pensées que vous voudriez partager sur tout ce que vous avez vu ici.