LTE: Downlink and Uplink decoding procedure

30 views (last 30 days)
I got the code how to decode DL-SCH and I got DCI 0/4 formats (UL grant), but what is the procedure for DL and UL decoding via Matlab?
I am refering to theory at sharetechnote slides.
If I am iterating every SFN and internal loop for each subframe for DL decoding, then where I should insert a function to decode UL signal?
rxGrid = lteOFDMDemodulate(enb, dlWaveform);
while (size(rxGrid,2) > 0)
% iterate every SFN
for subframeIdx = 0:9
% iterate every subframe and detect DCI and decode it
% on every 4th SFN I Have MIB, and every even I have SIB1
% then I have SIB2 where I have params for UL PUCCH, PRACH etc.
% but I need to use ASN.1 decoder (or wireshark LTE dissector) to get real values from symbols.
if UE.DCI.Format == "Format0"
% this is UL Grant. What should I do with this subframe?
rxGridUl = lteSCFDMADemodulate(FRC,ulWaveform);
% ??? how can I properly use rxGridUl to decode UL-SCH, RACH channels?
  1 Comment
Sabyrzhan Tasbolatov
Sabyrzhan Tasbolatov on 26 Sep 2022
Question is: should I decode UL once I've received UL grant in DL loop? Can I do it separately so DL loop is fully finished until all SFNs are decoded and then store info (which I need?) to pass it to UL waveform decoding?

Sign in to comment.

Answers (1)

Kirsten Hart
Kirsten Hart on 3 Oct 2022
Where and how UL decoding fits depends on several factors, including where we are looking at FDD or TDD transmission. In the former case, uplink transmission is on a different frequency, whereas it is on the same frequency in the latter case. This assumes that the waveform is captured at a location where you can hear both the uplink and the downlink, which is not always the case.
In general, if you are trying to blindly decode UL information, you should first decode DCI format 0 on the downlink and extract the UL grant information. You can assume that 4 subframes later (at least for FDD), the UE replied with the requested transmission. This is when you want to configure the receive parameters for PUSCH demodulation and decoding and process the corresponding subframe.
For an example of receiver for PUSCH demodulation refer to the following MathWorks documentation example:
PRACH demodulation is completely separate from PUSCH or PDCCH. For an example of PRACH detection refer to the following MathWorks documentation example:


Find more on End-to-End Simulation in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by