Phase d'un signal audio
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Phase d'un signal audio



  1. #1
    cpalperou

    Phase d'un signal audio


    ------

    Bonjour, je cherche à déterminer la phase d'un signal audio en fonction du TEMPS.
    Il faut, je pense calculer la fft de ce signal puis de prendre l'arctangente de bn/an. Est ce correct?
    J'essaie de le faire via le logiciel matlab (peut être convient il de déplacer cette question dans le forum de programmation):
    Code:
    fln='myaudiofile.wav';
    [y,sample_rate]=wavread(fln);
    Lf=length(y);
    T=1/sample_rate;
    t=(0:Lf-1)*T; % grille temporelle
    f=sample_rate*(0:Lf-1); % grille fréquentielle
    yfft=fft(y,Lf);
    yfft=yfft(1:Lf/2);
    phi=angle(yfft);
    phi serait la phase du signal mais elle est calculée sur la grille fréquentielle. Comment l'avoir en fonction du temps?
    Merci

    -----

  2. #2
    PA5CAL

    Re : phase d'un signal audio

    Bonjour

    La phase d'un signal ? 'Connais pas.

    Ce qu'on peut mesurer, toutefois, c'est le déphasage entre deux événements d'un signal périodique. En effet, la phase est un angle, et de ce fait il faut en définir le début et la fin, dans un intervalle de 2π représentatif d'une période à déterminer.

    En faisant une FFT et en exprimant le résultat sous la forme d'un tableau d'amplitudes et de phases, les phases obtenues sont relatives au début de l'échantillon analysé et rapportées à la période des composantes de la transformée.

    Bref, les résultats dépendent autant des conditions de l'analyse que du signal traité. Ils ne sont réellement exploitables que si ce signal est effectivement périodique et de fréquence sous-multiple de la fréquence d'échantillonnage, à une légère modulation de fréquence/de phase près si l'on souhaite étudier leur évolution dans le temps. Cela peut arriver avec un signal issu d'un GBF correctement réglé, mais rarement avec un signal audio réel.
    Dernière modification par PA5CAL ; 05/08/2015 à 09h19.

  3. #3
    PA5CAL

    Re : Phase d'un signal audio

    Toutefois, dans un cadre purement théorique et dans les conditions idéales indiquées ci-dessus, en réitérant périodiquement la FFT on peut obtenir l'évolution dans le temps du déphasage de la fondamentale ou d'un harmonique du signal par rapport à la période d'analyse.

    Ce n'est absolument pas optimum, mais ça peut marcher.

    Il serait plus efficace de faire seulement les produits de convolution du signal avec deux signaux sinusoïdaux déphasés de π/2, et de déduire l'angle à partir des deux valeurs obtenues ( atan(A/B) ).
    Dernière modification par PA5CAL ; 05/08/2015 à 09h35.

  4. #4
    cpalperou

    Re : Phase d'un signal audio

    Merci Pa5cal,
    Comment faire ce produit de convolution? J'ai un signal audio y qui est expérimental. Je calcule le produit de convolution de y avec quoi?
    Et que penses-tu des solutions proposés ici:
    http://forums.futura-sciences.com/pr...al-matlab.html

    Note que ces gens parles de phase du signal audio aussi. C'est peut être là un abus de langage?


    En tous cas, merci de tes réponses

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

    Re : Phase d'un signal audio

    Oups... J'ai fait un lapsus en parlant de "convolution". Le produit de convolution est effectivement une autre méthode possible, mais c'est encore beaucoup trop pour le but visé (le résultat étant une fonction continue du déphasage). Je voulais parler de simple moyenne de produit de fonctions, dont le résultat est un nombre, à un temps t donné. Au bout du compte, le principe du calcul est toujours équivalent, mais on n'est pas obligé de le faire de façon continue (on peut par exemple se contenter d'une valeur de déphasage par période). On réduit l'opération à un seul calcul élémentaire d'une FFT.

    Les fonctions sinusoïdales déphasées de π/2 utilisées peuvent être sinus et cosinus. Dans ce cas, T étant la période de référence (correspondant à un déphasage constant du signal), autour de l'instant t, le déphasage moyen φ évalué sur n périodes (n entier) peut être donné par :





    Puis :








    L'origine des phases est t=0.


    On se contente souvent de faire le calcul tous les t=knT (avec k entier), et n=1.
    Dernière modification par PA5CAL ; 06/08/2015 à 08h21.

  7. #6
    cpalperou

    Re : Phase d'un signal audio

    OK,
    si je te suis correctement, je dois calculer la fft de mon signal période par période et en déduire un déphasage moyen sur chacune de ces périodes.

    et que penses tu de la méthode à partir de la transformée de Hilbert (cf mon post précédent)?

    encore merci

  8. #7
    PA5CAL

    Re : Phase d'un signal audio

    J'en pense la même chose que pour la FFT. On n'a pas besoin de faire des tonnes de calculs pour déterminer la phase (étant entendu qu'ici on ne parle pas de trouver la période du signal).

    Qu'il s'agisse d'une transformée mathématique ou d'une autre, et même si ça n'apparaît pas clairement dans l'écriture sous Mathlab, on multiplie inutilement les calculs (quand on a juste besoin de la phase de la fondamentale du signal, on n'a que faire du résultat des calculs correspondant à des fréquences plus élevées ou plus basses). En traitement du signal, devoir faire mille fois plus d'opérations que nécessaire, ça peut avoir des conséquences sur la faisabilité et le coût d'un projet.

Discussions similaires

  1. Extraire phase signal, MATLAB
    Par janfar dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 26/03/2015, 20h54
  2. Phase à l'origine d'un signal sinusoïdale
    Par AtomHeartMother dans le forum Physique
    Réponses: 2
    Dernier message: 24/12/2014, 17h48
  3. signal audio et traitement
    Par pyrosigma dans le forum Électronique
    Réponses: 4
    Dernier message: 02/07/2014, 16h18
  4. extraire phase signal, MATLAB
    Par Shagohod27 dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 25/05/2014, 16h36
  5. signal audio bip....bip....bip ??
    Par invite565930aa dans le forum Électronique
    Réponses: 6
    Dernier message: 19/04/2005, 09h49