filtrage classiques et combinés
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

filtrage classiques et combinés



  1. #1
    membreComplexe12

    filtrage classiques et combinés


    ------

    salut tous,

    j'ai un signal qui est bruité et j'aimerai savoir comment mathématiquement on filtre ceci (je n'y connais pas grand chose).

    par exemple j'aimerai filtrer les fréquences entre 10 et 50 Hz mais comment faire ?

    => j'ai entendu parlé des filtres passe bas ou passe haut mais je n'ai jamais programmer ce genre de filtre et j'aimerai comprendre comment programmer ceci...
    => j'ai regardé sur wiki et je vois qu'il y a des histoires de fonction de transfert mais elle sort d'où cette fonction de transfert ? et pourquoi ?

    si je veux conserver une certaine gamme de fréquence il faut que j'utilise une combinaison de passe haut et passe bas ?

    merci pour les infos que vous pourrez me donner

    -----
    Dernière modification par membreComplexe12 ; 26/09/2012 à 11h30.

  2. #2
    LPFR

    Re : filtrage classiques et combinés

    Bonjour.
    Si vous le faites par calcul, vous pouvez faire une FFT (Fast Fourier Transform). Mettre à zéro tous les coefficients dans la gamme de fréquences que vous voulez éliminer puis reconstituer le signal avec les autres coefficients.
    Si vous voulez un filtre passe-bande, vous mettez à zéro tous les coefficients, sauf ceux que vous voulez conserver.

    Mais il faut savoir ce que vous faites et pourquoi. En particulier d'où vient le bruit et quelles sont les conséquences du filtrage sur votre signal "utile". Ne vous laissez pas entrainer par les outils mathématiques.
    Au revoir.

  3. #3
    phuphus

    Re : filtrage classiques et combinés

    Bonjour,

    Citation Envoyé par membreComplexe12 Voir le message
    salut tous,

    j'ai un signal qui est bruité et j'aimerai savoir comment mathématiquement on filtre ceci (je n'y connais pas grand chose).

    par exemple j'aimerai filtrer les fréquences entre 10 et 50 Hz mais comment faire ?

    => j'ai entendu parlé des filtres passe bas ou passe haut mais je n'ai jamais programmer ce genre de filtre et j'aimerai comprendre comment programmer ceci...
    => j'ai regardé sur wiki et je vois qu'il y a des histoires de fonction de transfert mais elle sort d'où cette fonction de transfert ? et pourquoi ?

    si je veux conserver une certaine gamme de fréquence il faut que j'utilise une combinaison de passe haut et passe bas ?

    merci pour les infos que vous pourrez me donner
    Que comptes-tu utiliser comme outil ? Un programme que tu fais toi-même ou bien tu es OK pour prendre Matlab / Scilab ?

    Un filtre est assez simple à programmer, c'est une convolution simple ou bien récurrente, et en numérique ça se passe tout seul (simples multiplications / additions d'éléments de tableaux). Le plus difficile est de calculer les coefficients de ton filtre ("filter design"). Regarde ici :

    https://ccrma.stanford.edu/~jos/filt...mentation.html

    Je ne saurais que trop te conseiller de commencer par Matlab / Scilab avant toute chose, ces logiciels possèdent des outils tout faits pour faire des filtres. Ensuite, une fois que tu seras familier avec ces filtres, tu pourras les implémenter dans ton propre programme.

    Si ce qui t'intéresse est juste le résultat, alors utilise plutôt un logiciel audio (Audacity, Audition, etc.). Je sais qu'audition te permet de débruiter très efficacement un signal si tu possède une partie d'enregistrement du bruit seul.

    Quant à conserver une certains bande de fréquences, c'est un filtre passe-bande.

    Citation Envoyé par LPFR
    Si vous le faites par calcul, vous pouvez faire une FFT (Fast Fourier Transform). Mettre à zéro tous les coefficients dans la gamme de fréquences que vous voulez éliminer puis reconstituer le signal avec les autres coefficients.
    Si vous voulez un filtre passe-bande, vous mettez à zéro tous les coefficients, sauf ceux que vous voulez conserver.
    Non, une telle méthode a de trop nombreux inconvénients :
    - les fréquences présentes dans un signal ne sont pas portées uniquement par les coefficients correspondants de la FFT
    - un tel filtre n'est pas causal
    - etc.

  4. #4
    membreComplexe12

    Re : filtrage classiques et combinés

    merci pour vos réponses, en effet j'avais pensé à FFT mais je ne connais pas les inconvénients et du coup je n'étais pas sur que ce soit une bonne idée
    (mais je vais tester quand même pour avoir une idée)

    Citation Envoyé par phuphus Voir le message
    Je ne saurais que trop te conseiller de commencer par Matlab / Scilab avant toute chose, ces logiciels possèdent des outils tout faits pour faire des filtres. Ensuite, une fois que tu seras familier avec ces filtres, tu pourras les implémenter dans ton propre programme.
    en fait c'est tout à fait ce que je souhaiterai faire mais sous matlab je ne suis pas à l'aise avec les filtres (le reste par contre ça va nickel).
    => du coup le filtre passe bande je ne sais même pas comment le faire sous matlab...

  5. A voir en vidéo sur Futura
  6. #5
    phuphus

    Re : filtrage classiques et combinés

    Bonsoir,

    comme tu as l'air de bien connaître Matlab, je ne vais pas te mettre un code détaillé. Je vais donc au plus direct, je suis à ta disposition pour éclairer les zones d'ombre.

    Code:
    % Fichier d'exemple de la définition d'un filtre et de son application
    
    clear all ;
    clc ;
    
    % Définition des données utiles
      Fech    = 20000               ;  % [Hz]
      Nyquist = round(Fech/2)       ;  % [Hz]
      duree   = 1                   ;  % [s]
      t       = [0:1/Fech:1-1/Fech] ;  % Vecteur temps
      Taille  = size(t,2)           ;
      
    % Génération d'un signal de type bruit blanc
      Ab     = 1                       ;
      signal = Ab*(2*rand(1,Taille)-1) ;
      
    % Spectre d'amplitude du signal original
      [spectre, freq] = spectrum(signal,2048,768,hanning(1024),Fech) ;
    
    % Calcul des coefficients du filtre
      Fmin  = 100                                          ;
      Fmax  = 400                                          ;
      [B,A] = butter(5,[Fmin/Nyquist Fmax/Nyquist],'stop') ;
      
    % Filtrage
      signal_filtre = filter(B,A,signal) ;
      
    % Spectre du signal filtré
      [spectre_filtre, freq] = spectrum(signal_filtre,2048,768,hanning(1024),Fech) ;
      
    % Tracés
      semilogx(freq,20*log10(spectre(:,1)),'k','LineWidth',2) ;
      hold on ;
      semilogx(freq,20*log10(spectre_filtre(:,1)),'r') ;
      legend('Spectre du signal original','Spectre du signal filtré') ;

Discussions similaires

  1. Les classiques parmi les classiques
    Par martini_bird dans le forum Mathématiques du supérieur
    Réponses: 53
    Dernier message: 24/08/2015, 08h58
  2. "Les classiques parmi les classiques"
    Par procato dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 19/04/2012, 22h22
  3. PAC et Cycles combinés
    Par JP90 dans le forum Technologies
    Réponses: 9
    Dernier message: 28/12/2009, 21h02
  4. [Blanc] Fiabilité Combinés Gorenje RK62358
    Par jcfpower dans le forum Dépannage
    Réponses: 0
    Dernier message: 28/08/2008, 17h02
  5. mouvements combinés
    Par meca59 dans le forum Technologies
    Réponses: 3
    Dernier message: 22/06/2008, 16h42