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 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 - 21 mars 2008 à 08:37
Char Snipeur Messages postés 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 - 21 mars 2008 à 08:37
A voir également:
- Programme langage C sinusoidale
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- D langage c ✓ - Forum C
- Frequence programme national ✓ - Forum Messagerie
- Programme demarrage windows 10 - Guide
- Et en langage c - Astuces et Solutions
2 réponses
Char Snipeur
Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 328
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
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 328
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