Re: Detectiong CW
- From: "Ron N." <rhnlogic@xxxxxxxxx>
- Date: 2 Mar 2006 10:44:43 -0800
John E. Hadstate wrote:
"Jerry Avins" <jya@xxxxxxxx> wrote in message
news:SeSdnaXPwKPe7ZvZRVn-iA@xxxxxxxxxx
John E. Hadstate wrote:
What's the slickest way of turning an I/Q data stream,
tuned to baseband, into audible Morse Code with
user-selectable pitch using strictly digital signal
processing?
Shift it up or down by the selected pitch. That requires a
tunable quadrature audio oscillator, two multiplications,
and an addition if the picture in my head is correct.
That's what I thought. Basically, my oscillator generates
I/Q components at the desired audio frequency (amplitude 0.5
units). I add a bias of 0.5 to each component and multiply
the result by the pre-detected incoming signal, effectively
100% amplitude modulating the keyed carrier. After running
it through the AM detector, I thought I should have a usable
keyed audio tone.
Unfortunately, the SNR is very poor and it's very hard to
listen to, I guess owing to the fact that I'm also
modulating all the noise in the incoming signal.
I just thought of a slicker way. Discard one of I or Q,
and use the other's presence or absence to turn an
oscillator on and off. Filter the gated output to remove
clicks on transitions.
This was my first idea. It has the attractive feature that
what the operator hears is decoupled from the received
signal, so no chirp from a poorly regulated transmitter,
audio level and frequency are constant, attack and decay
controlled at the receiving end, no impulse noise to blow
out the operators' eardrums, etc. After looking at the
noise in a typical signal, I decided that I couldn't
reliably detect the presence or absence of keying.
How about looking for the presence or absense of, not just keying,
but actual dits and dahs with a minimum of one dit times spacing
at an approximately known WPM? Correlate the IQ energy against
two rectangles of 3X different lengths, look for a triangle shaped
peak (maybe via a second correlation), then key an artificially
synthesized dit or dah. Maintain some running statistics on the
detected length of the actual dit/dah evelopes to update your
WPM estimate, and perhaps even characterize the keyers "fist"
depending on the character sent and previous text in the buffer.
In high noise situations, perhaps modulate the volume of the
synthetic dit or dah by the statistical likelyhood of its presense
in the IQ signal (degree of fit and spacing in time from previous
characters).
One problem with this is that there will be some processing lag,
which will interfere with break-in type interactive responses.
There's also the issue of picking an initial seed WPM. An fft of
the amplitude history might give some clues.
IMHO. YMMV.
--
rhn A.T nicholson d.O.t C-o-M
.
- References:
- Detectiong CW
- From: John E. Hadstate
- Re: Detectiong CW
- From: Jerry Avins
- Re: Detectiong CW
- From: John E. Hadstate
- Detectiong CW
- Prev by Date: Re: how to deal with aberant 'baby BELL'
- Next by Date: TI DSP
- Previous by thread: Re: Detectiong CW
- Next by thread: Re: Detectiong CW
- Index(es):
Relevant Pages
|