Modems for VHF Digital Voice

I’ve been thinking about modems for a VHF FreeDV mode. The right waveform and a good demodulator is the key to high performance. However it would be nice to make some re-use of existing FM VHF radios. So is it possible to come up with a waveform that can pass through legacy FM radios, but also be optimally demodulated with a SDR?

My first guess was that the problem with legacy radios is the 300Hz High Pass (HP) pass filtering. So I came up with a waveform with has no DC. Brady pointed out this was Manchester Encoding (ME), used in all sorts of applications for just this problem. Each data bit is Manchester encoded to two bits, so a 2400 bit/s bit-stream becomes a 4800 bit/s bit-stream that is then 2FSK modulated. Turns out the ME-2FSK signal doesn’t have much low frequency energy so passes happily through the audio pass band filtering of regular FM radios.

Here is a block diagram of the idea. We have the option to demodulate the signal using a legacy analog radio or, with higher performance, an optimal FSK demod:

This is what the spectrum of the ME-2FSK looks like at the output of the analog FM demodulator before high pass filtering. Notice how there is not much energy beneath 300Hz? So we are not going to lose much due to the 300Hz HP filter.

Here are the time domain modem signals before and after the 300Hz High Pass filter. Pretty similar.

The ME-2FSK scheme works OK in my simulation, so I think it’s possible to squirt 2400 bit/s through a $40 HT with acceptable modem performance using 2FSK. This means we can do VHF FreeDV using your laptop/SM1000 and a $40 radio, and it will work just as well as existing VHF DV modes, and even pass through analog repeaters.

Real gold would be a way to send 4FSK through a HT, that (if you have a SDR) can be optimally decoded at a much lower Eb/No. Unfortunately I couldn’t work out how to do that. For optimal 4FSK you need the tones spaced at the symbol rate Rs. This means -1.5Rs, -0.5Rs, 0.5Rs, 1.5Rs, which won’t fit into 5kHz deviation with Rs=4800. So how about Rs=2400? Well when I tried Rs=2400 through the FM demod the modem appears to be 3dB worse that Rs=4800. I’m not sure why. Possibly deviation, as I get the same results with the 300Hz HP filter removed. Or maybe I messed up the simulation. Oh Well. Working backwards, this suggests one reason the ME 2FSK waveform works so well at Rs=4800 is greater deviation.

Moving to the optimal 4FSK demod approach, here are the outputs of each filter from an optimal 4FSK demod. The pretty colours represent the different filter ouputs. The lower plot is the decimated filter outputs, after sampling at the ideal timing instant.

I’m inclined to use both 4FSK and ME-2FSK. We could run ME-2FSK on links with legacy radios and 4FSK on SDRs that support optimal demodulation. That 6dB Eb/No for optimal 4FSK, combined with Codec 2 running at a lower rate, is a huge gain over current analog and DV systems.

Summary of Candidate VHF Waveforms

I’ve now played with quite a few modem waveforms, and have compared them in the table below. Eb/No is for a BER of 2%, which is roughly where Digital Voice codecs fall over. There are two Eb/No figures, one for an ideal demodulator, the other when using a demod that works through a legacy FM analog radio.

Waveform Eb/No (ideal) Eb/No (FM) Comment Read More
PSK 3.0 na requires linear PA, complex coherent demod
GMSK 5.0 9.0 requires “data” port, complex coherent demod [1] [2]
4FSK 6.0 na simple demod, good fading
ME-2FSK 8.5 12.0 simple demod, good fading, $40 HT!
DMR 4FSK na 11.0 standardised [3]
AFSK-FM na 16.0 As used in APRS [4]

The complexity of the demods required for coherent PSK and GMSK is not a show stopper, as we only have to write GPL modem code once. However coherent demodulation means other sources of “implementation loss” such as phase recovery that make the ideal performance hard to achieve. Non-coherent mFSK is rather simple in comparison, we just need a fine timing estimator. Less to go wrong. No phase estimation means fading will have less impact than coherent PSK/GMSK. Fine frequency offsets won’t bother us. mFSK is, however less bandwidth efficient.

GMSK coherently demodulated or through a legacy FM radio looks pretty good, but does require a “data port” with unfiltered access to the FM modem. So no $40 HTs.

