Interpolation and Decimation Factors for USRP

10 visualizaciones (últimos 30 días)
Saurabh
Saurabh el 25 de Feb. de 2025
Comentada: Saurabh el 18 de Mzo. de 2025
Hi,
I have been trying to setup a 5g Waveform continuous stream over USRP-2974 using the comm.SDRuTransmitter and comm.SDRuReceiver; and something I dont understand is the use of interpolation factor. The waveform i generated is from the 5G waveform Generator at 20 Mhz bw and Fs : 30.72Mhz. Considering the closest sampling factor at 200Mhz masterclockrate is 33.33Mhz i resample the waveform. Also the generator returns a 10ms frame so I use repmat to duplicate the frame for 1 sec length. Considering these conditions and USRP sampling rate of 33.33Mhz the interpolation decimation factor would be 6. However I get a lot of underruns and see the tx/rx lights to be blinking rather than being static as they are in continuous stream. However when I use only the 1ms frame and use some higher interpolation/decimation factor like 48 everything works fine.
I want to setup the transmission for 30 secs duration but using a higher interp factor like 48 the streams run for longer duration this is not the case for when I the inerpfactor is 6. can some one explain how do these factors work and what would be a better to setup the streams.
The following is the loop I use for streaming
for i=1:duration(30_000)
under = tx(waveform); % This works perfectly for 30secs when waveform is of length of 1ms and intepr/dec factor is 6 but has a lot of underruns.
[rxdata, ~,overflow, rx_time_stamp] = rx();
txfail = txfail+under;
rxfail = rxfail + overflow;
end
and these are my tx/rx object's params.
tx_object

Respuestas (1)

charan
charan el 14 de Mzo. de 2025
Hi Saurabh,
The interpolation factor decides the sampling frequency of the waveform. The sampling frequency is given by the master clock rate divided by the interpolation factor.
It seems like you are looking to send contiguous frames of signal without underruns. To do this you can use the "burst" mode of USRP radio. To enable burst mode set the "EnableBurstMode" property of the tranmsitter system object to "true" and specify the number of frames in the burst as the "NumFramesInBurst" property. You can refer to the below documentation link for more information about the same:
The following documentation links might also be helpful to you:
  1 comentario
Saurabh
Saurabh el 18 de Mzo. de 2025
Hi Sai,
I cannot work with burst mode for my transmissions since my objective is wireless sensing and burst mode kind of alternates on tx and rx producing discontinuites in transmission, also i just wanted to understand this interpolation factor since 200e6/6 = 33Mhz is the appropriate sampling rate for my deivce. this seems some failure on the Matlabs Pipeline for sending data to USRP.
Anyways thanks for your reply, I am current using the generated waveform through gnuradio as it works correctly without underruns.

Iniciar sesión para comentar.

Categorías

Más información sobre Communications Toolbox en Help Center y File Exchange.

Productos


Versión

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by