[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