Adventures in Digital Modes

noway2

Senior Member
2A Bourbon Hound OG
Charter Life Member
Multi-Factor Enabled
Joined
Dec 16, 2016
Messages
21,178
Location
Onboard the mothership
Rating - 100%
5   0   0
One of the more esoteric aspects of ham radio is the use of "digital" modes. Which are, in essence, much like the old days of a dial up modem which used phase and or frequency shift keying of a carrier over a POTS line to transfer digital data. In the ham radio realm the RF is modulated in various fashions to communicate data digitally. As with the modem, various modes or protocols are used, a couple common ones being PSK31 and JTG65. I have begun looking into these modes and have been doing some research into the topic. This post is in part a tutorial of what I have learned from reading various sources that are scattered about the Internet and an open discussion of the topic for those who are knowledgeable on the subject and for those who would like to learn more.

In the typical setup, a computer sound card is placed between the computer and the radio and is used to digitize the received waveform for computer analysis and and generate the analog waveform that will be used as a modulating signal by the radio for transmission. The generic sound card for this application is called signal link and it acts as a USB based sound card. Some radios, such as the Yaesu FT-991(a) that I am running have a built in sound card (the FT-991 / 991A have a TI chipset for this function) that is used as a USB based sound device. For operation under Windows, Yaesu provides drivers and similar ones are provided under Linux. As I am primarily a Linux user this discussion will focus on interfacing under Linux. One side note, if operating under Windows install the drivers BEFORE you plug the radio into your computer.

Under Linux, all of the devices are virtualized under the /dev tree. Using the command "lsusb" will show you the list of USB devices attached to your machine. For example, on the machine I am writing this post on, one line of the output is:
Bus 001 Device 006: ID 046d:c52b Logitech, Inc. Unifying Receiver
corresponding to the wireless receiver for my mouse and keyboard. Note the 046d:c52b which correspond to the vendor and product ID numbers as assigned by the USB consortium. Your USB sound card(s) will have a similar ID. In order to use the sound card in the digital mode applications you need to know what the device is in your /dev tree. In all likelihood they will be assigned an identifier such as /dev/ttyUSB0 where the tty is a relic from the old RS232 modem days. As this will depend upon in what order they are enumerated it would be preferable to assign them a consistent name and for this we make use of the UDEV process.

UDEV is a kernel level tool that works according to a set of rules to assign consistent naming to devices. We can write a UDEV rule to give these USB sound card(s) a name like "rig". See this tutorial for information on doing this. Note that you will probably have TWO sound cards or codecs, one for transmitting and one for receiving which will be on different ports.

Once we have the device, we can configure the first of the applications that we will be using, called Hamlib. Each of the radios have their own set of commands that can be issued by a computer to perform the various functions, such as tuning to a particular frequency. The Hamlib program attempts to provide an abstraction layer that goes between each of the radios and the upper layer application and provide a common set of interface commands. Hamlib provides for control of TWO items: the 'rig' or the radio and a rotator. The second half of the tutorial I linked to above covers a basic configuration of Hamlib under Linux.

Once you have the abstraction layer set, you can use it with another application, such as FLDigi, which is available for multiple PC platforms, including Windows, Linux, and I believe MacOS. This is the "work horse" that will work with the data and perform the digital conversion. In addition to interfacing to Hamlib, the FLDigi also has XML files available associated with the command set of the radios. At this point, I am not really certain as to where the functionality of one ends and the other begins. From what I understand there are a few different means of controlling the radio, Hamlib being one. Another option is Rig Cat or even direct maniupulation via the HW PTT function in FLDigi (uses the XML file? ). See this page from the FLDigi user's manual for some examples of these options. Note that it makes reference to the USB devices in the /dev tree, which is why I discussed the importance of knowing what they are and considered assigning them persistent names.

This is about as far as I've gotten in my study of the setup, but there are a couple of other things that should be noted. Under the Linux system, you will need a Sound Server. Linux comes built in with ALSA in the kernel but a more feature rich option that has several features of benefit to control of a ham radio is Pulse-Audio, and another would be OSS. Note in this tutorial page on configuring FLDigi where it shows using Pulse Audio as well as configuring the modem to transmit on both the right and left channels. This same tutorial also shows configuring FLDigi to use the XML file and HAMLib combined (see paragraph above).

Lastly, the tutorial mentions that the Codecs (for the FT991 and likely other Yaesu radios) in the hardware list as "PCM2903B Audio CODEC". One of the things you need to be sure to do is set the audio mixer, using a tool such as pavucontrol, which is an optional add on for Pulse Audio to use these codecs as the input and output devices (as compared to say the built in PC speaker and microphone) and properly set the volume levels.

