[picsig] RE: [aprssig] APRS tone encode question

scott at opentrac.org scott at opentrac.org
Tue Aug 24 02:56:52 EDT 2004

Yeah, but you sacrifice code complexity.  The sine table's not that big, and
for the AFSK mode anyway it's not worth it.  I think my BPSK code does that
with the larger 8-bit sine table, but I'd have to check.  As for variable
step time, the step time is an integer multiple of the PWM period.  I could
change the PWM period by setting the timer modulo register, but that gets a
little hairy because if you change it at the wrong time, you can miss an
overflow and totally screw up the cycle.  If someone can demonstrate that
there'd be a real increase in reliability, I'll try, but it's not going to
be simple.

Doing variable time steps with a resistor ladder or any other D/A, though,
shouldn't be a big deal.


-----Original Message-----
From: Dave VanHorn [mailto:dvanhorn at dvanhorn.org]
Sent: Monday, August 23, 2004 9:41 PM
To: TAPR PIC Mailing List; TAPR PIC Mailing List;
vk4tec at tech-software.net; 'TAPR PIC Mailing List'; scott at opentrac.org;
'TAPR APRS Mailing List'
Subject: RE: [picsig] RE: [aprssig] APRS tone encode question

At 05:14 PM 8/23/2004, Dave VanHorn wrote:

>At 04:36 PM 8/23/2004, jtowler wrote:
>>Interesting that the original picture of the 3 bit resistor waveform and
>>MX614 waveform both look sin-wave in shape, but that last one from
>>OpenTracker looks much more like a triangle shape. Very sharp looking
>If the DAC resistors aren't sized properly, then you end up with a
>It just has more harmonic content that way.

The other way to hose that up, is using equal time intervals for each step.
Sounds like this is what they did.
The frequency is right, but it's got more harmonic content than it should.
Normally, you'd have a lookup table that sets the duration of each step, and
of course you only need a quarter of a sine wave, since you can mirror and
invert it to get the other three quadrants.

More information about the aprssig mailing list