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

59 次查看(过去 30 天)
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.

采纳的回答

Francisco Salomon
Francisco Salomon 2024-10-28,11:01
编辑:Francisco Salomon 2024-10-28,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 个)

Umar
Umar 2024-10-27,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 个评论
Qian
Qian 2024-10-29,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 2024-10-29,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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Transmit and Capture 的更多信息

产品


版本

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by