[aprssig] Packet Radio Tone Generation

scott at opentrac.org scott at opentrac.org
Sat Dec 18 11:30:45 CST 2004

Right - what I did in my code was use one variable as a phase accumulator
that keeps track of what point the sine wave is at.  Each output cycle, that
serves as a pointer to a sine lookup table and that value is sent - in this
case to PWM, but it could be a DAC.  The value by which the phase
accumulator is incremented determines its frequency.  Every 1/1200 sec it
grabs the next bit and decides which increment to use.

Because of the lack of documentation out there, I wrote up my own page on
the subject:


There are a number of details in there that get missed in much of the
documentation.  Also, if you don't mind reading HC08 assembly language,
check out the code in the fsk.c module of the OpenTracker source.  The PWM
output complicates things a little compared to MIM or SoTT, though.


-----Original Message-----
From: aprssig-bounces at lists.tapr.org
[mailto:aprssig-bounces at lists.tapr.org]On Behalf Of James Washer
Sent: Saturday, December 18, 2004 5:20 AM
To: vk4tec at tech-software.net; TAPR APRS Mailing List
Subject: Re: [aprssig] Packet Radio Tone Generation

I cannot claim to have written the code yet... but I've been thinking about
it so here are my thoughts

2200 will NOT fit nicely at a zero crossing.

The two tones must remain "in phase"... i.e you cannot "jump" to the zero
crossing point when you change tones.

Therefore, the best thing to do (IHMO) is to run two clocks, one, generating
the correct ramp for the current tone, and another telling you when to
change the first timer, and hence, the tone.

 - jim

On Sat, 18 Dec 2004 21:12:04 +1000
"Andrew Rich" <vk4tec at tech-software.net> wrote:

> Howdy,
> Working the numbers for 1200 Baud packet generation using a PIC.
> Does this look right ?
> 1200 Baud = 1200 possible symbol changes per second
> 1 Symbol change possible every 833 uS
> Tones used are 1200 Hz and 2200 Hz
> How then does 1200 and 2200 fit into the scheme ?
> Does one cycle of 1200 Hz equate to enought for one symbol ?
> 2200 does not seem to fit cleanily assuing zero crossing
> Cheers Andy VK4TEC
> _______________________________________________
> aprssig mailing list
> aprssig at lists.tapr.org
> https://lists.tapr.org/cgi-bin/mailman/listinfo/aprssig

aprssig mailing list
aprssig at lists.tapr.org

More information about the aprssig mailing list