Try to add a negative sine to your linear curve that must work. Or make a lookup table.
Try to add a negative sine to your linear curve that must work. Or make a lookup table.
Silly me, I was going for a 3rd order polynomial. Doh!
But you're right mat! Add a negative sine.
luminas,
Now I assume there's more information to it.
Obviously you don't want the integer results from 0-10. I'm sure you want some decimals or something.
Can you elaborate a little?
Best regards,
DT
Hi Darrel & Mat,
Thanks for your great information
I want to compensate result of an ADC input ( 0 - 1024 )
what is the formula to do this ?
Jon
We don't know how 'hard' he needs his compensation curve...for that matter, we don't know a lot about this 'function'...
'Divide down' the SIN result to make it less agressive, multiply it up for more compensation, add in some linear interpolation to 'fill in the blanks'...
We just don't know what's 'REALLY' needed here.
If this was some sort of R/C controller for a model airplane or something, I'd think he was trying to add a bit of double sided 'exponential throw' into his programming...
OK, so let's stick with what we DO know.
The original Data spanned from 0-10.
If we expand that to 10-bit, we can make it 0-1000, plus 23. Just multiply by 100.
And, since the PBP SIN function takes an 8-bit input, we can divide the A/D value (X) by 4 to get the Angle in "Binary Radians". (I assume this is the 'Divide down' method)
Then running it through a short PBP program I got the SIN(A) values. (shown in the odd gray color)
Here you can see "Less than Optimal" results.
It's quite a large error.
So I guess the question now is ....
What's the "multiply it up for more compensation" method?
<br>
DT
YES ...
IF our friend would dare to tell us what's the FINAL use ot this curve ...
Alain
PS: Tools for you, Darrel ...
http://curveexpert.webhop.net/
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
Wow, this is more than what I expected from the forum. Great !
Darrel: You are right, first problem is solved with the negative sine things,
now the question is" how to adjust the " hardness " of the curve
Alain: The purpose of this curve is to compensate the output of a joystick to suit players response in a game.
Some player like "agrresive" joystick response while some other like "standard,linear" response.
Jon
Bookmarks