Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Discussion: Filtrer un signal

  1. #1
    Invité de passage
    Homme Profil pro
    Inscrit en
    juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : juin 2011
    Messages : 7
    Points : 1
    Points
    1

    Par défaut Filtrer un signal

    Bonjour,

    J'aimerais filtrer un signal. Le signal est échantillonné à 6000 Hz et je voudrais le filtrer pour ne garder que les composantes entre 2800 Hz et 2950 Hz (passe-bande).

    Comment faire ?

    Merci !

  2. #2
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro Florent
    Ing. Aérospatiale
    Inscrit en
    juin 2003
    Messages
    708
    Détails du profil
    Informations personnelles :
    Nom : Homme Florent
    Âge : 26
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juin 2003
    Messages : 708
    Points : 947
    Points
    947

    Par défaut

    Tu devrais pouvoir t'en sortir avec
    et http://fr.wikipedia.org/wiki/Filtre_passe-bande
    Ca donne quelque chose comme :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    signalEntree = rand(1000,1);
    t = 0:1/6000:1/6000*(1000-1);
    
    w1 = 2800/2/pi;
    w2 = 2950/2/pi;
    w0 = sqrt((w1*w2));
    Q = w0/(w2-w1);
    passeBandeContinu = tf([1 0],[Q/w0 1 Q*w0]);
    passeBandeDiscret = c2d(passeBandeContinu,1/6000);
    signalFiltre = filter(passeBandeDiscret.num{1},passeBandeDiscret.den{1},signalEntree);
    
    %Observation du bode
    figure;
    bode(passeBandeContinu,[w1:1:w2 w2]);
    
    %observation de la réponse impulsionnelle
    figure;
    step(passeBandeContinu,'-',passeBandeDiscret,'--');    
     
    %Observation du résultat filtré
    figure; 
    plot(t,signalEntree);
    hold on;
    plot(t,signalFiltre,'r');

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •