PDSCH — Physical downlink shared channel — the data

5G Systems Notes · Concept map · PDSCH Route · Hierarchy · Index · All concepts · Hub

Channels — what carries what

Where it sits

Sits atLevel 12 of the hierarchy · Channels — what carries what · explained
Learn firstResource block · DM-RS · Transport channel · DCI · Transport block size — 30 concepts in the full chain, see the paths
UnlocksPUSCH
Primary clauseTS 38.211 §7.3.1
Used innr-pdsch 85 · ref-signals 6 · nr-frame-structure 5 · ref-channels 5 · ref-mimo 4 · ref-stack 3 · index 2 · nr-srs 2 · ref-modulation 2 · ref-system 1
Scanned from the notes at page load and joined with terms.json; nothing on this card is typed by hand.

What it is

PDSCH is the physical downlink shared channel — the physical realisation of the DL-SCH transport channel, and the carrier of essentially everything the network sends you. It is defined in TS 38.211 clause 7.3.1.

Count the downlink physical channels and the claim stops sounding like a slogan. TS 38.211 clause 7.3 has exactly three, and no more.

ChannelClauseCarriesSizeIts job
PBCH7.3.3The master information blockFixed: 4 symbols, 20 blocks, ~56 bitsBootstrap — readable by a device that knows nothing
PDCCH7.3.2Downlink control informationFixed set of sizes, tens of bitsPointing — where and how to receive the next thing
PDSCH7.3.1DL-SCH and PCH transport blocks24 bits to 1 572 272, decided per slotCarrying — all of it
Table 1: The three downlink physical channels of TS 38.211 clause 7.3, and the whole division of labour between them. Read the last column: two of the three exist only to make the third usable. PBCH tells a device that has just powered on where the grid begins; PDCCH tells a device that has already joined where its data is. Everything a user would call data, and every piece of configuration that arrives after the first, is PDSCH. The PDSCH size range is the smallest entry of TS 38.214 Table 5.1.3.2-1 and the largest block one codeword can hold - 273 resource blocks, four layers, 1024QAM at a code rate of 948/1024.

So a picture of a slot is mostly a picture of PDSCH.

CORESET PDCCH SS/PBCH block PSS · SSS · PBCH PDSCH — device A 24 blocks · 12 symbols · 4 layers · 256QAM R = 948/1024 → 94 152 bits PDSCH — device B 24 blocks · 8 symbols · 2 layers · 64QAM R = 658/1024 → 15 608 bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 OFDM symbol within the slot — fourteen of them, 0.5 ms at 30 kHz frequency — 48 resource blocks 47 0 DM-RS control synchronisation nothing scheduled
Figure 1: One slot of a 48-block bandwidth part, with two devices scheduled in it. The control region is the two symbols at the front; the synchronisation block appears only in the slots of an SS burst; everything else on this grid is PDSCH, and the two allocations belong to two different devices with different modulations, different numbers of layers and different start symbols. Device A is mapping type A, so its reference signal sits at a fixed symbol of the slot; device B is mapping type B and starts mid-slot, so its reference signal starts with it. The two transport block sizes are computed from TS 38.214 clause 5.1.3.2 for exactly these allocations.

Three things in that picture are the whole idea of PDSCH.

It is not a fixed region. Nothing reserves those blocks for device A. The next slot may give the same blocks to somebody else, or to nobody.

Two devices are on it at once, on different settings. One allocation is 256QAM on four layers, the other 64QAM on two, in the same slot on the same carrier — because the two radio links are not equally good and the standard never asks them to pretend otherwise.

The reference signal is inside the allocation, not around it. A device is given the means to demodulate its own data within the resources it was given, and nothing is transmitted for the benefit of devices that are not being scheduled.

Why it is called shared

"Shared" is doing real work in that name, and it is the design decision the rest follows from. The resources are owned by nobody. They are reassigned from scratch every slot — as often as every 125 µs at 120 kHz subcarrier spacing — by a scheduler in the base station whose decision is announced in a DCI and never negotiated.

A B slot 0 A C slot 1 C A slot 2 B slot 3 A C slot 4 A slot 5 slot 6 B C A slot 7 frequency — 48 resource blocks eight slots at 30 kHz — 4 ms of one carrier device A device B device C unscheduled CORESET — one DCI per allocation
Figure 2: Four milliseconds of one carrier: eight consecutive slots, three devices. Each slot is a fresh decision. Device A holds half the band in slot 0, a sixth of it in slot 2 and all of it in slot 5; device B is absent from slots 1 and 2 and then takes the whole carrier in slot 3, and is back to a third of it by slot 7; slot 6 goes to nobody at all, because nobody had anything to send. Every coloured region was pointed at by a DCI carried in the amber control strip at the head of its own slot - which is why the number of separately scheduled devices per slot is limited by the control region, not by the data region.

Compare it with the alternative to see what is being bought. A dedicated channel — a slice of spectrum held open for one device — is the right design when traffic is a constant stream, as a telephone call was. It is the wrong design for everything a phone does now: a burst of a few megabytes while a page loads, then seconds of nothing.

A fixed slice is wrong twice over. It is too small during the burst, so the page loads slowly while the rest of the carrier lies idle; and it is wasted during the silence, when the device has nothing to send and no other device may use its slice.

Sharing converts idle time into somebody else's peak. The price is that every single transmission must be announced — a PDSCH cannot be found by looking in a known place, because there is no known place — and that is exactly why PDCCH exists, and why a device wakes up to decode candidate control messages before it knows whether anything is there for it.

What actually arrives on it

Between an application and an antenna there are two renamings, not one, and mixing them up is the usual source of muddle.

Logical channel → transport channel. What kind of information is this? becomes how shall it be carried? Done by MAC. TS 38.300 clause 6.2.3.

Transport channel → physical channel. How shall it be carried? becomes which resource elements? Done by the physical layer. TS 38.202 clause 5.2.

The five logical channels are five different things, not five spellings of one. BCCH, PCCH, CCCH, DCCH and DTCH are distinguished by the kind of information they carry — broadcast, paging, connectionless control, dedicated control, user traffic. Four of the five end up on PDSCH; each keeps its own name the whole way down, and each is defined separately in TS 38.300 clause 6.2.2.

Logical channelWhat kind of informationTransport channelPhysical channel
BCCHThe master information blockBCHPBCH
BCCHSystem information blocks, SIB1 onwardsDL-SCHPDSCH
PCCHPaging — "wake up, there is something for you"PCHPDSCH
CCCHControl for a device with no RRC connection yetDL-SCHPDSCH
DCCHDedicated control — reconfiguration, measurement ordersDL-SCHPDSCH
DTCHThe user's own trafficDL-SCHPDSCH
Table 2: The downlink mappings of TS 38.300 clause 6.2.3, joined to the physical-channel mapping of TS 38.202 clause 5.2. Read down the last column. One row, and one only, avoids PDSCH: the master information block, which is the one thing that must be readable by a device that knows nothing about the cell yet. Everything else - including the system information that describes the cell, and the paging that wakes a sleeping device - is ordinary scheduled data on the shared channel.

PCH is the row worth a second look. It is a transport channel with its own name, its own sleep behaviour and its own clause — and it has no physical channel of its own. TS 38.202 clause 5.2.3 disposes of it in one sentence: "The PCH is carried on PDSCH." The coding specification says the same thing by its title: TS 38.212 clause 7.2 is called "Downlink shared channel and paging channel" — one chain, two transport channels.

And the physical layer never learns which of these it is carrying. What MAC hands down is a transport block: an opaque bag of bits with a length, and nothing else. TS 38.202 clause 4.1 states it in two lines — "a transport block is defined as the data delivered by MAC layer to the physical layer and vice versa". That opacity is why the design scales: add a service above, and the physical layer needs no change at all, because it never looked inside.

From a bag of bits to a picture on the grid

Eleven operations separate the transport block from the antenna, and they divide cleanly in two. The first six are TS 38.212 clauses 7.2.1 to 7.2.6 and know nothing about radio: bits in, bits out. The last five are TS 38.211 clause 7.3.1 and turn bits into a picture.

The figure follows one real transport block all the way down — device A from the slot above: 94 152 bits, 24 resource blocks, twelve symbols, four layers, 256QAM at a target code rate of 948/1024. Every number in it is computed, and the arithmetic closes at the bottom.

Figure 3: One transport block of 94 152 bits, followed through the eleven steps of TS 38.212 clause 7.2 and TS 38.211 clause 7.3.1. The left of each box is the operation and its clause; the right is what the quantity of data is after it. Three numbers are worth pausing on. The block grows from 94 152 bits to 304 128 encoded bits - LDPC at rate 1/3 - and is then cut back to 101 376 by rate matching, which is what actually sets the code rate: the encoder always produces the same three-times redundancy and the puncturing decides how much of it is sent. The 576 filler bits per code block exist because the lifting size ladder of TS 38.212 Table 5.3.2-1 has no rung at exactly 7 872 over 22. And the last two numbers agree - 3 168 symbols per layer, 3 168 resource elements per layer - because the codeword was sized from the allocation in the first place, by TS 38.214 clause 5.1.3.2.

Four of those steps are worth knowing by name, because they answer a question a reader will otherwise keep asking.

Why is the block cut up at all? An LDPC decoder is built for a bounded block length; the largest BG1 code block is 8 448 bits. A 94 152-bit transport block cannot be decoded in one piece, so clause 7.2.3 cuts it into twelve, each with its own CRC. The per-block CRCs cost 288 bits here — 0.3 % — and buy the ability to tell which piece failed, which is what code block group retransmission later spends.

Where does the code rate actually come from? Not from the encoder. LDPC always emits its fixed-rate output — 304 128 bits here, more than three times the input. Rate matching reads a window out of a circular buffer and sends only what fits the allocation: 101 376 bits, giving an effective rate of 0.929. Change the MCS and nothing about the encoder changes; only the size of the window does.

Why is the data scrambled? So that a neighbouring cell's transmission, or another device's, looks like noise rather than like a plausible codeword. The sequence is seeded by the device's RNTI and the cell identity, so two devices scheduled on the same resources in adjacent cells cannot decode into each other.

Why does the arithmetic close? Because it was made to. The transport block size was computed from the allocation before any of this began, so that the codeword would exactly fill the resource elements that were set aside. Nothing in the DCI carries the size — both ends compute it, from the same inputs, and must reach the same answer.

How much fits, and what decides it

TS 38.214 clause 5.1.3.2 is the arithmetic, and it must give the same answer in the base station and in the device, from the same inputs, every time, with nothing signalled to confirm it.

Step 1 — count the resource elements. Per resource block, $N'_{\text{RE}} = 12 \cdot N^{\text{sh}}_{\text{symb}} - N^{\text{PRB}}_{\text{DMRS}} - N^{\text{PRB}}_{\text{oh}}$ — twelve subcarriers times the allocated symbols, minus what the reference signal takes, minus a configured overhead allowance. Then $N_{\text{RE}} = \min(156,\, N'_{\text{RE}}) \cdot n_{\text{PRB}}$. The cap of 156 is not a typo: a full slot holds $12 \times 14 = 168$ elements per block, and the sizing arithmetic deliberately never counts more than $12 \times 13$.

Step 2 — the honest number. $N_{\text{info}} = N_{\text{RE}} \cdot R \cdot Q_m \cdot \nu$: elements, times code rate, times bits per symbol, times layers. It is almost never the answer.

Steps 3 and 4 — quantise. Small blocks are rounded up to the nearest of 93 tabulated sizes between 24 and 3 824; large ones are rounded onto a power-of-two grid and then trimmed so the result divides evenly into code blocks.

The rounding looks like sloppiness and is the opposite. A retransmission need not use the same resources as the original — fewer blocks may be free, or a different MCS may be chosen — but it carries the same transport block, and combining the two only works if both ends agree on its length. A coarse ladder means a modest change in allocation lands on the same rung, and the two transmissions agree without any signalling that says so.

Figure 4: Transport block size against the size of the allocation, computed with TS 38.214 clause 5.1.3.2 for twelve allocated symbols, one DM-RS symbol and no configured overhead. The vertical axis is logarithmic, so the constant vertical distance between the lines is a constant ratio: the same allocation of 273 resource blocks carries 8 448 bits at the bottom rung and 1 080 480 at the top - a factor of 128 - and the difference is entirely the modulation, the code rate and the number of layers. Nothing about the resources changed. The steps visible at the left-hand end are the quantisation ladder of steps 3 and 4; by the right-hand end the rungs are close enough together to look continuous.

Read the vertical gap as the whole job of link adaptation. The scheduler's choice of MCS and rank is a choice among those four lines, and it is made from a CSI report that describes the channel as it was some milliseconds ago. Aim too high and the block fails; aim too low and most of the allocation is spent on redundancy nobody needed. The design target is a first-transmission failure rate of one in ten — a link that never failed would be running far below what the channel could carry.

What has to happen around it

A PDSCH is never alone. Four other things must happen around every single one, each on its own channel or signal, each with its own clause. Remove any one of them and the transmission cannot be received.

Figure 5: The cycle every transport block goes through. It is drawn cut open rather than as a ring. Everything before the PDSCH is a guess about the future - a channel report describes the channel as it was when it was measured, and the scheduler acts on it milliseconds later. Everything after it is an admission that the guess may have been wrong. The last box is the first box one round later, and it is a better guess than the last one only because the acknowledgement and the report in between told the scheduler what actually happened.

The acknowledgement is the part that makes the whole scheme workable. A device that fails to decode does not throw the attempt away: it keeps the soft information and combines it with the retransmission, which is sent from a different starting point in the same circular buffer, so the second attempt adds parity the first did not carry. Sixteen such conversations can be in flight at once, identified by a HARQ process number in the DCI.

And the deadline is real. TS 38.214 clause 5.3 gives the device a fixed budget, $N_1$, between the last symbol of the PDSCH and the first symbol of the acknowledgement. Past 120 kHz subcarrier spacing that budget is longer than a slot, so the acknowledgement can no longer be sent in the following slot at all — the numerology outran the silicon, and the standard admits it in a table.

What it is not

PDSCH is not a substitute for another channel. It is what LTE's downlink channels collapsed into. PCFICH, PHICH, PMCH and the always-on cell-specific reference signals were all deleted from NR; the jobs that survived the deletion moved onto PDSCH or into the DCI.

Not PDSCHWhat it is insteadHow its position is known
PDCCHThe scheduling message that points at a PDSCH — control, never user dataConfigured search spaces inside a CORESET; the device blind-decodes candidates
PBCHThe master information block, inside the SS/PBCH blockFixed by the standard — it must be findable knowing nothing
PUSCHThe uplink mirror: same chain, opposite direction, one extra waveform optionGranted by a DCI, in the uplink
DL-SCHNot a channel on the air at all — the transport channel PDSCH realises— it has no position; it is a contract, not a picture
Table 3: Four channels that are routinely confused with PDSCH, and the single distinguishing question for each. The last column is the one to remember: three of these four exist because a device cannot be told where to look before it has been told where to look, and PDSCH is the only one whose position is decided freshly every slot.

The DL-SCH row is the one that trips people. DL-SCH and PDSCH are two names for two different levels of the same thing: DL-SCH is what is being carried and under what terms — a transport block, of a stated size, with HARQ, with a stated error target — and PDSCH is the resource elements that carry it this time. The transport channel is the contract; the physical channel is the mechanism.

Read on

The full treatment is nr-pdsch — a note of its own, in six parts, from the packet to the deadline. This page is the definition and the map reference; that note is where the subject is developed and where every claim here is derived.

To go deeper on…Read
The three downlink channels, and what "shared" costsThe channel that carries everything
The fall through SDAP, PDCP, RLC and MACComing from where
What LTE had that NR deleted, and the PUSCH mirrorA substitute for what
The two CRCs, the two base graphs, the segmentation ruleThe coding chain, step by step
The circular buffer, and what a retransmission really sendsThe circular buffer
Scrambling, the five constellations, layers and portsFrom codeword to resource element
DM-RS positions, and everything else carved out of the allocationWhat rides alongside
The DCI fields: time domain, frequency domain, and blind decodingThe DCI that schedules it
The transport block size in four steps, with a worked exampleHow big is it?
CQI, the MCS tables, and why the mapping between them is not standardisedWhat the scheduler is aiming at
The peak rate formula, and what the constant 0.14 hidesHow fast can it go
Sixteen HARQ processes, the $N_1$ budget, the round trip drawn to scaleHARQ, and the deadline
Table 4: Where each section of this page is taken apart properly. The right-hand column is the section of nr-pdsch.md that owns the subject.

Sideways, to the concepts this page leaned on: transport channel · logical channel · transport block · resource block · transport block size · DM-RS · DCI · PDCCH · LDPC · rate matching · modulation · layer · HARQ · RNTI · link adaptation

Widget not found: sim_status

Before this concept, the hierarchy says to learn the following — the full chain, in order:

To understand PDSCH (level 12) you first need 30 other concepts. Read them in this order — everything on one line can be read in any order, but no line before the one above it:
Immediately before PDSCH: Transport channel, Resource block, Transport block size, DM-RS, DCI.
Keep going — where this sits on the route
The route is every concept in the folder ordered by level, so nothing here needs anything after it. Computed at page load from terms.json; the same numbering as the route page.
5G Systems Notes · Concept map · PDSCH Top · Concept map · Hub