Wireless Testbench basebandTr​ansceiver/​capture Error:capture length depends on the device buffer size

59 visualizzazioni (ultimi 30 giorni)
In the Wireless Testbench capture function description, when the capture length is larger than the X310 device memory buffer size (2GB), the maximum data samples will be determined by the memory on the host computer. However, I found that this is only in line with the baseband receiver. When I set up a baseband transceiver with the same sample rate and capture length, and without enabling the transmitter, MATLAB 2024b returns an error and terminates the capture process:
savedRadioConfigurations = radioConfigurations;
savedRadioConfigurationNames = [string({savedRadioConfigurations.Name})];
radio = savedRadioConfigurationNames(1) ;
bbtrx = basebandTransceiver(radio);
% bbtrx = basebandReceiver(radio);
bbtrx.DroppedSamplesAction = 'none';
captureLength = 10*2^28;
sampleRates = 100e6;
retryUnsuccessfulCaptures = true;
bbtrx.SampleRate = sampleRates;
disp("Capturing at "+ bbtrx.SampleRate/1e6 + " MHz");
[data,timestamp,droppedSamples] = capture(bbtrx, captureLength);
The error message:
Error using wt.internal.AppBase/allocateHardwareMemory
The combined data capture length across the specified antennas is 2684354560 samples. Reduce to less than or equal to 268435456 samples, or, reduce the transmit waveform size of any ongoing continuous transmission.
Error in wt.internal.basebandTransceiver/capture
Error in basebandTransceiver/capture
Sincerely hope someone can help me to solve this issue.

Risposta accettata

Francisco Salomon
Francisco Salomon il 28 Ott 2024 alle 11:01
Modificato: Francisco Salomon il 28 Ott 2024 alle 11:12
Hello Qian,
Thanks for you interest in our product.
As stated in https://mathworks.com/help/wireless-testbench/ref/basebandtransceiver.html, the basebandTransceiver object does captures and transmissions only via the device's DDR.
Thanks,
Francisco
  1 Commento
Qian
Qian il 29 Ott 2024 alle 1:09
Thanks a lot for your clear reply. You’re absolutely right. Hopefully the capture function of basebandTransceiver could be enhanced in future updates.

Accedi per commentare.

Più risposte (1)

Umar
Umar il 27 Ott 2024 alle 15:01

Hi @Qian,

The error message indicates that the combined data capture length across specified antennas exceeds the limit (2,684,354,560 samples). According to the documentation ( https://www.mathworks.com/help/wireless-testbench/ref/basebandreceiver.capture.html ) for USRP devices like the X310, if the capture length exceeds the onboard radio buffer size (1 GB), it may bypass buffering and rely on host memory. When using a baseband transceiver, both transmit and receive operations share this buffer space. Hence, if you have an ongoing transmission, it can affect your ability to capture data. To resolve this, adjust your captureLength to ensure it remains within the device limits or manageable by your host's memory:

     captureLength = 2^28; % Example reduction

You can also monitor available memory on your host before initiating a large capture to ensure sufficient space exists.

Given that you have set retryUnsuccessfulCaptures to true, ensure that the retry mechanism appropriately handles captures that fail due to memory issues. After making adjustments, run a test with smaller capture lengths incrementally until you find a stable configuration that works without errors.

If you continue to experience issues, consider checking the configuration of your baseband transceiver and the available memory on your host computer.

Hope this helps.

  4 Commenti
Qian
Qian il 29 Ott 2024 alle 0:59
Hi @Umar,
I sincerely appreciate your patience in helping resolve my issue. The alternative method you suggested is a nice option, though it appears to be supported only for the baseband receiver (based on the background description of Capture). From @Francisco Salomon's response, I finally understand that the baseband transceiver does not currently support streaming mode (hopefully this will be upgraded in the future). Maybe I should use two synchronized X310 devices—one for transmitting and the other for continuous prolong receiving.
Umar
Umar il 29 Ott 2024 alle 1:38
Hi @Qian,
Thank you for your thoughtful response and for sharing your insights regarding the alternative method I suggested. I appreciate your understanding of the limitations surrounding the baseband receiver, as highlighted in Francisco Salomon's communication. Your idea of utilizing two synchronized X310 devices—one for transmission and the other for continuous receiving—sounds like a practical solution given the current constraints. This approach may indeed provide a viable workaround until streaming mode support is potentially upgraded in future releases. Please feel free to reach out if you have any further questions or need additional assistance as you explore this option. Your patience and proactive engagement are greatly appreciated.

Accedi per commentare.

Categorie

Scopri di più su Transmit and Capture in Help Center e File Exchange

Prodotti


Release

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by