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 :

FFT d'un signal


Sujet :

Signal

  1. #1
    Nouveau membre du Club
    Inscrit en
    octobre 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : octobre 2006
    Messages : 58
    Points : 28
    Points
    28
    Par défaut FFT d'un signal
    Bonjour

    mes questions :
    comment utiliser les fenetres?
    comment tracer le spectre du signal apres le fenetrage ?

  2. #2
    Membre éclairé Avatar de tubaas
    Homme Profil pro
    Acousticien
    Inscrit en
    août 2009
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Acousticien
    Secteur : Industrie

    Informations forums :
    Inscription : août 2009
    Messages : 641
    Points : 825
    Points
    825
    Par défaut
    Citation Envoyé par prologO
    alors pour utiliser ces fenetres je doit tronquer mon signal
    pas du tout : tu appliques une fenêtre aux bornes mais pas besoin de le tronquer
    Citation Envoyé par prologO
    comment utiliser les fenetres?
    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    %x le signal à fenêtrer
    win=hanning(nwin);%nwin nombre de points de la fenêtres 
    siz=length(x);
    %principe: moitié de la fenêtre au début, moitié à la fin
    wint=ones(1,siz);
    wint(1:nwin/2)=win(1:nwin/2);
    wint(siz-nwin/2+1:siz)=win(nwin/2+1:nwin);
    x=x.*wint;%signal fenêtré
    Citation Envoyé par prologO
    comment tracer le spectre du signal apres le fenetrage ?
    de la même façon qu'avant

  3. #3
    Membre émérite
    Homme Profil pro
    Inscrit en
    mai 2008
    Messages
    2 039
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : mai 2008
    Messages : 2 039
    Points : 2 840
    Points
    2 840
    Par défaut
    Bonjour.
    Exemple sans fenêtres en respectant juste Shannon :
    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
    clear
    fe=9*10^4;
    t=(1:fe)/fe;
    %Signaux source bruités 
    f1=1*10^4; f2=1.2*10^4; f3=4*10^4;
    x1 = sin(2*pi*t*f1)+0.5*randn(size(t)); 
    x2 = sin(2*pi*t*f2)+0.5*randn(size(t));
    x3 = sin(2*pi*t*f3)+0.5*randn(size(t));
    % signal somme
    stot = x1+x2+x3;
    Nx = length(stot);
    % fft du signal somme
    tf=fft(stot,Nx);
    w=(0:Nx-1)/Nx*fe;
    plot(w(1:Nx/2),abs(tf(1:Nx/2)));
    grid
    xlabel('fréquences en Hz')
    title('module de la fft de la somme x1+x2+x3')

  4. #4
    Nouveau membre du Club
    Inscrit en
    octobre 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : octobre 2006
    Messages : 58
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par tubaas Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    %principe: moitié de la fenêtre au début, moitié à la fin
    mais est ce que toujour on applique les fenetres de cette façon (moitié au début moitié a la fin) ?
    pourqoui on ne peut pas ecrire simplement :
    x(nwin)=x(nwin)*.hamming(nwin)';

  5. #5
    Nouveau membre du Club
    Inscrit en
    octobre 2006
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : octobre 2006
    Messages : 58
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par phryte Voir le message
    Bonjour.
    Exemple sans fenêtres en respectant juste Shannon :
    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
    clear
    fe=9*10^4;
    t=(1:fe)/fe;
    %Signaux source bruités 
    f1=1*10^4; f2=1.2*10^4; f3=4*10^4;
    x1 = sin(2*pi*t*f1)+0.5*randn(size(t)); 
    x2 = sin(2*pi*t*f2)+0.5*randn(size(t));
    x3 = sin(2*pi*t*f3)+0.5*randn(size(t));
    % signal somme
    stot = x1+x2+x3;
    Nx = length(stot);
    % fft du signal somme
    tf=fft(stot,Nx);
    w=(0:Nx-1)/Nx*fe;
    plot(w(1:Nx/2),abs(tf(1:Nx/2)));
    grid
    xlabel('fréquences en Hz')
    title('module de la fft de la somme x1+x2+x3')
    merci, justement sans fenetre la fréquence f2 n'apparait pas (elle est masqué par f1)

  6. #6
    Membre éclairé Avatar de tubaas
    Homme Profil pro
    Acousticien
    Inscrit en
    août 2009
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Acousticien
    Secteur : Industrie

    Informations forums :
    Inscription : août 2009
    Messages : 641
    Points : 825
    Points
    825
    Par défaut
    Citation Envoyé par prologO
    mais est ce que toujour on applique les fenetres de cette façon (moitié au début moitié a la fin) ?
    pourqoui on ne peut pas ecrire simplement :
    x(nwin)=x(nwin)*.hamming(nwin)';
    tu as essayé ton code? m'étonnerais que ça marche puisque x(nwin) est un nombre et hamming(nwin) un vecteur.
    une fenêtre c'est simple: imagine une fenêtre rectangulaire, c'est comme si pas de fenêtrage, tu multiplies tout ton signal par 1, sous-entendu tu le multiplies par 0 en dehors de ses bornes temporelles.
    avec une fenêtre tu va 'entrer' et 'sortir' plus en douceur. à toi de choisir le nombre de points sur lesquels tu veux que ça s'applique.
    tu peux toujours faire
    toutes les fenêtres ont des artefacts dépendant de leur FFT (cf théorie du signal, multiplication temporelle devient convolution fréquentielle).
    il me semble aussi étonnant que f2 soit masquée.
    est-ce que ton signal se limite bien à du signal 'utile' (pas de blanc ou de bruit avant ou après ce qui peut avoir pour conséquences de diminuer la résolution fréquentielle), une résolution de fft suffisante (bien qu'à de telles fréquences il n'y ait en général pas de problèmes) ?

  7. #7
    Membre éclairé Avatar de tubaas
    Homme Profil pro
    Acousticien
    Inscrit en
    août 2009
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Acousticien
    Secteur : Industrie

    Informations forums :
    Inscription : août 2009
    Messages : 641
    Points : 825
    Points
    825
    Par défaut
    à ce compte là tu as intérêt à fenêtrer x1, x2 et x3 (sinon tu as des problèmes - audibles par des 'clics', à l'enchaînement de tes signaux). les fenêtres permettent de 'faire coller' par un passage obligé à zéro.

Discussions similaires

  1. Analyse FFT d'un signal temporel
    Par fmris dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/05/2014, 10h02
  2. FFT avec le signal d'un fichier WAVE
    Par rominous41 dans le forum Débuter
    Réponses: 8
    Dernier message: 24/05/2010, 15h57
  3. FFT d'un signal wav
    Par Brinouchette dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 19/10/2009, 09h37
  4. FFT d'un signal audio
    Par appolin dans le forum Signal
    Réponses: 1
    Dernier message: 25/12/2008, 20h36
  5. FFT d'un signal par Delphi
    Par bahja_83 dans le forum Langage
    Réponses: 2
    Dernier message: 20/05/2008, 08h47

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