Table of Contents
Les systèmes radio définis par le logiciel (SDR) ont transformé le paysage de la communication sans fil en changeant le traitement des signaux du matériel fixe vers des plates-formes logicielles flexibles. Cette programmabilité permet aux ingénieurs de reconfigurer les radios en vol, de s'adapter à différents standards et de gérer le spectre de fréquences radio (RF) avec une agilité sans précédent. Au cœur de chaque système de SDR se trouve un ensemble de filtres numériques qui façonnent, sélectionnent et nettoient les signaux. Parmi ceux-ci, les filtres Infinite Impulse Response (IIR) se distinguent par leur efficacité de calcul et leur sélectivité de fréquence aiguë.
Principes fondamentaux des filtres IIR
Un filtre IIR est un type de filtre numérique qui utilise le feedback — sa sortie actuelle dépend à la fois des entrées actuelles et passées ainsi que des sorties passées. Cette structure récursive est décrite par une équation linéaire de différence constante-coefficient:
Lorsque x[n] est l'entrée, y[n] est la sortie, et les coefficients b et a définissent la réponse du filtre. Les termes de rétroaction (les coefficients a donnent aux filtres IIR une réponse d'impulsion qui, théoriquement, continue éternellement — d'où la «finite». Cela permet aux filtres IIR d'atteindre une atténuation extrêmement nette du renversement et du haut bande d'arrêt avec beaucoup moins de coefficients qu'un filtre équivalent de la réponse à l'impulsion Finite (FIR). Par exemple, un filtre passe-bas de 5e ordre de l'IIR peut correspondre à la sélectivité d'un filtre de 20 tapFIR, en sauvent la mémoire et le calcul.
Analyse et stabilité Pole-Zero
Le comportement d'un filtre IIR est entièrement caractérisé par sa fonction de transfert dans le domaine z, qui est une fonction rationnelle du z. Les racines du numérateur sont des zéros, et les racines du dénominateur sont des pôles. Pour la stabilité, tous les pôles doivent se trouver à l'intérieur du cercle unitaire dans le plan z. Un pôle sur le cercle unitaire correspond à un oscillateur, tandis qu'un pôle extérieur provoque une croissance non liée. Cette contrainte de stabilité est une considération majeure lors de la conception des filtres IIR, surtout lorsque les coefficients sont quantifiés en arithmétique fixe.
Les tracés à pole zéro offrent une façon intuitive de visualiser la réponse de fréquence du filtre. Placer des zéros près des zones du cercle de l'unité où l'atténuation est souhaitée (par exemple à une fréquence d'interférence spécifique) et des pôles près de la région de la bande de passage améliore la sélectivité.
Techniques de conception pour filtres IIR en DTS
La conception des filtres IIR pour les applications SDR commence généralement par un prototype analogique. Les méthodes les plus courantes sont:
- Bilineary Transform: Plane l'axe de fréquence analogique entier (de 0 à -) sur le cercle de l'unité dans le plan z. Il préserve la stabilité et est simple à mettre en œuvre. Cependant, il introduit le déchaînement de fréquence, qui peut être compensé par des fréquences critiques pré-chauffantes. La transformation bilinéaire est la méthode de passage pour les filtres SDR parce qu'elle produit des filtres numériques stables à partir de modèles analogiques bien connus (Butterworth, Chebyshev, Elliptic).
- Impulse Invariance:[ Sample la réponse d'impulsion du filtre analogique pour obtenir des coefficients numériques. Il fonctionne bien pour les filtres à passe basse et préserve la forme de la réponse du domaine temporel, mais il peut causer l'alias si la bande passante du filtre analogique n'est pas suffisamment limitée. Il est moins commun dans les récepteurs SDR à large bande en raison de préoccupations d'alias.
- Pole-Zero Placement:[ Placer manuellement des pôles et des zéros pour obtenir la réponse de fréquence souhaitée. Cette méthode est intuitive pour les filtres simples comme les détecteurs de encoches ou de tonalités et est souvent utilisée dans les algorithmes de DTS adaptatifs où les paramètres de filtre doivent être mis à jour en temps réel.
Une fois les coefficients calculés, ils doivent être vérifiés à l'aide d'outils comme MATLAB ou Python scipy.signal. Les développeurs SDR conçoitnt généralement des filtres hors ligne et intègrent ensuite les tableaux de coefficients dans leur firmware ou logiciel.
Mise en œuvre dans la radio définie par le logiciel
Dans un système SDR, le filtre numérique fonctionne sur des échantillons de bande de base livrés par le convertisseur analogique à numérique (ADC) à des taux souvent supérieurs à des dizaines de méga-échantillons par seconde. Les contraintes en temps réel exigent un code efficace qui minimise les opérations multi-accumulation (MAC) et l'accès à la mémoire. Les filtres II sont généralement mis en œuvre à l'aide des structures de forme directe I ou II (ou de leurs variantes transposées).
Point fixe contre point flottant
De nombreuses plateformes SDR, en particulier celles utilisant des FPGA ou des microcontrôleurs à faible coût, fonctionnent en arithmétique à point fixe. Cela introduit le bruit de quantification et l'instabilité potentielle due à l'arrondi des coefficients. Une technique courante consiste à utiliser une structure en cascade « biquad » (section du deuxième ordre). En cassant un filtre à haut niveau en plusieurs étapes biquad, chacune avec des pôles et des zéros bien entretenus, le filtre global reste stable même avec une précision modérée.
Les processeurs à point flottant (p. ex. ARM Cortex-A series ou PC-based SDRs) offrent une précision plus élevée et une échelle de coefficient plus facile, mais à une puissance et un coût premium. Dans le logiciel, l'équation de différence est simplement écrite comme une boucle sur des échantillons, en utilisant des variables d'accumulateur.
Architecture de traitement en temps réel
Le logiciel SDR typique exécute une boucle de contrôle qui lit les échantillons d'un tampon matériel, les traite à travers le filtre et écrit la sortie à un bloc en aval (démodulateur, analyseur de spectre, etc.). Pour le filtrage IIR, les variables d'état (entrées passées et sorties) doivent être conservées entre les lots d'échantillons. Ceci est souvent fait à l'aide de tampons annulaires ou de tableaux statiques. La fonction de filtre est appelée une fois par bloc d'échantillon, mettant à jour l'état pour le prochain bloc. La latence introduite par les filtres IIR est déterministe et peut être gérée dans le temps global du système.
Applications dans la gestion du spectre
La gestion du spectre englobe un vaste éventail d'activités, de la coordination réglementaire à l'atténuation des interférences en temps réel.
- Suppression de l'interférence: Les interférants à bande étroite (p. ex., un émetteur de télévision qui fuit dans une bande cellulaire) peuvent être enlevés avec un filtre IIR encoche à la fréquence d'interférence. Le rejet aigu des filtres IIR est idéal ici, car il élimine l'interférence tout en affectant de façon minimale les signaux adjacents.
- Sélection de canaux:[ Dans un récepteur SDR multibande, les filtres IIR servent de filtres de sélection de canaux, isolant un canal de communication désiré des canaux adjacents. Le roll-off abrupt d'un design elliptique est particulièrement utile lorsque les bandes de garde sont étroites.
- Filtrage adaptatif: Dans les applications radio cognitives, le DTS doit sentir le spectre et adapter son filtrage en temps réel. Un filtre IIR adaptatif peut mettre à jour ses coefficients en fonction des statistiques de signaux reçues, par exemple en utilisant un algorithme de moindres carrés récursif (SDR) pour suivre et annuler les interférences temporelles.
- Accès au spectre dynamique:[ Lorsqu'un utilisateur secondaire accède opportunément à la fréquence de ralentie d'un utilisateur primaire, un filtre IIR de haute qualité permet de garantir que la transmission secondaire ne se déverse pas dans les bandes occupées adjacentes.
- Le filtrage de pré-détection avec un filtre passe-bas ou passe-bande de l'IIR réduit le bruit hors bande, améliorant ainsi le RNS des signaux faibles. Ceci est essentiel pour les applications de détection du spectre qui doivent détecter les signaux près du plancher de bruit.
Pour une plongée plus profonde dans les techniques de filtrage adaptatif, reportez-vous à la documentation de filtrage adaptatif de MathWorks.
Considérations relatives aux performances
Bien que les filtres IIR offrent des avantages informatiques, ils présentent plusieurs compromis de performance que les ingénieurs SDR doivent gérer avec soin :
Stabilité et effets de longueur de mot finis
Comme nous l'avons déjà mentionné, les pôles doivent rester à l'intérieur du cercle de l'unité. Dans les systèmes à points fixes, la quantisation des coefficients peut déplacer les pôles, ce qui peut causer une instabilité. Le point flottant à double précision élimine ce risque pour la plupart des modèles, mais il est plus coûteux pour le matériel.
Précision numérique
Pour les filtres à haut ordre, cela peut dégrader le SNR du signal de sortie. L'utilisation de cascades biquad minimise cette situation car chaque étape ne re-quantifie que son propre état. De plus, il est essentiel de mettre à l'échelle le signal d'entrée pour éviter le débordement dans les implémentations à points fixes.
Retard de groupe
Les filtres IIR ont une réponse de phase non linéaire, ce qui signifie que différents composants de fréquence subissent différents retards. Cela peut déformer la forme d'onde d'un signal modulé, potentiellement causant des interférences intersymboles dans les communications numériques. Pour les applications où la phase linéaire est critique (p. ex. signaux modulés en phase), les filtres FIR peuvent être préférés, ou un égaliseur de phase tout passage peut être en cascade avec le filtre IIR pour linéariser le retard du groupe sur la bande passante.
Débit informatique
Les filtres IIR ne peuvent pas être facilement parallélisés car chaque sortie dépend des sorties précédentes. Cependant, parce qu'ils nécessitent beaucoup moins de robinets que les filtres FIR, ils obtiennent souvent un débit global plus élevé pour une même sélectivité. Dans les architectures SDR (comme les GPU), la nature séquentielle de l'IIR peut devenir un goulot d'étranglement.
Étude de cas : Filtre à encoche à bande étroite pour le rejet des interférences
Envisager un signal de surveillance du spectre qui reçoit un signal à large bande (p. ex., une bande passante de 20 MHz) et qui doit détecter un signal primaire faible à une fréquence donnée. Un interféreur à bande étroite (p. ex., une station FM de radiodiffusion) apparaît à 10,5 MHz à l'intérieur de la bande. À l'aide d'un filtre de deuxième ordre d'entaillement IIR d'une largeur de 100 kHz à -3 dB, et d'une profondeur de 40 dB, le système peut supprimer l'interféraction tout en laissant le reste du spectre pour la plupart intact. Les coefficients de filtre sont calculés par un placement de zéro-pole : deux zéros sur le cercle de l'unité à l'angle correspondant à 10,5 MHz (taux d'échantillonnage supposé de 40 MHz) et deux pôles à l'intérieur mais à proximité des zéros pour obtenir un entachement aigu.
Pour un guide pratique sur la conception des filtres encoches en Python, voir SciPy Cookbook: Notch Filter.
Orientations futures
Le rôle des filtres IIR dans les DTS continuera d'évoluer avec les nouvelles tendances:
- Filtres adaptés et améliorés par l'apprentissage automatique : Les systèmes de DTS intègrent de plus en plus l'apprentissage automatique pour détecter les modèles dans l'utilisation du spectre.
- FPGA et Accélération matérielle:[ Les tableaux de portes programmables sur le terrain (FPGA) peuvent implémenter plusieurs étapes biquad en cascade en parallèle, traiter des flux d'échantillons avec une latence déterministe. La tendance vers l'informatique hétérogène (CPU + FPGA) dans les plates-formes SDR rendra les filtres IIR de haute commande plus pratiques en temps réel.
- Surveillance du spectre de la bande Wideband: À mesure que les bandes de fréquences augmentent (p. ex., 5G Nouveaux canaux radio de 400 MHz), il faudra des filtres IIR pour la canalisation, qui divisent la bande large en tranches étroites.
- Intégration avec les bases de données du spectre:[ Les systèmes automatisés de coordination des fréquences (p. ex. pour les espaces blancs de télévision) utilisent des capteurs SDR utilisant des filtres IIR pour détecter et signaler l'occupation.
Pour en savoir plus sur les architectures de DTS, consultez RTL-SDR.com[ pour les projets pratiques et les ressources communautaires.
Conclusion
L'utilisation de filtres IIR dans les systèmes radio définis par logiciel est à la fois un art et une science. Leur efficacité les rend indispensables pour les tâches de gestion du spectre où les ressources informatiques sont limitées et où la réponse en temps réel est obligatoire. En comprenant les méthodes de conception - des prototypes analogiques aux implémentations à temps discret - et en tenant compte de la stabilité, de la quantification et du retard de groupe, les ingénieurs peuvent déployer des filtres IIR qui extraient les signaux et suppriment les interférences dans les environnements spectraux encombrés.
Pour un manuel complet sur le traitement numérique du signal, voir Comprendre le traitement numérique du signal par Richard G. Lyons.