Create Waveform for AD9371 in Matlab


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));
grid on;

User 307.M Spectrum

I Also looked at AD9371 offcial IQ file " LTE_DL_30p72_20M_TM3p1_122.88rate.txt", whose spectrum is ideal.

ADI offcial 122.88M

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.

Thanks in advance.