I have developed a transceiver application to run with XCVR2450 on USRP
N210. My transceiver class has been created as follows:
def __init__(self, mod_class, demod_class, rx_callback,
gr.top_block.__init__(self) # Get the modulation's bits_per_symbol args = mod_class.extract_kwargs_from_options(options) symbol_rate = options.bitrate /
self.sink = uhd_transmitter(options.args, symbol_rate, options.samples_per_symbol, options.tx_freq, options.tx_gain, options.spec, options.antenna, options.verbose) self.txpath = transmit_path(mod_class, options) self.connect(self.txpath, self.sink) # Get the demodulation's bits_per_symbol args = demod_class.extract_kwargs_from_options(options) symbol_rate = options.bitrate /
self.source = uhd_receiver(options.args, symbol_rate, options.samples_per_symbol, options.rx_freq, options.rx_gain, options.spec, options.rx_antenna, options.verbose) options.samples_per_symbol = self.source._sps self.rxpath = receive_path(demod_class, rx_callback,
For testing, I set up one transceiver as a pure transmitter and another
a pure receiver. The invocations were:
./transmitter.py -f 2.4G -A J1 --rx-freq=5G --rx-antenna=J2
./receiver.py -f 5G -A J1 --rx-freq=2.4G --rx-antenna=J2
where f and A refer to the transmit frequency and antenna respectively.
However, even though the transmitter reports transmission of packets
pattern similar to benchmark programs), the receiver is unable to
any packets. Strangely, if I run a pure transmitter without a receiver
component as in the original benchmark programs, the packets are
correctly by the receiver program. I find this baffling, since I have
separate frequencies and antennae for transmission and reception. I had
previously run a similar program on WBX daughterboard successfully.
someone please explain what’s going on here?