IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Signal Discussion :

filtrer un signal


Sujet :

Signal

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut filtrer un signal
    Bonjour,

    J'ai un signal bruité et j'aimerais le filtrer.
    J'ai déjà essayé une moyenne mobile mais ce n'est pas très efficace et ça m'enlève de l'information.

    je sais qu'il ya des filtres qui peuvent eliminer le bruit.
    Je ne connais pas trop Matlab.

    Merci de votre aide.

    J'ai mis le signal en PJ.
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 881
    Points : 3 429
    Points
    3 429
    Par défaut
    salut

    la moyenne mobile peut donner des résultats très différents en fonction de la taille de la fenêtre glissante utilisée :
    as tu essayé différentes taille de fenêtre ?
    sinon il y a une variante intéressante : la médiane mobile

    tu peux aussi faire des essais avec des filtres du 1er ordre, 2eme ordre, ... (fonction filter)...
    si tu as la Signal Processing Toolbox à ta disposions tu peux avoir d'autres filtres

    enfin si tu as une version récentes de matlab tu as d'autre fonctions intéressantes : smoothdata , rmoutliers, ... entre autre (data-smoothing-and-outlier-detection.html)

  3. #3
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Bonjour,
    Un exemple avec "butter" :
    Tu peux affiner avec les coefficients 6 : ordre du filtre 0.002 : coupure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    clear
    S=load('fichier_temperature.txt');
    x=S(:,1);
    y=S(:,2);
    plot(x,y,'b')
    hold on
    Te=mean(diff(x))
    Fe=1/Te;
    [num,den] = butter(6,0.002,'low');
    [s e]=filter(num,den,y);
    plot(x,s,'r','LineWidth',2)
    grid

  4. #4
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Salut,
    Citation Envoyé par phryte Voir le message
    Bonjour,
    Un exemple avec "butter" :
    Tu peux affiner avec les coefficients 6 : ordre du filtre 0.002 : coupure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    clear
    S=load('fichier_temperature.txt');
    x=S(:,1);
    y=S(:,2);
    plot(x,y,'b')
    hold on
    Te=mean(diff(x))
    Fe=1/Te;
    [num,den] = butter(6,0.002,'low');
    [s e]=filter(num,den,y);
    plot(x,s,'r','LineWidth',2)
    grid


    Merci Vraiment de m'aider, mais j'ai essaye et il me dit qu'il y a un erreur au niveau du filtre[s,e]=filter(num,den,y)
    et je n'arrive pas a comprendre pourquoi, j'ai regarde sur google et il y a pas de raison pour qu'il m'affice ce probleme la.

    Merci

  5. #5
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Bonjoir,
    Fais nous voir ton erreur ou ton code.

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2019
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par phryte Voir le message
    Bonjoir,
    Fais nous voir ton erreur ou ton code.
    Nom : filter_error.png
Affichages : 394
Taille : 21,8 Ko

    Voici l'erreru affiche

  7. #7
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Bonjour,
    Il faut éviter de nommer un fichier exécutable par un nom de code. Ici : filter.m
    Change le nom et efface l’ancien.

Discussions similaires

  1. Filtrer un signal 1D
    Par JeKiffeLesMath dans le forum Signal
    Réponses: 0
    Dernier message: 12/10/2010, 19h14
  2. Filtrer un signal
    Par bassemb dans le forum Signal
    Réponses: 4
    Dernier message: 30/03/2010, 13h19
  3. Filtrer un signal avec une fonction defini
    Par Leonpolou dans le forum Signal
    Réponses: 4
    Dernier message: 26/11/2009, 16h07
  4. comment filtrer un signal bruité en python?
    Par momoh dans le forum Calcul scientifique
    Réponses: 2
    Dernier message: 01/12/2008, 10h16
  5. Filtrer un signal
    Par palikao29 dans le forum Signal
    Réponses: 4
    Dernier message: 08/05/2008, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo