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 :

Générer un "Signal sinusoïdal + harmonique"


Sujet :

Signal

  1. #1
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut Générer un "Signal sinusoïdal + harmonique"
    Bonsoir,

    Donc je cherche à générer un "Signal sinusoïdal + harmonique" avec Matlab.

    Pour un Signal sinusoïdal je prends comme exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    x = linspace(-pi/2, pi/2) ;
    y = sin(x) ;
    Alors comment faire pour ajouter des harmoniques à ce signal ?
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Salut,

    pour rajouter des harmoniques, il te suffit d'ajouter des sinusoides à ton signal. Un exemple sur la décomposition d'un signal carré :
    http://fr.wikipedia.org/wiki/Signal_carré
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    je prends le signal défini par :



    Comment voir sa représentation graphique

    J'ai fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    % Paramètres du signal
        f = 250 ;
     
    % Définition du signal
     
        x=0 ;
        for t=-10:0.1:10
            sm = 0 ;
            for k=1:100
               sm = sm + sin((2*k-1)*2*pi*f*t)/(2*k-1) ;
            end
            x(length(x)+1) = sm ;
        end
     
    % Affichage
        plot(x) ;
    Mais j'ai pas pu avoir un signal avec harmoniques ?
    Les règles Les cours La fonction rechercher

    N'oubliez pas de mettre en et de voter.

    La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !

  4. #4
    Membre éclairé Avatar de tubaas
    Homme Profil pro
    Acousticien
    Inscrit en
    Août 2009
    Messages
    641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Acousticien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 641
    Points : 825
    Points
    825
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    x=0 ;
        for t=-10:0.1:10
            sm = 0 ;
            for k=1:100
               sm = sm + sin((2*k-1)*2*pi*f*t)/(2*k-1) ;
            end
            x(length(x)+1) = sm ;
        end
    là tu les a les uns à la suite des autres non?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    fs=44100;
    f=250;
    t=(0:1:44100)/fs;
    s=zeros(1,length(t));
    for k=1:100
    s=s+sin((2*k-1)*2*pi*f*t)/(2*k-1) ;
    end
    Rq: un signal carré n'a que des harmoniques impaires
    + généralement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    s=s+Ak*sin(k*2*pi*f*t+phik);
    où Ak et phik amplitude et phase pour l'harmonique k

Discussions similaires

  1. Reconstruction d'un signal par harmoniques
    Par kis93 dans le forum Signal
    Réponses: 6
    Dernier message: 04/07/2008, 17h53

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