filtre bandpass démodulation matlab
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

filtre bandpass démodulation matlab



  1. #1
    invitef9aa98cd

    filtre bandpass démodulation matlab


    ------

    Bonjour à tous !

    je souhaite démoduler un signal avec matlab. actuellement ça fonctionne bien avec juste un passe bas, mais ma finalité étant de multiplier mon signal pour le décaler en fréquence, je dois utiliser un passe bande très sélectif (butterworth d'ordre 10 qui passe entre 97 et 100Hz).

    mon code à l'aire correcte (pas d'erreur) mais lorsque j'utilise ce filtre, mon résultat est incorrecte et bien bizarre !

    Code:
    fe=1000; 
    Fc1=97; 
    w1=2*Fc1/fe;
    Fc2=100; 
    w2=2*Fc2/fe;
    
    [b, a] = butter(10, [w1 w2], 'bandpass');
    f = filter(b, a, p);
    j'ai mis en pièce jointe le résulta.

    merci d'avance

    -----
    Images attachées Images attachées  

  2. #2
    phryte

    Re : filtre bandpass démodulation matlab

    Bonjour.
    Je te propose :
    Code:
    clear
    fe=1000;
    t=(1:fe)/fe;
    x=sin(2*pi*t*98);
    plot(t,x)
    grid
    Fc1=97;
    Fc2=100;
    [b,a]=butter(2,[Fc1 Fc2]/(fe/2));
    f=filter(b,a,x);
    hold on
    plot(t,f,'r')

  3. #3
    invitef9aa98cd

    Re : filtre bandpass démodulation matlab

    ton code me donne à peu de chose prèt la meme forme d'onde, de plus tu utilise seulement un ordre 3, j'ai besoin de quelque chose de supérieur afin de couper à 100hz, et pas à 101.....

    avez vous une idée ?

  4. #4
    phryte

    Re : filtre bandpass démodulation matlab

    tu utilise seulement un ordre 3
    Pardon, il faut un nb pair !
    Cela marche jusqu'à 6.

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

    Re : filtre bandpass démodulation matlab

    pourquoi seulement un orde paire ?

  7. #6
    phryte

    Re : filtre bandpass démodulation matlab

    Parce que dans : [b,a] = butter(n,[f1 f2]) n est l'ordre 2n du filtre.

  8. #7
    pamath

    Re : filtre bandpass démodulation matlab

    Bonjour à tous,

    D'avance je vous remercie pour votre aide.

    Je veux raliser un filtre avec Butterworth sur un signal du niveau d ela mer (marée) mais, matlab me donne un message d'erreuret me dit que votre cuttof doit être compris entre (0 , 1).

    Voici mon filtre pour le signal enregistré avec un pas de mesure de 60 s (0.016 Hz) est (niv.dat est le nom du fichier ayant deux colonnes x: élévation de la mer et t: temps (pas de 60 s) 0, 60 , 120, ...
    Je veux filtrer ce signal entre 0.00002 et 0.008

    load niv.dat;
    fe=0.016;
    x=niv(:,1);
    t=niv(:,2);
    plot(t,x)
    grid
    Fc1=0.00002;
    Fc2=0.008;
    [b,a]=butter(2,[Fc1 Fc2]/(fe/2));
    f=filter(b,a,x);
    hold on
    plot(t,f,'r')

    En revanche, j'ai un autre signal de vagues, cette fois-ci, mesurées à un pas de fréquence de 2Hz (toutes les 0.5 s) et le filtre marche bien avec ce signal (vagues.dat c'est le nom du fichier). j'ai extrait les signaux compris entre 0.003 et 0.03 Hz et ca marche!

    load vagues.dat;
    fe=2;
    x=vagues(:,1);
    t=vagues(:,2);
    plot(t,x)
    grid
    Fc1=0.003;
    Fc2=0.03;
    [b,a]=butter(2,[Fc1 Fc2]/(fe/2));
    f=filter(b,a,x);
    hold on
    plot(t,f,'r')

    Je ne comprnds pas comment avec le même code matlab ca marche pour les vagues et quand je l'applique sur la marée il me dit que votre cuttof doit être compris entre 0 et 1 alors dans mon code il est entre Fc1=0.00002;
    Fc2=0.008;

    Merci de m'aider

    Bien à vous

    Maps

Discussions similaires

  1. filtre passe bande sous matlab
    Par invite522722ae dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 10/12/2008, 13h30
  2. filtre passe tout sous matlab
    Par invite611f7ca3 dans le forum Électronique
    Réponses: 1
    Dernier message: 08/05/2008, 13h07
  3. [Debutant] Filtre Butterworth Matlab
    Par invite21c39dcd dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 15/12/2007, 00h02
  4. filtre à particules sous matlab
    Par invited58ee606 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 12/08/2007, 23h09
  5. Démodulation d'enveloppe MATLAB
    Par invite81c5a5ad dans le forum Électronique
    Réponses: 3
    Dernier message: 04/08/2007, 11h28