MathWorks on Single Sideband Modulation via the Hilbert Transform

March 9, 2010 | Amateur Radio | By: Mark VandeWettering

Yesterday I spent some time trying to implement a simulation of an SSB exciter that worked by using the Hilbert transform on some input audio, and then multiplying it through by a carrier signal in quadrature and summing (or differencing) the two resulting streams to produce the LSB or USB. I was getting poor cancellatio of the opposite sideband, but through a series of experiments determined that if I lengthened the FIR filter to a huge number of taps (around 600) I began to get the cancellation that I thought I would get. The lack of cancellation is worse at low frequencies, which is should be a clue. Before I went to bed, I thought I had it, but in the light of morning, now I am not so sure. I’ll ponder it more.

But my morning reading found this website on MathWorks, which details the kind of math that I’m implementing in C. I’ll review it again.

Single Sideband Modulation via the Hilbert Transform Demo.

Addendum: Here’s a brief glimpse of the kind of thing that I worked on. I’ve taken a regular mono signal recorded at 48khz, low pass filtered it at around a 3khz frequency, computed the Hilbert transform of it, and then frequency shifted the single sideband version of it up to a carrier frequency a little above 8khz (that would be VLF, I understand, but it is the principle of the thing!). This was computed using a Hilbert transform with 501 taps (250 non zero entries):

If I try to compute the same thing with only 201 taps, you can see that some of the very low frequency signals are visible in the lower sideband opposite their USB constituents.

I need to ponder this some more.

Addendum2: Just as a little test, I tried modulating my voice up by just 350 hertz, simulating reception of a signal on USB, but tuned 350 hz too low. You get the classic Daffy Duck type speech (sans any noise that is typical on HF):

CQ CQ CQ, this is K6HX calling CQ and standing by…


Comment from Soeren Straarup
Time 3/9/2010 at 10:29 am

All the math behind something like this is what i also need to look into.

Yes i got an engineer degree, though it was never one of the hot topics when i was in school.

vy 73 de OZ2DAK, Soeren

Comment from Soeren Straarup
Time 3/9/2010 at 10:43 am

Any change that this is going to be open source?
Just curious.


Comment from Sebastiano S. – IZ2NYZ
Time 3/10/2010 at 2:03 am

I think I’ve read somewhere that the audio input into a phasing sideband exciter needs a high-pass filter to cut-off frequencies below 300hz, and not only the 3khz LPF you’ve already built-in.
I may be wrong though