Thursday, May 13, 2010

An Univeral Radio Interface


All of the various digital modes out there require some sort of interface to your soundcard. Most of these interfaces use the serial port (RS-232) for keying, or some of the newer "Rig-blaster" interfaces can do provide that over a USB connection in the absence of traditional com ports on the newer computers.

There is still one thing lacking. Their own dedicated sound card. There is nothing more embarrassing than forgetting to disable your computers system sounds. And on the same token having to mess with the mixer settings each time is also annoying.

Thanks to the hard work of Steven Henke, W9SH and Jim Dixon, WB6NIL, they have ground work for a Univeral Radio Interface.

You can build your own using inexpensive USB sound FOB's/sticks. Or you can buy a pre-manufactured interface from DMK Engineering.

The basis of it all is the C-Media electronics CM-108, CM-108AH, or CM-119 USB interface chips.

PTT and optional Carrier Detect are accomplished using unused general purpose I/O lines of the USB sound devices chipset. Just plug this into a USB port of your computer, no other connections to the PC are necessary!

If you build your own, the sound fob will require some modifications to bring out PTT, block DC on the audio outputs, and attenuate the receive audio to match the microphone levels.

http://www.qsl.net/kb9mwr/projects/voip/USB-FOB.pdf

http://www.qsl.net/kb9mwr/projects/voip/usbfob-119.pdf


Unfortunately the number of programs that support this type of interface are presently limited. The good news is any one coding a program like ham radio deluxe or the like can easily adopt support for this interface. The channel driver is open and authored by Jim Dixon, WB6NIL and Steve Henke, W9SH.

If you an author of such a program you can find the definition in file chan_usbradio.c. I encourage you to add support for this inexpensive to build interface.

Friday, May 7, 2010

NWR SAME software decoder?

Server weather season is upon us.

I have often thought it would be nice if there was an open source (soundcard/ FOB based) SAME decoder solution.

One could dedicate a cheap USB sound FOB to a receiver parked on their NOAA weather radio frequency that would sit and decode any SAME data bursts.

I am thinking for interfacing to repeaters to provide custom weather alert signaling.

It does appear that software to decode SAME data exists, just not open source.

http://www.dxsoft.com/en/products/seatty/

A SAME software decoder would benefit projects like thelinkbox, and asterisk app_rpt as well as other projects.

{Update 6/11}
Greg Hewgill, has updated the source to his NWR tools, now at:

https://github.com/ghewgill/nwr


"Drew" Kirkman, W4KMC writes:
"TECHNICAL INFORMATION:
NOAA’s Specific Area Message Encoding (or SAME) protocol is used to further streamline the Emergency Alert System. Information about an emergency message (such as locations affected, type of message, where it’s coming from, and how long it will be considered effective) is transmitted in the form of digital bursts at the beginning and end of said message. These bursts are AFSK-modulated data with a throughput of 520.83 bits per second. Mark tone (binary 1) is 2083.3 Hz and space tone (binary 0) is 1562.5 Hz, with each tone lasting about 1920 microseconds. Bytes are transmitted in reverse order (LSB -> MSB), that is, 00010111 would be transmitted as 11101000. There are other technical specifications regarding its use in the real world, but it’s irrelevant here. Essentially, if you handed the right text to it, I have a SAME encoder. It outputs true SAME-encoded data."

See his NOAA SAME web based audio encoder/decoder at:
http://www.drewkirhttp://www.blogger.com/img/blank.gifkman.com/projects/noaa-same/

I also stumbled into:

"Using an Arduino Uno and a few other external components, I've been able to reliably decode the SAME messages."

http://www.raydees.com/Weather_Radio.html


{Update 2012}
Someone updated multimon, and it now has EAS / SAME decoding support!
https://github.com/EliasOenal/multimonNG/blob/master/README

And this PHP-based SAME AFSK encoder: http://www.whence.com/minimodem/