Goto page 1, 2 Next
Patrick
Guest
Sat Jul 07, 2007 9:37 am
Bonjour
Je cherche a crée une formule mathématique pour convertir une
valeur linéaire en courbe( logarithmique je pense) avec un point maxi a 20
pour commencer dessin:
http://cjoint.com/?hhlfy4Hytk
ma valeur d entrée échelle linéaire de 0 a 4000 doit être converti
en une échelle non linéaire de 0 a 65535 avec un très fort delta sur les
valeurs autoures de 2000 (entrée)
Sur mon automate je dispose:
des 4 opérations.
calcule sur nombre entier < 4 300 000 000
sur exel voici le genre de calcul que j ai commencé:
out=65535/40000 * in * t * t / (4100*4100)
t variable dans une boucle de 0 a 2000 et t=t+2
pour la monté de 0 a 2000 fonctionne pas trop mal
mail grosse difficulté pour la parti 2000 a 4000 avec d autre formule
Si un matheu pouvez me trouver une formule a adapter
Merci
jj
Guest
Sat Jul 07, 2007 10:18 am
Patrick a écrit :
Quote:
Bonjour
Je cherche a crée une formule mathématique pour convertir une
valeur linéaire en courbe( logarithmique je pense) avec un point maxi a 20
pour commencer dessin:
http://cjoint.com/?hhlfy4Hytk
ma valeur d entrée échelle linéaire de 0 a 4000 doit être converti
en une échelle non linéaire de 0 a 65535 avec un très fort delta sur les
valeurs autoures de 2000 (entrée)
Sur mon automate je dispose:
des 4 opérations.
calcule sur nombre entier < 4 300 000 000
sur exel voici le genre de calcul que j ai commencé:
out=65535/40000 * in * t * t / (4100*4100)
t variable dans une boucle de 0 a 2000 et t=t+2
pour la monté de 0 a 2000 fonctionne pas trop mal
mail grosse difficulté pour la parti 2000 a 4000 avec d autre formule
Si un matheu pouvez me trouver une formule a adapter
Merci
deja il faut savoir précisement quelle courbe tu veux, et la formuler
mathématiquement du genre y=25 log(x/3) par exemple.
ensuite tu pourras faire ton calcul en utilisant un développement limité
qui assurera l'équivalence mathématique
tu trouvera des explications ici
http://fr.wikipedia.org/wiki/D%C3%A9veloppement_limit%C3%A9
ceci va nécessiter de faire une boucle pour calculer une somme de
valeurs et coeficients... cela va être très lourd pour l'automate.
Enfin, tu feras très attention aux operations sur entiers car il faut
t'assurer de rester dans une gamme valide, donc l'ordre des opérations
sera choisi avec soin...
jj
vincent.thiernesse
Guest
Sat Jul 07, 2007 4:02 pm
Bonjour,
je travaille justement sur un convertisseur A/N à caractéristique
logarithmique....si vous avez un peu de patience je vous enverai ça.
avantage de la méthode: pas besoin de 16 bits de résolution puisque le
convertisseur suit une progression géométrique et non arithmétique.
à suivre
Vincent
"Patrick" <patick_at_free.fr> a écrit dans le message de
news:468f5ede$0$2046$426a34cc_at_news.free.fr...
Quote:
Bonjour
Je cherche a crée une formule mathématique pour convertir une
valeur linéaire en courbe( logarithmique je pense) avec un point maxi a 20
pour commencer dessin:
http://cjoint.com/?hhlfy4Hytk
ma valeur d entrée échelle linéaire de 0 a 4000 doit être converti
en une échelle non linéaire de 0 a 65535 avec un très fort delta sur les
valeurs autoures de 2000 (entrée)
Sur mon automate je dispose:
des 4 opérations.
calcule sur nombre entier < 4 300 000 000
sur exel voici le genre de calcul que j ai commencé:
out=65535/40000 * in * t * t / (4100*4100)
t variable dans une boucle de 0 a 2000 et t=t+2
pour la monté de 0 a 2000 fonctionne pas trop mal
mail grosse difficulté pour la parti 2000 a 4000 avec d autre formule
Si un matheu pouvez me trouver une formule a adapter
Merci
vincent.thiernesse
Guest
Sat Jul 07, 2007 4:23 pm
je vous explique la méthode:
d'abord le convertisseur linéaire à approximation succéssives.
on veut égaler un nombre n = 2^0 * a0 + 2^1 * a1 + 2^2 * a2 + 2^3 * a3 +
etc.... à l'entrée e
le nombre ...a3a2a1a0 est alors à peu près égal à e et est écrit en binaire.
le convertisseur logarithmique:
au lieu d'additionner des nombres on les multiplie:
on sait que e^a * a^b = e^(a+b)
donc e^(k * 2^0 * a0) * e^(k * 2^1 * a1) * e^(k * 2^2 * a2) * e^(k * 2^3 *
a3) *......
est égal à e^(k * (2^0 * a0 + 2^1 * a1 + etc...)) = e^(k * n)
on procède de la même manière par approximations succéssives mais cette fois
en multipliant par 1 ou par e^(k * 2^i * ai)
ces coefficients peuvent être par exemple: {0.229 , 0.478 , 0.692 , 0.832 ,
0.912 , 0.955 , 0.977 , 0.9885}
qui balayent la plage 0.05 à 1 par pas de 1%
à la fin e^(k * n) est environ égal à l'entrée e
et donc n = 1/k *ln(e)
vous voyez l'avantage: c'est la sortie n qui est quantifiée linéairement, ce
qui ne s'obtient pas par calcul et ne nécessite pas une résolution
fantaisiste de 16 bits.
je vous envois dans le prochaîn post le schéma du montage qui devrait me
permettre de réaliser ce convertisseur.
@+
Vincent
"Patrick" <patick_at_free.fr> a écrit dans le message de
news:468f5ede$0$2046$426a34cc_at_news.free.fr...
Quote:
Bonjour
Je cherche a crée une formule mathématique pour convertir une
valeur linéaire en courbe( logarithmique je pense) avec un point maxi a 20
pour commencer dessin:
http://cjoint.com/?hhlfy4Hytk
ma valeur d entrée échelle linéaire de 0 a 4000 doit être converti
en une échelle non linéaire de 0 a 65535 avec un très fort delta sur les
valeurs autoures de 2000 (entrée)
Sur mon automate je dispose:
des 4 opérations.
calcule sur nombre entier < 4 300 000 000
sur exel voici le genre de calcul que j ai commencé:
out=65535/40000 * in * t * t / (4100*4100)
t variable dans une boucle de 0 a 2000 et t=t+2
pour la monté de 0 a 2000 fonctionne pas trop mal
mail grosse difficulté pour la parti 2000 a 4000 avec d autre formule
Si un matheu pouvez me trouver une formule a adapter
Merci
vincent.thiernesse
Guest
Sat Jul 07, 2007 4:40 pm
Voici le schéma:
http://cjoint.com/?hhsFkb7aZx
vous voyez une suite de pont diviseur suivi d'AOPs montés en suiveur.
En dessous, des commutaterus analogiques commandés par un PIC.
suivant que le commutateur est sur on ou OFF, la valeur de la tension (au
départ Vref) est multipliée par un nombre < 1 ou multipliée par 1.
La valeur finale est comparée à l'entrée.
C'est le PIC qui lit le résultat de la comparaison et s'occupe de
l'algorithme d'approximations succéssives.
les valeurs des résistances ne sont pas affectés: ils dépendront du pas de
quantification souhaité: 1% , 3 % , 10 % c'est comme vous voulez.
8 bits de quantification n'est pas une valeur limitative....Faites 10 ou 12
si vous voulez.
par exemple si vous prennez 8 bits, 3% de pas, la gamme de mesure s'étalle
pour une entrée de 0.0005 Vref à Vref.
@+
Vincent
"Patrick" <patick_at_free.fr> a écrit dans le message de
news:468f5ede$0$2046$426a34cc_at_news.free.fr...
Quote:
Bonjour
Je cherche a crée une formule mathématique pour convertir une
valeur linéaire en courbe( logarithmique je pense) avec un point maxi a 20
pour commencer dessin:
http://cjoint.com/?hhlfy4Hytk
ma valeur d entrée échelle linéaire de 0 a 4000 doit être converti
en une échelle non linéaire de 0 a 65535 avec un très fort delta sur les
valeurs autoures de 2000 (entrée)
Sur mon automate je dispose:
des 4 opérations.
calcule sur nombre entier < 4 300 000 000
sur exel voici le genre de calcul que j ai commencé:
out=65535/40000 * in * t * t / (4100*4100)
t variable dans une boucle de 0 a 2000 et t=t+2
pour la monté de 0 a 2000 fonctionne pas trop mal
mail grosse difficulté pour la parti 2000 a 4000 avec d autre formule
Si un matheu pouvez me trouver une formule a adapter
Merci
vincent.thiernesse
Guest
Sat Jul 07, 2007 4:42 pm
Euh, je me suis peut-être un peu embalé: c'est vraiment du log que vous
voulez oou autre chose ?
"Patrick" <patick_at_free.fr> a écrit dans le message de
news:468f5ede$0$2046$426a34cc_at_news.free.fr...
Quote:
Bonjour
Je cherche a crée une formule mathématique pour convertir une
valeur linéaire en courbe( logarithmique je pense) avec un point maxi a 20
pour commencer dessin:
http://cjoint.com/?hhlfy4Hytk
ma valeur d entrée échelle linéaire de 0 a 4000 doit être converti
en une échelle non linéaire de 0 a 65535 avec un très fort delta sur les
valeurs autoures de 2000 (entrée)
Sur mon automate je dispose:
des 4 opérations.
calcule sur nombre entier < 4 300 000 000
sur exel voici le genre de calcul que j ai commencé:
out=65535/40000 * in * t * t / (4100*4100)
t variable dans une boucle de 0 a 2000 et t=t+2
pour la monté de 0 a 2000 fonctionne pas trop mal
mail grosse difficulté pour la parti 2000 a 4000 avec d autre formule
Si un matheu pouvez me trouver une formule a adapter
Merci
vincent.thiernesse
Guest
Sat Jul 07, 2007 4:43 pm
y-a quelqu'un ??
bon je vais boire un Senseo...
"Patrick" <patick_at_free.fr> a écrit dans le message de
news:468f5ede$0$2046$426a34cc_at_news.free.fr...
Quote:
Bonjour
Je cherche a crée une formule mathématique pour convertir une
valeur linéaire en courbe( logarithmique je pense) avec un point maxi a 20
pour commencer dessin:
http://cjoint.com/?hhlfy4Hytk
ma valeur d entrée échelle linéaire de 0 a 4000 doit être converti
en une échelle non linéaire de 0 a 65535 avec un très fort delta sur les
valeurs autoures de 2000 (entrée)
Sur mon automate je dispose:
des 4 opérations.
calcule sur nombre entier < 4 300 000 000
sur exel voici le genre de calcul que j ai commencé:
out=65535/40000 * in * t * t / (4100*4100)
t variable dans une boucle de 0 a 2000 et t=t+2
pour la monté de 0 a 2000 fonctionne pas trop mal
mail grosse difficulté pour la parti 2000 a 4000 avec d autre formule
Si un matheu pouvez me trouver une formule a adapter
Merci
vincent.thiernesse
Guest
Sat Jul 07, 2007 5:42 pm
encore une précision,
vous aurez remarqué que j'ai pris des coeffs inférieurs à 1....c'est parce
dans mon idée de départ je prends des coéfs ci = e^(-k * 2^i * ai)
dans ce cas n = - 1/k ln(e)...le pic se chargeant de remplacer -n par n
(c'est à sa portée...)
(c'est plus sûr et plus facile de diviser plusieurs fois une grande valeur
que de multiplier plusieurs fois une petite...)
j'ai donné des coeffs:
c0 = 0.9885
c1 = 0.9772
c2 = 0.955
c3 = 0.9120
etc...
c0 * a0 + c1 * a1 + c2 * a2 + .........= e^(-k * n)
n = 2^0 * a0 + 2^1 * a1 + 2^2 * a2 + .....
les ai sont bien sur des bits
c0 = 0.9885
c1 = 0.9772
c1*c0 = 0.9660
c2 = 0.9550
c2*c0 = 0.0.9440
c2*c1 = 0.9332
c2*c1*a0 = 0.9225
c3 = 0.09120
c3*c0 = 0.9015
c3*c1 = 0.89125
etc....
dans l'autre sens:
c7 * c6 * c5 * c4 * c3 * c2 * c1 * c0 = 0.05309
c7 * c6 * c5 * c4 * c3 * c2 * c1 = 0.05370
c7 * c6 * c5 * c4 * c3 * c2 * c0 = 0.05433
etc.....
"Patrick" <patick_at_free.fr> a écrit dans le message de
news:468f5ede$0$2046$426a34cc_at_news.free.fr...
Quote:
Bonjour
Je cherche a crée une formule mathématique pour convertir une
valeur linéaire en courbe( logarithmique je pense) avec un point maxi a 20
pour commencer dessin:
http://cjoint.com/?hhlfy4Hytk
ma valeur d entrée échelle linéaire de 0 a 4000 doit être converti
en une échelle non linéaire de 0 a 65535 avec un très fort delta sur les
valeurs autoures de 2000 (entrée)
Sur mon automate je dispose:
des 4 opérations.
calcule sur nombre entier < 4 300 000 000
sur exel voici le genre de calcul que j ai commencé:
out=65535/40000 * in * t * t / (4100*4100)
t variable dans une boucle de 0 a 2000 et t=t+2
pour la monté de 0 a 2000 fonctionne pas trop mal
mail grosse difficulté pour la parti 2000 a 4000 avec d autre formule
Si un matheu pouvez me trouver une formule a adapter
Merci
vincent.thiernesse
Guest
Sat Jul 07, 2007 5:58 pm
pour les autres je me dis comme ça:
ce convertisseur pouvant donner aussi bien une cartéristique log pour l'A/N,
qu'une caractéristique exp pour le N/A...alors...
trop facile de faire une mesure RMS digne de ce nom...
trop facile de faire un DBmètre digne de ce nom...
what do you think about this ?
@
Vin
"Patrick" <patick_at_free.fr> a écrit dans le message de
news:468f5ede$0$2046$426a34cc_at_news.free.fr...
Quote:
Bonjour
Je cherche a crée une formule mathématique pour convertir une
valeur linéaire en courbe( logarithmique je pense) avec un point maxi a 20
pour commencer dessin:
http://cjoint.com/?hhlfy4Hytk
ma valeur d entrée échelle linéaire de 0 a 4000 doit être converti
en une échelle non linéaire de 0 a 65535 avec un très fort delta sur les
valeurs autoures de 2000 (entrée)
Sur mon automate je dispose:
des 4 opérations.
calcule sur nombre entier < 4 300 000 000
sur exel voici le genre de calcul que j ai commencé:
out=65535/40000 * in * t * t / (4100*4100)
t variable dans une boucle de 0 a 2000 et t=t+2
pour la monté de 0 a 2000 fonctionne pas trop mal
mail grosse difficulté pour la parti 2000 a 4000 avec d autre formule
Si un matheu pouvez me trouver une formule a adapter
Merci
vincent.thiernesse
Guest
Sat Jul 07, 2007 6:48 pm
Quote:
deja il faut savoir précisement quelle courbe tu veux, et la formuler
mathématiquement du genre y=25 log(x/3) par exemple.
ensuite tu pourras faire ton calcul en utilisant un développement limité
qui assurera l'équivalence mathématique
Votre lien ne marche pas trop, mais s'il s'agit des développements en série
de Taylor...
moins connu mais plus efficace: les approximations de Padé (approximation
par des fractions de polynôme, à partir du DL de Taylor)
http://math.fullerton.edu/mathews/n2003/pade/PadeApproximationMod/Links/PadeApproximationMod_lnk_9.html
un peu comme la difference entre les RIF et les RII...
Bonne soirée
Vincent
Patrick
Guest
Sat Jul 07, 2007 7:14 pm
Bonsoir
Oui il y a quelqu'un
mais pour une il y a du SOLEIL ....
Le convertisseur existe donc je ne rajoute pas électronique.
J ai besoin plus d'une fonction mathématique.
J ai retravailler dessus j approche du résultat voulu:
exemple en LIVE mais il faut activer les actives X plusieurs fois
ou mettre le site en 'zone sur'
Je garantie il n y a pas de virus caché.
http://personne.ici.free.fr/
Pascal
pom
Guest
Sun Jul 08, 2007 7:21 am
vincent.thiernesse a écrit :
Quote:
Euh, je me suis peut-être un peu embalé: c'est vraiment du log que vous
voulez oou autre chose ?
http://cjoint.com/?hhlfy4Hytk
ma valeur d entrée échelle linéaire de 0 a 4000 doit être converti
en une échelle non linéaire de 0 a 65535 avec un très fort delta sur les
valeurs autoures de 2000 (entrée)
Bonjour,
NON, selon la grille transmise séparément, ce n'est pas logarithmique.
C'est simplement une échelle nonlinéaire dont il faudrait d'abord
définir les propriétés avant de commencer à calculer...
pom
Patrick
Guest
Sun Jul 08, 2007 8:56 am
Quote:
Bonjour,
NON, selon la grille transmise séparément, ce n'est pas logarithmique.
C'est simplement une échelle nonlinéaire dont il faudrait d'abord définir
les propriétés avant de commencer à calculer...
pom
Bonjour
Le problème est bien la j ai une idée du résultat (visuel) et je
cherche la formule mathématique.
Je commence a avoir un résultat qui me convient
avec l age de ma grand mère et du capitaine
http://personne.ici.free.fr
il faut autoriser les actives x plusieurs fois.
courbe en directe somme de 3 valeurs linéaires
1 monté descente de 0 a 3500 en 50 minutes
1 de 0 a 200 en 380 s
1 de 0 a 150 en 110 s
pour des essais
Patrick
Maioré
Guest
Sun Jul 08, 2007 9:12 am
"vincent.thiernesse" <vincent.thiernesse_at_wanadoo.fr> a écrit dans le message
de news: 468fb912$0$5079$ba4acef3_at_news.orange.fr...
Quote:
Bonjour,
je travaille justement sur un convertisseur A/N à caractéristique
logarithmique....si vous avez un peu de patience je vous enverai ça.
avantage de la méthode: pas besoin de 16 bits de résolution puisque le
convertisseur suit une progression géométrique et non arithmétique.
à suivre
Vincent
"Patrick" <patick_at_free.fr> a écrit dans le message de
news:468f5ede$0$2046$426a34cc_at_news.free.fr...
Bonjour
Je cherche a crée une formule mathématique pour convertir une
valeur linéaire en courbe( logarithmique je pense) avec un point maxi a
20
pour commencer dessin:
http://cjoint.com/?hhlfy4Hytk
ma valeur d entrée échelle linéaire de 0 a 4000 doit être converti
en une échelle non linéaire de 0 a 65535 avec un très fort delta sur les
valeurs autoures de 2000 (entrée)
Sur mon automate je dispose:
des 4 opérations.
calcule sur nombre entier < 4 300 000 000
sur exel voici le genre de calcul que j ai commencé:
out=65535/40000 * in * t * t / (4100*4100)
t variable dans une boucle de 0 a 2000 et t=t+2
pour la monté de 0 a 2000 fonctionne pas trop mal
mail grosse difficulté pour la parti 2000 a 4000 avec d autre formule
Si un matheu pouvez me trouver une formule a adapter
===========
As-tu essayé les fonctions simples de type y=ax²+bx +c
vincent.thiernesse
Guest
Tue Jul 10, 2007 8:32 pm
Bon, personne ne veut me faire la causette à sujet...tant pis.
"vincent.thiernesse" <vincent.thiernesse_at_wanadoo.fr> a écrit dans le message
de news:468fd423$0$27382$ba4acef3_at_news.orange.fr...
Quote:
pour les autres je me dis comme ça:
ce convertisseur pouvant donner aussi bien une cartéristique log pour
l'A/N,
qu'une caractéristique exp pour le N/A...alors...
trop facile de faire une mesure RMS digne de ce nom...
trop facile de faire un DBmètre digne de ce nom...
what do you think about this ?
@
Vin
"Patrick" <patick_at_free.fr> a écrit dans le message de
news:468f5ede$0$2046$426a34cc_at_news.free.fr...
Bonjour
Je cherche a crée une formule mathématique pour convertir une
valeur linéaire en courbe( logarithmique je pense) avec un point maxi a
20
pour commencer dessin:
http://cjoint.com/?hhlfy4Hytk
ma valeur d entrée échelle linéaire de 0 a 4000 doit être converti
en une échelle non linéaire de 0 a 65535 avec un très fort delta sur les
valeurs autoures de 2000 (entrée)
Sur mon automate je dispose:
des 4 opérations.
calcule sur nombre entier < 4 300 000 000
sur exel voici le genre de calcul que j ai commencé:
out=65535/40000 * in * t * t / (4100*4100)
t variable dans une boucle de 0 a 2000 et t=t+2
pour la monté de 0 a 2000 fonctionne pas trop mal
mail grosse difficulté pour la parti 2000 a 4000 avec d autre formule
Si un matheu pouvez me trouver une formule a adapter
Merci
Goto page 1, 2 Next