That is as far as I've gotten so far. I spent a large part of yesterday, a rainy Sunday, reconfiguring a small laptop with (my favorite distribution Arch) and getting Hamlib and FLDigi compiled and installed. I still need to install the Pulse audio and then investigate the the drivers and configure the device naming. As with most things Ham radio, it is an adventure and if it were easy to master it in an hour, it wouldn't be any fun.
 
Interesting, what level license does one need to use this?
Any of them. Technicians will be somewhat limited on the bands they can operate, but these modes fall into the RTTY and data segments on the gentleman's agreement called a band plans. The license says where you can operate rather thsn how you can operate. The 23cm through 10m has technician portions. Obviously the general class or higher opens up more of the HF spectrum.
 
Ok, I connected my radio to a laptop and Fldigi with Hamlib seems to talk to it. The question I now have is when you hear an obvious digital signal, how do you determine what protocol or mode it is so you can decode it?

I've read some folks say you learn them by their sound but that's a lot like telling someone to look up a word in the dictionary when they don't know how to spell it.
 
If they are using TxID and you have RxID on, Fldigi will mode select automatically. Generally certain modes are used on certain frequencies, but not required. One way to narrow down the possibilities, other than sound, is to look at the width and visual print of the signal. Every mode has a defined bandwidth and the screen print has a pattern. Although some modes share the same bandwidth, this is one criteria that can help with identification. You will eventually learn the popular modes by 1)sound, 2)visual print, 3)bandwidth and 4)frequency.
 
If they are using TxID and you have RxID on, Fldigi will mode select automatically. Generally certain modes are used on certain frequencies, but not required. One way to narrow down the possibilities, other than sound, is to look at the width and visual print of the signal. Every mode has a defined bandwidth and the screen print has a pattern. Although some modes share the same bandwidth, this is one criteria that can help with identification. You will eventually learn the popular modes by 1)sound, 2)visual print, 3)bandwidth and 4)frequency.
Thank you for the suggestion. One of the difficulties is in not knowing if I have the radio and program completely setup correctly or not. I think I still at least need to try to adjust the audio levels for the in and out. There are just a lot of variables, or as KE0OG puts it in his videos on the topic, a lot of ducks that have to be in a row. I've been doing some video watching and it looks like PSK31 is a pretty easy one to find around 7.07 and 14.07 MHz, I might start with that one.
 
Yeah that's a good one Howard. PSK works pretty well and there's a lot of activity.

I want to set up a JT logging station, as there's a bunch of guys launching foil party balloons with JT transmitters (QRP labs) to drift around the planet at 30,000 feet. I really want to try and log these (there's also an ocean floater that's almost a year old that's still going on its original batteries)
 
Howard myself and others played with the various modes a while back. Some are definitely more efficient. Other than the TxID/RxID and visual/audible recognition its a guess. Some are very recognizable audio wise, but I've spent frustrating evenings trying to sync up on some signals.
It's been so long since my radio has been up and I had to reload my Linux on my radio PC, now I'm going to have to remember/work through all the nuances to set up again.
 
I hear you...I'm pretty sure I'd have to invest some time to get my PSK station going again. I hate fussing with computers like that...
 
Got my first digital contact using PSK31 on Fldigi (arch Linux). A special event sign, W5I in Grayson County Tx calling CQ. At least I know that it works which is a big step forward.
 
Now check out the FSQcall mode in Fldigi. That is actually the HF digital mode I like most. Some of us in the CLT area used FSQ as a back channel to chat in while doing voice on other frequencies. @georgel was one of the participants.
 
Now check out the FSQcall mode in Fldigi. That is actually the HF digital mode I like most. Some of us in the CLT area used FSQ as a back channel to chat in while doing voice on other frequencies. @georgel was one of the participants.
Will do. I found the user manual for it. It's a long page just for the protocol. Need to figure out if the radio (two VFO) is capable of doing split work like voice on one and data on the other simultaneously.

I also hooked up my j-pole to try out the FM mode on that radio and confirmed it works. The SWR meter wasn't even blipping and I was able to hit the GSO repeater but not much else, which was disappointing. I'm going to get a 2m antenna and mount it on the roof where I have a j bracket from an old DirecTV dish.

One thing kind of interesting I caught is that they've got a special event with some sort of contest to contact the NS Savannah (https://en.m.wikipedia.org/wiki/NS_Savannah) docked in Baltimore today.
 
Back
Top Bottom