petit soucis matlab
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

petit soucis matlab



  1. #1
    Shagohod27

    petit soucis matlab


    ------

    Bonjour,

    j'ai un petit problème avec un code tout simple matlab pour générer un signal, voici le code :

    Code:
    >> t = (1:0.01:1000);
    >> x = sin(2*pi*t*0.5)+randn(size(t));
    >> [Pxx1,f1] = pwelch(x);
    >> loglog(f1,Pxx1)
    1ere ligne je défini mon vecteur temps d'une durée de 1000 secondes échantillonné par pas de 0.01s.
    2eme ligne je défini mon signal x comme étant la somme d'un sinus de fréquence 0.5 Hz auquel j'additionne un bruit
    3eme ligne je calcule la PSD
    4eme ligne je trace en échelle log la PSD

    Ma question : pourquoi le pic sur la PSD n'est pas à 0.5Hz qui est la fréquence de la sinusoïde ?

    merci d'avance

    -----

  2. #2
    Ashrod

    Re : petit soucis matlab

    Bonsoir,

    Sans rentrer dans le détail de l'implémentation de la fonction randn, son amplitude est pour ainsi dire supérieure à celle de la sinusoïde, donc le bruit 'masque' le pic. A remarquer que la réponse fréquentielle d'un bruit a souvent une amplitude 'constante' (genre bruit blanc, le bruit rose est un peu plus important dans les basses fréquences que dans les grandes).

    A bientôt

  3. #3
    Shagohod27

    Re : petit soucis matlab

    Bonjour,

    ça ne viens pas de là, voilà ce que j'ai tenté :

    t = (1:0.01:1000);
    x = 10e4*sin(2*pi*t*0.2)+randn(siz e(t));
    [Pxx1,f1] = pwelch(x);
    loglog(f1,Pxx1)
    une grosse amplitude sur le sinus de fréquence 0.2 Hz, ça me donne ceci :

    Nom : Capture d’écran 2015-02-15 à 12.33.44.png
Affichages : 78
Taille : 29,9 Ko

    Un énorme pic mais à 0.01266 Hz et pas 0.2 Hz. Pourquoi ce résultat ?
    Et aussi pourquoi le bruit blanc aurait été supérieur ?

  4. #4
    Shagohod27

    Re : petit soucis matlab

    up, personne ne sait ?

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

    Re : petit soucis matlab

    up ?
    une idée ? un indice ?

  7. #6
    andre_teprom

    Re : petit soucis matlab

    N'avez-vous pas remarqué que la fonction n'a pas généré le spectre dépendant seulement de t mais dans un domaine de tl'échelle en 2*pi?

  8. #7
    andre_teprom

    Re : petit soucis matlab

    Voici ce que vous recherchez:

    Code:
    Fs = 1000;                              % Échantillonnage: 1 kHz
    t = 0:(1/Fs):Fs ;                      % Vecteur temps
    x = sin(2*pi*t*0.2)+randn(size(t));    % Onde sinusoïdale basée sur le vecteur de temps
    [Pxx, f] = pwelch(x, [], [], [], Fs);
    loglog(f, Pxx)
    % grid on
    xlabel('Fréquence (Hz)')
    ylabel('Ampleur (unités^2/Hz)')
    title('Densité de puissance du spectre')
    Nom : PSD.JPG
Affichages : 64
Taille : 25,6 Ko

Discussions similaires

  1. petit soucis
    Par cysto dans le forum Biologie
    Réponses: 7
    Dernier message: 28/04/2012, 08h56
  2. Un petit soucis...
    Par invitea6d8fa77 dans le forum Chimie
    Réponses: 2
    Dernier message: 27/10/2009, 07h40
  3. Petit soucis
    Par invite4d6f7027 dans le forum Mathématiques du collège et du lycée
    Réponses: 14
    Dernier message: 10/05/2009, 20h56
  4. Un petit soucis!
    Par invite1a7c6e65 dans le forum Mathématiques du collège et du lycée
    Réponses: 5
    Dernier message: 27/02/2009, 18h44
  5. Petit soucis...
    Par invite33e0683a dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 8
    Dernier message: 12/03/2007, 19h34