[hpsdr] Closing the loop.....

Dan Mills dmills at exponent.myzen.co.uk
Sun Oct 21 16:42:30 PDT 2012


On Sun, 2012-10-21 at 15:57 -0700, Warren C. Pratt wrote:

> I suppose the Cartesian algorithm would need to be totally in firmware as
> the delays from software to hardware and back are somewhat lengthy and are
> not fixed.

Basically you have to keep the group delay around the loop small
compared to the loop bandwidth (~30Khz in my case), so yea keeping it in
the FPGA at a few MS/s is indicated. 

The basic approach is however really easy, two CORDIC cores driving half
complex mixers (Using the CORDIC core to rotate the vector directly
introduces excessive pipeline latency), with the usual CIC
interpolate/decimate chains. 

You adjust the relative phase of the NCOs to compensate for the RF phase
shift through the amplifiers and filters (A short delay line or two with
some phase comparators will drive things in the right direction) then
close the loop with about 30 - 40dB of error amp gain and a second order
loop filter at a few tens of Khz and watch the distortion vanish (I got
-60 ref one tone out of a pair of MRF151 @ 250W with my analogue
experiments, I expect better with the DUC/DDC approach). 

A refinement is to take the magnitude of the forward path IQ pair and
feed it to a DAC that drives a switched mode regulator in the drain
supply to the finals, helps to retain efficiency at less then 100%
power. 

The nice thing about feedback as opposed to predistortion is that things
like load impedance, or temperature changing the operating point do not
screw up the calibration. The downside is that the linearity of the
reverse path is of critical importance as any errors here will appear at
the output.

I am working up a hermes workalike designed to better support this mode
of operation, mostly things like losing the on board audio IO to support
some extra ADCs and DACs (I am quite happy with the ethernet port for
getting data in and out), providing switching of the receive path for PA
output sampling and doing a pre driver that I am happier with. 
Yea I know I should probably just buy a hermes already, but you don't
really understand them until you have done the board layout yourself and
sweated all the details (Besides I need to improve my Altium skills for
work).  

73 Dan, M0HCN.



 1350862950.0


More information about the Hpsdr mailing list