Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial Internet of Things >> Embarqué

Maîtriser le filtrage numérique sur microcontrôleurs embarqués : le moteur Dual Biquad IIR PowerQuad du LPC55S69

Explorez les techniques les plus courantes pour filtrer des données temporelles, et examinez comment le moteur Dual Biquad IIR PowerQuad du LPC55S69 accélère les tâches DSP.

Lorsqu'on travaille avec des données collectées dans le temps, la première étape est souvent d'appliquer un filtre numérique. Comprendre les différentes stratégies de filtrage améliore non seulement la qualité du signal mais libère aussi le CPU pour d'autres tâches critiques — une considération essentielle pour les microcontrôleurs embarqués.

Cet article couvre les méthodes de filtrage temporel les plus utilisées et plonge dans le moteur Dual Biquad IIR de l'unité PowerQuad dans le MCU LPC55S69, un puissant bloc DSP qui peut être exploité dans divers scénarios de filtrage.

Filtres courants pour données échantillonnées en continu

Dans un système d'acquisition temporel, les échantillons arrivent à un taux fixe et connu. Les filtres temporels traitent ces échantillons et produisent un nouveau signal qui peut être traité davantage ou envoyé à un convertisseur numérique-analogique (CNA). Le cœur de tout filtre est sa réponse aux ondes sinusoïdales — modifiant l'amplitude et la phase à travers les fréquences. Le comportement collectif sur un spectre de fréquences est connu comme la réponse en fréquence du filtre.

Les filtres à Réponse Impulsionnelle Finie (RIF) sont une approche standard. Ils génèrent chaque échantillon de sortie en combinant la donnée la plus récente avec un historique d'échantillons précédents.

Maîtriser le filtrage numérique sur microcontrôleurs embarqués : le moteur Dual Biquad IIR PowerQuad du LPC55S69

Figure 1. Traitement échantillon par échantillon du filtre utilisant un historique de l'entrée.

Une implémentation simple stocke les échantillons précédents dans un tableau et applique l'équation suivante :

x[n] // L'entrée la plus récente
x[n-1], x[n-2] // Les deux échantillons d'entrée précédents
y[n] // Le prochain échantillon de sortie

y[n] = b0 * x[n] + b1 * x[n-1] + b2 * x[n-2]

Cette simple opération multiply-accumulate utilise des coefficients constants et une longueur d'historique définie pour façonner la réponse en fréquence du filtre. En ajustant les coefficients, le filtre peut agir comme un passe-bas, passe-haut ou passe-bande.

Bien que conceptuellement simples, les filtres RIF nécessitent souvent de nombreux échantillons passés pour obtenir un contrôle précis, ce qui peut être coûteux en calcul sur un CPU conventionnel — surtout quand l'historique s'allonge.

Pour réduire l'historique requis, de nombreuses conceptions incorporent une rétroaction, formant la base des filtres à Réponse Impulsionnelle Infinie (RII) :

// Cet exemple suit les conventions de nommage utilisées précédemment
y[n] = b0 * x[n] + b1 * x[n-1] + b2 * x[n-2] + a1 * y[n-1] + a2 * y[n-2]

L'exemple ci-dessus illustre un filtre biquad, un bloc de construction RII courant qui peut être mis en cascade pour des réponses d'ordre supérieur. Moins de coefficients sont nécessaires comparé à un filtre RIF, mais une sélection soignée des coefficients est essentielle pour éviter l'instabilité et l'oscillation.

De nombreux outils existent pour générer des coefficients optimaux pour des conceptions de filtres standard. Ces « livres de recettes » fournissent un chemin rapide vers des filtres de haute qualité.

Maîtriser le filtrage numérique sur microcontrôleurs embarqués : le moteur Dual Biquad IIR PowerQuad du LPC55S69

Figure 2. L'un des nombreux outils qui génèrent automatiquement des coefficients.

Utilisation des moteurs Biquad IIR PowerQuad

L'unité PowerQuad du LPC55S69 offre du matériel dédié pour l'exécution de filtres biquad IIR. Décharger la charge de filtrage vers ce co-processeur libère les cœurs Cortex-M33 pour se concentrer sur la logique applicative.

