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!
la source
Réponses:
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ù:
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
la source
http://ezcodesample.com/UAF/UAF.html voici un exemple avec des exemples de codage de filtrage adaptatif non linéaire.
la source