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 :

signal triangulaire a signal carré


Sujet :

Signal

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2013
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 15
    Points : 4
    Points
    4
    Par défaut signal triangulaire a signal carré
    Bonjour,

    Alors ce que j'aimerais faire actuellement, c'est que j'ai un signal triangulaire qui va de 0 a 1. Le signal est génère a partir d'un tableau a 1 colonne et une multitude de ligne pour l'abscisse et pareil pour l'ordonne. Et j'aimerais transformer ce signal en un signal carre.

    Donc en gros j'ai 1 tableau qui represente le temps :

    0,
    0,22
    0,32
    ....
    900

    Et 1 autre qui représente les ordonnés :

    0
    1
    0
    1
    ...


    Donc moi j'ai pense qu'il faudrait qu'a chaque abscisse je crée une nouvelle ligne contenant la valeur oppose de l'ordonné (si 0 j'en crée une 1, si 1 j'en crée une 0)

    Mais je n'y arrive pas. Quelqu'un sait comment faire ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Comment définis-tu les fronts montants et descendants du signal carré à partir du signal triangulaire ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2013
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    Ben en fait le front montant s'effectue immédiatement.
    C'est a dire que quand la valeur est a 0 on a un front montant, et quand la valeur est a 1 on a un front descendant. Je sais pas si c'est très clair.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Dans ce cas, tu n'obtiens pas un signal carré mais une succession de distributions de Dirac, non ?

    Donne nous les 10 ou 15 premières valeurs des deux tableaux contenant les données.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #5
    Candidat au Club
    Inscrit en
    Septembre 2013
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    Voila le début des 2 premières colonnes :

    0 0
    0,096481 1
    0,098672 0
    0,099602 1
    0,104951 0
    0,124449 1
    0,131738 0
    1,238543 1
    1,245745 0
    1,905642 1
    1,908220 0
    2,085131 1
    2,086309 0
    2,095457 1
    2,117986 0


    Qu'est ce que tu entends par distribution de dirac ?

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Par exemple :
    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
    S =[ 0 0
        0.096481 1
        0.098672 0
        0.099602 1
        0.104951 0
        0.124449 1
        0.131738 0
        1.238543 1
        1.245745 0
        1.905642 1
        1.908220 0
        2.085131 1
        2.086309 0
        2.095457 1
        2.117986 0];
     
    figure
    stem(S(:,1),S(:,2),'marker','none')
    Images attachées Images attachées  
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  7. #7
    Candidat au Club
    Inscrit en
    Septembre 2013
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    je viens de voir, mais le problème c'est que c'est que des pics, il y a pas les barre qui relie les points. Donc du coup ça fait pas un signal carre non ?

  8. #8
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Tu obtiens juste une suite d'impulsions.

    D'où ma question sur les fronts montants et descendants par rapport à ces "pics"
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  9. #9
    Candidat au Club
    Inscrit en
    Septembre 2013
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    Ben en fait, tu vois je voudrais un signal carré. Je voudrais que le programme devienne :

    0 0
    0,096481 0
    0,096481 1
    0,098672 1
    0,098672 0
    0,099602 0
    0,099602 1

    Tu comprend ?

    En fait je veut qu'il y est le front montant du carre a l'abscisse où le signal vaut 1, et le front descendant a l'abscisse où le signal vaut 0.

  10. #10
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Comme ceci ?

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    S =[ 0 0
        0.096481 1
        0.098672 0
        0.099602 1
        0.104951 0
        0.124449 1
        0.131738 0
        1.238543 1
        1.245745 0
        1.905642 1
        1.908220 0
        2.085131 1
        2.086309 0
        2.095457 1
        2.117986 0];
     
    X = [S(:,1) S(:,1)].';
    X = X(:);
    X(1) = [];
     
    Y = [S(:,2) S(:,2)].';
    Y = Y(:);
    Y(end) = [];
     
     
    figure
    stairs(X,Y)
    ylim([0 2])
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  11. #11
    Candidat au Club
    Inscrit en
    Septembre 2013
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    Je viens de verifié, ça m'a l'air parfait
    Merci !
    Peut tu juste m'explique rapidement le programme. Je comprend pas les ligne 17 a 23

  12. #12
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Prenons la première colonne, tu as le motif suivant

    et tu souhaites obtenir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    a
    b
    b
    c
    c
    d
    d
    e
    e
    f
    f
    donc tu écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    X = [a b c d e f
         a b c d e f];
    Ensuite, X(:) donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    a
    a
    b
    b
    c
    c
    d
    d
    e
    e
    f
    f
    Il suffit pour finir de retirer la première valeur

    C'est à peu de chose près pareil pour l'autre colonne.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  13. #13
    Candidat au Club
    Inscrit en
    Septembre 2013
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 15
    Points : 4
    Points
    4
    Par défaut
    Ah ok j'ai compris.
    Merci beaucoup, c'est plus clair.

    Merci, c'est vraiment gentil d'avoir pris le temps.

Discussions similaires

  1. [Débutant] Réaliser un signal triangulaire avec période variable
    Par icetoby dans le forum Signal
    Réponses: 2
    Dernier message: 19/06/2013, 09h17
  2. Signal triangulaire avec un XMEGA
    Par moha12 dans le forum Embarqué
    Réponses: 2
    Dernier message: 17/10/2012, 21h51
  3. Linéarisation d'un signal triangulaire
    Par progfou dans le forum Mathématiques
    Réponses: 8
    Dernier message: 19/03/2011, 13h21
  4. [POSIX][SIGNAL] envoyer un signal a thread avec sigqueue
    Par Mokhtar BEN MESSAOUD dans le forum POSIX
    Réponses: 3
    Dernier message: 09/02/2006, 18h07

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