How gNB figures out padding in the UL?

Hello Experts.

Does anyone know how the gNB figures out how much padding in the UL?
After decoding the UL PUSCH how the can figure out how many padding bits?

Say for example, the UE transmitted TBS, how does the gNB quantify the padding in Uplink?

UE while making TB used padding LCID, which indicates size of padding along with payload.

In similar way gNB figures out via padding header used in received TB at MAC layer.

Is that the same thing as padding BSR?

Please go through Logical channel id’s, BSR having diff logical ch id and padding having diff logical id, like in LTE padding=31, BSR=29,28,27.

This padding can be used with any of logical channel to fill the gap of left out TB.

Thanks!

Does NR have similar mechanism?

So the MAC PDU will contain a MAC CE that has padding amount?

These concepts should be same in 5G, need to cross check.

MAC PDU will contain logical channels which denotes MAC CE’s as well as other DL-SCH / UL-SCH headers headers and payload.

Looks like this is what you meant?
But it seems UE doesn’t explicitly mention the amount of padding?
I wanted how gNB figure out the amount of padding.

Yes, i meant same.

To calculate how much is padding, you need to look at UL-SCH header which will give you size.
Take an example, UE was allocated 50MB of TB size for transmitting in uplink.
Now, based upon BSD & PSR MAC layer starts preparing transport block.
(Now look at UL-SCH header, its having bit length).
If data for ul-sch filled is 48MB then 2MB is left so here mac layer will add padding for 2MB.
Since MAC layer has to fill complete transport block.

Let me know if this clears your doubt else I will put more calculative values.

Thank you very much. I think that I understood how UE calculates amount of padding ex 2MB but what I don’t understand is how the gNB when it receives the TB will know it UE has added padding 2MB not some other number.

Can you please show me ULSCH with header that shows the padding bits size?

gNB will unpack same way like it was packed by UE.

Refer this image, look at F and L field:

Now I see! Thank you very much! :slight_smile: