+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Invité de passage
    Inscrit en
    avril 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : avril 2009
    Messages : 29
    Points : 2
    Points
    2

    Par défaut Codé un retard (time delay) en C

    Bonjour tout le monde,

    Je travaille avec matlab et je code mes modèles en C pour pouvoir les utiliser dans mon banc d'essai expérimental. Là, je cherche à coder un retard (time delay) en C. J'ai beau cherché sur le net, je n'ai pas trouvé une réponse à ma question.

    Merci d'avance à vous.

  2. #2
    Expert Confirmé Sénior Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    août 2004
    Messages
    2 330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : août 2004
    Messages : 2 330
    Points : 5 055
    Points
    5 055

    Par défaut

    salut,

    je pense que tu ne sais pas ce que tu dois chercher, c'est pour ça que tu ne trouves pas.

    Peux-tu expliquer ce qu'implique ce retard dans ta chaine de calcul ? Est-ce qu'il interrompt le calcul ? Est-ce que tu as plusieurs calculs en parallèle ?

    Le plus vulgaire des retards est la fonction Sleep, mais je pense qu'elle ne te convient pas.

    Je suppose que tu es sous Windows.

  3. #3
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    mars 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2006
    Messages : 858
    Points : 1 153
    Points
    1 153

    Par défaut

    Salut,

    Si tu veux un code multiplateformes, il faudrait t'inspirer de ça:

    Code :
    1
    2
    3
    4
    5
    6
    7
    #if defined (Win32)
    #  include <windows.h>
    #  define psleep(sec) Sleep ((sec) * 1000)
    #elif defined (Linux)
    #  include <unistd.h>
    #  define psleep(sec) sleep ((sec))
    #endif
    Ça créée une macro psleep (pour portable sleep?) tenant compte des spécificités des deux principales plateformes.C'est un code que j'ai vu ici il y a une petite dizaine d'années, il me semble qu'il est d'Ed, qui ne poste visiblement plus aujourd'hui.

    A+

    Pfeuh

  4. #4
    Invité de passage
    Inscrit en
    avril 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : avril 2009
    Messages : 29
    Points : 2
    Points
    2

    Par défaut

    Citation Envoyé par fregolo52 Voir le message
    salut,

    je pense que tu ne sais pas ce que tu dois chercher, c'est pour ça que tu ne trouves pas.

    Peux-tu expliquer ce qu'implique ce retard dans ta chaine de calcul ? Est-ce qu'il interrompt le calcul ? Est-ce que tu as plusieurs calculs en parallèle ?

    Le plus vulgaire des retards est la fonction Sleep, mais je pense qu'elle ne te convient pas.

    Je suppose que tu es sous Windows.
    Merci pour ta réponse. En fait, sous matlab, il y a unit delay, qui induit un retard dans le traitement de l'information. Si par exemple, on a un signal, le time delay permet de retarder le signal avec d'une durée égale au temps d'échantillonnage.

  5. #5
    Membre chevronné

    Ingénieur développement matériel électronique
    Inscrit en
    juillet 2010
    Messages
    307
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : juillet 2010
    Messages : 307
    Points : 606
    Points
    606

    Par défaut

    Salut,

    Code :
     Si par exemple, on a un signal, le time delay permet de retarder le signal avec d'une durée égale au temps d'échantillonnage.
    C'est un filtre d’équation z^-1. Cela correspond a un simple stockage d'un donnée dans un variable en informatique, a un étage de pipeline en électronique numérique.

    @+

  6. #6
    Expert Confirmé Sénior Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    août 2004
    Messages
    2 330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : août 2004
    Messages : 2 330
    Points : 5 055
    Points
    5 055

    Par défaut

    Citation Envoyé par espoir1976 Voir le message
    Merci pour ta réponse. En fait, sous matlab, il y a unit delay, qui induit un retard dans le traitement de l'information. Si par exemple, on a un signal, le time delay permet de retarder le signal avec d'une durée égale au temps d'échantillonnage.
    On va dire que la fonction Sleep (en ms sous Windows) devrait faire l'affaire. Par contre, quelle est l'unité de temps de l'échantillonnage ?

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •