TenTec
[Top] [All Lists]

[TenTec] Digital Speech Processing & Pegasus

To: <tentec@contesting.com>
Subject: [TenTec] Digital Speech Processing & Pegasus
From: w5yr@att.net (George, W5YR)
Date: Tue, 19 Feb 2002 14:04:38 -0600
Mark Erbaugh wrote:
> 
> George,
> 
> Thanks for your most informative post on speech processing.  Please see my
> comments below:
 
> Are the distortion products inherent in the way the baseband signal is
> processed? Could appropriate DSP 'shaping' of the baseband signal eliminate
> the distortion while keeping the increased average power? For example, the
> abrupt phase shift in a PSK31 signal could cause distortion of the audio
> signal were it not superimposed on a sine wave. Or does increasing average
> power really improve readability at the other end?

Well, the abrupt phase shift implemented with on-off switching of phase
would not distort the PSK31 signal within its occupied bandwidth as much as
it would create very large and far-reaching sidebands, exactly like audio
clipping does as explained below. 

In PSK31 a raised-cosine filter output signal is used for the keying
waveform, and the significant property of this concept is that all keying
artifacts are kept within the original bandwidth of the signal: 31.25 Hz
for PSK31. If you are interested, a scope examination of a PSK31 signal
will show that the slope of the output signal is zero at both the start and
the end of the transition from no signal to full output. 

This is a necessary and sufficient condition for the elimination of keying
artifacts such as clicks. Most CW rigs, however, use RC filters for CW
keying waveshaping and the resulting exponential keying waveform creates
clicks, on the make for example, by the abrupt transition from the
exponential waveshape to the constant full-output level of the keyed code
element. The same thing happens in reverse for the break, thus there are
"click" sidebands generated at the make and break by the same mechanism.
The duration of the transitions has little to do with click generation; the
shape of the keying waveform is the culprit.

The inherent problem with doing anything at all to the waveform of the
audio signal at baseband is that the additional frequencies generated by
whatever the process may be - clipping, compresssion, whatever - lie at
least partly within the baseband. The low frequency components are, of
course, the worst offenders since they will generate more harmonic and IMD
components within the band than those near the upper band edge.

There have been many forms of clipping and compression developed for
baseband processing and some have been successful to a degree. The VOMAX is
an outstanding example of this. Any process that minimizes the generation
of distortion products that inherently cannot be then removed - as by
filtering, etc - is better than one that does not. But, the effectiveness
of the process must be weighed against its "gentleness." 

The unique aspect of the VOMAX is that the distortion products are removed
in each of its frequency sub-bands just as with r-f clipping and filtering.
How this was done with analog circuitry is not obvious from the schematic,
but it does work and amazingly well. I found that the Comdel unit on
balance could provide a larger average power increase than the VOMAX for a
given subjective level of distortion, but the VOMAX worked very well
nonetheless.

Yes, increasing the average power *can* improve readability and usually
does if the problem is one of S/N at the receiving end. In a pileup,
however, it may or may not have any real impact. Pileups tend to be
penetrated not just by loud signals - which is often the usual approach -
but by calls which are properly timed, placed at an appropriate frequency,
and have a distinctive sound that sets the calling station apart from the
others. It is impossible to predict what will produce an optimum result all
the time, but usually a combination of appropriate power, occupied
bandwidth, and distinct articulation will be, on average, reasonably
productive. Always, how the operator deploys his resources is the deciding
factor.
 
> Why does clipping at baseband introduce distortion, but not clipping at 500
> kHz? 

There is no difference except for the arithmetic. Look at the frequency
components associated with heavily clipping a sine wave: the result is
virtualy a square wave with a semi-infinite number of mostly odd harmonic
components. Now, if the frequency of the signal is 100 Hz, there will be
harmonics at 300, 500, 700, etc. on up the baseband to its upper limit of
perhaps 3000 Hz. But, we have only started creating "junk!"

Each of these distortion components will now interact non-linearly with the
legitimate frequency components in the incoming signal to produce
intermodulation distortion components. This will happen with all frequency
components in the incoming signal up to those at 1000 Hz and above. 

For these the harmonic components will be at 3000 Hz and above and are
removed presumably by appropriate filtering. But everything below 1000 Hz
plays a role in creating in-band distortion that greatly reduces the
articulation of the original signal. Nonetheless the addition of the
distortion components increases the average power of the output signal,
which the unwary regard as a successful outcome. The meters all read
higher! Which it may be, unless no one can understand what they are saying
. . .

Now, if the clipping is performed on an SSB signal generated at a
suppressed carrier frequency of 500 KHz - nothing magic about that
frequency but it was found convenient I suppose by the Comdel designers who
used simple LC filters throughout - the harmonics generated by the clipping
all fall far outside the passband of a 3000 Hz bandpass filter and can be
removed. The resulting signal has had its average power increased and its
articulation improved. Nonetheless, it has been distorted and some of the
distortion products remain within the 3000 Hz passband of the filter. 

Too much r-f clipping and a pure sinewave input comes out looking like a
distorted sinewave that has added in-band frequency components. However,
this is the extreme that can be avoided by being content with 6 - 9 db of
average power increase. 