Bien que les algorithmes de filtre eux-mêmes soient simples, ils peuvent consommer des cycles CPU significatifs. Le matériel du PowerQuad est spécifiquement optimisé pour le filtrage et d'autres opérations mathématiques complexes. Il se connecte au système via le bus AHB et l'interface co-processeur Arm® Cortex®-M33.

Les développeurs utilisent généralement l'IDE MCUXpresso gratuit basé sur Eclipse et le SDK LPC55S69, qui inclut plusieurs applications d'exemple PowerQuad.

Maîtriser le filtrage numérique sur microcontrôleurs embarqués : le moteur Dual Biquad IIR PowerQuad du LPC55S69

Figure 3. Sélection de l'exemple de filtre numérique PowerQuad.

L'exemple « powerquad_filter » démontre une gamme de configurations de filtres. La logique centrale réside dans powerquad_filter.c, qui présente des configurations de filtres de base.

Bien que l'article ait introduit une implémentation Forme Directe I, le PowerQuad réordonne internement les opérations en une structure Forme Directe II. Cette disposition élimine le besoin de stocker à la fois les historiques d'entrée et de sortie, maintenant plutôt un seul vecteur d'état intermédiaire v[n].

Plusieurs registres AHB contiennent l'état et les coefficients nécessaires pour configurer les opérations de filtre IIR du PowerQuad. Dans les exemples du SDK, l'état est initialisé via PQ_BiquadRestoreInternalState.

Une fois initialisé, le filtre traite les blocs de données en utilisant PQ_VectorBiquadDf2F32 dans fsl_powerquad_filter.c :

/* La fonction traite les échantillons d'entrée par multiples de huit. */

Maîtriser le filtrage numérique sur microcontrôleurs embarqués : le moteur Dual Biquad IIR PowerQuad du LPC55S69

Figure 4. Implémentation de filtre IIR vectorisée

Cette routine transfère les données du CPU principal vers le co-processeur PowerQuad via l'instruction MCR. Le PowerQuad effectue les opérations multiply-add, livrant le résultat filtré au CPU avec un autre transfert MCR. Ce déchargement réduit dramatiquement la charge CPU comparé à l'exécution du même algorithme sur les cœurs Cortex-M33.

Le moteur Dual Biquad IIR pour le filtrage numérique

L'unité PowerQuad du LPC55S69 contient deux moteurs biquad indépendants, permettant des opérations de filtrage en parallèle ou en cascade. Les registres de configuration sur le bus AHB configurent les fonctions IIR, et l'échange de données se fait via l'interface co-processeur.

Le SDK MCUXpresso fournit un point de départ solide, bien que le code fourni privilégie la clarté sur la performance brute. Les développeurs peuvent optimiser davantage en minimisant les transferts de données entre le CPU et le PowerQuad.

NXP offre un outil de Conception et Visualisation de Filtre IIR Biquad qui aide à générer et visualiser les coefficients de filtre. La page communautaire NXP offre également une documentation approfondie sur l'unité PowerQuad du LPC55S69 et ses capacités.

Les articles industriels sont une forme de contenu qui permet aux partenaires industriels de partager des actualités utiles, des messages et de la technologie avec les lecteurs d'All About Circuits d'une manière que le contenu éditorial ne permet pas. Tous les articles industriels sont soumis à des directives éditoriales strictes dans le but d'offrir aux lecteurs des actualités utiles, une expertise technique ou des histoires. Les points de vue et opinions exprimés dans les articles industriels sont ceux du partenaire et pas nécessairement ceux d'All About Circuits ou de ses rédacteurs.


Embarqué

  1. Logique numérique avec rétroaction : Des portes déterministes aux multivibrateurs
  2. Pourquoi la mémoire numérique est importante
  3. Exploiter les données dans l'Internet de la fiabilité : stratégies pour une gestion efficace
  4. Accélérer la transformation numérique : La plateforme IdO Edge-to-Cloud de Cisco & IBM
  5. Maintenance prédictive : exploiter l'Industrie 4.0 pour une production ininterrompue
  6. Transformer les équipes manufacturing digitales avec des insights temps réel
  7. Intégration transparente OT-IT : Logiciel industriel moderne connecte capteurs intelligents aux systèmes d'entreprise
  8. GE Digital révèle comment les données et l'analytique pilotent l'excellence opérationnelle dans la fabrication
  9. Accélérer la transformation numérique : les données MES en temps réel boostent l'efficacité de l'usine