Précédent   Forum du club des développeurs et IT Pro > C et C++ > C
C Forum d'entraide technique sur le langage C. Avant de poster -> F.A.Q. C, Avant de poster.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 08/01/2013, 15h20   #1
espoir1976
Invité de passage
 
Inscription : 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.
espoir1976 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 15h55   #2
fregolo52
Expert Confirmé Sénior
 
Avatar de fregolo52
 
Homme
Développeur C
Inscription : août 2004
Messages : 2 076
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur C

Informations forums :
Inscription : août 2004
Messages : 2 076
Points : 4 021
Points : 4 021
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.
fregolo52 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 16h01   #3
pfeuh
Membre Expert
 
Développeur en systèmes embarqués
Inscription : mars 2006
Messages : 763
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 : 763
Points : 1 031
Points : 1 031
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
pfeuh est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 08/01/2013, 16h11   #4
espoir1976
Invité de passage
 
Inscription : avril 2009
Messages : 29
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 29
Points : 2
Points : 2
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.
espoir1976 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2013, 17h05   #5
mith06
Membre actif
 
Ingénieur développement matériel électronique
Inscription : juillet 2010
Messages : 140
Détails du profil
Informations professionnelles :
Activité : Ingénieur développement matériel électronique
Secteur : Industrie

Informations forums :
Inscription : juillet 2010
Messages : 140
Points : 199
Points : 199
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.

@+
mith06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2013, 08h23   #6
fregolo52
Expert Confirmé Sénior
 
Avatar de fregolo52
 
Homme
Développeur C
Inscription : août 2004
Messages : 2 076
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur C

Informations forums :
Inscription : août 2004
Messages : 2 076
Points : 4 021
Points : 4 021
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 ?
fregolo52 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h45.


 
 
 
 
Partenaires

Hébergement Web