HSDPA Category Table determines how much max throughput is allowed for each category and it is defined in TS 25.306 as follows. A category is a promise from the UE about its receiver.
The category says how many HS-PDSCH codes the UE can despread and how large a transport block it can decode in one 2 ms TTI. It also gives the size of the HARQ soft buffer, and the number of cells and MIMO streams the UE can handle at once. The Node B scheduler must stay inside that promise, or the UE cannot decode what it receives. So the category is the first number to check when an HSDPA throughput test falls short. The table on this page is checked against 25.306 v19.0.0, where the FDD list ends at Category 38.
The topics on this page are listed below.
- What does each column of the FDD category table mean?
- How do you turn a category into a peak data rate?
- How network - Node B - knows which Category the UE support ?
- Reference
What does each column of the FDD category table mean?
Thirty-eight categories look like a lot to remember, but they grow along only a few axes. The early categories add codes and shorten the inter-TTI interval. Later ones add 64QAM, then MIMO, then more aggregated cells. Once you know which column carries which axis, you can place any category in a few seconds.
The table below is 25.306 Table 5.1a, split over three images. Each row is one HS-DSCH category, from Category 1 to Category 38. The columns give the codes, the inter-TTI interval, the transport block size, the soft channel bits, the number of cells, the number of MIMO cells and the supported modulations. Categories 17 and 18 take two rows each.
< 25.306 - Table 5.1a: FDD HS-DSCH physical layer categories >



25.306 Table 5.1a, Categories 1 to 38. The values match 25.306 v19.0.0. From Category 21 on, the growth comes from more cells and more MIMO streams, while the transport block size stays at 42192 bits or below.
Maximum number of HS-DSCH codes received : this is 5, 10 or 15. HS-PDSCH uses spreading factor 16, so a cell has 16 such codes. 15 is the most HSDPA can use, because at least one SF 16 branch has to carry the common and control channels.Minimum inter-TTI interval : a value of 1 means the UE can be scheduled in every 2 ms TTI. Categories 1 and 2 have 3, so they can receive in at most one TTI of every three. Categories 3, 4 and 11 have 2.Maximum number of bits of an HS-DSCH transport block : this limits one transport block, not one TTI. With MIMO, one cell can carry two transport blocks in the same TTI. NOTE 1 of the table adds that the value need not match an entry of the transport block size table exactly.Total number of soft channel bits : this is the HARQ soft buffer, shared by all HARQ processes of the UE. Categories 9 and 10 have the same buffer, 172800 bits, but Category 10 decodes a larger transport block.Serving and secondary serving HS-DSCH cells : 1 is single carrier, 2 is DC-HSDPA, and 3, 4, 6 and 8 are the multi-cell categories 29 to 36. The next two columns count how many of those cells can run MIMO with two or four transmit antennas.Supported modulations : Categories 11 and 12 support QPSK only. 16QAM arrives with Category 1, and 64QAM with Category 13.Categories 17 and 18 have two rows : NOTE 2 and NOTE 3 explain them. Category 17 behaves as Category 13 without MIMO and as Category 15 with MIMO, but not both at once. Category 18 does the same with Categories 14 and 16.
The notes under Table 5.1a add three rules that the images do not show. First, Categories 1 to 4 and Category 11 do not support HS-DSCH reception in CELL_FACH, CELL_PCH or URA_PCH. Second, a UE of Category 13 or higher also supports E-DPDCH and MAC-ehs. Third, Categories 13, 15, 19, 21, 23, 25 and 27 only need to support code rates up to 0.823 in some modulation cases. So their largest transport block is smaller in practice.
Codes, then modulation, then MIMO, then cells : this is the order in which the categories grow.The transport block limit stops at 42192 bits : no category goes above it, so the highest rates come from more streams and more cells.Category 13 and above implies MAC-ehs : this matters for the MAC-hs and MAC-ehs choice in the RRC configuration.
How do you turn a category into a peak data rate?
Marketing names such as 21 Mbps or 42 Mbps come from Table 5.1a, but the table never states a rate. You have to derive it. The derivation is short, and it also shows why a measured rate is always lower.
A transport block is delivered once per 2 ms TTI. So the peak rate at the physical layer is simple to write down. Multiply the maximum transport block size by the number of transport blocks per TTI. Then divide by 2 ms and by the minimum inter-TTI interval. Without MIMO, one cell carries one transport block per TTI. With MIMO, it carries up to two. With multi-cell operation, each cell adds its own transport blocks. The table below applies this to some common categories.
Category |
Max TB bits |
Min inter-TTI |
TBs per TTI |
Peak rate Mbps |
1 | 7298 | 3 | 1 | 1.2 |
6 | 7298 | 1 | 1 | 3.6 |
8 | 14411 | 1 | 1 | 7.2 |
10 | 27952 | 1 | 1 | 14.0 |
12 | 3630 | 1 | 1 | 1.8 |
14 | 42192 | 1 | 1 | 21.1 |
16 | 27952 | 1 | 2, MIMO | 28.0 |
20 | 42192 | 1 | 2, MIMO | 42.2 |
24 | 42192 | 1 | 2, two cells | 42.2 |
28 | 42192 | 1 | 4, two cells with MIMO | 84.4 |
32 | 42192 | 1 | 8, four cells with MIMO | 168.8 |
36 | 42192 | 1 | 16, eight cells with MIMO | 337.5 |
Let's check one row by hand. Category 10 decodes 27952 bits every 2 ms, which is 13.976 Mbps. The often quoted 14.4 Mbps is something else. It is the raw channel bit rate of 15 codes with 16QAM: 15 x 240 ksymbol/s x 4 bits. It counts bits before channel coding, so it is not a value from the table. Category 1 shows the effect of the inter-TTI interval: 7298 bits every 6 ms is only 1.2 Mbps.
These numbers are ceilings, and three things keep a real test below them. The first is the transport block size table: the Node B picks a size from the CQI, and the largest entry may be below the category limit. The second is the code rate limit of 0.823 for some categories, mentioned in the previous section. The third is overhead: MAC-hs or MAC-ehs, RLC and IP headers all take bits from the transport block. Categories 37 and 38 are left out of the table above. They use MIMO with four transmit antennas, and this page does not derive their rate.
Peak rate = TB bits x TBs per TTI / 2 ms / inter-TTI : the whole calculation fits in one line.MIMO doubles the transport blocks per cell : Category 16 reaches 28.0 Mbps with the Category 10 block size.DC-HSDPA and MIMO give the same peak : Category 20 and Category 24 both reach 42.2 Mbps, one with two streams and one with two cells.A measured rate is always lower : the CQI, the code rate limit and the protocol headers each take a share.
How network - Node B - knows which Category the UE support ?
The UE is the only node that knows its own receiver, so the UE has to report the category. But RRC ends in the RNC, not in the Node B, and the scheduler that needs the category runs in the Node B. So the category travels in two steps: from the UE to the RNC over RRC, and from the RNC to the Node B over NBAP.
UE notifies HSDPA categories it support via RRC Connection Setup Complete message (In case of LTE, there is a separate message 'UE Capability Information' for UE to notify the UE category)
UMTS also has a UE CAPABILITY INFORMATION message. 25.331 clause 8.1.6.2 has the UE send it when the network sends UE CAPABILITY ENQUIRY, or when its capability changes in CELL_DCH or CELL_FACH. At connection setup, however, the capability usually arrives in RRC CONNECTION SETUP COMPLETE, in the IEs that the Capability update requirement of RRC CONNECTION SETUP asks for.
The capture below shows the capability tree of an RRC CONNECTION SETUP COMPLETE message. The UE puts the HSDPA capability in the v590 non-critical extension, under ue-RadioAccessCapability-v590ext and physicalChannelCapability. The red box marks the reported category.

A UE reporting HS-DSCH Category 8 in RRC CONNECTION SETUP COMPLETE. The field sits in the Rel-5 extension, so a Rel-99 network would skip it.
fdd-hspdsch = supported : the UE supports HSDPA in FDD. The fields tdd384-hspdsch and tdd128-hspdsch read unsupported, so it has no TDD HSDPA.hsdsch-physical-layer-category = 8 : 10 codes, a 14411 bit transport block and 134400 soft channel bits, which is 7.2 Mbps from the previous section.dummy and dummy2 = FALSE : 25.331 says these two fields are not used, and the receiver ignores them.dl-CapabilityWithSimultaneousHS-DSCHConfig = kbps64 : 25.306 clause 4.11 uses it to reduce the DPCH reception capability while an HS-DSCH is configured. Here the UE keeps 64 kbps of DPCH, and this value is separate from the category.
This field alone cannot carry a category above 12. In 25.331 v19.0.1, HSDSCH-physical-layer-category is INTEGER (1..64), but a comment in PhysicalChannelCapability-hspdsch-r5 restricts the value to 1..12, even when the real category is higher. Every later category group got its own extension IE in a later non-critical extension, as the table below shows.
IE in 25.331 |
Values |
Carried in |
Used when |
hsdsch-physical-layer-category | 1..12 | PhysicalChannelCapability-hspdsch-r5 | MAC-hs is configured |
hsdsch-physical-layer-category-ext | 1..20 | DL-PhysChCapabilityFDD-v770ext | MAC-ehs without dual cell |
hsdsch-physical-layer-category-ext2 | 21..24 | DL-PhysChCapabilityFDD-v860ext | dual cell |
hsdsch-physical-layer-category-ext3 | 25..28 | DL-PhysChCapabilityFDD-v920ext | dual cell with MIMO |
hsdsch-physical-layer-category-ext4 | 29..30 | DL-PhysChCapabilityFDD-va40ext | three cells |
hsdsch-physical-layer-category-ext5 | 31..32 | DL-PhysChCapabilityFDD-va40ext | four cells |
hsdsch-physical-layer-category-ext6 | 33..34 | DL-PhysChCapabilityFDD-vb50ext | five or six cells |
hsdsch-physical-layer-category-ext7 | 35..36 | DL-PhysChCapabilityFDD-vb50ext | seven or eight cells |
hsdsch-physical-layer-category-ext8 | 37..38 | DL-PhysChCapabilityFDD-vb50ext | MIMO with four transmit antennas |
So a modern UE reports several categories at once, one per operating mode. 25.331 clause 8.1.6.2 also ties them together. For example, a UE that signals 13, 15, 17 or 19 in the first extension must signal 9 in the original field. A UE that signals 14, 16, 18 or 20 must signal 10. The same clause tells the UE which of its categories sets the soft buffer. That choice follows the configuration: MAC-hs uses the original field, dual cell uses extension 2, four cells use extension 5, and so on.
The RNC then forwards the category to the Node B. In NBAP, the RADIO LINK SETUP REQUEST carries a UE Capabilities Information IE inside its HS-DSCH information, and that IE holds the HS-DSCH Physical Layer Category of 25.433 clause 9.2.1.31Ia. The RADIO LINK RECONFIGURATION PREPARE message can update it later. The Node B scheduler then uses the category to limit codes, transport block size and HARQ memory for that UE.
The UE reports and the RNC forwards : RRC delivers the category to the RNC, and NBAP delivers it to the Node B.The original field stops at Category 12 : a UE of Category 14 still puts 10 there, and puts 14 in hsdsch-physical-layer-category-ext.Read every extension in a log : the category that matters depends on whether MAC-ehs, dual cell, MIMO or multi-cell is configured.
Reference
- 25.306 UE Radio Access capabilities - v19.0.0, Table 5.1a FDD HS-DSCH physical layer categories and its notes
- 25.331 Radio Resource Control - v19.0.1, clause 8.1.6.2 and the ASN.1 of PhysicalChannelCapability-hspdsch-r5 and DL-PhysChCapabilityFDD extensions
- 25.433 UTRAN Iub interface NBAP signalling - v19.0.0, clause 9.2.1.31Ia HS-DSCH Physical Layer Category