# NB IOT Peak Data Rate Calculation

We have seen in different literature that Narrow Band IOT (NB-IOT) release 13 technology peak downlink data rate is 170 kbps and  pplink data rate is 250 kbps, do know what is actual calculation behind these numbers, if not this post is for the same.

Downlink Data Transmission Mechanism

• eNodeB transmitted NPDCCH (DCI) indicating that there will be downlink data over NPDSCH for the device. Since the NB-IOT devices are expected to have reduced compute capability, there is a time offset given between end of NPDCCH transmission and beginning of NPDSCH transmission which is at least 4 ms. 4 ms duration is minimum and it can be extend
• Once the device receives NPDSCH block carrying DL data, it take 4 ms to decode  in good radio condition with Modulation coding scheme (MCS) 10 and maximum transport block (TB) 680 bits and transmit HARQ acknowledgement on NPUSCH. The time offset between end of NPDSCH and start of NPUSCH is at least 12 ms.
• The device send HARQ acknowledgement on NPUSCH and to listen the next NPDCCH if there is more data on the way. It takes at least 3 ms before device starts listen to the next NPDCCH.

• Peak Throughput=
• Maximum Transport Block / Transmission Time Interval = 680 bits /4 ms
• 170 kbps
•  Throughput  (With out NPBCH/PSS/SSS)
• 680 bits/ NPDCCH duration (1 ms) + offset (4 ms) + NPDSCH duration (4ms) + offset (12 ms) + NPUSCH duration (2ms) + offset (3ms)
• 680 bits / 1 ms +4 ms +4 ms + 12 ms + 2 ms + 3ms = 680 bit / 26 ms = 26.15 kbps
• Throughput  (With NPBCH/PSS/SSS) : within 20 ms NPBCH and NPSS is transmitted two time, NSSS is transmitted one time. It makes total as 25% as an overhead
• 0.75 x 26.15 kbps = 19.6 kbps

Uplink Data Transmission Mechanism

• eNodeB sends a NPDCCH (DCI) to device signalling about the scheduled grant. It take at least 8 ms before the device sends NPUSCH for uplink data transmission
• Assuming good radio conditions with MCS 12, Maximum Transport Block (TB) of 1000 bits and all 12 tone (subcarriers) are used, it takes 4 ms time to send data over NPUSCH and recieves its acknowledgement from eNodeB over NPDCCH. The time offset between the end of the NPUSCH and beginning of the NPDCCH at least 3 ms
• The device receives HARQ acknowledgement on NPDCCH and possible next grant