Can't transmit on TX2_1

#1

Hi, I’m actually trying to do some MIMO transmitting but I’m having some issues. I hope someone can help me resolve my potential misunderstanding with this. Here is a summary of the background and problem:

  • I’m using GNU Radio for this effort
  • I want to transmit two signals at once (within the 61.44 MHz bandwidth)
  • I can successfully transmit a wav file using FM modulation via TX1_1 which is good
  • I tried transmitting two signals using NCO but it wasn’t working as I expected (I got mirroring and I wasn’t receiving the second signal).
  • I decided to take a step back to figure out what is going wrong…
  • Next I tried to simply transmit the wav file using FM modulation via TX2_1, like I did before with TX1_1, this doesn’t work!

Before I can progress to transmitting two signals at once, I need to be able to transmit one on TX2_1. As stated, I’m using GNU Radio to do this, please see the attached Python file for what I’m trying to do (generated via the Lime example). When I run this set to channel A (0) it works but in its current state, it doesn’t transmit (I have antennas attached to TX1_1 and TX2_1). I’m referencing sink.h. Am I missing something? Please note I have two LimeSDR USBs and they are both exhibiting the same behavior so I don’t believe it is a hardware issue.

I also have another question to help clarify my understanding. The Lime GNU Radio block allows you to specify an ini file, is this needed for things to work properly on a different channel? Everything has been working well when I transmit over TX1_1 without specifying one but this problem got me thinking maybe I need to create one in LimeSuite and specify it (I hope not).

Thanks for any assistance!

John

#!/usr/bin/env python2
# -*- coding: utf-8 -*-
##################################################
# GNU Radio Python Flow Graph
# Title: FM transmitter
# Author: Lime Microsystems
# Generated: Thu Sep 19 13:49:09 2019
##################################################


from gnuradio import analog
from gnuradio import blocks
from gnuradio import eng_notation
from gnuradio import filter
from gnuradio import gr
from gnuradio.eng_option import eng_option
from gnuradio.filter import firdes
from optparse import OptionParser
import limesdr


class top_block(gr.top_block):

    def __init__(self):
        gr.top_block.__init__(self, "FM transmitter")

        ##################################################
        # Blocks
        ##################################################
        self.rational_resampler_xxx_0 = filter.rational_resampler_ccf(
                interpolation=25,
                decimation=6,
                taps=None,
                fractional_bw=None,
        )
        self.limesdr_sink_0 = limesdr.sink('', 0, '', '')
        self.limesdr_sink_0.set_sample_rate(2e6)
        self.limesdr_sink_0.set_center_freq(100.0e6, 0)
        self.limesdr_sink_0.set_bandwidth(5e6,1)
        self.limesdr_sink_0.set_digital_filter(100e3,1)
        self.limesdr_sink_0.set_gain(20,1)
        self.limesdr_sink_0.set_antenna(1,1)

        self.blocks_wavfile_source_0_0 = blocks.wavfile_source('./guitar.wav', False)
        self.analog_nbfm_tx_0_0 = analog.nbfm_tx(
        	audio_rate=48000,
        	quad_rate=480000,
        	tau=75e-6,
        	max_dev=2e3,
        	fh=-1.0,
                )

        ##################################################
        # Connections
        ##################################################
        self.connect((self.analog_nbfm_tx_0_0, 0), (self.rational_resampler_xxx_0, 0))
        self.connect((self.blocks_wavfile_source_0_0, 0), (self.analog_nbfm_tx_0_0, 0))
        self.connect((self.rational_resampler_xxx_0, 0), (self.limesdr_sink_0, 0))


def main(top_block_cls=top_block, options=None):

    tb = top_block_cls()
    tb.start()
    tb.wait()


if __name__ == '__main__':
    main()