# Create Waveform for AD9371 in Matlab

Hi,

I'd like to generate a 307.2M SPS lte waveform for my test evaluation. I tried to follow analog wiki procedure, generate 30.72M SPS waveform and resample to higher. But signal spectrum doesn't seem to be good.

My code is blelow.

sig_Rate = resample(tmwaveform, 10, 1);

db_backoff = 3;
lte_20MHz = sig_Rate * (10^(-db_backoff/20))/max([max(real(sig_Rate)) abs(min(real(sig_Rate))) max(imag(sig_Rate)) abs(min(imag(sig_Rate)))]);

lte_20MHz_iq = [real(lte_20MHz) imag(lte_20MHz)];

lte_20MHz_iq_fft = fftshift(fft(lte_20MHz_iq));
figure(2);
plot(20*log(abs(lte_20MHz_iq_fft)));
grid on; I Also looked at AD9371 offcial IQ file " LTE_DL_30p72_20M_TM3p1_122.88rate.txt", whose spectrum is ideal. I guess it might be necessary to add an FIR after changing the sampling rate, but i am not good at this.

Appreciate if anyone can help for my case to improve the code and achieve a good spectrum.

Terry

• Can you try by decreasing the interpolation rate as a value of 10 is high. Instead you can try interpolating in steps. Yes you have to filter it after upsampling it.

You can use the  attached file.

lte_20mhz_307p2datarate_64QAM.txt

• I'm also having  same problem, can you pls suggest  matlab code to do filter after resampling?

• You can just use the resample function in MATLAB to change to any arbitrary sample rate you wish.

https://www.mathworks.com/help/signal/ug/resampling.html

• I think it may not be a problem and resampled signal is OK. When you upsample the signal, the central frequency band will not changed, sideband will be extended to a bigger range. The second image has no sideband because the sampling rate is too low to see.  In addition, about the filter,

I am not sure whether to add filter after upsampling for LTE signal, but you can find some details in MATLAB doc "End-to-End QAM Simulation with RF Impairments and Corrections", it may some help.