Filtre passe-bas dans MATLAB

Ammar Ali 20 janvier 2022
Filtre passe-bas dans MATLAB

Ce tutoriel abordera l’utilisation de la fonction lowpass() pour concevoir et filtrer un signal dans Matlab.

Utilisez la fonction lowpass() pour concevoir et filtrer un signal dans MATLAB

Un filtre passe-bas est utilisé pour filtrer les signaux basse fréquence à partir d’un signal contenant plusieurs fréquences.

Par exemple, si nous avons un signal qui contient deux signaux de fréquences différentes et que nous voulons filtrer le signal basse fréquence. Nous pouvons le faire en utilisant un filtre passe-bas qui n’autorisera que les composantes basse fréquence du signal d’entrée et bloquera le signal haute fréquence.

Dans MATLAB, nous pouvons utiliser la fonction intégrée lowpass() pour filtrer un signal.

Nous devons passer le signal d’entrée, la fréquence de bande passante et la fréquence d’échantillonnage du signal d’entrée dans la fonction lowpass(). Le signal d’entrée doit être un vecteur ou une matrice de type simple ou double.

La fréquence de la bande passante doit être comprise entre 0 et la moitié de la fréquence d’échantillonnage. Le taux d’échantillonnage doit être un scalaire réel positif.

Par exemple, créons un signal, ajoutons du bruit aléatoire et filtrons-le à l’aide de la fonction lowpass(). Voir le code ci-dessous.

clc
clear
freqS = 1e3;
time = 0:1/freqS:1;
signal = [1 2]*sin(2*pi*[50 250]'.*time) + randn(size(time))/10;
lowpass(signal,150,freqS)

Production :

filtre passe-bas des tons

Le signal bleu est le signal d’entrée dans la sortie, et l’autre est le signal filtré.

Comme vous pouvez le voir sur la figure ci-dessus, le signal basse fréquence est filtré. Vous pouvez également consulter le graphique du spectre de puissance pour vérifier la fréquence de bande passante à laquelle le signal est filtré.

Vous pouvez utiliser le code ci-dessus pour filtrer un bruit ou une tonalité haute fréquence à partir d’un signal musical. Vous pouvez également enregistrer la sortie de la fonction lowpass() dans une variable, mais vous devez la tracer séparément.

Si nous ne spécifions aucune sortie, la fonction lowpass() tracera le signal d’origine et filtré sur le même graphique avec leur tracé dans le domaine fréquentiel. Nous pouvons définir d’autres propriétés de la fonction lowpass() comme l’atténuation de la bande d’arrêt, la pente du filtre passe-bas et le type de réponse impulsionnelle du filtre.

On peut aussi filtrer les données d’un emploi du temps grâce à la fonction lowpass(). La fonction lowpass() filtre toutes les variables de l’horaire et toutes les colonnes à l’intérieur de chaque variable.

Par défaut, la fonction lowpass() utilisera n’importe quelle réponse impulsionnelle. Pourtant, nous pouvons le changer en réponse impulsionnelle finie en passant la chaîne sapin ou réponse impulsionnelle infinie en passant la chaîne iir dans la fonction lowpass() en utilisant la propriété ImpulseResponse.

La valeur de pente par défaut est de 0,85, mais nous pouvons la définir sur n’importe quelle valeur dans l’intervalle de 0,5 à 1 en utilisant la propriété steepness. L’atténuation par défaut de la bande d’arrêt est de 60, mais nous pouvons modifier n’importe quel scalaire positif en dB en utilisant la propriété StopbandAttenuation.

Pour changer une propriété, il faut passer sa valeur par son nom comme lowpass(....,'StopbandAttenuation', 60).

Auteur: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook