La notion de filtre passe-bas, filtre passe-haut, coupe-bande ou passe-bande peut sembler familière aux électroniciens, en particulier si le signal à traiter est analogique. Un jeu de capacités, de résistances et éventuellement d'amplificateurs opérationnels suffit largement dans la majorité des cas. Le problème, c'est que tous ces beaux composants ne sont plus d'actualités lorsque l'on travaille avec des signaux numériques. A ce niveau, le concepteur d'un filtre numérique travaillera avec des microcontrôleurs ou des processeurs et manipulera un flux de nombre représentant le signal discrétisé.
Dans un monde utilisant de plus en plus le numérique, le filtrage numérique prend donc une place de plus en plus importante. On retrouve aujourd'hui des filtres numériques partout : dans les radios, les téléphones, les télévisions, les home cinémas, mais aussi en informatique, dans les logiciels de traitement audio, les lecteurs multimédias etc. Être capable de comprendre comment fonctionne de tels filtres est donc indispensable lorsque l'on touche au traitement du signal.
Nous allons donc voir dans cet article à quoi correspond concrètement les expressions mathématiques d'un filtre numérique (que l'on peut, par exemple, souvent trouver sur internet) et nous verrons comment implémenter de tels filtres dans un langage de programmation séquentiel. (Je vous fournirais ma bibliothèque codé en C)