I am trying to implement a BPSK/QPSK transmission chain using GNURadio Companion. I have succeeded to make it work well in simulation, but now I am having some trouble when using the AD9361/ZC706 boards.
As a first try, I just connected a loopback cable between TX1A and RX1A. I am using GRC 184.108.40.206 with IIO support, and I use the FMComms2/3/4 Source and FMComms2/3/4 Sink to communicate with the boards.
When I am doing a transmission, the receiver side has some « glitches » : It stops receiving for a short time, and then restarts receiving the sent signal. I have linked four screenshots about the block configurations (fm_sink.PNG,fm_source.PNG) and the issue (reset_tx.PNG,reset_rx.PNG). I think it is linked to GNURadio since I don’t observe this behaviour when I transmit a single CW tone using IIO-Oscilloscope.
Normally, I should use a larger bandwidth (around 4 MHz) and a higher sampling rate (around 16 Msps), but the problem occurs more likely when I increase the sampling rate.
Does someone have any idea about something I could have badly or not configured ?
Thank you in advance,
The theoretical limit of Ethernet is 25 MSPS, assuming no overhead and no contention. Since you are getting close I might say that there is really nothing super obvious that can help besides increasing…
Loopback of TX-Rx at full power can saturate the Rx , Try putting 10 dB attenuator at TX and configuring Rx for AGC mode.
Moving this post to Linux software driver subspace for comments on GNE radio config…
You are likely starving the transmitter. If you cannot provide data fast enough to the transmitter or your buffers are too small it will create gaps in your data. If you are constantly sending the same…
Moving this post to Linux software driver subspace for comments on GNE radio config.
Thank you for your answer.
Unfortunately, adding a 10 dB attenuation at Tx, and configuring Rx as a slow gain mode did not solved the problem. In fact, I discovered that the problem is more often present when I increase the sample rate. At a low sample rate, I am able to to transmit datas with the problem appearing rarely. I also tried with a communication between two different boards, and OTA using antennas, and this is the same conclusion. Do you have any other idea?
You are likely starving the transmitter. If you cannot provide data fast enough to the transmitter or your buffers are too small it will create gaps in your data. If you are constantly sending the same waveform, just enable cyclc mode on the TX block and data will be repeated from the FPGA and not gaps can occur.
Thank you for your answer. I cannot use the Cyclic parameter since I want to transmit files. With Cyclic set to false, I increased the sample rate from 2.8 Msps to > 17.6 Msps using a bigger buffer at the transmitter while keeping a sample rate of 2.8 Msps at the receiver and it seems to quite well in this configuration. So it is probably linked to a starvation of the transmitter like you said. However, I cannot increase the sample rate at the receiver side without having the problem again. I would like to receive data with a sample rate higher or equal to 17.6 Msps if it is possible, but I don't succeed tuning the parameters to achieve it. I don't really see what I can improve to get rid of this behaviour... Do you have any additional suggestions to help me?
Thank you a lot,
The theoretical limit of Ethernet is 25 MSPS, assuming no overhead and no contention. Since you are getting close I might say that there is really nothing super obvious that can help besides increasing buffer sizes.