Filtre de décimation de taux d’entier variable

Recommandé pour :

  • Périphérique : inconnu

  • Quartus® : v9.1

author-image

Par

L’exemple de conception du filtre de décimation du taux d’entier variable démontre comment utiliser le jeu de composants avancés Intel® DSP Builder (DSPB-AB) pour mettre en œuvre un filtre decimation qui peut modifier son taux de décimation au moment de l’exécution. Il prend également en charge plusieurs canaux et exploite le pliage automatique de DSPB-AB pour générer du code au niveau du transfert de registre (RTL) qui maximise la réutilisation du matériel pour économiser des ressources. La conception actuelle prend en charge les taux de décmation de 1, 2, 4, 8 et 16. Cependant, vous pouvez facilement modifier la conception pour prendre en charge d’autres taux de decimation des entiers.

Vous pouvez efficacement mettre en œuvre la décimation conventionnelle par filtres M à l’aide de filtres polyphases avec un commutateur d’entrée et des chemins parallèles M. Chaque chemin est un polyphase du filtre prototype d’origine. Si le commutateur d’entrée saute toutes les autres phases, au lieu de passer par tous les chemins M, le taux de décimation devient M/2, et ainsi de suite.

Dans la conception réelle, au lieu d’avoir un commutateur et une banque parallèle de chemins de réponse FIR (finie en réponse à l’FIR), nous n’implémentons qu’un seul filtre FIR polyphase, où les coefficients correspondant aux polyphases changent chaque cycle au taux d’échantillonnage d’entrée. Elle a le même effet que de fournir successivement des échantillons d’entrée à une banque parallèle de polyphases. Nous stockons les coefficients de polyphase en mémoire et nous utilisons un accumulateur d’entrée comme celui utilisé dans un produit de contrôle numérique (NCO) pour contrôler quelle phase est actuellement en cours de lecture et envoyée sur le chemin de filtrage FIR. La taille d’étape de l’accumulation de phase contrôle la vitesse à travers les polyphases du système, d’où le taux de décimation. Le signal de dépassement de l’accumulateur indique quand les phases ont été passées à travers le cycle. Lorsqu’elle affirme, un échantillon de sortie valide est généré à un taux d’échantillonnage inférieur.

L’architecture de l’algorithme est indiquée dans la Figure 1.

Figure 1. Diagramme de blocs de Vardecimator.

Le chemin de filtrage FIR est un filtre FIR de forme directe modifié. Les coefficients de filtre proviennent de la table de recherche des coefficients (LUT) et changent d’un polyphase à un autre. Un accumulateur est fixé à chacun des sorties multiplicateurs. Il écrase les sorties de tous les polyphases à son prise jusqu’à ce que le signal de basculement indique que toutes les phases ont été visitées et qu’un débit est dû. À ce moment, un adder multiport ajoute tous les extrants de l’accumulateur et génère un échantillon décimé final. En même temps, les accumulateurs effacent le contenu et se préparent au prochain cycle d’accumulation.

La reconfiguration du changement de taux de décimation est obtenue en modifiant la taille de l’incrément de phase de l’accumulation ou de l’étape au moment de l’exécution. Vous pouvez mettre à jour l’incrément de phase en temps réel par un processeur à l’aide de l’interface Avalon® memory-mapped (Avalon-MM). Lorsque le taux de decimation change, le nombre de polyphases accumulés dans le chemin de filtre FIR change également. Afin d’optimiser la plage dynamique, nous pouvons fournir un facteur d’échelonnage reconfigurable aux unités de multiplication et de prélassement et à la sortie finale de l’adder. Vous pouvez également reconfigurer ce registre de contrôle à l’aide d’un processeur à l’aide de l’interface Avalon-MM.

Cet exemple démontre également comment tirer parti de la fonctionnalité de pliage du DSPB-AB. Le pliage, ou le multiplexage par division du temps, réalise automatiquement le partage des ressources et la réutilisation du matériel en fonction des paramètres système spécifiés par l’utilisateur. Il est particulièrement utile dans les conceptions multicanal.

Pour plus d’informations sur la conception des filtres de resamplage dans DSPB-AB, reportez-vous à AN 623 : Utilisez le jeu de composants avancés DSP Builder pour implémenter des filtres de resamplage (PDF).

Téléchargez les fichiers utilisés dans cet exemple :

Les fichiers du téléchargement .zip comprennent :

  • vardecimator_rt.mdl— Fichier de conception DSPB-AB pour le filtre de décimation à taux variable
  • setup_vardecimator_rt.m— Script MATLAB pour configurer l’initialisation et les paramètres de vardecimator_rt.mdl
  • stop_vardecimator_rt.m— Script MATLAB pour le filtrage de décomation variable à taux variable et le comparer à la forme d’ondes d’entrée
  • vardecimator_rt_bare.mdl— Fichier de conception basé sur vardecimator_rt.mdl. Certains blocs de banc d’essai non synthétables sont supprimés pour la génération RTL

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.