[hpsdr] MOX and Duplex

Bob Cowdery bob at bobcowdery.plus.com
Sat Nov 22 11:21:09 PST 2014


Hi Joe,

Thanks for the detailed explanation. I'm working out how best to do my
transmit path so I first need to understand what the firmware is doing.
I do plan to start looking at the firmware code but that will be a bit
later on.

In my software at the moment all I do is link the RX1 and TX frequency
if not duplex but otherwise the MOX and Duplex signals I generate set
the appropriate bits in the CC,  and then for MOX, if there is more than
one receiver I stop all except RX1. When I say stop I just stop the DSP
processing and then start DSP processing for the TX. Similarly for MOX
off I start DSP for any other receivers and stop for the TX. Apart from
(un)linking the frequency and setting the CC bit I do nothing with
Duplex in the PC code yet.

For testing I've just removed the antenna from Mercury and put a dummy
load on Penny (I don't have PA or filters attached yet). Now I know I'm
not doing this right yet as I'm deliberately leaving RX1 running
regardless of the duplex setting in the firmware.

What I notice is that I can hear the signal in RX1 only if duplex is set
in the firmware and I wondered what I was doing wrong as if the firmware
does nothing to inhibit the signal I would expect to hear it regardless
of duplex. It may be I have some frequency offset somewhere or I'm
setting the wrong NCO bytes in one of the cases.

73 Bob G3UKB

On 22/11/2014 17:49, Joe Martin K5SO wrote:
> Hi Bob, 
>
> Simply, within firmware there is no “MOX” signal.   Both MOX and Duplex are software-generated signals, activated by the user.  In the PC software program, the MOX signal is used to switch between transmit mode and receive mode, which generates a PTT signal for the firmware; that is, MOX in the PC code (software) simply switches the “radio” (not the “hardware” only, but rather the combination of hardware and software which is the “radio") between Tx mode and Rx mode.  Essentially, MOX in software is used to turn the transmitter on in firmware and to signal other T/R switching logic depending upon other logic inputs.  To appreciate this better perhaps, you should be aware that in firmware all receivers are always running, technically speaking, even if the PC software isn’t using the IQ values being produced by the receivers, such as when the “radio” is in transmit mode and even though switching activated by PTT may have physically removed outside antenna connections to the receivers.  
>
> Within software there is a distinction between Duplex and non-duplex mode that is quite different from how the “Duplex” signal is utilized in firmware.  In software, the Duplex mode allows you to “receive”, i.e., to “hear" the Rx1 receiver output while the transmitter is transmitting, as you would expect from the name “Duplex", just as you observe.  In non-duplex mode you don’t hear the receiver output while the transmitter is transmitting; i.e., non-duplex mode is technically simplex mode, in which you either transmit or you receive, not both simultaneously; even though the receivers are actually still running in firmware during this time.  
>
> The “Duplex" signal is used in firmware differently from how it is used within the software program.  In firmware, in conjunction with the “last_chan” signal (i.e., the number of receiver IQ channels requested by the PC for the firmware to send), the Duplex signal is used only to specify whether the frequency of Rx1 is made to be identical (non-Duplex mode) to the transmitter frequency or allowed to be different (Duplex mode) from the transmitter frequency when the transmitter is transmitting.  As I mentioned, in firmware all receviers are actually always running regardless of what mode the “radio” is in or whether the “radio” is transmitting or receiving.  In the Verilog source code for the firmware you can see this behavior by searching for “IF_duplex”, which is the “Duplex” signal that is passed from the PC software to the hardware.  From a firmware perspective, it is questionable whether the Duplex signal bit is actually needed in firmware and in truth it might be omitted in the new protocol for the communications between PC/hardware that is currently being developed and only be used within the software program itself.  
>
> Hope that helps.  
>
> 73, Joe K5SO
>
> On Nov 22, 2014, at 8:49 AM, Bob Cowdery wrote:
>
>> ***** High Performance Software Defined Radio Discussion List *****
>>
>> I know I've asked this question before but it was a long time ago and I
>> can't find the response now.
>> What exactly does MOX and Duplex do in the firmware. If I set both and
>> keep RX1 running then I can hear myself but not if Duplex is off.
>>
>> Thanks
>> 73 Bob G3UKB
>> _______________________________________________
>> HPSDR Discussion List
>> To post msg: hpsdr at openhpsdr.org
>> Subscription help: http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org
>> HPSDR web page: http://openhpsdr.org
>> Archives: http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/



 1416684069.0


More information about the Hpsdr mailing list