Je cherche a creer un filtre passe-bas sous matlab mais je ne possede malheureusement pas la boite a outil "signal processing". J'ai repere la fonction "filter" mais je ne sais pas quelle valeur assigner aux deux parametres "a" et "b"...
Quelqu'un aurait-t-il un conseil?
(piece jointe: exemple de signal dont je voudrais enlever les composantes au-dessus de 3 kHz)
pour peu que l'anglais ne te rebute pas trop tape:
help filter
ce qui te donne pas mal d'indices sur comment utiliser la fonction filter.
EDIT: Bon j'y ai jeté un coup d'oeil, ça dit:
Y = FILTER(B,A,X)
où B est un vecteur horizontal contenant les coeff du numérateur et A un vecteur horizontal contenant les coeff du dénominateur.
Donc si tu veux faire un filtre FIR par ex, tu renseignes seulement B
B= [0.5 0.5] par ex pour un low pass basique.
Mais lis l'aide, on peut faire beaucoup de choses avec la fonction filter
La courtoisie est de rigueur sur ce forum: pour une demande de renseignements bonjour et merci devraient être des automatismes
Merci d'y penser la prochaine fois.
Rien ne sert de penser, il faut réfléchir avant - Pierre Dac
20/07/2005 - 19h23
bitnick79
Date d'inscription
juillet 2005
Messages
14
Re : filtre passe-bas
Cher JPL,
Bonjour,
Desole, je n'ai en effet pas dit bonjour ni merci. Je n'ai pas d'excuse. Voila ce qui arrive quand on veut aller trop vite. J'espere que personne ne s'est senti offense.
Merci donc a Glattering dont je viens de voir la reponse.
20/07/2005 - 19h27
JPL
Date d'inscription
septembre 2003
Localisation
Banlieue bordelaise
Messages
47 349
Re : filtre passe-bas
Ce n'est pas dramatique. Simplement avant d'aller sur un forum, n'importe lequel, il faut en lire la charte.
À bientôt.
Rien ne sert de penser, il faut réfléchir avant - Pierre Dac
Finalement je me suis plonge dans un bouquin de traitement du signal. Apparement, le vecteur de coefficients "b" pour realiser un filtre FIR avec la fonction "filter" peut etre obtenu de differentes facons. J'ai utilise la methode de la "fenetre" qui consiste a calculer les coefficients a partir de la transforme de Fourier inverse d'un creneau. Je peux fournir plus d'explications et fichier .m si quelqu'un est interesse.
Merci encore a Glattering.
(piece-jointe: signal original et filtre par un passe-bas a coupure a 1kHz)
06/09/2006 - 18h48
kerosix
Date d'inscription
septembre 2006
Messages
1
Re : filtre passe-bas
Bonjour,
je serai tres interesse par ton code source car le filtre passe bas que j'ai reussi a faire n'est pas tres performant et induit un dephasage assez important !
merci d'avance
Kero
ps :
%
% [num,den] = butter(n,Omega)
% n = nombre de poles
% Omega = cutoff frequency
%
%
% filter(num,den,X)
% where X is the data we want to filter
%
%test
n = 2;
Omega = 0.10; %Hz
[num,den] = butter(n,Omega);
X=[];W=[];
for i=-20:0.05:20
X=[X, atan(i)+rand(1)];
W=[W,atan(i)];
end
Y=-20:0.05:20;
Z=filter(num,den,X);
plot(Y,X,Y,Z,Y,W);
06/09/2006 - 19h19
lou_ibmix_xi
Date d'inscription
juin 2006
Localisation
Toulon
Âge
34
Messages
1 204
Re : filtre passe-bas
Salut,
Si je me rappel bien, les filtres qui dephasent le moins dans la bande passante sont les bessel, au prix d'un ripple important (a verifier, cela fait longtemps que je suis sorti de l'ecole). Mais il existe des filtres numerique dit 'a dephasage minimal', je sais que cela existe mais je ne peux pas t'en dire plus... Google est ton ami. En esperant t'avoir aide.