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.
Thanks in advance.
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.
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.