À quoi sert un filtre adaptatif?

12

J'ai étudié un peu le filtre adaptatif sur Internet et j'ai trouvé que c'était un filtre spécial qui continuait à mettre à jour sa valeur de filtre dès qu'il se déroulait. Il découvre la différence entre l'entrée et la sortie et en utilisant la fonction d'erreur et les coefficients précédents, il découvre les nouveaux coefficients de filtre.

Mais cela n'a aucun sens. Il essaie toujours de minimiser la différence entre l'entrée et la sortie. Alors, comment est-il utile, s'il essaie de faire passer tous les signaux tels quels.

Quelqu'un peut-il m'expliquer comment il est utilisé dans des applications en temps réel.

Ce sera également bien si vous pouvez m'aider à travers des liens qui pourraient m'aider dans la mise en œuvre d'un filtre numérique adaptatif.

veuillez commenter si je ne suis pas clair pour exprimer mon doute!

Prashant Singh
la source
Dans au moins certaines applications pratiques du filtre adaptatif, il s'agit d'une recherche continue d'un «meilleur ajustement» pour un filtre en sapin (supposé) qui est lui-même inconnu, mais dont l'entrée et la sortie sont connues.
Knut Inge

Réponses:

11

Le concept clé qui vous manque est que vous ne minimisez pas seulement la différence entre les signaux d'entrée et de sortie. L'erreur est souvent calculée à partir d'une 2e entrée. Regardez simplement l'exemple de Wikipédia concernant l'ECG .

Les coefficients de filtre dans cet exemple sont recalculés pour changer la fréquence de coupe-bande d'un filtre coupe-bande en fonction de la fréquence extraite du signal secteur. On pourrait utiliser un filtre coupe-bande statique, mais il faudrait rejeter une gamme de fréquences plus large pour tenir compte de la variabilité de la fréquence du réseau. Le filtre adaptatif suit la fréquence du secteur et la bande d'arrêt peut donc être beaucoup plus étroite, conservant ainsi davantage d'informations ECG utiles.

ÉDITER:

J'ai revu cela et je pense que je comprends un peu mieux votre question. L'algorithme LMS a besoin d'un terme d'erreur pour mettre à jour les coefficients de filtre. Dans l'exemple d'ECG que je paraphrase ci-dessus, je donne le terme d'erreur comme deuxième entrée d'une tension secteur. Maintenant, je suppose que vous pensez: "Pourquoi ne pas simplement soustraire le bruit du signal plus le bruit pour quitter le signal?" Cela fonctionnerait bien dans un simple linéairesystème. Pire encore, la plupart des exemples donnés en ligne vous indiquent (correctement mais de manière confuse) que le terme d'erreur est calculé à partir de la différence entre le signal souhaité et la sortie du filtre adaptatif. Cela laisse toute personne raisonnable penser "Si vous avez déjà le signal souhaité, pourquoi vous embêter à faire tout cela!?". Cela peut laisser le lecteur sans motivation pour lire et comprendre les descriptions mathématiques des filtres adaptatifs. Cependant, la clé se trouve dans la section 18.4 du Digital Signal Processing Handbook , Ed. Vijay K. Madisetti et Douglas B. William.

où:

  • x = signal d'entrée,
  • y = sortie du filtre,
  • W = les coefficients du filtre,
  • d = sortie souhaitée,
  • e = erreur

En pratique, la quantité d'intérêt n'est pas toujours d. Notre désir peut être de représenter en ya une certaine composante de d qui est contenue dans x, ou il peut être d'isoler une composante de d dans l'erreur e qui n'est pas contenue dans x. Alternativement, nous pouvons être uniquement intéressés par les valeurs des paramètres dans W et ne pas nous préoccuper de x, y ou d eux-mêmes. Des exemples pratiques de chacun de ces scénarios sont fournis plus loin dans ce chapitre.

Il existe des situations dans lesquelles d n'est pas disponible à tout moment. Dans de telles situations, l'adaptation ne se produit généralement que lorsque d est disponible. Lorsque d n'est pas disponible, nous utilisons généralement nos estimations de paramètres les plus récentes pour calculer y dans le but d'estimer le signal de réponse souhaité d.

Il existe des situations réelles dans lesquelles d n'est jamais disponible. Dans de tels cas, on peut utiliser des informations supplémentaires sur les caractéristiques d'un d «hypothétique», telles que son comportement statistique prévu ou ses caractéristiques d'amplitude, pour former des estimations appropriées de d à partir des signaux disponibles pour le filtre adaptatif. Ces méthodes sont appelées collectivement algorithmes d'adaptation aveugle. Le fait que de tels schémas fonctionnent même est un hommage à la fois à l'ingéniosité des développeurs des algorithmes et à la maturité technologique du champ de filtrage adaptatif

Je continuerai à construire sur cette réponse quand j'aurai le temps, dans le but d'améliorer l'exemple ECG.

J'ai également trouvé cet ensemble de notes de cours particulièrement bon: Estimation adaptative de traitement du signal avancé et filtres adaptatifs - Danilo Mandic

learnvst
la source
Merci pour l'explication. J'ai entendu dire que les filtres adaptatifs sont implémentés via l'algorithme LMS. Pouvez-vous me donner un lien utile pour que je puisse l'implémenter
Prashant Singh
2
La théorie du filtre adaptatif est complexe et gourmande en mathématiques. Obtenir simplement un pointeur sur ce à quoi ressemble l'algorithme LMS ne vous en dira pas beaucoup. Si vous écrivez un logiciel pour le faire et que cela ne fonctionne pas, vous aurez du mal à comprendre le problème. Cela dit, Wikipedia a une page décente sur le filtre LMS.
Jason R
Merci beaucoup ! J'ai compris le fonctionnement de LMS et je l'ai implémenté: D
Prashant Singh
Vous dites "pour changer la fréquence de coupe-bande d'un filtre coupe-bande en fonction de la fréquence extraite du signal secteur" tandis que l'exemple ECG dit "et soustraire le bruit de l'enregistrement" mais les filtres coupe-bande ne sont pas soustractifs, ils sont multiplicatifs et annulent tous les signaux à une fréquence donnée. Alors, suit-il les fréquences et les phases du signal secteur et les soustrait-il, laissant les signaux souhaités à ces fréquences? Ou cela annule-t-il quoi que ce soit à ces fréquences avec des filtres coupe-bande? Pouvez-vous penser à un meilleur exemple?
endolith