[hpsdr] Mercury SSB Phase Noise Testing

Graham / KE9H KE9H at austin.rr.com
Mon Oct 26 17:24:28 PDT 2009


John Miles wrote:
>> Larry and all:
>>
>> Actually, there is a "DDS" in Mercury, it is a CORDIC implemented in the
>> FPGA, so no physical chip to see, other than the FPGA, and no
>> manufacturer's spec sheet to read, other than the FPGA source code
>> on the SVN.  It generates a "local oscillator" signal and associated 90
>> degree
>> shifted signal anywhere from 1 Hz to 60 MHz, used to do the mix-down
>> conversion
>> to the baseband.  It is locked to the 10 MHz reference signal on the
>> Atlas Bus.
>>     
>
> Right, but that virtual-LO signal is ultimately based on the FPGA clock.  In
> terms of random PM noise, there is no difference between a CORDIC rotator on
> an FPGA and an actual DDS chip driving a separate mixer.  
Agreed.  It has all the same "diseases" a hardware DDS has, except that 
there is no
D->A converter, with its error contribution, on the output of the CORDIC.
> They are both
> limited by either the master clock noise or (more likely at HF) the noise
> inherent to the semiconductor process floor.
>   

A CORDIC is a successive approximation engine. It hardly ever gives you 
the exactly correct answer,
just an answer that is as close as you chose to ask for, determined and 
limited by the number of
rounds of calculations that you perform. All of those little errors are 
noise sources and show up as
amplitude and phase noise. 

So, more likely to be limited by the number of bits of resolution, the 
number of rounds in the CORDIC
calculations and how the programmer deals with rounding/truncation 
errors and resulting error propagation in
the CORDIC calculations.

The output is a digital bit stream, and is never reduced to an analog 
signal in Mercury, so I don't think
the semiconductor noise floor contributes to the CORDIC noise, other 
than its contribution to the master
clock phase noise which does come sailing right through.

So it can never be better than the clock, but is hard to get a good 
clean clock to be the limiting factor.

--- Graham / KE9H

==



 1256603068.0


More information about the Hpsdr mailing list