Topics

QCX-SSB: SSB with your QCX transceiver


Guido PE1NNZ
 

For those who are interested; there is now an improved version of the QCX-SSB experiment, it can be found here: https://github.com/threeme3/QCX-SSB  In the meantime, I got quite a number of experimenters who reported a successful modification of their QCX and could make QRP SSB contacts.
 
Note that if you plan to upgrade, it is important to remove C31 and add a 10uF capacitor at C32. This will resolve an issue with Q6 (which was not digitally switching resulting in degraded IMD and thermal instability). This fix together with the more accurate signal processing of the new firmware, improves the IMD performance, carrier+side-band rejection and spectral purity considerably. Please let me know how this works out for you. Note there is still room for further optimizations like mitigating the PA/key-shaping introduced phase-errors (that occur especially at smaller amplitudes), and the effect that reducing C32  improves the IMD.
 
Another interesting thing to try out is the use of constant-amplitude SSB feature (set drive parameter to 8); this modulation scheme will solely transmit speech-information via the phase of the carrier (PM). This of course degrades the IMD performance, but quite unexpectedly this seems to be quite beneficial in weak-signal conditions when your signal just needs to be popping out above the noise-floor to make yourself heard: it occurs to me that using a constant-amplitude with worse IMD will actually improve the intelligibility in these cases.
 
73, Guido
PE1NNZ


ajparent1/KB1GMX
 

When time permits I will try the new code.

The result with the last version was, unintelligible TX, and with tweaks
and fussing it was "terrible audio can barely understand you"..

Allison


Guido PE1NNZ
 

Hi Allison,

Thank you. Any feedback on your experiments with the new code are welcome. 

The bias of Q6 in the previous release was a bit of a challenge and could have caused the degraded audio, but this should be fixed now with the new changes. 

Here is a sample of how a QCX with SSB sounds on a websdr a few hundreds of miles away: https://youtu.be/lna4xQDhK20

73, Guido
PE1NNZ


On Tue, Apr 9, 2019 at 6:54 PM ajparent1/KB1GMX <kb1gmx@...> wrote:
When time permits I will try the new code.

The result with the last version was, unintelligible TX, and with tweaks
and fussing it was "terrible audio can barely understand you"..

Allison


ajparent1/KB1GMX
 

There is degraded then and there is totally unintelligable.  I have only heard the latter.
When I put it on the the first time the best description was sounds like SSB
with excess compression through a bad class C linear.  I can claim I made a
few contacts but the audio was considered very very bad and in one case 
the response was " I can hear you but your distorted, I can't get your call
try again later OM.".  I called him back on my other low power rig (KNQ7A)
and got a Q5 copy and we talked about what I had been doing.  I was
talking to a station about 1000KM during that session.

I checked the example youtube and that's not all that good. I could not easily pull
out the call from that.

So far its not much better.  I'll experiment more but its not a signal I'd put on the air.

Allison


Guido PE1NNZ
 

Yes, that is what happens in the old version when Q6 bias/operating-range is off, and it makes totally sense because the key-shaping was actually only designed to switch a CW signal. You might want to try out the new version which removes C31; the circuit behaves more stable and linear, it is then digitally switched with the PWM signal.

Sorry to hear that you found the sample not all that good, it is always quite subjective; the signal indeed was quite weak at the moment I took the video, maybe the signals are easier to copy when the propagation is better?...or maybe this software driven SSB will always sound terrible?...

73,
Guido


On Monday, April 29, 2019, ajparent1/KB1GMX <kb1gmx@...> wrote:
There is degraded then and there is totally unintelligable.  I have only heard the latter.
When I put it on the the first time the best description was sounds like SSB
with excess compression through a bad class C linear.  I can claim I made a
few contacts but the audio was considered very very bad and in one case 
the response was " I can hear you but your distorted, I can't get your call
try again later OM.".  I called him back on my other low power rig (KNQ7A)
and got a Q5 copy and we talked about what I had been doing.  I was
talking to a station about 1000KM during that session.

I checked the example youtube and that's not all that good. I could not easily pull
out the call from that.

So far its not much better.  I'll experiment more but its not a signal I'd put on the air.

Allison


Kārlis Goba
 

