Bonjour à tous,
Je reviens vers vous parce que je sèche. Je n'arrive pas à filtrer mon signal de mesure.
- Une image de mon signal brut est visible avec le fichier "fig 1.jpg"
- Un zoom sur le début de mon signal brut est visible avec le fichier "fig 2.jpg"
En regardant rapidement le signal de base (« fig 2.jpg »), je vois qu’au minimum je dois avoir une composante d’environ 300 MHz et peut-être des harmoniques.
Avant de passer au dépouillement proprement dit, je souhaite donc filtrer mon signal pour supprimer ces ondulations. Un filtre passe-haut ou passe-bande(s) pourrait être utile.
J'ai donc essyé la chose suivante en utilisant les fonctions fir1 et filter.
1 2 3 4 5 6
| y = dataSig(:, 2) ;
Fe = dataSig(2, 1) - dataSig(1, 1) ;
Fe = 1/Fe ;
a = 1 ;
b = fir1(5,[0 500e3]/Fe*2,'stop') ;
y_f = filter(b, a, y) ; |
Mais cela ne me donne pas satisfaction :
- la fonction fir1 n'accepte pas de fréquence retative nulle (passage de 0 à 1 Hz),
- l'ordre impair du filtre n'est pas accepté non plus (passage de l'ordre 5 à 4),
- et la fonction résultante du filtrage n'a pas éliminée les ondulations.
J'ai aussi essayé la fonction firls :
b2 = firls(4, [1 500e3 510e3 Fe/2]/Fe*2, [0 0 1 1])
Sans plus de succès !
Est-ce qu'une bonne âme pourrait me donner un coup de main ?
Merci d'avance.
Stéphan
Partager