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

Traitement du signal Discussion :

Spectre : FFT, PSD, ASD


Sujet :

Traitement du signal

  1. #1
    Membre confirmé
    Spectre : FFT, PSD, ASD
    Bonjour,

    J'aimerais éclaircir les différentes manières de représenter un spectre

    Code MATLAB :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
    switch typeSpectre
     
        case 1
    NFFT = 2^nextpow2(L); 
    Y = fft(signal,NFFT)/L;
    f = Fs/2*linspace(0,1,NFFT/2+1); 
    s=2*abs(Y(1:NFFT/2+1));
     
        case 2
    % Spectre 2
    Y = fft(signal) ;
    f = (0:L-1)*(Fs/L) ;
    f = f(1:length(f)/2);
    s = abs(Y).^2/L ;
    s = s(1:length(s)/2);
     
        case 3
            T = 1/Fs;           
    t = (0:L-1)*T;        
             Y = fft(signal);
            P2 = abs(Y/L);
    s = P2(1:L/2+1);
    s(2:end-1) = 2*s(2:end-1);
    f = Fs*(0<img src="images/smilies/icon_sad.gif" border="0" alt="" title=":(" class="inlineimg" />L/2))/L;
     
    end


    et voici leur résultat pour un signal (unité vitesse : m/s) suivant les 3 cas



    CAS 1: défini en 2xabs(fft), j'imagine que c'est un spectre classique ? son unité est elle le (m/s) /Hz ?

    CAS 2 : défini s = abs(Y).^2/L ; ici cela doit etre la PSD ? son unité est elle en (m/s)^2 / Hz ?

    CAS 3 : quasi identique aux cas 1, je ne vois d'ailleurs pas de différence?

    d'ou vient l'unité qu'on voit habituellement en U / sqrt(Hz) dans les PSD ?

    Ou question plus précise:

    - si un signaux à une unité U (disons la vitesse m/s), en quelle unité sortira la fft(X)?



    Merci pour tous vos éclaircissements.
    OS : taff > Window 7 32bit - Home > Windows 7 64bit
    Matlab : taff > v2013b - Home > r2009a

  2. #2
    Membre confirmé
    Pour simplifier mon problème :

    Il apparaît que les sorties des PSD sous matlab soient en DB/Hz

    comment faire pour retourner à mon unité du signal : (m/s)/Hz ?

    Merci d'avance
    OS : taff > Window 7 32bit - Home > Windows 7 64bit
    Matlab : taff > v2013b - Home > r2009a

  3. #3
    Membre confirmé
    concernant les unité PSD, ASD

    soit signal s(t) :

    PSD[s(t)](w) = 1/T x |FT[s(t)]|^2 > unité > [s^2]xt^2/t

    PSD > unité > s^2.t ou s^2/Hz

    ASD = sqrt(PSD) > s.sqrt(t) = s/sqrt(Hz)
    OS : taff > Window 7 32bit - Home > Windows 7 64bit
    Matlab : taff > v2013b - Home > r2009a

  4. #4
    Membre expérimenté
    Dans PSD, P signifie power et dans ASD, A signifie amplitude.
    Ton signal se décompose en mouvements sinusoidaux de fréquence w, d'amplitude A ( en m/s), de phase ?. La puissance (énergie cinétique) est proportionnelle au carré de l'amplitude. Son interprétation dépend de ton problème.
    Ce qui s'énonce clairement se conçoit bien ( Le hautbois)

###raw>template_hook.ano_emploi###