filtrage
Répondre à la discussion
Affichage des résultats 1 à 23 sur 23

filtrage



  1. #1
    invitefa15af9f

    filtrage


    ------

    bonsoir;
    s'il vous plait quelqu'un peut me guider pour filtrer un signal composite pour avoir seulement le signal sinusoidale.
    le signal composite=bruit blan+5*cos(2*pi*150*t)
    j'ai utilisé un filtre passe bas de chebyshev sur matlab à l'aide de l'instruction suivante cheby1(4,0.5,2*fc1/fe) (avec fc1=200) mais ça marche pas car dans le spectre du signal obtenu aprés filtrage il y a beaucoup des ondulation( normalement on veut avoir un seul pic).
    merci d'avance

    -----

  2. #2
    invitea29b3af3

    Re : filtrage

    salut,

    Difficile de dire ce qui ne va pas sans ton code en entier. Tu peux l'ajouter?
    Puisque tu n'utilises pas la fréquence normalisée dans ton cosinus (tu as mis 150 au lieu de 150*2/fe), est-ce que ton vecteur t est spécifié correctement? Du genre t=(0:999)*2/fe pour un signal de longueur 1000.

  3. #3
    invitefa15af9f

    Re : filtrage

    bonjour,
    oui je crois qu"ils sont correctes t=[0:Te:tmax-Te];f =[0:1/tmax:fe-1/tmax]; tmax=0.1;fe=8000; non?

  4. #4
    invitef17c7c8d

    Re : filtrage

    Citation Envoyé par achrafkaran Voir le message
    bonjour,
    oui je crois qu"ils sont correctes t=[0:Te:tmax-Te];f =[0:1/tmax:fe-1/tmax]; tmax=0.1;fe=8000; non?
    et la variable Te, est-elle définie ??

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

    Re : filtrage

    Citation Envoyé par lionelod Voir le message
    et la variable Te, est-elle définie ??
    oui elle est défini voilà le programme que j'ai fait:
    Code:
    tmax=0.1;fe=8000;Te=1/fe;N=fe*tmax;
    t=[0:Te:tmax-Te];
    f=[0:1/tmax:fe-1/tmax]; 
    x=5*cos(2*pi*(2/8000)*150*t);
    x1=randn(size(x));
    subplot(331)
    plot(f,abs(x1));
    X=x1+x;%signal composite
    figure(2)
    subplot(332);plot(f,abs(x));title('spectre d amplitude du signal sinusoidale');
    subplot(333);plot(x);title('signal sinusoidale en fonction du temps');
    subplot(334);plot(x1);title('bruit blan en fonction du temps');
    subplot(335);plot(X);title('signal composite en fonction du temps');
    k=0:149;
    fc1=200;
    [b,a]=cheby1(4,0.5,2*fc1/fe);
    y=filter(b,a,X);
    subplot(336);
    plot(y);title('signal filtré en fonction du temps');
    subplot(615);plot(f,abs(y));title('spectre d amplitude du signal filtré');

  7. #6
    invitea29b3af3

    Re : filtrage

    euh... est-ce que tu es sûr d'avoir bien compris ce qu'est le spectre d'un signal ?... Le spectre d'un signal c'est la décomposition d'un signal sur la base de Fourier, donc c'est l'ensemble de ses composantes fréquentielles, pas temporelles. Quand tu fais:
    Code:
    plot(f,abs(x))
    ça n'a strictement aucun sens, car f c'est des valeurs de fréquences et x est un signal temporel. Pour avoir le spectre de x, il faut faire sa transformée de Fourier (fonction fft). Va lire la doc (en particulier l'exemple, qui est exactement le même cas que le tien).
    http://www.mathworks.com/help/techdoc/ref/fft.html
    Tu verras que ça fonctionne parfaitement. Utilise le code de l'exemple et adapte-le à ton cas.

    2e chose: tu as écrit:
    Code:
    t=[0:Te:tmax-Te];
    x=5*cos(2*pi*(2/8000)*150*t);
    Donc ici ton vecteur t est normalisé (c'est-à-dire divisé par fe/2). Donc il ne faut pas que tu normalises également la fréquence à la ligne suivante! Ta fréquence normalisée c'est 150/(8000/2) autrement dit 2/8000*150. Si tu multiplies ca par t comme tu l'as fait dans le signal x, alors tu as normalisé 2 fois! (autrement dit tu as divisé 2 fois par fe/2 !). Il faut soit normaliser la temps, soit la fréquence, mais pas les deux! Donc écris plutôt:
    Code:
    t=[0:Te:tmax-Te];
    x=5*cos(2*pi*150*t);

  8. #7
    invitefa15af9f

    Re : filtrage

    merci pour votre explication.
    j'ai une autre question: est ce que le filtre que j'avais choisi est bon???
    merci d'avance.

  9. #8
    invitea29b3af3

    Re : filtrage

    Oui,le filtre est bon. Tu verras bien sûr encore quelque composante de bruit en dessous de 200 Hz puisque tu as filtré passe bas, et non passe-bande. Mais les composantes en dessus de 200 seront éliminées.

  10. #9
    invitefa15af9f

    Re : filtrage

    merci ;
    Donc c'est mieux d'utiliser un filtre passe bande??

  11. #10
    invitea29b3af3

    Re : filtrage

    ça dépend de ce que tu veux faire. Mais si tu veux garder uniquement le pic du signal, alors oui.

  12. #11
    invitefa15af9f

    Re : filtrage

    oui parceque je veux seulement filtrer le signal composite de son bruit

  13. #12
    invitefa15af9f

    Re : filtrage

    bonjour;
    s'il vous plait.
    quelle est la démarche qu'on peut suivre pour limiter les basses fréquences et les haute fréquence d'un signal à partir de son spectre ???
    merci d'avance

  14. #13
    invitea29b3af3

    Re : filtrage

    Qu'est-ce que tu entends par limiter? Atténuer ou filtrer complètement?

    Sinon, ben tout simplement tu affiche son spectre, tu regardes à partir de quelles fréquences tu veux couper, tu crées un filtre et tu filtres

  15. #14
    invitefa15af9f

    Re : filtrage

    par exemple pour un signal audio je veux séparer les voix graves et aigues
    le probléme c'est que: je connais pas où se trouve exactement ces voix.
    merci d'avance

  16. #15
    invitea29b3af3

    Re : filtrage

    Alors là c'est nettement plus complexe, car la voix humaine s'étale sur une large bande de fréquences (jusqu'à 7000 Hz en général). Voir ici l'image de droite:
    http://en.wikipedia.org/wiki/File:Vo...d_spectrum.png
    Et qu'on aie un voix "aigue" ou "grave", on possède tous des composantes à toutes ces fréquences-là. Une voix "grave", par exemple une voix d'homme, aura simplement plus d'énergie dans les basses fréquences que celle d'une femme, mais la femme a quand même des composantes fréquentielles graves, et vice-versa. Donc c'est malheureusement quasi-impossible de séparer des voix.

  17. #16
    invitefa15af9f

    Re : filtrage

    mais je crois que c'est souvent les voix graves et aigues representent respectivement les basses et les hautes fréquences.non??
    si j'ai bien compris, vous voullez dire que peut etre les basses fréquence d'une voix d'un homme representent les hautes fréquences chez les femmes.
    merci d'avance

  18. #17
    invitea29b3af3

    Re : filtrage

    mais je crois que c'est souvent les voix graves et aigues representent respectivement les basses et les hautes fréquences.non??
    Non, ça c'est vrai pour les sons. Mais une voix est faite de plusieurs sons (de fréquences) différentes.
    si j'ai bien compris, vous voullez dire que peut etre les basses fréquence d'une voix d'un homme representent les hautes fréquences chez les femmes.
    Non, pas du tout.
    Je te fais un exemple. Admettons pour simplifier que les composantes fréquentielles de la voix sont toutes des multiples de 100: 100,200,300,400,.. 6700,6800,6900,7000 Hz. La voix d'un homme contient toutes ces fréquences. La voix d'une femme aussi. Sauf que si tu regardes l'énergie de chacune de ces fréquences dans le spectre de l'homme, les fréquences basses auront un peu plus d'énergie chez l'homme que chez la femme. Autrement dit, on retrouvera un peu plus de basses fréquences chez l'homme que chez la femme. Mais ça n'empêche pas qu'il y a également ces mêmes basses fréquences chez la femme! Seulement un peu moins. Et de la même manière, la voix de l'homme contient également des hautes fréquences jusqu'à 7000 Hz, mais un peu moins que la femme. C'est pour ça que notre oreille "entend" une voix qui est en moyenne plus aigue chez la femme que chez l'homme.

  19. #18
    invitefa15af9f

    Re : filtrage

    j'ai bien compris merci beaucoup
    la différence est seulement au niveau de l'énergies spectrale.
    dites moi la notion de haute et basse fréquence est relative à mon signal. n'est ce pas? vraiement ce que j'ai pas bien compris c'est : si on a le spectre d'amplitude de n'importe quel signal et on veut diviser l'axe des fréquence en BF et HF dans ce cas que doit je faire???
    merci d'avance

  20. #19
    invitea29b3af3

    Re : filtrage

    dites moi la notion de haute et basse fréquence est relative à mon signal. n'est ce pas?
    Oui tout à fait.
    si on a le spectre d'amplitude de n'importe quel signal et on veut diviser l'axe des fréquence en BF et HF dans ce cas que doit je faire???
    Ca, ça dépend. Par exemple pour la voix on pourrait dire que les basses fréquences vont de 0 à 500 Hz et les hautes de 2000 à 7000 Hz. (et entre deux, c'est des fréquences "moyennes"). Mais tu peux définir ça comme tu veux. Tu pourrais dire BF c'est < 1500 et HF c'est > 1500.

    Encore une chose : comme on voit sur l'image de droite là (http://en.wikipedia.org/wiki/File:Vo...d_spectrum.png) la plupart des composantes fréquentielles (en tout cas les plus importantes) se trouves en-dessous de 4000 Hz, y compris chez la femmes. La raison pour laquelle on a quand même des composantes jusqu'à 7000 Hz c'est à cause de certaines consonnes comme le "F", "S" ou "CH". Regarde les images au chapitre "Voyelles et consonnes" de ce site: http://charles.platel.pagesperso-ora...musima/ch4.htm
    On voit bien que les ondes de ces consonnes oscillent beacuoup plus vite que celles des voyelles, donc elles sont faites de beaucoup plus hautes fréquences que les voyelles. Une dernière chose intéressante: tu t'es déjà demandé pourquoi la voix d'une personne au téléphone sonne légèrement différente de la vraie voix? Tout simplement parce que les signaux téléphoniques sont filtrés passe-bande entre 300 et 3400 Hz (là où se trouvent les composantes principales de la voix humaine, homme ou femme). C'est pour ça d'ailleurs qu'on entend moins les "s", "f", "ch" au téléphone, car une partie de leurs composantes fréquentielles sont coupées.

  21. #20
    invitefa15af9f

    Re : filtrage

    merci beaucoup pour votre explication

  22. #21
    invitefa15af9f

    Re : filtrage

    bonjour;
    une autre question:
    pourquoi le filtre numérique ne peut jamais dépasser la valeur du fréquence ( fe /2 )alors que le filtre analogique peut avoir des valeurs plus que la fréquence (fe/2).
    merci d'avance

  23. #22
    invitea29b3af3

    Re : filtrage

    Par définition, un signal analogique n'est pas échantillonné, contrairement à un signal numérique. Donc parler de fréquence d'échantillonnage avec un signal analogique ne fait pas de sens.
    Maintenant pourquoi fe/2:
    Quand on échantillonne un signal, ça revient à le multiplier par un peigne de delta de Kronecker (http://fr.wikipedia.org/wiki/Symbole_de_Kronecker), donc au niveau fréquentiel, à le convoluer avec un peigne de delta, autrement dit à répéter son spectre tous les multiples de fe. Donc toute l'information du signal est contenue entre -fe/2 et fe/2, inutile d'allant plus haut puisque plus haut on a simplement des répliques du spectre du signal, donc aucune information de plus.

  24. #23
    invitefa15af9f

    Re : filtrage

    merci beaucoup

Discussions similaires

  1. Filtrage
    Par invitea7930283 dans le forum Électronique
    Réponses: 15
    Dernier message: 07/06/2010, 10h19
  2. Filtrage HF
    Par invitec4f222b5 dans le forum Électronique
    Réponses: 4
    Dernier message: 27/05/2010, 13h49
  3. Filtrage
    Par invite9d3ab8a4 dans le forum Électronique
    Réponses: 8
    Dernier message: 24/05/2009, 19h33
  4. Filtrage
    Par invite9d3ab8a4 dans le forum Électronique
    Réponses: 13
    Dernier message: 09/04/2009, 21h53
  5. filtrage
    Par invite75701c7e dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 12/11/2005, 19h22