Guido, I was so intrigued by this method of SSB modulation that I made a script to simulate the modulation. Of course, it is an idealisation of real-world components and their speed/linearity, but it gives at least the upper bound of quality for such method. Unfortunately I found that the phase signal exhibits very rapid discontinuities, and as such has a very high bandwidth. Limiting this bandwidth (e.g. by a finite update rate of Si5351 VFO) produces the same kind of artifacts that can be heard in your recording. I found that even 2-3 times the SSB bandwidth could still be insufficient. The envelope signal is somewhat more tame but I guess the quality still suffers a bit from the low-bit quantization in QCX hardware.

I still find the idea of generating an SSB signal by means of class C/D amplifier(s) intriguing. Perhaps using 2 such amplifiers, splitting the signal into I/Q components, and combining it with a lumped element 90 degree hybrid? The PhD thesis I linked here earlier to had some ideas.

--
Karlis YL3JG


Guido PE1NNZ
 

This is a bit embarrassing. But I just found out that there was an overflow in the Hilbert transform filter for the louder speech; the upper bits simply did not fit anymore in the 16 bits register. Not that fixing this has resolved all the audible artifacts: https://youtu.be/Q6_BCqBZjZU  But anyway thanks for giving a critical remark on the video.

Karlis, thank you very much for posting the link to the PhD thesis, it is pretty much relevant for what we are discussing and trying to achieve here. Very interesting to hear about your simulation finding that due to the rapid phase discontinuities the bandwidth of the phase and amplitude signal are much higher than the actual modulation, and thus should not be band limited otherwise distortion artifact occur. I also think that chapter 2.2 describes the phenomena quite well, and the effect of band limiting (figure 3.8).

I can confirm this finding experimentally; after removing C31 the IMD performance gets hurt when C32 gets too big, it is currently passing about four times the SSB bandwidth. Look at the SI5351 VCXO and Spread Spectrum Modulation Bandwidth, my best guess is that the loop bandwidth of the PLL is something like 20 kHz, which means that the PLL probably will follow quite instant a frequency register change. I do not think there is a need to over-sample the envelope and phase signals (they are currently sampling at the same rate as the ADC input), and already exhibit the huge bandwidth components due to the discontinuities, but maybe I am wrong here.

In the video you can still hear some noise, especially when the speech is "CQ". I guess because of the low sample-rate and the low number of effective bits (8 or 9). I had quite a bit of a challenge with the ATMEGA328P chip to get a noise free ADC conversion, and it seems to me that the first two LSBs of the 10 bits ADC conversion are quite noisy and crackling especially when there is some RF around. These tiny bit changes cause huge phase changes (when the audio is at a low) and are causing terrible noise when the envelope shaping is not done property. 

Your suggestion for a C-P approach with 2 class-D amplifiers sounds to me like a great idea and probably resolves the bandwidth issue completely; I am also intrigued by the idea mentioned in chapter 6.1, where (if I understand it correctly) two amplifiers are used with opposite phase and polarity (a bidirectional polar amplifier) driven by a single phase.

73, Guido
PE1NNZ


On Mon, Apr 29, 2019 at 7:09 PM Kārlis Goba <karlis.goba@...> wrote:
Guido, I was so intrigued by this method of SSB modulation that I made a script to simulate the modulation. Of course, it is an idealisation of real-world components and their speed/linearity, but it gives at least the upper bound of quality for such method. Unfortunately I found that the phase signal exhibits very rapid discontinuities, and as such has a very high bandwidth. Limiting this bandwidth (e.g. by a finite update rate of Si5351 VFO) produces the same kind of artifacts that can be heard in your recording. I found that even 2-3 times the SSB bandwidth could still be insufficient. The envelope signal is somewhat more tame but I guess the quality still suffers a bit from the low-bit quantization in QCX hardware.

I still find the idea of generating an SSB signal by means of class C/D amplifier(s) intriguing. Perhaps using 2 such amplifiers, splitting the signal into I/Q components, and combining it with a lumped element 90 degree hybrid? The PhD thesis I linked here earlier to had some ideas.

--
Karlis YL3JG


Kārlis Goba
 

I wonder why this slipped under my radar when searching for new takes on the old Kahn's approach: https://www.arrl.org/files/file/QEX_Next_Issue/Mar-Apr2017/MBF.pdf

