[sdiy] sine wave floating point conversion issue
Dan Snazelle
subjectivity at hotmail.com
Sat Feb 25 05:42:07 CET 2012
Thanks everyone!!!
Sent from my iPhone
On Feb 24, 2012, at 10:29 PM, Veronica Merryfield <veronica at merryfield.ca> wrote:
> Divide is often expensive (although not always).
>
> unsigned char DacValue = (unsigned char)((sample*127.5)+127.5);
>
> On 2012-02-24, at 7:20 PM, Jay Schwichtenberg wrote:
>
>> Dan,
>>
>> Try:
>> sine_int = (int) ((((sine_float + 1.0) * 256.0) - 1.0) / 2.0);
>>
>> Jay S.
>>
>> -----Original Message-----
>> From: synth-diy-bounces at dropmix.xs4all.nl
>> [mailto:synth-diy-bounces at dropmix.xs4all.nl] On Behalf Of dan snazelle
>> Sent: Sunday, December 31, 2000 4:52 PM
>> To: synthdiy diy
>> Subject: [sdiy] sine wave floating point conversion issue
>>
>> If I have a value in my program that is putting out floating point values
>> (to make a sine wave) between 0.0 and 1.0
>>
>> I would like to get these values into an integer value of between 0 and 255
>> for my dac routine.
>>
>> i tried changing the type and multiplying the value and then dividing it,
>> but then i ended up with negative and positive values....
>>
>>
>> here is the routine which MAKES the sine
>>
>>
>>
>> void loop () {
>> int FREQUENCY=25+analogRead(0);
>> float sample;
>> int j;
>>
>> for(j = 0; j < NUM_SAMPLES; j++) {
>>
>>
>>
>> sample = sin(2 * PI * FREQUENCY * j / SAMPLING_RATE);
>>
>>
>> sample is the value which is a float and puts out the number I want to
>> transform into something usable for the dacOutput function.
>>
>>
>> This has shown me I need to get better and basic type conversion, etc
>>
>>
>> thanks
>>
>>
>>
>> _______________________________________________
>> Synth-diy mailing list
>> Synth-diy at dropmix.xs4all.nl
>> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>>
>>
>> _______________________________________________
>> Synth-diy mailing list
>> Synth-diy at dropmix.xs4all.nl
>> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>>
>
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at dropmix.xs4all.nl
> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>
More information about the Synth-diy
mailing list