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 :

Filtre en peigne


Sujet :

Signal

  1. #21
    Membre du Club
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    96
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 96
    Points : 45
    Points
    45
    Par défaut
    bonjour
    apparemment le problème vient de mon signal parce que quand je simule n'importe quel signal avec cette période ca marche mais avec mon signal ca ne marche pas ( j'en désespère
    voici mon signal en format .mat : sm.mat

    et en format .dat sm.dat

    je te remercie énormément de te donner autant de peine pour moi

  2. #22
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    j'ai tout d'abord un enorme pic à zero qui est apparemment du aux effets de bord
    Les effets de bord n'ont rien à voir là dedans, la valeur centrale de la fft correspond à la composante continue (qui est ici de mean(sm) = 960!!)
    Donc ce pic étant très grand, il 'cache' le reste des pics qui sont bien moins élevés.
    Je te conseille donc de ramener la moyenne de ton signal à 0 avant d'effectuer le calcul de la fft:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sm_moy = sm - mean(sm);

  3. #23
    Membre du Club
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    96
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 96
    Points : 45
    Points
    45
    Par défaut
    bonjour,
    je te remercie vraiment , ça m'a effectivement atténué le pic en zéro, un problème de résolu
    les autres pics sont maintenant plus visibles.
    mais le plus grand pic n'est toujours pas au point 1.22 mais au 6.25 je ne sais toujours pas qu'elle est l'explication de cela, je ne sias pas quoi faire :'(((((

  4. #24
    Membre du Club
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    96
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 96
    Points : 45
    Points
    45
    Par défaut
    j'ai meme essayé de faire celà sur le produit multiechelle de mon signal , ce qui est sensé être plus simple



    mais j'ai le resultat suivant:



    j'ai l'impression que ma figure est à l'envers, est ce que c'est possible?? et comment corriger celà??
    Merciiiiiiii de m'aider je suis vraiment désespérée

  5. #25
    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.
    Étude du signal :
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    %Etude du signal brut
    clear
    load sm_coeur.dat;
    Fe=360;Te=1/Fe;Ts=1/1.22;
    m=sm_coeur;m=m-mean(m);
    n=length(m);
    plot((1:n)*Te,m);grid
    Nx=length(m);
    FFT_size=length(m);
    X=fft(m,Nx);
    figure(2)
    tf=fft(m,Nx);
    w=Fe*(0:Nx-1)/Nx;
    plot(w(1:fix(Nx/50)),abs(tf(1:fix(Nx/50))));
    grid
    xlabel('Fréquences en Hz')
    title('Module de la fft')
    %Densité spectrale
    Pxx = X.* conj(X) / Nx;
    f = Fe*(0:Nx-1)/Nx;
    figure(3)
    plot(f(1:100),Pxx(1:100))
    title('Spectre de puissance y')
    xlabel('frequence (Hz)')
    grid
    [P,fd]=psd(m,Nx,Fe,w,0 );
    figure(4)
    plot (fd(1:100),P(1:100)); 
    grid
    title('DSP y')
    xlabel('frequence (Hz)')
    Étude des impulsions (apodisation) :
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    Etude des impulsions
    clear
    load sm_coeur.dat;
    Fe=360;Te=1/Fe;Ts=1/1.22;
    m=sm_coeur;m=m-mean(m);
     for k=1:length(m)
         if m(k)<40
             m(k)=0;
         else
             m(k)=m(k);
         end
     end
    n=length(m);
    plot((1:n)*Te,m)
    grid
    Nx=length(m);
    FFT_size=length(m);
    X=fft(m,Nx);
    figure(2)
    tf=fft(m,Nx);
    w=Fe*(0:Nx-1)/Nx;
    plot(w(1:fix(Nx/50)),abs(tf(1:fix(Nx/50))));
    grid
    xlabel('Fréquences en Hz')
    title('Module de la fft')
    Pxx = X.* conj(X) / Nx;
    f = Fe*(0:Nx-1)/Nx;
    figure(3)
    plot(f(1:100),Pxx(1:100))
    title('Spectre de puissance y')
    xlabel('frequence (Hz)')
    grid
    [P,fd]=psd(m,Nx,Fe,w,0 );
     figure(4)
     plot (fd(1:100),P(1:100)); 
     grid
     title('DSP y')
    xlabel('frequence (Hz)')
    %Calcul des fréquences
    se=m>200;
     [i,j,v]=find(se==1);
     fs=1./(diff(j)*Te);
    freqs=fs(fs~=360)
    disp(['Fréquences successsives en Hz = ' num2str(freqs)])
    1) Les résultats sont cohérents.
    2) L'échantillon du signal est trop court.
    3) Que veux-tu faire ?

  6. #26
    Membre du Club
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    96
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 96
    Points : 45
    Points
    45
    Par défaut
    bonjour,
    je remercie tous enormément et je m'excuse en fait il y avait des choses que j'avais mal comprises, mais ma fft fonctionne correctement grace à vous. encore merci
    il reste le problème du filtrage
    j'essai de realiser un filtre en peigne, à chaque pic de la fft le filtre est egale à 0 et à 100 ailleur, mais lorsque je les multiplie je ne trouve pas un signal nul comme il fodrait que ce soit.
    vous avez une idée de comment faire pour filtrer mon signal??
    voici ma fft

    et voici mon filtre

    Merci de m'aider

  7. #27
    Membre du Club
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    96
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 96
    Points : 45
    Points
    45
    Par défaut
    j'ai aussi un problème à faire la fft inverse pour savoir si mon résultat est juste ou pas
    j'ai essayé cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    vf=ifft(e,Nx);
    fv=abs(vf(1:fix(Nx/50)));
    plot(fv)
    mais il y a apparemment une erreur

  8. #28
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Il te faut prendre la partie réelle et non la valeur absolue comme on le fait pour la fft.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    vf=ifft(e,Nx);
    fv=real(vf(1:fix(Nx/50)));
    Citation Envoyé par angelmn
    mais lorsque je les multiplie je ne trouve pas un signal nul comme il fodrait que ce soit.
    Pourrais-tu préciser ce que tu entends par nul?

  9. #29
    Membre du Club
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    96
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 96
    Points : 45
    Points
    45
    Par défaut
    je te remercie pour ta réponse
    en fait ce que je veux faire c'est filtrer le signal de façon à l'annuler complètement.
    la fréquence de mon signal est à 1.25 comme tu vois sur la fft donc j'ai réalisé ce qui est supposé être un filtre de période 1.25 et je le multiplie par la fft de mon signal , je suis sensée réaliser la fft inverse et retrouver un signal nul.

    mais pour le moment même en voulant faire la fft inverse de la fft de mon signal je retrouve quelque chose de différent de mon signal(en affichant la partie réelle seulement comme tu ma dit de faire).

    si vous pouviez trouver une solution soit au pb de la ifft ou encore au plus gros problème celui du filtrage je vous serez reconnaissante

  10. #30
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par angelmn Voir le message
    ce que je veux faire c'est filtrer le signal de façon à l'annuler complètement.
    Je ne vois vraiment pas l'utilité de faire une telle chose, passer par la fft, appliquer un filtre afin d'obtenir un signal complètement nul!
    Autant faire un signal = zeros(longueur,1);
    Ou mettre à zéro toutes les valeurs de la fft au lieu de vouloir y appliquer un filtre en peigne (qui de toute façon n'amènera pas une fft nulle sur tout le spectre)
    Dernière modification par Invité ; 18/05/2011 à 01h34.

  11. #31
    Membre du Club
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    96
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 96
    Points : 45
    Points
    45
    Par défaut
    oui tu as raison je vais t'expliquer , en fait c'est juste pour être sure que mon filtre fonctionne bien, parce qu'ensuite je vais l'appliquer à un signal qui sera la somme d'un signal similaire à celui que j'ai et un autre signal à une autre fréquence inconnue.
    et j'ai besoin de garder le deuxième signal seulement.
    donc j'essai de trouver un filtre capable d'annuler le premier signal puisque j'en connais la fréquence.
    la seule idée que j'ai eu c'est de passer par la fft, si tu as une autre idée je serais prenante
    Merci

  12. #32
    Invité
    Invité(e)
    Par défaut
    Ne connaissant pas trop le contexte, peut-être une soustraction spectrale (qui passe par la fft aussi) te conviendrait.

  13. #33
    Membre du Club
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    96
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 96
    Points : 45
    Points
    45
    Par défaut
    bonjour
    si tu pouvais développer un peu plus soustraction spectrale, comment je fais??
    MErci

  14. #34
    Membre du Club
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    96
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 96
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par angelmn Voir le message
    bonjour,
    je remercie tous enormément et je m'excuse en fait il y avait des choses que j'avais mal comprises, mais ma fft fonctionne correctement grace à vous. encore merci
    il reste le problème du filtrage
    j'essai de realiser un filtre en peigne, à chaque pic de la fft le filtre est egale à 0 et à 100 ailleur, mais lorsque je les multiplie je ne trouve pas un signal nul comme il fodrait que ce soit.
    vous avez une idée de comment faire pour filtrer mon signal??
    voici ma fft

    et voici mon filtre

    Merci de m'aider
    svppppp quelqu'un sait il pourquoi ce filtre ne fonctionne pas je desespèèèère!!!

  15. #35
    Membre du Club
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    96
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 96
    Points : 45
    Points
    45
    Par défaut
    j'ai essayé d'ameliorer ma fft et de refaire un filtre c'est affiché en rouge sur la fft mais ca donne le resultat de la figure en dessous ce qui est complètement faux. quelqu'un peut il maider svpppp

Discussions similaires

  1. Filtrage par filtre en peigne
    Par jena dans le forum Signal
    Réponses: 9
    Dernier message: 10/01/2013, 12h52
  2. filtre en peigne avec une bande passante rectangulaire
    Par jena dans le forum Algorithmes et structures de données
    Réponses: 0
    Dernier message: 05/02/2008, 19h48
  3. filtre de peigne
    Par jena dans le forum Signal
    Réponses: 4
    Dernier message: 27/04/2007, 10h25
  4. Filtre de peigne dans un cepstre
    Par jena dans le forum Signal
    Réponses: 6
    Dernier message: 11/04/2007, 00h17
  5. Filtre passe bas et filtre de peigne
    Par jena dans le forum Signal
    Réponses: 8
    Dernier message: 04/02/2007, 15h53

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