Table of Contents
Dans ces environnements de ressources limitées, l'efficacité des filtres numériques a des répercussions directes sur les performances en temps réel, la consommation d'énergie et la viabilité globale du système. Parmi les nombreux paramètres de conception que les ingénieurs doivent équilibrer, l'ordre des filtres se distingue par un levier critique qui influence profondément la charge de calcul. La compréhension de cette relation est essentielle pour construire des systèmes intégrés à haute performance qui répondent aux budgets de puissance et de latence stricts.
Comprendre l'ordre des filtres
L'ordre des filtres est une propriété fondamentale des filtres numériques qui détermine le nombre d'échantillons d'entrées antérieures (et, dans le cas des filtres à réponse infinie d'impulsions (IRI), des échantillons de sortie précédents) utilisés pour calculer chaque échantillon de sortie. Pour un filtre à réponse finie d'impulsions (RIF), l'ordre est égal au nombre de robinets moins un. Un filtre FIR de 32 tap, par exemple, a un ordre de 31. Dans les filtres RII, l'ordre se réfère à la puissance la plus élevée du z-transform polynôme dans la fonction de transfert du filtre, qui correspond au nombre d'étapes de rétroaction.
Les filtres à ordre supérieur offrent généralement des bandes de transition plus raides, plus étroites et une meilleure atténuation des bandes d'arrêt, ce qui les rend souhaitables pour les applications nécessitant une séparation précise de fréquence, comme la péréquation audio ou la sélection des canaux de communication.
Ce qui constitue une charge computationnelle dans les systèmes embarqués
La charge informatique dans un contexte de traitement de signaux intégré se rapporte aux ressources de traitement totales nécessaires pour exécuter l'algorithme de filtre dans les contraintes de temps de l'appareil. Cette charge est souvent exprimée en termes de:
- Millions d'instructions par seconde (MIPS) — le débit du processeur nécessaire.
- Bande passante de mémoire[ — la quantité de données à récupérer à partir de la mémoire vive ou du cache par échantillon.
- Consommation de puissance — directement proportionnelle au nombre d'opérations effectuées.
- Latence — le temps écoulé entre l'échantillonnage d'entrée et la disponibilité de la sortie.
Dans les appareils embarqués alimentés par batterie, chaque opération supplémentaire draine des réserves d'énergie limitées. Par conséquent, le choix d'un ordre de filtre inutilement élevé peut dégrader la durée de vie de la batterie et potentiellement faire passer le système à côté des délais en temps réel.
Comment l'ordre de filtre affecte directement la charge computationnelle
Pour la plupart des filtres linéaires invariables dans le temps, la charge calculale s'échelle approximativement linéairement avec l'ordre du filtre, bien que la relation exacte dépende de l'architecture du filtre et de son implémentation.
Filtres RIP : Écaillage linéaire direct
Pour un filtre de type FIR standard, il faut une opération de multi-accumulation (MAC) par robinet. Pour un filtre de l'ordre N (signifiant N+1 robinets de sortie), chaque échantillon de sortie exige N+1 MAC plus des frais généraux pour les accès à la mémoire. Le doublement de l'ordre double essentiellement le nombre de MAC par échantillon. Sur un microcontrôleur 32 bits courant à 100 MHz, un filtre de 64e ordre (65 robinets) pourrait consommer 65 cycles par échantillon de sortie seulement pour l'arithmétique de base. Si le taux d'échantillonnage est de 10 kHz, ce qui se traduit par 650 000 cycles par seconde — environ 0,65% du temps CPU pour un seul canal. Un filtre de 128e ordre nécessiterait 129 MAC par échantillon, poussant la charge CPU à 1,29% pour le même taux.
Filtres IIR : plus complexes mais moins performants pour des performances similaires
Un filtre IIR de deuxième ordre peut fournir un roll-off qui nécessiterait un FIR de 10e ou 20e ordre. Un filtre IIR de ordre M nécessite généralement 2M+1 MAC par échantillon (lorsqu'il est mis en œuvre sous forme de biquads en cascade). Ce coût arithmétique inférieur rend les filtres IIR attrayants pour les applications où la linéarité de phase n'est pas critique. Cependant, la nature récursive des filtres IIR introduit une instabilité potentielle, une sensibilité à la quantification des coefficients et une variation accrue des retards de groupe.
La charge de calcul des filtres IIR n'est pas exactement linéaire avec l'ordre, car les coefficients de rétroaction sont souvent regroupés en SOS (sections de deuxième ordre) pour la stabilité. Chaque section ajoute environ cinq MAC (pour une structure de forme directe transposable II), de sorte qu'un IAR de dixième ordre (cinq biquads) nécessite environ 25 MAC par échantillon — soit nettement moins qu'un RIP de 32e ordre nécessaire pour atteindre une atténuation comparable de la bande de freinage.
Effets non linéaires de l'ordre de filtration sur la charge
Si l'ordre du filtre dépasse la capacité du cache de données du CPU, les temps d'accès à la mémoire peuvent être prédominants, ce qui entraîne une augmentation super-linéaire du temps d'exécution global. De même, pour les filtres à très haut ordre sur les processeurs sans unités MAC matérielles, le contrôle de boucle et l'adressage de mémoire peuvent devenir importants. Les filtres adaptatifs, où les coefficients changent au fil du temps, subissent une charge supplémentaire pour les mises à jour de coefficients, qui peuvent être graduées par ordre quadrilatère avec l'ordre du filtre dans le cas des algorithmes les moins moyens carrés (LMS).
Échanges dans la sélection des ordres de filtrage
Les ingénieurs doivent évaluer les exigences du système de façon holistique pour choisir un ordre de filtre approprié. Le compromis principal est entre la performance du filtre (sélectivité, onduleur de bande passante, atténuation de bande stop) et la consommation de ressources (cycles CPU, mémoire, puissance).
Exigences de rendement par rapport au budget des ressources
Pour y parvenir, il faut souvent un ordre élevé. Une solution courante est de faire en sorte que plusieurs filtres inférieurs soient encastrés ou d'utiliser un filtre à encoches en série avec un filtre à passe basse, ce qui réduit l'ordre global requis pour le filtre principal. De même, dans les récepteurs radiofréquences (RF) pour les appareils IoT, les exigences de sélectivité sont strictes, mais le budget de traitement des signaux disponible est maigre. Ici, les ingénieurs peuvent choisir une mise en œuvre de l'IRI avec un ordre modéré (p. ex. 8e) et compter sur des étapes de décimation multiples pour réduire le taux d'échantillonnage avant le traitement, réduisant ainsi la charge de calcul par échantillon traité.
Contraintes de latence
Dans les boucles de contrôle en temps réel, comme celles des moteurs ou de l'annulation active du bruit, la latence excessive peut déstabiliser le système. Les filtres FIR ont un retard de groupe constant égal à la moitié de l'ordre du filtre (dans les échantillons), tandis que les filtres IIR présentent une réponse non linéaire en phase qui peut introduire une distorsion. Pour un taux d'échantillonnage fixe, un filtre FIR de plus haut ordre retarde la sortie par un plus grand nombre d'échantillons. Si une application ne peut tolérer qu'un retard de 20 échantillons, la commande maximale possible de FIR est de 40 (20 échantillons de retard), quel que soit le nombre de robinets. Cette contrainte dure parfois oblige l'utilisation de modèles de FIR de phase minimale ou de filtres IIR, qui peuvent atteindre une latence inférieure même avec une commande efficace plus élevée.
Empreinte de mémoire
Pour un filtre FIR de l'ordre N, les échelles de stockage des coefficients sont linéaires, mais la ligne de retard contient également des échantillons N+1. Sur un microcontrôleur de 64 KB de RAM, un filtre de 1024ème ordre consomme 4 096 octets pour les coefficients (si stocké comme flotteurs 32 bits) plus 4 096 octets pour la ligne de retard — soit 8 KB par canal. Avec huit canaux, 64 KB est épuisé. De nombreux systèmes embarqués doivent multiplexer la mémoire entre plusieurs tâches, de sorte que l'ordre du filtre est souvent limité par la RAM disponible.
Bruit et quantification de coefficients
Pour les filtres FIR, la quantisation des coefficients tend à introduire un plancher sonore relativement uniforme qui monte avec l'ordre des filtres, car plus de robinets contribuent à chaque sortie. Pour les filtres IIR, la quantisation peut déplacer les emplacements des pôles, ce qui entraîne une instabilité. Les concepteurs doivent souvent augmenter la précision arithmétique (par exemple, en utilisant des mots 24 bits ou 32 bits) pour maintenir les performances avec des filtres à ordre élevé, ce qui augmente la charge de calcul – un effet non linéaire lié à l'ordre.
Stratégies d'optimisation pour la gestion de l'ordre de filtrage
Comprendre la relation entre l'ordre des filtres et la charge de calcul permet aux ingénieurs d'utiliser des techniques qui réduisent la charge tout en préservant la qualité du signal.
Filtrage et décimation multi-taux
Lors du traitement des signaux à taux d'échantillonnage élevé, le filtrage à la vitesse originale peut imposer une charge de calcul énorme. La décimation du signal avant le filtrage — et l'interpolation ultérieure — permet à un filtre à ordre inférieur de fonctionner à une vitesse d'échantillonnage réduite. Par exemple, un filtre anti-aliasing avec une coupure de 1 Hz fonctionnant sur une vitesse d'échantillonnage originale de 1 kHz peut nécessiter un ordre élevé. En décimant par un facteur de 10 à 100 Hz d'abord (en utilisant un simple préfiltre à ordre bas), le filtre principal peut avoir un ordre 10 fois plus bas, coupant radicalement MIPS. Cette technique est largement utilisée dans les codecs audio et les radios définies par logiciel.
Décomposition polyphasée
Pour les filtres RIP, la décomposition polyphasée divise le filtre en plusieurs phases parallèles qui fonctionnent à des vitesses plus faibles. Cette approche permet à l'ordre de filtre efficace de rester élevé tout en réduisant le taux arithmétique par phase. Les filtres polyphasés sont particulièrement efficaces dans les décimateurs et les interpolateurs, où une seule phase du filtre doit être calculée par échantillon de sortie.
Accélération du point fixe et du matériel
Les circuits intégrés intégrés intégrés intégrés modernes (ASIC) et les processeurs de signaux numériques (PSD) comprennent les unités MAC matérielles qui exécutent des accumulations multiples en un seul cycle. Ces accélérateurs permettent de rendre possible des filtres même de haut ordre (p. ex. FIR 256e-commande) à des taux d'échantillonnage modérés. La charge de calcul, mesurée en cycles, devient essentiellement égale au nombre de robinets plus un petit montant. Pour comprendre l'arithmétique DSP, les ingénieurs peuvent se référer aux guides fondamentaux. La clé est de correspondre à l'ordre du filtre aux ressources MAC matérielles disponibles — en utilisant un ordre qui est un multiple du parallélisme de l'unité MAC peut réduire davantage la charge.
Utilisation et symmétrie Coefficient
Les filtres FIR linéaires ont des coefficients symétriques. Exploiter cette symétrie en ajoutant deux échantillons avant de multiplier les moitiés du nombre de multiplications. Pour un FIR linéaire à ordre uniforme, le nombre de multiplications est approximativement N/2+1 au lieu de N[+1. Cela coupe efficacement la charge de calcul en deux sans modifier les caractéristiques du filtre.
Exemples pratiques dans les domaines d'application
Dispositifs biomédicaux
Les moniteurs d'électrocardiogramme (ECG) portatifs doivent filtrer les artefacts de mouvement et le bruit de la ligne de courant pendant des jours sur une petite batterie au lithium-ion. Un modèle typique utilise un filtre à encoche de 50 Hz (souvent un biquad IIR de deuxième ordre) suivi d'un filtre passe-bas avec une coupure de 40 Hz (p. ex., un filtre Butterworth IIR de quatrième ordre). La charge de calcul totale est d'environ 10 MAC par échantillon à un taux d'échantillonnage de 200 Hz, ce qui est négligeable pour un ARM Cortex-M4 de faible puissance. Si un concepteur a tenté d'utiliser un filtre FIR avec des performances comparables, il faudrait un ordre de 200 ou plus, ce qui multiplierait la charge de calcul par 20. L'échange ici est acceptable pour la distorsion de phase dans la bande ECG, car la phase est moins critique pour la détection de la fréquence cardiaque et de l'arythmie.
Traitement audio
Dans les appareils auditifs, plusieurs filtres sont en cascade pour façonner la réponse de fréquence selon l'audiogramme d'un patient. Avec jusqu'à 16 ou 24 canaux, chaque canal peut utiliser un filtre IIR de 6e à 12e ordre. La charge totale de calcul peut dépasser 200 MAC par échantillon lorsque l'audio est échantillonné à 16 kHz. Pour maintenir la consommation d'énergie sous 1 mW, les puces de l'appareil auditif DSP intègrent un accélérateur de banque de filtres dédié qui calcule plusieurs biquads en parallèle.
Radio définie par le logiciel
Dans les récepteurs SDR, les filtres de sélectivité des canaux nécessitent souvent un rejet très élevé de la bande d'arrêt (~100 dB) et des bandes de transition pointues. Un filtre FIR unique pour atteindre cet objectif à bande de base pourrait avoir un ordre de plusieurs centaines à des milliers, selon le taux d'échantillonnage. Les concepteurs utilisent plutôt des filtres à intégration-comb (CIC) en cascade pour la décimation, suivis d'un filtre de compensation FIR relativement haut de gamme (p. ex. 64-tap). Le filtre CIC lui-même a un ordre défini par son nombre d'étapes, mais son coût de calcul est faible puisqu'il n'utilise que des ajouts entiers. La charge de calcul combinée est gérable, mais l'ordre global de filtre en termes de sélectivité est effectivement élevé. Pour une explication autorisée des techniques à plusieurs taux, voir .
Contrôle industriel de l'automobile
Les contrôleurs d'entraînement moteur utilisent des filtres à passe basse sur les signaux de rétroaction de courant et de vitesse pour éliminer l'onduleur de modulation de la largeur d'impulsion (PWM). L'ordre du filtre doit être suffisamment bas pour maintenir le décalage de phase dans les marges de stabilité, généralement un filtre de 1er ou 2e ordre. Les filtres de plus haut ordre pourraient introduire un retard inacceptable dans la boucle de commande.
Orientations futures : Filtres adaptatifs et apprentissage automatique
Les filtres intégrés deviennent plus intelligents et les filtres adaptatifs qui règlent leurs coefficients en temps réel gagnent en traction. Ces filtres, comme les LMS ou les familles de moindres carrés récursifs (RLS), ont des charges de calcul qui se développent quadratiquement avec l'ordre du filtre dans le cas de RLS. Pour de nombreuses applications intégrées, l'ordre d'un filtre adaptatif est maintenu faible (4 à 32) pour maintenir le calcul de mise à jour possible. Les accélérateurs matériels émergents pour les réseaux neuraux peuvent également permettre un filtrage adaptatif avec un ordre effectivement très élevé, en utilisant des modèles d'activation clairsemée.
Une autre tendance est l'utilisation de l'apprentissage automatique pour sélectionner automatiquement les commandes de filtre optimales pour des conditions de signal données, équilibrer les performances et la charge. Cette approche peut réduire l'effort d'ingénierie et permettre aux appareils d'adapter leur puissance de traitement en fonction de la capacité de batterie disponible.
Conclusion
L'effet de l'ordre des filtres sur la charge de calcul dans les appareils de traitement de signaux embarqués est un défi technique multiforme. Bien que les commandes plus élevées améliorent la sélectivité des fréquences, elles augmentent proportionnellement les opérations arithmétiques, l'utilisation de la mémoire, la latence et la consommation de puissance. Le choix entre les topologies FIR et IIR complique encore la relation, tout comme les hiérarchies de mémoire, les effets de quantification et la disponibilité de l'accélérateur matériel. La conception réussie des systèmes embarqués exige une compréhension approfondie de ces compromis et une volonté d'utiliser des techniques d'optimisation telles que le traitement multi-taux, la décomposition polyphasée et la symétrie des coefficients.