Thanks for the LimeSuiteNG development for Lime XTRX!
We are testing our board with different sample rates, and get a bit confused with the sampling rate.
In LimeSuiteNG/src/boards/LMS7002M_SDRDevice.cpp:936, the sampling rate range is fixed to be from 100 kHz to 61.44 MHz. But the description of the board is saying it can go up to 120 MHz.
So we are wondering what the proper way to set the sampling rate to be higher than 61.44 MHz is?
That is general capabilities description, it’s not imposing a limit. You can set the XTRX sampling rate to 120MHz, but it is supported only in SISO mode.
@ricardas could you explain more detail please what does its mean: “the linkFormat has to be I12 if XTRX is connected to host using only Gen2 x1 PCIe lane.”.
We connected the XTRX to the host using PCIE X16 with I12 linkFormat and noticed a problem with sampling rates above 61.44: our device doesn’t see the commands in the signal transmitted by the XTRX.
that’s your motherboard’s PCIe port with x16 lanes.
XTRX can use at most only 2 lanes.
Because XTRX has miniPCIe connector and your motherboard has full PCIe port, I assume you are using some kind of adapter board, those adapters usually connect only 1 lane.
That theoretically limits the data rate to 500 MB/s.
SISO: 122.88MHz * 3 bytes (IQ pair I12) = 368.64 MB/s
SISO: 122.88MHz * 4 bytes (IQ pair I16) = 491.52 MB/s // too close to limit, might not be enough
Do you use timestamps for Tx packets? It might be a matter of performance, with high sampling rates if the packet is not transferred to the board in time when it should be transmitted, then it is dropped and nothing will be transmitted.
You should check stream status counters to see if there are any problems.