When I set the samplerate to 500e6, MATLAB changes the image of my X410 to X1_400, but it only allows two channels to output simultaneously. What should I do to control all four channels of the X410 to output signals simultaneously?

댓글 수: 12

Hi Chengrui,
Without further explanation of what you've tried and what's not working I'm afraid it's hard to tell, but it should be possible to transmit on four channels simultaneously. Please see the example Transmit Data on Multiple Antennas with Baseband Transmitter.
This code should send four channels of data.
bbtx = basebandTransmitter("MyX410"); % you will need to set your own radio configuration name
bbtx.SampleRate=500e6;
bbtx.Antennas = ["DB0:RF0:TX/RX0","DB0:RF1:TX/RX0","DB1:RF0:TX/RX0","DB1:RF1:TX/RX0"];
transmit(bbtx,ones(1000,4),'continuous'); % four columns of data, one for each antenna
stopTransmission(bbtx)
If you are experiencing any issues that you suspect may be a bug, please contact support.
Thanks,
Neil
chengrui
chengrui 2025년 10월 24일
%% set USRP
savedRadioConfigurations = radioConfigurations;
savedRadioConfigurationNames = [string({savedRadioConfigurations.Name})];
radio = savedRadioConfigurationNames(1) ;
%% generate signal
SampleRate = 500e6;
t = 0: 1/SampleRate : (500000-1)/SampleRate;
freq_tone = linspace(0,200e6,4001);
comb_signal = 0;
for i = 1:length(freq_tone)
comb_signal = comb_signal + exp(1j * 2 *pi * freq_tone(i) .* t).'/length(freq_tone);
end
comb_signal = repmat(comb_signal,1,4);
%%
if ~exist("bbtrx","var")
bbtrx = basebandTransceiver(radio);
end
bbtrx.TransmitRadioGain = 30;
bbtrx.SampleRate = 500e6;
singleAntennaBandwidth = 800e6;
% "DB0:RF0:TX/RX0","DB0:RF1:TX/RX0","DB1:RF0:TX/RX0","DB1:RF1:TX/RX0"
bbtrx.TransmitAntennas = ["DB0:RF0:TX/RX0","DB0:RF1:TX/RX0","DB1:RF0:TX/RX0","DB1:RF1:TX/RX0"];
centerFrequency = 2e9;
bbtrx.TransmitCenterFrequency = centerFrequency + ...
[-3*singleAntennaBandwidth/2,-singleAntennaBandwidth/2, singleAntennaBandwidth/2,3*singleAntennaBandwidth/2];
transmit(bbtrx,comb_signal,"continuous"); When I run my own code, MATLAB reports an error, but when I use the code you provided, no error is reported.
Neil MacEwen
Neil MacEwen 2025년 10월 24일
You are using the basebandTransceiver, which is designed for transmitting and receiving at the same time. As per documentation, there is a physical limitation of 4 antennas in use at once. There is not currently a way for you to unallocate the receive antenna, so in your code you are attempting to allocate 4 transmit and (at least) 1 receive for a total of (at least) 5 antennas.
If you use the basebandTransmitter as per my code, your code should work.
chengrui
chengrui 2025년 10월 24일
Yes, but when I ran the code you provided, each channel could only transmit a signal bandwidth of up to 200 MHz. Is this limitation caused by the fact that I’m using a 10 Gb network card, or is it related to the FPGA image?
Neil MacEwen
Neil MacEwen 2025년 10월 24일
500 Msps sampling rate for the X410 has been available since R2025a, are you on an older release? See latest documentation online. If you are on an older release, the documentation should not list 500 MHz as a supported rate.
For any further questions, contact support, where it's easier for us to capture all the required information to support you fully.
chengrui
chengrui 2025년 10월 24일
the matlab I used is R2025b
chengrui
chengrui 2025년 10월 24일
sorry, it's R2025a
chengrui
chengrui 2025년 10월 24일
25.1.0.2973910 (R2025a) Update 1
Neil MacEwen
Neil MacEwen 2025년 10월 24일
"each channel could only transmit a signal bandwidth of up to 200 MHz"
Is this an error message you are seeing? How do you verify each channel is only 200 MHz?
Again, please address further questions to support.
chengrui
chengrui 2025년 10월 24일
I uesd spectrum analyzer to see the signal X410 transmitted
Neil MacEwen
Neil MacEwen 2025년 10월 24일
Please take this to customer support and provide details of the code you are using and the results you are seeing so we can investigate further.
Thanks,
Neil
Neil MacEwen
Neil MacEwen 2025년 11월 3일
The issue here was with the configuration of the transmit signal, chengrui is now successful transmitting a 400MHz signal.

댓글을 달려면 로그인하십시오.

 채택된 답변

Neil MacEwen
Neil MacEwen 2025년 11월 3일

0 개 추천

The following code can be used to send four channels of data with an X410 at 500 Msps.
bbtx = basebandTransmitter("MyX410"); % you will need to set your own radio configuration name
bbtx.SampleRate=500e6;
bbtx.Antennas = ["DB0:RF0:TX/RX0","DB0:RF1:TX/RX0","DB1:RF0:TX/RX0","DB1:RF1:TX/RX0"];
transmitSignal = getMySignal(); % Four columns of data, one for each antenna
transmit(bbtx,transmitSignal,'continuous');
stopTransmission(bbtx)

댓글 수: 2

Kelly
Kelly 2025년 11월 4일
It seems that the current FPGA images supported by the X410 are X1_200 and X1_400. Although the bandwidth is doubled, for continuous transmission and reception, the sample rate is limited by the supported lane — currently 10 Gb Ethernet for the available images. Are there any plans to extend support to all four lanes, given that the X410 supports 100 Gb Ethernet?
Best,
Kelly
Neil MacEwen
Neil MacEwen 2025년 11월 5일
Hi Kelly,
The 400MHz bandwidth FPGA image (and 491.52/500 Msps master clock rates) is also currently only supported for the baseband* objects, which are designed for one-shot or repeated transmit, or capture and post-process workflows.
We have support for all four lanes on our list, but it's not currently being actively developed.
Thanks,
Neil

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Communications Toolbox에 대해 자세히 알아보기

제품

릴리스

R2025b

태그

질문:

2025년 10월 23일

댓글:

2025년 11월 5일

Community Treasure Hunt

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

Start Hunting!

Translated by