Frequently when I was experimenting with the r-f clipper I built for my
Heathkit SB-401 I would do an A/B test between the 401 at 100 watts with
clipping and the 401 driving an SB-220 to 1000 watts output. More than half
the time, the other station would report that I sounded "louder" with only
the processor and was easier to understand! As I recall, I would set up the
processor for about 6-8 db increase in average power, which promoted the
100-watt rig to an average output of about 600 watts. So, although the
power level was higher with the linear, the added articulation caused the
processed signal to be perceived as "louder" at the other end. 

Can you give me more details on the type of clipping and filtering
> involved. I believe that this approach is feasible in my application.
> Currently, PCs have no problem sampling at 88 kHz (44 kHz stereo). Assuming
> that this is the max rate a PC could process data (and I'm sure it is not),
> since the signal in my application doesn't need to be processed in real
> time, if we expanding the processing by a factor of 11 or 12, we could
> effectively sample at 1 MHz, which is fast enough to process a 500 kHz
> signal. What does it matter if it takes a minute to process a 5 second .WAV
> file? Once the processed .WAV file is created and stored on the PC, it can
> be played in real time into the transceiver. Since this is just intended to
> get the DX's attention, the same .WAV file or files can be used over and
> over again.

Let me refer you to the ARRL Handbook and related publications for details
on clipping and filtering. There is nothing magic about the clipping - you
just vary the clipping amplitude threshold to regulate the degree of
clipping. A sinewave subjected to 10 db of clipping has its amplitude
clamped at a level which reduces its average power by 10 db, etc. There are
more complex approaches involving generating in-phase and quadrature
components of the audio input signal and operating upon those, but the
details escape me. In any event, the professional literature is filled with
papers in this area.

The filtering is whatever is required at the "carrier" frequency you are
using to reproduce the bandwidth of the original baseband audio signal and
to reject anything outside that bandwidth. I am not very well up on DSP,
but I would think that the soundcard sampling frequency need be chosen only
to preserve the bandwidth required for the input audio signal. Once you
have that in sampled, digital form, what you do with it from then on is
internal to the computer processing which I would think would not involve
the soundcard. When the processing algorithms have done their work and
produced at their output a baseband signal in digital form, then the
soundcard comes back to work to output the signal in analog form to your
transmitter.

Off hand, I see no reason why this could not be done in near-realtime on a
fast CPU. Certainly for your one-shot goal of just pepping up the audio for
calling purposes, you could take as much time as needed to developed the
"juiced up" wav file. 

One thing to keep in mind is that since operating conditions change, your
processing should provide for some basic alterations selectable by the
user: frequency range of the output signal, peak to average power level
(degree of processing), frequency response within the output passband, etc.
I found using the processor in the SB-401, and subsequently using the
Comdel in my IC-765, that there would be occasions when I would want to use
only a tad of processing when conditions didn't warrant otherwise. And, of
course, in the heat of a pileup there is a temptation to push the envelope!
To this end, you might want to generate several output wav files, each
having different parameters so that an appropriate one could be selected at
the time.
 
> > The one completely audio processor that was both effective and
> > low-distortion was the Vomax made by Maximillian Associates. I mention
> > this especially since it represents an approach that you perhaps might want 
> > to
> > explore for implementing in the computer with .wav files as input.
> 
> I don't have the old Ham Radio magazines, but I will search on the internet.
> If you have any more detailed information on the processing algorithm of the
> Vomax, please let me know. 

I'll see if by any miracle I can find the magazine article(s).

As you suspected, this processing scheme may also
> be of use, and it certainly is within the range of the capabilities of a PC
> with soundcard.  However, assuming I could implement either the Comdel or
> Vomax processing would the Vomax be preferable?

The Comdel would appear to be easier to implement since its algorithm -
input, translate, clip, filter, translate, filter, output - is bound to be
much simpler than that of the VOMAX. And from my experience with both, the
Comdel approach is more likely to produce a better result with less
processing than the VOMAX split-band approach. As I recall the real
challenge with the VOMAX concept was not with spliting the audio into four
bands, clipping and filtering, but in recombining those four channels into
one while avoiding the phase distortion found at the slopes of each
bandpass filter. This might turn out to be trivial in the digital domain,
however.

Sorry for the length of these postings, and we should probably take them
offline, but since you are posting to the list, I am doing the same in the
hope that someone else may find this information interesting. If not, I am
sure that we will hear either complaints or the sound of DEL keys!   <:}
> 
> Thanks again,
> Mark

72/73/oo, George W5YR - the Yellow Rose of Texas         
Fairview, TX 30 mi NE of Dallas in Collin county EM13qe   
Amateur Radio W5YR, in the 56th year and it just keeps getting better!
QRP-L 1373 NETXQRP 6 SOC 262 COG 8 FPQRP 404 TEN-X 11771
Icom IC-756PRO #02121  Kachina #91900556  IC-765 #02437

All outgoing email virus-checked by Norton Anti-Virus 2002


<Prev in Thread] Current Thread [Next in Thread>