AnsweredAssumed Answered

streaming using example program

Question asked by ENGINEER on Apr 10, 2017
Latest reply on Apr 12, 2017 by ENGINEER

Hi,

 

i choose following params

 

============================================

// RX stream config
rxcfg.bw_hz = MHZ(10); // 2 MHz rf bandwidth
rxcfg.fs_hz = MHZ(30.72); // 2.5 MS/s rx sample rate
rxcfg.lo_hz = GHZ(2.400); // 2.5 GHz rf frequency
rxcfg.rfport = "A_BALANCED"; // port A (select for rf freq.)

// TX stream config
txcfg.bw_hz = MHZ(10); // 1.5 MHz rf bandwidth
txcfg.fs_hz = MHZ(30.72); // 2.5 MS/s tx sample rate
txcfg.lo_hz = GHZ(2.450); // 2.5 GHz rf frequency
txcfg.rfport = "A"; // port A (select for rf freq.)

 

============================================i choose below size [153600]

 

printf("* Creating non-cyclic IIO buffers with 1 MiS\n");
rxbuf = iio_device_create_buffer(rx, 153600, false);
if (!rxbuf) {
perror("Could not create RX buffer");
shutdown();
}
txbuf = iio_device_create_buffer(tx,153600, false);
if (!txbuf) {
perror("Could not create TX buffer");
shutdown();
}

=================================================

the LTE10.mat example from Oscilloscope is exactly 153600 complex samples [10mhz waveform = 1 TTi = 15360 complex samples], so 1 FRAME = 10 tti = 153600 complex samples.

in the loop , i fill

indx = 0

for (p_dat = iio_buffer_first(txbuf, tx0_i); p_dat < p_end; p_dat += p_inc)
{
// Example: fill with zeros
// 12-bit sample needs to be MSB alligned so shift by 4
// https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/software/basic_iq_datafiles#binary_format
((int16_t*)p_dat)[0] = TxVals[indx] << 4; // Real (I)
((int16_t*)p_dat)[1] = TxVals[indx+1] << 4; // Imag (Q)
indx += 2;
}

================================ questions

1 what i see is a blip in the instantaneous spectrum, half spectrum, part of spectrum filled and sometimes only carrier. [pic attached]

2. how does the actual IIO-OSCiilloscope work with LTE10.mat which is only 153600 complex samples, the same way which i am doing ?. i see Osc works perfectly 

3.  how to improve streaming to Max rate possible atleast 30.72 Mega Samples per second

 

* Acquiring AD9361 TX lo channel
* Initializing AD9361 IIO streaming channels
* Enabling IIO streaming channels
* Creating non-cyclic IIO buffers with 1 MiS
* Starting IO streaming (press CTRL+C to cancel)
RX 3.07 MSmp, TX 3.07 MSmp
RX 6.14 MSmp, TX 6.14 MSmp
RX 9.22 MSmp, TX 9.22 MSmp
RX 12.29 MSmp, TX 12.29 MSmp
RX 15.36 MSmp, TX 15.36 MSmp
RX 18.43 MSmp, TX 18.43 MSmp

 

note: - please note, i am NOT using ADI Linux, am using petalinux and hence no network apps or any other apps are running. its pure linux WITHOUT any overhead.

 

 

Thanks

RC

Attachments

Outcomes