Programme langage C sinusoidale
Fermé
jimadores
Messages postés
2
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
20 mars 2008
-
20 mars 2008 à 14:56
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 21 mars 2008 à 08:37
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 21 mars 2008 à 08:37
A voir également:
- Programme langage C sinusoidale
- Langage ascii - Guide
- Programme demarrage windows 10 - Guide
- Langage binaire - Guide
- Désinstaller programme windows 10 - Guide
- Programme démarrage windows 10 - Guide
2 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
20 mars 2008 à 16:59
20 mars 2008 à 16:59
Pas si facile.
Il faut que tu travail en binaire, ou avec des entier ?
8bits, c'est 256 valeur.
si tu fait :
tu aura ton signal. w est ta pulsation (fréquence fois deux pi) et t le temps.
si tu ne peux pas utiliser la fonction sinus, c'est plus dur.
si w*t n'est pas trop proche de pi/2, tu peux utiliser le dévellopement limité de sinus :
Il faut que tu travail en binaire, ou avec des entier ?
8bits, c'est 256 valeur.
si tu fait :
S(t)=128*(sin(w*t)+1);
tu aura ton signal. w est ta pulsation (fréquence fois deux pi) et t le temps.
si tu ne peux pas utiliser la fonction sinus, c'est plus dur.
si w*t n'est pas trop proche de pi/2, tu peux utiliser le dévellopement limité de sinus :
sin(t)=t-t^3/3!+t^5/5! =sum_n=0^inf (-1)^n*t^(2n+1)/(2n+1)!si tu prend un n assez grand, tu peux ennemer la fonction sinus assez loin (en fait, je crois même que tu peux faire plusieurs périodes).
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
21 mars 2008 à 08:37
21 mars 2008 à 08:37
je te conseil de travailler avec des reels, puis de convertir en entier, c'est plus simple.
Pour le dévellopement limitée, j'ai une erreur inférieur à 1% sur l'interval [0,pi[ en prenant les 6 premiers termes (soit jusqu'à x^11) pour le reste il suffit d'utiliser les propriétés de parité et de périodicité de sinus.
il faut que utilise comme entier un "unsigned char" qui en binaire vaut bien 8 bit (du moins la plupart du temps : ascii étendu) comme ça tu as un lien direct entre ton binaire et la valeur entière représenter, si tu ne met pas unsigned, tu va avoir un problème avec les nombres négatifs.
Pour le dévellopement limitée, j'ai une erreur inférieur à 1% sur l'interval [0,pi[ en prenant les 6 premiers termes (soit jusqu'à x^11) pour le reste il suffit d'utiliser les propriétés de parité et de périodicité de sinus.
il faut que utilise comme entier un "unsigned char" qui en binaire vaut bien 8 bit (du moins la plupart du temps : ascii étendu) comme ça tu as un lien direct entre ton binaire et la valeur entière représenter, si tu ne met pas unsigned, tu va avoir un problème avec les nombres négatifs.
20 mars 2008 à 17:25
je suis vrement depasser la
merci pour ton aide