[Elecraft] HRD cw copy

Tom Price tom_price at frontiernet.net
Fri Jan 23 00:19:59 EST 2009



Julian, G4ILO wrote:
> 
> 
> 
> Sverre Holm-3 wrote:
>> 
>> It is interesting to see the responses to my statement on the difficulty 
>> of machines copying CW better than humans. Although this is a little 
>> off-topic here, I hope we can have a short discussion of it anyway.
>> 
>> First, the success of negative SNR communications methods such as 
>> Olivia,JT65, and PSK31, are evidence that a well-designed computer 
>> algorithm should perform better than a human. But it is on codes that 
>> have been designed for machine decoding.
>> 
>> Second, 'better' may mean many things: faster, many QSOs in parallel, or 
>> - what I imply - at lower SNR and under difficult conditions with fading 
>> and interference. There is no doubt that a computer has much more 
>> capacity for speed and parallel decoding than a human.
>> 
>> The steps that a good algorithm needs to do are something like this:
>> - real-time frequency analysis and filtering
>> - detect morse signal and lock on to a particular frequency
>> - adaptive estimation of datarate and adaptive matched filtering for 
>> optimal detection
>> - decoding of dashes/dots/spaces into letters
>> - decoding into words
>> 
>> The first steps are signal processing such as filtering, detection and 
>> adaptivity. See e.g. 
>> http://www.journal.au.edu/ijcim/jan99/ijcim_ar1.html for some ideas on 
>> the adaptive estimation. As a side remark, Coherent CW, was a way of 
>> avoiding the adaptation to variable rate and ease machine decoding, but 
>> it does not seem to be a success.
>> 
>> I believe that it takes an extraordinary algorithm to lock onto a very 
>> weak signal reliably, but even more so to do the last and maybe even the 
>> second last step, and that this is where the similarity with speech 
>> recognition is largest. As an example, say that my call is a weak 
>> DX-call and I'm sending CQ de LA3ZA LA3ZA LA3ZA. On the receiver end you 
>> hear DA---, LA3-T, L-3ZA due to fading and interference. This is where a 
>> good operator is able to use a priori information on the syntax of a 
>> callsign, similarities between morse codes for various letters, and the 
>> three partial calls to piece this together to LA3ZA.
>> 
>> I'm not saying this is not doable, only that it may take more than a 
>> month for a good programmer to do this, and maybe much more also.
>> 
> 
> Weak signal modes like WSPR, JT65, MFSK etc work as well as they do and
> can dig below the noise because they use different tones, rather than
> tone/no tone as in CW. The timing of the signal elements is also precisely
> known.
> 
> Even with computer sent morse the program does not know the speed at which
> it is being sent, so it has to work that out before it can start. The
> vagaries of propagation then throw their spanner in the works, as the
> decoding algorithm does not know if absence of a tone is a valid signal
> element, or QSB. If you then throw in the imprecision of timing caused by
> hand sent morse, then you can see the computer algorithm really has a hard
> job to do.
> 
> Computer morse decoding algorithms in use currently go no further than
> assuming the tones are clearly distinguishable from the spaces and that
> the timing of the elements are predictable.
> 
> To improve the decoding performance would I think require the application
> of artificial intelligence to get the computer to reasses what it first
> thinks it receives in the light of what makes sense in the context of an
> amateur QSO. This is pretty much what we do when we receive code by ear. 
> 
> First of all the human brain is probably more adaptive to irregular
> element timing - left footed sending - than a computer algorithm. It
> "learns" the guy's rhythm and uses that to decode what he is sending,
> rather than the rigid symbol lengths of computer generated morse.
> 
> Secondly the human brain uses context and knowledge to fill in the gaps
> and make sense of what is received. If someone sends "QTH IS" you expect a
> place name to follow. If you miss a couple of letters or what you got
> doesn't look like a word you use your knowledge to work out what it would
> be.
> 
> It probably would be possible to write a computer program to do that but
> it would be an incredibly challenging piece of programming that would need
> an extremely keen mind and a great deal of time to accomplish. It would
> probably be a PhD level project.
> 

I have probably less than a rudimentary understanding of the codec used to
decode analog signals from a hard drive but maybe the PRML algorithm could
be used here. I am sure the hard drive noise is significantly different but
the signal to noise probably is not. It might be helpful to use a previously
invented wheel (PRML:Partial Read Maximum Likelyhood) Also the hardware
might be available or modifiable cheaply, after all every hard drive
(millions) has a PRML codec involved in it's circuitry. PRML might be usable
here at the first layer somehow.

Tom Price
WA6SUS

-- 
View this message in context: http://n2.nabble.com/HRD-cw-copy-tp2195214p2201792.html
Sent from the Elecraft mailing list archive at Nabble.com.



More information about the Elecraft mailing list