MATLAB Answers

Zynq SDR Capture Length question!

2 views (last 30 days)
jarul
jarul on 5 Jun 2020
Commented: jarul on 19 Jun 2020
While using Zynq SDR, the capture length can not exceed '16777216'.
I want to capture length longer than the prescribed. I get the following error.
Error using comm.libiio.AD9361.rx/capture
Requested capture length (23592960 Samples) exceeds maximum value for this number of channels
(16777216 Samples). Use 'EnableOversizeCapture' to risk compromising data contiguity in return for a
larger capture length.
How to use 'EnableOversizeCapture in order to capture longer length than the one prescribed.
Thanks.

  0 Comments

Sign in to comment.

Accepted Answer

Jyotsna Talluri
Jyotsna Talluri on 8 Jun 2020
You can just enable the property'EnableOversizeCapture' by setting it to true.In addition to the other arguments of capture function,specify it as a name -value pair.
capture(rxsdr,'EnableOversizeCapture',true);
Refer to the below documentation link for more information

  1 Comment

jarul
jarul on 9 Jun 2020
Thanks for your quick response. I do appreciate your help.

Sign in to comment.

More Answers (1)

jarul
jarul on 9 Jun 2020
I have another question related to the above issue.
When I tried to transfer rather large size, I get the following error.
Generating WLAN transmit waveform:
Error using comm.libiio.AD9361.tx/validateInputsImpl
The maximum samples per frame for the selected channel mapping is 16777216.
Error in comm.libiio.AD9361.tx/transmitRepeat
Error in OFDM_SIM1 (line 189)
sdrTransmitter.transmitRepeat(txWaveform);
How do I overcome the above error? It seems to me that I can not have the samples per frame more than 16777216.

  2 Comments

Neil MacEwen
Neil MacEwen on 16 Jun 2020
Hi Jarul,
Both transmitRepeat and capture methods use on-board storage, which is size-limited. When you select "EnableOversizeCapture" you are choosing to stream data to the host, instead of capturing it on on-board storage first - this is why you are no longer guaranteed contiguity, as you may lose samples over the Ethernet link.
Likewise, on the transmit side, the only way you can send a frame of a size larger than the 16M limit is by attempting to stream in real-time from the host, instead of using transmitRepeat. Again, you will not be guaranteed contiguity, and are likely to see performance issues (dropped samples).
Thanks,
Neil
jarul
jarul on 19 Jun 2020
Thanks for your response. Appreciate very much!

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!