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.