Densité spectrale de puissance sous MATLAB...
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Densité spectrale de puissance sous MATLAB...



  1. #1
    lou_ibmix_xi

    Densité spectrale de puissance sous MATLAB...


    ------

    ...Ou OCTAVE
    Bonjour à tous,

    Je veux calculer une densité specrale de puissance de mon signal 's', pour cela je fais:
    Code:
    s_hat = fft (s) / length (s);
    S     = 2 * s_hat .* conj(s_hat);
    et S contient donc ma densité spectrale de puissance, si j'applique ça à un sinus pure d'amplitude 'sqrt (2)', je trouve bien un pic de valeur 1, où parfois, suivant la fréquence du sinus et le nombre de pts sur lequel je calcul ma psd, il faut que j'additionne 2 ou 3 (ou parfois +) canaux fréquentiels adjacents pour retrouver mon 1...
    Jusqu'ici pas de problème, mais je dormirais plus tranquilement si un matheux pouvait m'expliquer ce facteur 2 qui traine devant...

    Je me suis ensuite attaqué à du bruit:
    Code:
    N = 65536;
    s = randn (1, N);
    s = s / sqrt (var (s));
    s = s - mean (s);
    J'ai donc un bruit plus blanc que blanc de variance 1 ou presque...
    je m'amuse à calculer sa dsp avec la même formule et bien sur lorsque je prends la moyenne de la dsp, je suis bien loin de 1... Je me rappelle alors mes bon vieux cours et je divise par la bande passante, ma formule devient:
    Code:
    S_hat = fft (s);
    Smean = mean (2 * s_hat .* conj(s_hat) / length (s));
    Et là au lieu de trouver 1, je trouve 2! Donc mon facteur 2 de ma première formule devrait disparaitre, où bien ma finesse d'analyse en numérique n'est pas de 1/N mais bien de 2/N?

    Une âme charitable pourra-t'elle dissiper le brouillard que ces maths créent dans la tête d'un pôvre informaticien?

    -----

  2. #2
    acx01b

    Re : Densité spectrale de puissance sous MATLAB...

    salut



    Code:
    >> N = 1024;
    n = 0:N-1;
    f = rand(1,N);
    f = (f-mean(f))/sqrt(var(f,1));
    F = fft(f)/N;
    DSP = F.*conj(F);
    sum(DSP)
    
    ans =
    
        1.0000

    var(x) renvoie la variance corrigée
    var(x,1) renvoie la moyenne des carrés des écarts à la moyenne

  3. #3
    lou_ibmix_xi

    Re : Densité spectrale de puissance sous MATLAB...

    var(x) renvoie la variance corrigée
    var(x,1) renvoie la moyenne des carrés des écarts à la moyenne
    donc "var(x,1)" c'est la variance que j'ai appris à l'école, mais à priori sur cette taille de signal, si j'ai bien compris l'aide en ligne OCTAVE (et voui, j'ai pas les 10000€ à mettre dans MATLAB) ca ne change pas grand chose.
    Mais je crois que ton 'sum' commence à éclairer ma lanterne, j'ai mis un facteur 2 dans la dsp du sinus, MAIS EN FAIT J'AURAIS DU ADDITIONNER les frequences négatives et les fréquences positives. Je vais tenter de pousser plus loin la réflexion et je reviends plus tard...
    Merci encore, mais toutes autres suggestions m'interresse...

  4. #4
    lou_ibmix_xi

    Re : Densité spectrale de puissance sous MATLAB...

    Dons après d'intenses réflexion, je pense que le facteur 2 de ma première formule est bien une manière condensée d'additionner la puissance contenue dans les fréquences négatives...

    Maintenant il va falloir que j'explique tout ça aux électroniciens avec qui je bosse pour que l'on puisse comparer mes résultats avec les résultats que donne leur analyseur de spectre sur les mêmes signaux...

  5. A voir en vidéo sur Futura

Discussions similaires

  1. mesurer la densité spectrale de puissance
    Par invite517567cd dans le forum Électronique
    Réponses: 2
    Dernier message: 27/10/2008, 20h27
  2. simulation electronique de puissance sous Matlab/simulink
    Par fomes dans le forum Électronique
    Réponses: 0
    Dernier message: 08/12/2007, 16h10
  3. relation densité-puissance
    Par invite94f0d540 dans le forum Physique
    Réponses: 2
    Dernier message: 27/03/2007, 09h06
  4. Densité spectrale de bruit
    Par bouly94 dans le forum Électronique
    Réponses: 5
    Dernier message: 11/01/2007, 20h26
  5. Densité spectrale de bruit
    Par bouly94 dans le forum Physique
    Réponses: 1
    Dernier message: 10/01/2007, 19h53