clear ueConfig=struct('NCellID',1,'NULRB',100,'DuplexMode','FDD','NSubframe',0,'CyclicPrefixUL','Normal','NTxAnts',1); srsConfig=struct('NTxAnts',1,'ConfigIdx',317,'SeqGroup',1,'SeqIdx',0,'TxComb',0); addpath('../../build/srslte/lib/ch_estimation/test') for k=0:50 for csbw=0:7 for uebw=0:3 for hop=0:3 for ncs=0 for n_rrc=1:5:20 ueConfig.NFrame=mod(32*k,1024); srsConfig.BWConfig = csbw; srsConfig.BW = uebw; srsConfig.CyclicShift = ncs; srsConfig.HoppingBW = hop; srsConfig.FreqPosition = n_rrc; fprintf('Testing SRS: Nframe=%d, CSBW=%d, UEBW=%d, b_hop=%d n_rrc=%d\n',ueConfig.NFrame, csbw, uebw, hop, n_rrc); [sym_mat, info]=lteSRS(ueConfig,srsConfig); [idx, info2]=lteSRSIndices(ueConfig,srsConfig); subframe_mat = lteULResourceGrid(ueConfig); subframe_mat(idx)=sym_mat; [sym, subframe]=srslte_refsignal_srs(ueConfig,srsConfig); error_sym=max(abs(sym-sym_mat)); error_sf=max(abs(subframe_mat(:)-subframe)); if (error_sym > 3.5e-3) disp(info) plot(abs(sym-sym_mat)) legend('srsLTE','Matlab') error('Error in symbols'); end if (error_sf > 3.5e-3) disp(info2) plot(abs(subframe-subframe_mat(:))) error('Error in subframe'); end end end end end end end