In order to get a raw peak data rate at the PHY layer e.g. in the DL you do the following:
- Assume we have 20MHz band, so the number of PRBs in the frequency domain is: PRBno = 100
- Assume we have 1 OFDM symbol for control region (for PHICH, PCFICH and PDCCH) in each subframe, so number of OFDM symbols per subframe for user plane data (PDSCH) is: NoOFDMSymbols = 13 (for normal CP)
- Assume we have SISO case (one antenna), so the number of Cell RS for the PDSCH per 2PRBs is: NoRS = 6
- The number of subcarriers per PRB is: NoSubcarriers = 12
- The number of RE (resource elements) available for carrying PDSCH per 2PRBs is: NoREs = NoOFDMSymbols * NoSubcarriers – NoRS = 13 * 12 – 6 = 150
- The number of REs for subframe is: NoREPDSCH = NoREs * PRBno = 150 * 100 = 15000
- For peak datarate we use 64QAM, which gives the number of bits per RE: bitsRE = 6
- The number of bits for the whole subframe is: NoBitsPDSCH = NoREPDSCH * bitsRE = 15000 * 6 = 90 000
- The number of subframes in one sec is: NoSFs = 1000 [SFs/Sec]
- The max throughput then (raw, ie. without FEC) is: RawThrpt = NoBitsPDSCH [bits/SF] * NoSFs [SFs/Sec] = 90 000 * 1000 = 90 000 000 bits/sec = 90 Mbits/s
- If you add then the typical FEC rate for good channel conditions of: FECrate = 5/6
- You end up at: PHYThrpt = RawThrpt * FECrate = 90 Mbits/s * 5/6 = 75Mbit/s
So that’s your thrpt for DL at PHY. Then additionally you need to get out of it some % for RRC signalling and system info, and overhead of MAC/RLC/PDCP and TCP/IP stack.
For UL, the situation is similiar, but you need to take into account the typical UL frame PHY overhead (DRS, SRS, PUCCH, PRACH)