[hpsdr] Diversity reception w/dual Merc boards

Joe Martin K5SO k5so at valornet.com
Sat Jul 31 08:08:50 PDT 2010


> I'm just wondering, what about CW skimmer,  I'm not too sure, might  
> be I don't know how,
> but it seems to me that at this  time it can not be run together   
> with receiver  application.
>
> Can two boards be used to have CW skimmer and rcvr ( PowerSDR or  
> KISS console) running at the same time
> ( I hope so) ?


Hi Gedas,

I am not familiar with the CW Skimmer program specifically but perhaps  
some general comments on diversity operation would be useful to you.   
The short answer I think is, yes, CW skimmer will work with dual  
Mercury board operations if it currently works with your HPSDR set up  
now but your HPSDR program needs to be modified to accept and combine  
multiple data streams.  The longer answer is this:

Diversity reception using dual Mercury boards is quite different from  
multiple-receivers on a single Mercury board. The primary difference  
is that more than one antenna input is used in diversity reception,  
one antenna input on each Mercury board, whereas only one antenna  
input is used with in multiple receiver operation with a single  
board.  With dual (or more) Mercury boards each Mercury board has its  
own independent antenna and so allows us to combine signals from  
independent sources that (likely/hopefully) have different signal  
fading characteristics from each other in order to create a combined  
signal that has less fading than would be the case if only a single  
antenna were used.  The notion is that if one source is in a deep fade  
the other one won't be.

The newest FPGA code for Mercury and Ozy generates a data stream of  
interleaved IQ values from all of the independent receivers that is  
then sent to the PC over the USB port for decoding in the PC.  All of  
the operations from the antenna through to the USB port are  
independent of which PC operating system you use;  that is, the same  
FPGA coding is used in the HPSDR boards regardless of whether the PC  
is running any of the variety of Windows operating systems, or Linux,  
or Mac OS-X, or any other operating system.  The principal job of the  
program running on the PC is to receive the IQ data stream(s) from Ozy  
and process it to produce the desired audio output data stream (which,  
in the HPSDR case is passed back to Ozy over the USB port and then on  
to Mercury, or Janus, for connection to the actual speaker).  The USB  
path is bidirectional of course so that the PC also sends control  
information back to the HPSDR board set too but that fact is  
unimportant for this explanation.

In the case of diversity receive, the individual I values and Q values  
from each source must be combined appropriately before decoding  
(demodulating) the IQ values.  There are several different ways to do  
the combining of the I values and, separately the Q values, but an  
effective method for diversity operation is to use a simple "equal  
gain" combination where each independent, instantaneous I value is  
averaged with the other source(s) at that instant and then the  
"average" I value is passed along to the decoder code, same with the Q  
values.

Once combining of the independent I values, and Q values, is done  
there is no difference in diversity operation from normal (single  
Mercury board) operation in the way the IQ stream is handled in the  
PC, so a program such as CW Skimmer or any other utility program that  
currently runs with PowerSDR or KISS Konsole, or whatever program is  
being used with HPSDR will/should operate normally (only with much  
less fading, presumably), after the HPSDR program has been modified to  
accept and combine the interleaved IQ values.

The issue of compatibility of your desired Skimmer program with  
diversity HPSDR operation arises only in that the PowerSDR program or  
KISS Konsole program (or other HPSDR program you may be using) needs  
to be modified to combine the independent IQ values coming across in  
the USB data stream appropriately.

Basically, if the utility program works with your HPSDR program now it  
will also work in a diversity mode once the HPSDR program is modified  
to combine the interleaved data stream values, without any  
modification of the utility program.

I hope I didn't confuse the issue for you.

73,  Joe K5SO

 1280588930.0


More information about the Hpsdr mailing list