Comment améliorer les performances des filtres LMS (Least Means Squares) / NLMS?


14

Existe-t-il des moyens d'augmenter les performances de calcul d'un filtre des moindres carrés normalisés (NLMS)? Des filtres de domaine de fréquence (MDF) à blocs à plusieurs relais ont été proposés pour cela, mais ils enlèvent également la vitesse et la précision de convergence, car ils ne mettent à jour la réponse impulsionnelle estimée qu'une fois par bloc, pas une fois par échantillon. Existe-t-il d'autres méthodes?

Réponses:


6

Si vous voulez implémenter l'algorithme NLMS "standard" sans couper aucun coin, alors vous n'allez probablement pas trouver une structure beaucoup plus efficace. Les formes de filtrage LMS par blocs visent à utiliser des techniques de convolution rapides (comme chevauchement-sauvegarde ou chevauchement-ajout) pour accélérer cette partie du processus. Cependant, comme vous l'avez noté, les coefficients de filtre ne sont mis à jour que par bloc, car le filtre doit être constant sur le bloc pour utiliser l'approche de convolution rapide.

La nature hautement récursive de NLMS va vous limiter si vous souhaitez conserver la caractéristique de mise à jour échantillon par échantillon. Bien que l'action de filtrage ne soit pas récursive, les coefficients de filtre à l'instant N sont fonction des coefficients à l'instant N-1, ce qui limite votre capacité à accélérer le processus en utilisant le parallélisme ou le calcul orienté bloc. Comme dans la plupart des cas, il n'y a pas de déjeuner gratuit: si vous voulez du NLMS pur, alors il vaut mieux l'implémenter.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.