Publié le 6 septembre 2023 - par

Un analyseur de spectre avec un Raspberry Pi PICO

Réaliser un analyseur de spectre stéréo avec un Raspberry Pi Pico et quelques composants. C’est sur un blog japonais que j’ai trouvé cette réalisation que je mets à votre disposition.

Réaliser un analyseur de spectre stéréo avec un Raspberry Pi Pico

Cet article est la traduction d’un article en japonais accessible ici.

Description

L’auteur Radio Pliers anime un blog sur la construction électronique, il parle parfois de son quartier (Inagi City, Tokyo) et d’autres sujets. Il a plus de 60ans et sentant sa vue et sa dextérité se détériorer, mais continue d’expérimenter chaque jour ! (note de framboise314 :  un Maker !)

L’utilisation du contenu de cet article se fait aux risques et périls du lecteur. C’est un analyseur de spectre audio qui affiche sur un écran OLED 0,96″ (interface SSD1306) à l’aide d’un Raspberry Pi Pico.

Au départ le projet de FFT devait utiliser un Arduino UNO et un écran LCD. Il a été abandonné en raison de la limitation sévère de la mémoire. L’auteur a donc poursuivi son idée sur un Raspberry Pi Pico.

Schéma

L’entrée est couplée en courant alternatif et polarisée par une résistance de façon à ce que le potentiel soit de 1/2 Vcc à l’entrée de l’ADC. Normalement, une valeur supérieure devrait être utilisée pour R1-R4, mais la résistance d’entrée de l’ADC du RP2040 est spécifiée à 80 kΩ min. et une valeur de résistance inférieure a donc été utilisée. L’écran OLED de 0,96 pouce est connectée via l’interface I2C.

Le montage

L’ensemble du montage ne pose pas de problème et tient sur une petite carte de prototypage (breadboard).

Programme

La bibliothèque pour l’affichage de l’OLED 0.96″ est u8g2.h. Pour la bibliothèque FFT l’auteur a utilisé ArduinoFFT.h.
Le programme est un peu long, mais il est publié sous une forme où l’ensemble du programme est visible.

Je vous ai laissé les commentaires d’origine. Si certaines lignes vous posent question, n’hésitez pas à solliciter Google Trad ou DeepL.

Les conditions d’entrée de la FFT sont 128 échantillons et une entrée stéréo avec une période d’échantillonnage de 39 µs, ce qui permet une limite de fréquence supérieure de 12,8 kHz et une largeur de bande de 200 Hz/64 canaux.

Un cycle, de l’échantillonnage à l’affichage, dure 82 ms. (Les temps de traitement individuels sont indiqués dans les commentaires).

Ecran

Les formes d’onde et le spectre des canaux stéréo G/D sont affichés à gauche et à droite de l’écran.

Cet écran montre une onde sinusoïdale de 5 kHz provenant du générateur de fonctions. Vous pouvez voir que le spectre est affiché à l’endroit exact.

Ce qui est un peu inquiétant, c’est qu’il y a une sorte de bruit parasite autour du pic principal de 5 kHz. Cela est peut-être dû à un mauvais INL (errata E11) dans l’ADC du RP2040.

De plus, lorsqu’un signal à fréquence unique est entré de cette manière, le signal au-dessus de 12,8 kHz est replié en raison d’un phénomène de repliement. Selon l’application, il peut être préférable d’ajouter un simple filtre passe-bas.

Video

 

Conclusion

C’est un montage relativement simple, mais il est intéressant de le réaliser. Si vous essayez de le programmer à partir de la bibliothèque comme ici, vous approfondirez votre compréhension de la FFT.

Cette fois, l’auteur a réalisé un analyseur stéréo, mais il est également possible de faire un analyseur sur un seul canal.

L’auteur n’a pas beaucoup d’expérience avec le Raspberry Pi Pico, et ne sait pas où trouver une référence de langage pour l’utiliser avec Arduino, donc il a écrit le code en copiant le code de ses prédécesseurs. Il se peut donc que le programme contienne du code étrange.

 

Sources

La page qui a inspiré cet article
https://www.tomshardware.com/news/raspberry-pi-pico-audio-spectrum-visualizer

Page d’origine
http://radiopench.blog96.fc2.com/blog-entry-1184.html

 

 

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

Une réflexion au sujet de « Un analyseur de spectre avec un Raspberry Pi PICO »

  1. Ping : Un analyseur de spectre avec un Raspberry Pi PICO

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.