"In this article, we describe the motivation for and execution of a 55-W SSB transmitter that employs: DSP to generate "baseband" envelope and phase modulation signals; a class D amplifier to increase the envelope signal amplitude for application to the drain of the class E amplifier MOSFET; a quadrature digital upconverter (QDUC) chip to produce the phase modulation gate drive at the carrier frequency.

Of almost equal importance, we demonstrate means of correcting the AM-AM and AM-PM conversion errors in the amplifier system to reduce third-order intermodulation products to the range of -40dBc."


The authors say they have accomplished even more since publishing: https://ham.stackexchange.com/questions/5740/ssb-generation-4th-method

--
Karlis YL3JG


Brian Machesney
 

"...just nudging around a PLL oscillator ... results in an intelligible SSB signal..."

Envelope Elimination and Restoration (EER) was first described by Kahn in 1952 as a response to the reduced efficiency of the linear PAs required for SSB compared to the nonlinear Class C PAs employed by AM transmitters. Rather than separating an SSB signal into constituent carrier phase and baseband envelope signals before applying them to the gate and drain of an amplifier MOSFET, Guido generates the signals "directly," which has many advantages born from advances in digital semiconductor technology. As we demonstrate in our paper on a project we called the Polar Explorer, and on which we and others have made substantial improvements, this could well be the future of high power ham gear.

There are already SDR transceiver boards and software capable of producing the phase and envelope signals.


ajparent1/KB1GMX
 

I've been familiar with the Polar Explorer QEX article since it was first published.

One aspect of it was it takes us back to the days to separate transmitter and
receiver like my old Hallicrafters HT-37 and matching receiver.  One reason
that became unpopular is it did not reuse hardware and later transceivers did
reducing bulk and space.  For high power that's less an issue for low power
system level efficiency (overall DC to RF) takes precedence and just feeding
the cpu/display for a 5W tends up unbalance the effort as its more than 20%
of the overhead.

As time progresses and I get back on schedule for projects I will revisit
the QCX/SSB.

For certain the Q6 amplitude control circuit needs to have a distinct low pass
filter to keep the PWM products out of the generated signal with a high enough
pass (maybe 4-5khz) for audio rate changes.   Doing that adds some amount of
phase delay.  The collective error there impact intelligibility more than bandwidth.

Class D and E however has made great inroads in the production of high
power and high quality AM signals.  

Allison

Allison


David Goodrow
 

Has this mod progressed any this fall?

Has anyone tried data modes like FT8 or JS8CALL?


Guido PE1NNZ
 

Hi David,

Yes! the mod has progressed quite a bit, and I hope to release any time soon, stay tuned.

The current QCX-SSB in GitHub handles FT8 pretty well and in transmit outputs a very clean carrier.

73, Guido


David Goodrow
 

Awesome I can’t wait to see it. Any chance this mod has been tried on 10 meters? I am looking for a low cost data radio for some technician level licensed operators.


SP9FKP
 

Hello all,
I try to make copy of QCX SSB transceiver but I have problem with phase relations beetwen outputs from SI5351 on 80 and 60 meter. On higher bands is correct. Is there problem with calculations or communication beetwen processor and DDS?


Guido PE1NNZ
 

Hi,

Yes, the lost receiver phase relationship for 80 and 60m is a known issue in R1.01d.
It has been fixed in a experimental version R1.01r here (yes, with plenty of new features): https://github.com/threeme3/QCX-SSB/blob/experimental/QCX-SSB.ino
You can use this version, or copy the si5351_freq() function into the old sketch.

The issue was caused by a pll frequency of 900Mhz, which is too high to reach a 90 degree phase difference for the lower bands.In the fixed version, the pll frequency has been lowered.
73, Guido


Jim Koehler
 

I am gob-smacked at how much functionality Guido has been able to pack into the AtMEGA!  I would think the cheap little
'blue pill' using the STM32F103 would be a much more powerful substitute.  It has a very fast A/D, 128K of FLASH and 20K of RAM,
a 72 MHz clock and costs a few bucks.  There's an excellent free C compiler (GNU ARM) and a good, free library (libopencm3).
I can imagine a really small, inexpensive SSB QRP rig with just a few components using his ideas and this controller.
Jim, VE5FP


jjpurdum
 

