Thursday, 6 October 2011

Still life in old software

Suddenly there has been renewed interest in some HF modem
code I wrote a few years ago. About 6 years ago I wrote an application
that implements the MIL-STD 188-110A serial tone modem protocol.
It was based on some Stanag 4285 code I wrote. The main reason for
the renewed interest has been the change of mission of U.S MARS
and their move away from Amateur Radio protocols towards military

H.F channel equalisation is an interesting problem, simplistically an HF
channel can be modelled as a FIR (Finite Impulse Response) filter. What
follows is an overly simplistic description, sorry if I ramble on.

There are basically two ways of solving the problem. You either take the
received signal pass it through a filter compare it to what you are
expecting then use the error to optimise the coefficients of the receive
filter to reduce the error, this is the technique DFE uses.

The second technique is to estimate the channel response apply the
channel response to what you think should have been transmitted and
compare that to what you have received, update the channel response
accordingly to reduce the error, this is the technique DDE uses.
You then use something like the generalised Levinson-Durbin algorithm
to decode the data. It solves for a block at a time and then uses the
decisions to update the impulse response and then resolves the problem.
It does this a number of times before spitting out the results.

The new high speed MIL-STD HF waveform uses a technique called
Block Decision Equalisation BDE. This is an improvement on DDE,
the biggest change being the way it solves the block of data. The idea
was developed by CRC in Canada (I think).

Obviously estimation is fine when you are receiving the preamble and any
training information. When you are receiving unknown data you make a
decision on what you have received and assume that your decision is correct
and that is what you use to update your coefficients. I will let you dear reader
work out the consequences of this.

Often the channel impulse response changes faster than the equaliser can
update its coefficients.

There are many techniques to solve this estimation problem and each has
its own advantages and drawbacks. One major problem is the deep spectral
nulls caused by selective fading. These nulls cause issues with most algorithms
used to update the equaliser coefficients. Some assumptions are also made
in the nature of the impulse response to allow for mathematical short cuts
to be made, these assumptions are quite often the reason the modems don't
work as well as they could. The Eigenvalue spread of the channel impulse response
is often used as a measure of how easy a channel is to equalise when comparing
equaliser implementations.

So far I have tried 3 techniques for channel estimation and equalisation.
DFE decision Feedback Equalisation, DDE Data Directed Equalisation
and finally I used an FFT (Fast Fourier Transform) and worked in the
frequency domain rather than the time domain. All with mixed results.

Every now and then a new technique comes out to solve this problem,
most of the new techniques are really applications of old techniques in
novel ways, at least it keeps patent offices around the world in business.

One of the latest techniques is turbo equalisation, which uses an idea
similar to that used with turbo code decoders. The idea is to repeatedly
improve the the estimation (of coefficients and data) using iteration.
I have not investigated this idea yet.

Many PhDs are been granted for work in this field and I expect many
more will, I just play with this stuff for fun.

The reason I still remain fascinated with this topic is that it combines a knowledge
of nature (The HF channel), Linear algebra, numerical methods, computer
optimisation and just pure suck it and see (the last bit is the bit I like most).

One idea I have rolling around in my head is the idea of using a manifold of short
active antennas feeding a multichannel FPGA based receiver then separating out
the angle of arrival of the different paths and combining this with the modem
equaliser. As well as mitigating the effects of multipath it could also be used for
interference mitigation, another bane of HF radio. Like a lot of my ideas there
is probably some flaw in it that my brain is too small to realise!


  1. Hi Charles. I have just come across the use of 3 kHz channels for data, via a very good recent book, "Third-generation and Wideband HF Radio Communications". Given the digital modulation and the like, similar to DATV, I wasn't entirely surprised to see your name. I might have more of a look.

  2. Hi Drew, yes I played with all this stuff a while ago. To be honest my maths wasn't up to it at the time and I pretty much hit a brick wall with the performance. I understand the maths a bit better now. There are a couple of MARS people in the U.S that are using that work. There is the HFDL decoder I wrote as well which also uses it. I am familiar with some of the aspects of 3G HF comms having worked on something similar before I left Marconi.