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 :

Echelle de frequence pour un spectre


Sujet :

Signal

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 21
    Points : 11
    Points
    11
    Par défaut Echelle de frequence pour un spectre
    Bonjour a tous,

    Je travaille sur un projet simulink-matlab, dans lequel je recupere le signal de sortie d'un de mes blocs simulink dans un GUI, pour tracer son spectre. Le probleme est que je n'arrive pas a avoir une bonnes echelles en frequence.

    Lorsque je tente d'afficher le spectre d'un sinus d'amplitude 1 et de frequence 900kHz, mon spectre a une echelle de 0 a 130, et affiche la valeur positif et negatif de mon spectre. (cf piece jointe)

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    % Je recupere tous d'abord la sortie de mon bloc simulink
    rtoIn = get_param([bdroot '/Measurement_tool/Inputs_settings/Am1'],'RuntimeObject');
    InSignal=rtoIn.OutputPort(1).Data;
     
    %Je calcul ensuite son spectre
    InSpctr=abs(2*fft(InSignal)/length(InSignal));
     
    %Je trace mon spectre
    plot(squeeze(InSpctr(:,1)))
    Si quelqun a une solution a mon probleme,
    Merci
    Images attachées Images attachées  

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Salut.
    mon spectre a une echelle de 0 a 130, et affiche la valeur positif et negatif de mon spectre
    Pour avoir une échelle semi-log :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    NFFT = length(input);
    Y = fft(input,NFFT);
    f = linspace(0,Fs/2,NFFT/2);
    Y_plot = abs(Y(1:floor(NFFT/2)));
    figure; semilogx(f, 2*Y_plot) 
    xlabel('Frequency [Hz]');
    ylabel('Amplitude');grid

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Merci pour ta reponse phryte, mais je ne veut pas une echelle semi-log.
    Deplus, avec ta methode, et en utilisant 'plot' au lieu de 'semilogx', la frequence qu'affiche mon spectre n'est pas tout a fait exacte, et l'amplitude est de 115, pour un sinus d'amplitude 1.


    Je n'arrive donc pas a visualiser mon veritable spectre...

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Salut.
    Pour plot je fais comme ça (variable en fonction du signal) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    f = F*(0:256)/512;
    Y = fft(y,512);%FFT
    figure(2)
    plot(f,abs(Y(1:length(f))))
    grid
    Pyy = Y.* conj(Y) / 512;%power spectrum, 
    figure(3)
    plot(f,Pyy(1:257))
    title('Frequency content of y')
    xlabel('frequency (Hz)')
    grid
    Tu peux aussi tracer le spectre sous simulink.

Discussions similaires

  1. Pb d'echelle pour création de graphique
    Par oligig dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/04/2009, 15h18
  2. Composant pour afficher spectre audio
    Par erkan37 dans le forum Interfaces Graphiques en Java
    Réponses: 12
    Dernier message: 23/04/2008, 12h00
  3. Réponses: 4
    Dernier message: 12/12/2007, 22h16
  4. (vba excel) echelle horaire pour graphique
    Par DirtyA:ex dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 27/06/2006, 14h00
  5. MP3 File Format pour affichage spectre (image sonore)
    Par TISSEYRE dans le forum Langage
    Réponses: 1
    Dernier message: 27/09/2005, 14h50

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