2016-07-11 01:40:28 -07:00
|
|
|
ueConfig=struct('NCellID',1,'NULRB',15,'NSubframe',0,'RNTI',30,'CyclicPrefixUL','Normal','NTxAnts',1,'Shortened',0);
|
|
|
|
puschConfig=struct('NTurboDecIts',5,'NLayers',1,'OrthCover','Off','PRBSet',(0:14)','Modulation','QPSK','RV',0);
|
2015-03-11 09:42:36 -07:00
|
|
|
|
2016-07-11 01:40:28 -07:00
|
|
|
TBS=392;
|
|
|
|
cfo=0;
|
2015-08-28 02:08:19 -07:00
|
|
|
t0=1;
|
|
|
|
x=[rx(t0:end); zeros(t0-1,1)];
|
2015-08-04 08:27:14 -07:00
|
|
|
|
2016-07-11 01:40:28 -07:00
|
|
|
x=lteFrequencyCorrect(ueConfig,x,cfo);
|
|
|
|
subframe_rx=lteSCFDMADemodulate(ueConfig,x);
|
2015-03-11 09:42:36 -07:00
|
|
|
idx=ltePUSCHIndices(ueConfig,puschConfig);
|
|
|
|
pusch_rx=subframe_rx(idx);
|
2015-08-04 08:27:14 -07:00
|
|
|
dmrs_rx=subframe_rx(ltePUSCHDRSIndices(ueConfig,puschConfig));
|
2015-03-11 09:42:36 -07:00
|
|
|
[hest, noiseest] = lteULChannelEstimate(ueConfig,puschConfig,subframe_rx);
|
|
|
|
ce=hest(idx);
|
|
|
|
[cws,symbols] = ltePUSCHDecode(ueConfig,puschConfig,pusch_rx,ce,noiseest);
|
2015-06-02 07:29:48 -07:00
|
|
|
[trblkout,blkcrc,stateout] = lteULSCHDecode(ueConfig,puschConfig,TBS,cws);
|
2015-03-12 03:29:11 -07:00
|
|
|
disp(blkcrc)
|
2015-03-17 10:26:23 -07:00
|
|
|
scatter(real(symbols),imag(symbols))
|
2016-07-11 01:40:28 -07:00
|
|
|
%plot(angle(hest(:,1)))
|