Understanding transmit_from_file_app

Hi, I was trying to transmit different signals from this app on the platform zcu104+fmcomms3, and I ran into some issues.

  • The timeout didn’t work; I had to use a delay.
  • With the default config, the offset works only up to 5MHz.
  • I’ve tried different signals, but nothing different happens when the app runs.

I’d also like to know how the signals were made; maybe there’s something I’m not considering. Has someone had a similar situation? Thanks

We’ll look into the timeout

The offset is calculated based on 40MHz that the AD9361 is set to so you should be able to set the offset +/- 20MHz .

We’ve ran different signals through it that are not posted and have not run into issues. The value you request for sample rate in the DRC is taken to account and used to calculate what the interpolation rate has to be reach 40MSPS. For example you request 1MSPS internally the DRC will set the interpolation rate to 40.

The example signals are generic BPSK signal generated using octave. They were generated for a rate of 250ksps.

Here’s the documentation that describes methodology and testing conducted with the transmit_from_file_app : Transmit From File Application (transmit_from_file_app) — OpenCPI assets

After some investigation we were able to reproduce the timeout not working. It may appear this way because the sample files in examples are too short; it only has a couple of seconds worth of data. If the app reaches EOF the app will close out. If you use the --repeat flag the timeout should be honored.

Ok. I’ll see that. I also had a problem with the gain; I’d reproduced different signals with the same input gain, but it always transmitted other gains. It should be like that?

How is it being measured? Are the different signals that same bandwidth?

If they are the same bandwidth the gain should be similar. If they aren’t the same bandwidth then the power will be spread differently so you may observe different gain levels.

Same parameters, only different signals. There are some things I don’t understand: in the drc_fmcomms worker, the up_sample_factor of cic_interpolator_xs is set to 1, but it should be 2 or greater. Is this parameter overwritten in another file?

It is overridden and calculated based on the requested sample rate.

How are you measuring and how off are the signals?

What do you mean by different signals?

Thanks, I guess I figured it out. It was the short signal issue. I couldn’t get the timeout to work, but if I use the repeat flag, at least it keeps running.