FFT avec un microprocesseur

Bonjour, Je ne sais pas s'il existe dans les microprocesseurs de type Arduino des fonctions dédiées pour effectuer les calculs de spectres des signaux (FFT), ou bien un DSP dans la famille des microprocesseurs de types Arduino ? Merci par avance de votre aide.

Bonjour

Qu’appelles-tu “microprocesseur type Arduino” ? Arduino ne désigne pas un type de microprocesseur.

FFT:
Les microcontrolleurs AVR des cartes Uno, Mega, Mini, Micro, Leonardo… ?
Dans ce cas la réponse est oui …pour une petite FFT de faible profondeur (256) et de fréquence d’échantillonnage plafonnant vers 4kHz environ en utilisant la librairie ArduinoFFT sur une carte Uno.

Passer aux microcontrolleurs ARM des cartes Arduino, cartes MKR ou autres, permet de dépasser ces limites de profondeur et fréquence d’échantillonage.

Idem pour les ESP8266 et ESP32 que l’on peut programmer avec l’IDE Arduino.

DSP = Digital Signal Processor, c’est un type particulier de processeur , optimisé pour le traitement du signal (instructions, registres…)

Parmi les microcontrolleurs cités au dessus certains, bien que n’étant pas des DSP, peuvent sans doute accomplir plus ou moins bien certaines tâches simples de traitement du signal (la taille de RAM et la vitesse sont déterminantes).

A ma connaissance aucun véritable microcontrôleur ou microprocesseur DSP n’est programmable sous IDE Arduino comme le seraient un dsPIC30 de Microchip sous MPLABX ou un TMS320 de Texas Instruments sous Code Composer

Les cartes Teensy programmées avec Teensyduino montrent ce qui se fait de plus poussé en matière de traitement du signal audio dans l’univers Arduino

DOY38: Je ne sais pas s'il existe dans les microprocesseurs de type Arduino des fonctions dédiées pour effectuer les calculs de spectres des signaux (FFT)

Pour compléter la réponse apportée en #1, pour les uc ARM, des bibliothèques de fonctions optimisées pour les calculs de DSP (Digital Signal Processing, les FFT sont un cas particulier) sont fournies sur: https://www.keil.com/pack/doc/CMSIS/DSP/html/index.html Ensuite il faut sélectionner Cortex 3/4/7. A noter qu'avec la carte Arduino DUE (Cortex M3), on a d'emblée la bibliothèque DSP Keil en chargeant l'environnement du compilateur (+ bibliothèque tierce FFT). Je ne connais pas les cartes Teensy mais les bibliothèques de ces cartes sont connues pour être très performantes sur l'audio. Quoi qu' il en soit, La solution retenue va dépendre de l'objectif recherché, qui peut être par exemple: * Apprendre comment traiter une FFT de A à Z. --> l'apport de bibliothèques sera sans intérêt. * Faire des FFT vite et bien sur un logiciel puissant. --> la facilité d'utilisation d'une bibliothèque et la puissance du uc vont prévaloir. * Autre ... La bonne nouvelle est que dans tous les cas, des solutions de type Arduino existent. En dehors de l'Arduino, tu peux aussi faire des FFT sur PC avec le logiciel gratuit Audacity (super performant).

Bonjour,

Je vous remercie pour les infos. Je cherche plutôt (la réponse de Faraday) µc ARM avec des bibliothèques pour les calculs FFT. C'est pour un avant projet pour acquérir les bruits acoustiques (100Hz-20kHz) avec la possibilité d'enregistrer les mesures de spectres pour stocker dans une mémoire SD pour une durée de fonctionnement environ 3 à 6 mois. C'est pour embarquer dans un dispositif avec son alimentation avec batterie pour un fonctionnement en autonome. Je vais regarder la carte Arduino DUE et je reviendrai vers vous. Merci d'avance.