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 :

Visualisation de spectres pour une modulation d'amplitude (AM)


Sujet :

Signal

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Visualisation de spectres pour une modulation d'amplitude (AM)
    Bonjour à tous,
    J'ai plus ou moins écrit une modélisation d'amplitude. Mais j'ai un problème à afficher correctement les spectres des signaux (porteuse, message et message modulé). J'ai affiché le signal modulé en Db mais je ne sais pas comment il faut que je configure l'axe des fréquences. J'ai écrit plot(y_db) car je ne savais pas . Faut-il le visualiser en semi-log ou en mode normal?

    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    t = 0 : 0.01: 5; % vecteur temps
    x1 = 2*sin(2*pi*1*t); % message
    x2 = 10*cos (2*pi*50*t); % porteuse
    x = x1 .* x2; % x(t) = signal modulé en amplitude
     
    figure (3); clf;
    subplot (3,1,1); plot (t,x1,'r-');
    subplot (3,1,2); plot (t,x2,'b-');
    subplot (3,1,3); plot (t,x,'g-');
     
    y = fft(x);
    y_db = 20 * log10(abs(y)); % on convertit le spectre en Db pour la visualisation
    figure (4); clf;plot(y_db);
    S'il y a des erreurs dans la modulation merci de me les signaler.

    Ps: Je vu les fonctions principales de matlab, vu l'utilisation du C avec le logiciel, les fichiers...mais je pense encore être débutant lol!!

    Merci d'avance pour vos réponses.

  2. #2
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut !

    Il y aurait beaucoup de choses à dire concernant ton problème.

    La première est que, sur l'axe horizontal de ton diagramme, tu devrais avoir la fréquence et non le temps, en échelle logarithmique. La fonction MatLab à utiliser dépend de la manière dont tu veux graduer ton axe vertical. Tu peux
    • soit représenter l'amplitude de ton signal lui-même en échelle logarithmique à l'aide de la fonction loglog, ton axe vertical étant gradué en 1, 10, 100, ... ;
    • soit représenter le logarithme de cette amplitude en échelle linéaire, c'est-à-dire utiliser la fonction log, puis semilogx, ton axe vertical étant maintenant gradué en népers.

    Pour ce qui concerne l'unité cohérente à utiliser pour exprimer le logarithme d'une grandeur, tu trouveras toutes les informations dans la norme internationale CEI 60027/3.

    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Bonjour Jean-Marc,
    merci pour ta réponse.

    En effet, mon problème principal est celui que tu as cité en premier.
    En fait, je cherche à définir cet axe de fréquence à partir de l'axe de temps que j'ai donné afin que la visualisation soit correct (axe de fréquence sur la graphique du spectre).

    Si tu as une idée de comment faire, ou quelqu'un d'autre, ce serait sympa de me la faire part. Merci.

    Et sinon dès que je la trouve je la "post" sur cette discussion.

    Masana

  4. #4
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut !

    Ce qui n'est pas clair pour moi, c'est ce que tu as comme données que tu veux représenter. Si je t'ai bien compris, ce sont les valeurs échantillonnées de tes signaux, pour des instants équidistants, comme on les trouverait par exemple dans un fichier .wav ; est-ce bien ça?

    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  5. #5
    Futur Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Salut.

    Pour les fichiers .wav, je ne sais pas vrément. En fait j'est trouvé une page internet montrant ce que je voulais savoir à propos de la fft de signaux.

    http://gil.69.free.fr/Matlab/Genesig/

    Il est dit que la fft calcule la Transformée de Fourier Discrète des signaux de manière rapide si les séquences de signaux sont de longueurs une puissance de 2. c'est-à-dire 64, 128, 256,..., 8192, ...
    Ce qui n'est pas mon cas.

    Il explique aussi comment visualiser la fft.

    Je vais essayer de résoudre mon problème avec ça.

    Merci Jean-Marc d'avoir été à l'écoute de mon sujet et les autres personnes du forum.

    Masana

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. seuillage pour une modulation 16QAM
    Par haloumti dans le forum MATLAB
    Réponses: 1
    Dernier message: 14/09/2013, 19h59
  2. SQL pour visualiser le schema d'une table
    Par olibara dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 29/09/2008, 19h45
  3. Réponses: 0
    Dernier message: 01/07/2008, 10h58
  4. Macro pour visualiser graphiquement pas à pas une lliste de valeurs
    Par Aidez-moi_svp dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/08/2007, 05h23
  5. [VBA-E] Conserver une variable pour plusieurs modules
    Par pilote301152 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/05/2006, 13h14

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