Fwd: Re: [digitalradio] RE: AX25 Soundcard modem alternative

84 views
Skip to first unread message

Kristoff Bonne

unread,
Aug 31, 2013, 5:02:40 AM8/31/13
to digitalvoice@googlegroups com
Hi All,


A user of the "digitalradio" list is working on a new open source implementation of the AFSK modem for AX25/APRS.

As I think it would be usefull for c2afsk, I forward my reply to him in this group. (there is a small "status update" on my code for c2afsk in the message below). I'll do a little bit of cleanup of the code and upload what I currently have on github.

As said, it does not seams to work on my test-setup here (using a FT857D and a UV3R), but that could perhaps be more due to the test-setup then the code. (I hope :-) )



73
kristoff - ON1ARF

-------- Original Message --------
Subject: Re: [digitalradio] RE: AX25 Soundcard modem alternative
Date: Sat, 31 Aug 2013 10:09:58 +0200
From: Kristoff Bonne <kris...@skypro.be>
Reply-To: digita...@yahoogroups.com
To: digita...@yahoogroups.com


 

Hi Alejolp,


Well, it's a bit more complex then that. A DV system consist out of different parts.


codec2 is indeed patent-free and open source and an alternative to AMBE, the vocoder (voice encoder) used in D-STAR and some other systems. AMBE is 2400 bps, codec2 exists in three different versions: 2400, 1400 and 1200 bps. It is developed by David Rowe VK5DGR

But, to actually transmit a stream (data or data) over an analog medium (like a radio), you need a modem: currently there is the FDMDV2 modem (also developed by David) and c2gmsk (a GMSK based modem at 2400 or 4800 bps) and c2afsk (AFSK based, 1800 bps) where I work on.
A "modem" is actually more then just the modulator/demodulator. It also deals with stuff like how-to-format the bits, FEC (forward error correction), interleaving (changing the order of the bits to make it less prone to transmission errors), other channels in the stream (like a slow-speed data-service), ...


On top of the modem, you need an application to actually use it. There is FreeDV (which currently FDMDV2, written by Mel Witten K0PFX) and the "gmskmodem" (for ... c2gmsk). c2afsk is currently no more then an experiment so there is no formal "application" for it; but the goal in to include it in the "gmskmodem". Application deal with stuff like audio (voice) input/output, interfacing to the radio, visualisation, etc.
I have been looking at getting c2gmsk into other applications like thelinkbox or GNU radio. For that reason, I have rewritten it as an API.


D-STAR does include another layer: the network layer: repeater interconnections, etc. There is no codec2-based equivalent to that. (so, ... if somebody is interested, there is a complete area of development completely free here)


The fun thing about this is that we are here developing a system pretty much from scratch so we are able to do or leave out anything we want. E.g. for the c2afsk modem, I have been experimenting with kind of preemble we can use for that. (a preemble is a bitstream we put infront of the stream to "train" the AFSK demodulator, let it learn about the characteristic of the FM channel being used and to syncronise itself).

As we -in contrast to a AFSK demodulator for AX25/APRS- not constraints to whatever the AX.25 specifications say. You can freely play around and experiement with whatever options you think are usefull. This really gives you a good opportitunity to learn about this.


Another big advantage is that everything is open source, and this means that all other code is available to look at. E.g. When looking at FEC (forward error correction) for the c2gmsk modem at 2400 bps, we had all information we needed to know what parts of the codec2 stream react badly to biterrors and which could do with less error-correction.


For the AFSK modem, as said, it is currently in early development. We are currently looking into the typical characteristics of an FM channel on which the AFSK stream rides, more specifically the attenuation of the higher tone ("space") compaired to the lower tone ("mark"). My idea is to send a specific preemble infront of the stream which should allow the modem to train itself. I have some developement code I have been working on, but the problem is that the test setup I have been using here (a yaesu FT857 and a bafeng UV3R) gives such an channel characteric that I cannot get the demodulator to sync to it at all. Grrr!!!! :-(

But, I think I will just trow the code on github anyway and see how far we get from there.


There has also some nice work being done by opther people to provide some tools to model the characterics of an FM channel and to convert that the a FIR filter. This might perhaps also be interesting for you as it allows us to test modems purely in simulated enviroments.


I try to do the developement as open as possible via the digitalvoice list so that everybody can learn from this. (I do this as part of my "demythify digital communication" effort :-) )
I will also forward this message in that list.

So, if you are interested, feel free to drop in. Even if you do not use it for digitalvoice, there still might be some things that are usefull for the AX.25 AFSK modem you are working on.



73
kristoff - ON1ARF


On 30-08-13 16:31, ale...@alejolp.com.ar wrote:
 

 kristoff,


Codec2 is the Patent-free open source alternative to D-STAR, right? That sounds interesing. 


73 LU4EXT




--- In digita...@yahoogroups.com, <kristoff@...> wrote:

Hi,



On 29-08-13 02:41, alejolp85 wrote:
 

Hi,

I've been working on a open source AX25 soundcard modem, available here:
http://extradio.sourceforge.net/extmodem.html

Great.
It's nice to see fellow hams actually writing code. :-) I will surely check it out.


If you are interested, in the "digitalvoice" list on google groups, I have started a small discussion on designing an AFSK modem for codec2 based digital voice. The goal is to have an AFSK modem at 1800 bps (1400 bps codec2, 300 bps FEC, 100 bps sync/signaling) for use on FM transceivers that do not have a "9k6" port.

The idea is that the choice for bell202 for packet/AX25/APRS was probably given in from a practicle reason: the availability of encoder/decoder chips, even though bell202 was designed for copper transmission wires, not FM transceivers.

So, as we do DSP stuff ourselfs in microcontrollers, this argument isn't valid anymore. As we can develop both the AFSK modem from scratch and the DV protocol on top of that, we should be able to crack up the speed of AFSK from 1200 to 1800 bps, thereby enable DV over an AFSK channel.

The code will be open source and I want to do the development on an open mailinglist so that fellow hams can learn from it and get an idea what is really inside an AFSK modem.


If you are interested, do drop in.


73 LU4EXT

73
kristoff - ON1ARF

__._,_.___
Reply via web post Reply to sender Reply to group Start a New Topic Messages in this topic (13)
Recent Activity:
.

__,_._,___


Reply all
Reply to author
Forward
0 new messages