Note the distinction between ideal non-coherent 4FSK, and the 4FSK modem used by DMR and similar Digital Voice modes like C4FSK. The latter are not optimal waveforms, and in our simulations under-perform by around 6dB. We can’t find any explanation of why these waveforms were chosen for DMR or C4FM. I am guessing that have been developed with the specific use of legacy FM radio architectures or reduced RF bandwidth in mind.

Running the simulation

I set up a bunch of simulations of various combinations so they all have about 2% BER:
octave:224> mancyfsk
Rs=4800 2FSK ideal demod
EbNodB: 8.5 BER 0.023
Rs=4800 2FSK analog FM demod, not too shabby and pushes 2400bit/s thru a $40 HT!
EbNodB: 12.0 BER 0.021
Rs=2400 2FSK analog FM demod, needs more power for same BER! Che?
EbNodB: 15.0 BER 0.027
Hmm, doesnt improve with no 300Hz HPF, maybe due to less deviation?
EbNodB: 15.0 BER 0.027
Rs=2400 4FSK ideal demod, nice low Eb/No!
EbNodB: 6.0 BER 0.025

Further Work

It would be great to test the work above in the real world, for example get the ME-2FSK modem software into a form that we can do calibrated noise (or MDS) tests on a real FM radio.

23 thoughts on “Modems for VHF Digital Voice”

  1. What about trying something odd like 3fsk where the simbol is represented by a transition betwen states, this encoding don’t need to be manchester coded to prevent dc.

    1. There’s a line code that works kind of like that. It’s called MLT-3. It’s a 3-level code that cycles between 0, -1, 0, +1, and only transitions to represent a ‘1’. The issue I see is that without a good scrambler, a long run of ‘0’s will still leave enough power in the low frequency range to cause problems.

      1. MLT3 is similar but mainly diferent, my proposition codes 1 as transition betwen states ab , bc or ca and 0 betwen ac , cb and ba, this forces a transition betwen symbols it also makes very symple to do clock recovery (for some aplication is not nedded as the coding is asyncronous capable).

          1. This encoding have a big problem as one erroneous symbol affect 2 bits but if used with FEC have the potential to beat ME-2FSK using the same efective badwith. I want to test it but i don’t know how to do it.

    1. I think the issue with 8b/10b is that it still might not keep enough freq. content out of 300hz and a single bit error in an 8b/10b word will probably result in 2 or 3 errors in the decoded byte.

      1. I think you are right that 8b/10b won’t move the energy far enough up the band. Its only designed to remove actual DC, and allows things very close to DC through. The usual approach in digital comms is to use a self synchronising pre-whitening scrambler, and not add any bits at all. This doesn’t guarantee no DC, but you only get significant very low frequency content for insane data patterns. Like 8b/10b this never moves things very far from DC. Having the first 300Hz of the band removed is a pretty horrible constraint, that prevents the use of really efficient techniques.

      2. I think you’re right. The lowest frequency code you’d get for 8b/10b is something like [0,0,0,0,0,1,1,1,1,1], in other words 2400/10 = 240 Hz. But I suspect it’s possible to construct a code that doesn’t have bad cases like this. I’m not a fan of Steve’s suggestion, because “insane” data patterns are still data patterns that can occur. You don’t need very many bits in a row that XOR to one before those ones start sagging due to highpass filtering.

        1. I suppose you do realise that most of the worlds comms relies on those data patterns being insane enough that you can live with their low probability? Self syncing scramblers are the norm.

  2. Thanks Guys. There may be other issues at play with the use of Rs=4800 versus lower symbols rates:

    (i) The use of the entire FM bandwidth. Analog FM SNR improves when the modulation index is higher. Reminds me of spread spectrum.

    (ii) Shaping of the baseband spectrum so there is not much energy beneath 300Hz (not just DC). At Rs=2400 I can see the time domain pulses “sagging” when we get two 1’s in a row.

    – David

    1. Another idea to shape the baseband spectrum could be to XOR the datastream with a pseudorandom sequence except for the parts needed for synchronization?

  3. What is the patent situation for these modem modes? Are they all public domain non patent encumbered or are some covered by patents that require licensing. Also would a 700 mode still be possible for those who want to minimize bandwidth?

  4. Sorry if I’m being a litle annoying, but i had another ider weird idea as is to code a 2FSK signal in a bad 4FSk signal, and is as folow:

    We have 2 groups of symbols representing 1 and 0 (

    1. Ups, sorry.

      I continue

      The distance between the groups is ideal but the distance between symbols in each group is suboptimal but enough to prevent DC. Then when two or more consecutives bits are identical the symbol is swiched to prevent dc forming.

      And for my previous 3FSK there is an alternative encodind that uses 1 repeat 0, forbidind 2 consecutive identical symbols by sending repeat signal instead of sending angain the same symbols, also the preceding symbol of a repeat neds to be 1 or 0 and not another repeat.

  5. I think that narrower RF bandwidth was an important goal of DMR; there seems to be a big push for more efficient use of the spectrum in commercial and license-free mobile radio. Your modem here is presumably 25KHz-ish wide, right? That’s 4 times as much RF bandwidth per channel as the current crop of commercial DV modes, and twice as much as current non-ham analog FM voice systems.

    1. The current crop of DV modes use 12.5kHz channels, which is 0.5 times analog FM?

      Well the ME-2FSK waveform deviates +/- 2400Hz (Rs/2) and can be demodulated with a analog FM radio so it must fit within an analog FM channel. Deviation of 2400Hz is about half the analog 5kHz, so I would imagine half the BW (12.5kHz).

      With the 4FSK waveform the bandwidth depends on Rs. We only really need 2400 bits/s for Codec 2, that’s Rs=1200 symbols/s, so tones at -1800, -600, +600, +1800Hz for optimal non-coh 4FSK. So a maximum deviation of 1800Hz. I imagine that can fit into a little less than 12.5kHz, DMR uses +/-1920Hz. However if we wanted to run TDMA at something like 4800 bits/s, we would need twice that bandwidth, and indeed, we would be back to 25 kHz channels.

      I tend to agree that DMR and friends have designed a waveform that puts BW first. Power and gain are easy to find, more spectrum cannot be created. However I can’t help thinking it’s possible to optimise for bandwidth without sacrificing modem performance. Coherent GMSK for example, or a PSK waveform as used in Wifi.

      1. I don’t really understand your last paragraph at all. ALL radio communication systems put bandwidth first. You are given that by regulations, so your starting point for any system design. The channel capacity theorem gives you an upper bound for what you might potentially get through that bandwidth, and its up to you to do the best you can with a practical solution. Of course, a practical solution needs to deal with more issues than the channel capacity theorem raises (which just determines the capacity of a memoryless channel polluted by AWGN). Multipathing and fading can play a big part in real world practicality.

        I know modem just stands for modulator/demodulator, but when we refer to a modem we are referring to a real world system. That’s more than just modulation and demodulation. It includes all the filtering needed to obey regulations, and the coding and error handling needed to get us the highest throughput possible. A modulation technique might be looked at in a bandwidth unconstrained way, and digital comms books often spend far too much time on techniques which could only work with huge excess bandwidth. However, a modem should never be looked at that way. The only meaningful measure of a modem’s efficiency is what percentage of the channel capacity can be achieved, while keeping the spill of energy outside the allotted band within the regulated constraints.

        1. Your view of modems is rather narrow Steve.

          Like all engineering problems, you have a choice of trade offs, like channel bandwidth, BER at a given Eb/No, implementation complexity, constant envelope waveforms or those that need a linear PA, the channel, payload data bit rate. The list goes on.

          On VHF radio the current standards are optimising for RF bandwidth and low implementation complexity (re-using the legacy analog FM radio deck), and have chosen to trade off BER versus Eb/No performance. However it’s possible to get a better BER versus Eb/No using the same or even less RF bandwidth. This could mean less tx power or longer battery life or less adjacent channel interference.

          On a DSL modem they put payload bit rate first, and jump through a lot of implementation complexity hoops to manage a highly frequency selective channel (90 year old copper pairs).

          – David

  6. hi all
    Im not sure what happened to my previous post… Maybe it got lost in the adventurously hanging copperwires of questionable quality… David you are not by accident developing a village telco capable dsl modem waveform for those by accident?

    But back on topic:
    I was asking myself if there would be a possibility to use a G3RUH type scrambler instead of manchester? Could this be an option, as it has never been mentioned in any of your posts?

  7. OK I guess I see why not:
    From G3RUH’s original manual:

    1.2.1 RECEIVERS
    •NBFM design
    •Output from discriminator(essential)
    •Response virtually to DC(essential)

    Similar requirements for the TX.

    So definitely no $40 HT, without modifications…

Comments are closed.