The Arduino IDE can compile code for the: STM32 ("Blue Pill"), the ESP32, and the Teensy 4.0. Indeed Al and I are using all of those in the new Projects book. All that is required is the installation of a software patch and off you go. The patch includes all of the core libraries and the requisite code generator. While there are a few quirks compiling with some of the microcontrollers, we have yet to find code that we couldn't compile within the Arduino IDE.

Jack, W8TEE

On Thursday, April 30, 2020, 11:49:22 AM EDT, Jim Koehler <jark@...> wrote:


I am gob-smacked at how much functionality Guido has been able to pack into the AtMEGA!  I would think the cheap little
'blue pill' using the STM32F103 would be a much more powerful substitute.  It has a very fast A/D, 128K of FLASH and 20K of RAM,
a 72 MHz clock and costs a few bucks.  There's an excellent free C compiler (GNU ARM) and a good, free library (libopencm3).
I can imagine a really small, inexpensive SSB QRP rig with just a few components using his ideas and this controller.
Jim, VE5FP


Bill Cromwell
 

Hello Jack,

Do you have any guess when the book might appear for sale?

73,

Bill KU8H

On 4/30/20 12:14 PM, jjpurdum via groups.io wrote:
The Arduino IDE can compile code for the: STM32 ("Blue Pill"), the ESP32, and the Teensy 4.0. Indeed Al and I are using all of those in the new /Projects /book. All that is required is the installation of a software patch and off you go. The patch includes all of the core libraries and the requisite code generator. While there are a few quirks compiling with some of the microcontrollers, we have yet to find code that we couldn't compile within the Arduino IDE.
Jack, W8TEE
On Thursday, April 30, 2020, 11:49:22 AM EDT, Jim Koehler <jark@...> wrote:
I am gob-smacked at how much functionality Guido has been able to pack into the AtMEGA!  I would think the cheap little
'blue pill' using the STM32F103 would be a much more powerful substitute.  It has a very fast A/D, 128K of FLASH and 20K of RAM,
a 72 MHz clock and costs a few bucks.  There's an excellent free C compiler (GNU ARM) and a good, free library (libopencm3).
I can imagine a really small, inexpensive SSB QRP rig with just a few components using his ideas and this controller.
Jim, VE5FP
--
bark less - wag more


jjpurdum
 

Hi Bill:

Still no definitive word from the publisher, although the editor is working on Chapter 15, which is the second-to-last chapter in the book. I think COVID-19 has messed the delivery date for this, like so many other things. I'll make a post as soon as I find something out.

Jack, W8TEE

On Thursday, April 30, 2020, 12:27:49 PM EDT, Bill Cromwell <wrcromwell@...> wrote:


Hello Jack,

Do you have any guess when the book might appear for sale?

73,

Bill  KU8H

On 4/30/20 12:14 PM, jjpurdum via groups.io wrote:
> The Arduino IDE can compile code for the: STM32 ("Blue Pill"), the
> ESP32, and the Teensy 4.0. Indeed Al and I are using all of those in the
> new /Projects /book. All that is required is the installation of a
> software patch and off you go. The patch includes all of the core
> libraries and the requisite code generator. While there are a few quirks
> compiling with some of the microcontrollers, we have yet to find code
> that we couldn't compile within the Arduino IDE.
>
> Jack, W8TEE
>
> On Thursday, April 30, 2020, 11:49:22 AM EDT, Jim Koehler <jark@...>
> wrote:
>
>
> I am gob-smacked at how much functionality Guido has been able to pack
> into the AtMEGA!  I would think the cheap little
> 'blue pill' using the STM32F103 would be a much more powerful
> substitute.  It has a very fast A/D, 128K of FLASH and 20K of RAM,
> a 72 MHz clock and costs a few bucks.  There's an excellent free C
> compiler (GNU ARM) and a good, free library (libopencm3).
> I can imagine a really small, inexpensive SSB QRP rig with just a few
> components using his ideas and this controller.
> Jim, VE5FP
>

--
bark less - wag more




Ryan Flowers
 

What's the current status of this project? Is this far enough along that you'd recommend this to somebody who wanted it as a primary SSB single band rig like the BITX40 was, before it was discontinued?

I'm thinking about ordering a 20M QCX just to give this a try, but if it's still too experimental to expect usable results from, I will probably pass. Thanks :)

--
Ryan Flowers - W7RLF
https://miscdotgeek.com/