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

Traitement du signal Discussion :

Algorithme pour filtre


Sujet :

Traitement du signal

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Mai 2009
    Messages : 62
    Points : 22
    Points
    22
    Par défaut Algorithme pour filtre
    Bonjour,
    Je fais de l'analyse de donnees sous matlab et je ne possede pas la tool box (fir1, butter,..) qui me permet de filtrer mon signal par un passe bas.

    Voici ma version de matlab:

    MATLAB Version 7.4.0.287 (R2007a)
    MATLAB License Number: XXXXX
    Operating System: SunOS 5.10 Generic_118833-17 sun4u
    Java VM Version: Java 1.5.0_07 with Sun Microsystems Inc. Java HotSpot(TM) 64-Bit Server VM mixed mode
    -------------------------------------------------------------------------------------
    MATLAB Version 7.4 (R2007a)
    Simulink Version 6.6 (R2007a)

    Trademarks
    ------------------
    MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, and xPC
    TargetBox are registered trademarks and SimBiology, SimEvents, and
    SimHydraulics are trademarks of The MathWorks, Inc. Other product or
    brand names are trademarks or registered trademarks of their respective
    holders.
    Je souhaite donc trouver une methode (algorithme) me permettant de le faire avec les moyens que j'ai.

  2. #2
    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.
    Tu peux programmer un passe-bas d'ordre un avec l'équation récurrente :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    clear
    T=0.01;fe=1/T;
    N=10;
    tau=0.1;%Constante de temps du filtre
    t=1:T:N;
    Nx=length(t);
    beta=exp(-T/tau)
    alpha=1-beta;
    num=alpha;%Numérateur
    den=[1 -beta];%Dénominateur
    x=sin(2*pi*0.1*t)+0.2*rand(1,Nx);
    y(1)=x(1);%Initialisation
    for n=2:Nx
        y(n)=alpha*x(n)+beta*y(n-1);%Equation recurrente
    end
    plot(t,x,'b');hold on
    plot(t,y,'r')
    grid
    figure(2)
    dbode(num,den,T)
    grid
    Tu as deux paramètres :
    La constante de temps tau
    La période d'échantillonnage T

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Mai 2009
    Messages : 62
    Points : 22
    Points
    22
    Par défaut
    Merci de ta reponse, je test et je te tiens au courant.
    Je me focalise aussi sur la fft qui n'est pas si simple que cela a bien comprendre et a appliquer sur des cas experimentaux.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Mai 2009
    Messages : 62
    Points : 22
    Points
    22
    Par défaut
    Je viens de le tester.
    Je me suis mal exprime et je m'excuse. J'ai deja un script qui me permet de lisser mes data avant de prendre leur FFT.

    En fait, ce que je souhaite faire c'est filtrer dans l'espace de fourier, filtrer mes FFT par un basse bas, comme sa je coupe le bruit du aux hautes frequences, les basses frequences materialisent la forme du pics reel (dans l'espace reel).

    Apres en faisant IFFT j'obtiens un meilleur lissage car en fait mes datas sont issues d'experiences, c'est des genres de pics plus ou moins gaussiens, lorentziens (vraiment en gros). La forme de ces pics est importante et je perd trop d'informations si je les lisse dans l'espace reelle.

    Donc voila, il y a t'il une possibilite de faire une fonction filtre passe bas dans l'espace de fourier sachant que je ne possede pas toutes les tools box essentielle pour le faire.

    Il y aurait bien une maniere "boeuf" de le faire. Faire un script qui remplace par des zero les valeurs de ma TF a partir d'une certaine frequence de coupure.

  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
    filtrer dans l'espace de fourier
    Un exemple là :
    http://www.developpez.net/forums/d54...es-signal-wav/

Discussions similaires

  1. algorithme pour calcul de probabilité
    Par filsdugrand dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 14/12/2005, 14h11
  2. Quel algorithme pour insertion d'objets "triés" da
    Par phplive dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2005, 09h27
  3. Algorithme pour trier trois nombres
    Par legosam dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 17/01/2005, 21h47
  4. Algorithme pour chiffres significatifs en Assembleur
    Par lutin2003 dans le forum Assembleur
    Réponses: 5
    Dernier message: 09/09/2004, 10h47
  5. interfaces pour Filtres DirectShow
    Par Chupakabra dans le forum DirectX
    Réponses: 1
    Dernier message: 23/05/2003, 14h54

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