piHPSDR running on MacOS
with DIVERSITY and PURESIGNAL
Part 1: Using a HAMlab/STEMlab RedPitaya based SDR
which uses the "old protocol"
PURESIGNAL is a mechanism by which you can improve your transmitted signal considerably.
To do so, the SDR "looks" at the signal which actually goes to the antenna and compares it
with the generated signal. From the observed differences (distortions), the SDR program then calculates
how the generated signal must be changed ("pre-distorted") such that at the end of the PA,
a clean signal results.
There are two prerequisites to use PURESIGNAL on a HAMlab
a) you must be able to feed back the transmitted signal (that one that
goes to the antenna) to the RX2 input of the second receiver. Of
course, you need much attenuation (I use a 60dB attenuator as decribed
on this page.) See the note on the bottom of this page on the required attenuation.
b) the SDR app that comes with a HAMlab
does not work (for me)
You have to use the version
which you can download from various places, e.g.
In this link I describe how to install this software on your HAMlab.
DIVERSITY is a mechanism where the RX1 signal (IQ samples) are mixed
with the RX2 samples. In the user interface, one specifies a
gain/attenuation and a phase shift, and these are applied to the RX2
samples before they are added onto the RX1 samples ("diversity mixer").
With this mechanism, a signal that is present on both RX channels can
be canceled while a signal that is only present on RX1 remains
unaffected. In the standard setup, one uses a small active receiving
antenna connected to RX2. Ideally, the phase and/or gain difference between
the main and the auxiliary antenna is different for the DX signal and local noise,
the the local noise can be canceled while the DX signal is at least not completely
To test diversity, I connected a T-adapter to a signal generator and fed its signal both
to the RX1 and RX2 inputs. Then I adjusted the gain and phase of the
DIVERSITY mixer such that the signal in the main receiver (top panel)
went down as much as possible. On the lower panel you see the (unmodified) RX2
signal. The following two pictures show screen shots with DIVERSITY
active (first picture) and after DIVERSITY has been deactivated (second
picture). The signal from the signal generator (about 3630 kHz, -40 dBm)
is notched out to less than -100 dBm in RX1. If both cables had exactly the same
length and damping, and if both RX frontends were equivalent, the theoretical values
for the necessary gain would be 0 dB and for the phase 180 degrees. The values needed
to obtain the notch in reality (0.84 dB and 179.8 degrees) are fairly similar.
On the second picture, you see what
happens after un-checking the "Diversity Enable" box, now both RX show the -40 dBm
TESTING PURESIGNAL part 1: HAMlab bare-foot
Then I tested PURESIGNAL in a two-tone experiment. I present
screen-shots here (piHPSDR can display the feedback signal that comes
from the antenna), but the results have been reproduced using a
spectrum analyzer. The first picture shows the feedback signal with
PURESIGNAL active, while the second picture shows it after PURESIGNAL
has been switched off by hitting the "OFF" button. With PURESIGNAL, the
IM3 satellites more than 50 dBc below the signal peaks (that is, 56 dB
IM3 according to the ARRL convention). Note that the feedback signal is slightly
(2.7 dB) too weak (the feedbk level is only 111 while the optimum value is around 152).
For 10 Watts output (+40 dBm), a 60 dB attenuator is somewhat too strong.
After switching off PURESIGNAL,
I getslightly more than 30 dBc which is still a good value (the HAMlab has a class-A amplifier with a single MOSFET).
TESTING PURESIGNAL part 2: HAMlab and FL2100 tube amplifier
Normally one wants to connect an external PA to the HAMlab (in my case,
a 50-year old Yaesu FL2100 amplifier with two 572b tubes). The 10 Watts
that come out of the HAMlab are a little bit low to drive the PA, but I
get up 100 Watts out with this drive (see my report on FL2100
restoration and modification). Again I present screen shots with and
without PURESIGNAL. Again I get something about 50dBc with PURESIGNAL,
which is in my view a very good value. Switching off PURESIGNAL jumps
to about 30 dBc which is still a very good value (the FL2100 with such
a low drive is *very* linear).
NOTE on the required attenuation
In the HAMlab, the second RX has no attenuator in the front-end.
Therefore you must choose the
attenuation such that the feedback signal at the RX2 jacket is about
-10 dBm (actually slightly below,
it should not significantly exceed -10 dBm). With a -50dB feedback,
PURESIGNAL works very well for
the bare-foot HAMlab (10 Watts output), but it when you want to use an
external PA, you should go for a 60 dB attenuator (see my report on
adding such a thing to my DummyLoad/WattMeter). As one can see from the
screen shots for "bare foot" PURESIGNAL, 60 dB attenuation is a little
bit on the large side. From the screen shots with PA, you see that
there was a TX attenuation of 2 dB to get the signal strength right.
This is a "software attenuator" that I have built into the STEMlab
HPSDR simulator. As long as the feedback signal does not lead to ADC
clipping, it can be "computationally reduced" by the "TX attenuator"
value that is part of the HPSDR protocol and that is used by piHPSDR.
DL1YCF, July 2019