[aprssig] Packet Radio Tone Generation

Andrew Rich vk4tec at tech-software.net
Sat Dec 18 17:30:35 EST 2004


So what you are saying is

Increment to next part of the sine wave after having checked wether you are
supposed to be doing a 1200 or 2200 hz tone ?

What happens at the rcver ?

Does it not check the distance between zero corssings to determine if the
tone is 1200 or 2200 ?

Cheers

-----Original Message-----
From: Scott Miller [mailto:scott at 3xf.com]On Behalf Of scott at opentrac.org
Sent: Sunday, 19 December 2004 3:31 AM
To: 'TAPR APRS Mailing List'; vk4tec at tech-software.net
Subject: RE: [aprssig] Packet Radio Tone Generation


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:

http://n1vg.net/packet/index.php

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.

Scott
N1VG

-----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
https://lists.tapr.org/cgi-bin/mailman/listinfo/aprssig







More information about the aprssig mailing list