What "channel estimation" actually means
Radio waves bounce, fade and rotate. By the time your signal reaches the gNB, every subcarrier has been multiplied by a different complex number H(f) — some attenuated, some phase-shifted. The receiver can't undo that unless it knows H. So the UE inserts known symbols (DM-RS) at fixed places; the gNB compares received vs known to measure H at those points, then interpolates across the gaps. Add pilots and watch the estimate track the true channel.
Equalisation: undoing the channel
Once the gNB knows H on a subcarrier, recovering the data is one division: d̂ = y / H. Without the DM-RS estimate the constellation is a smeared, rotated mess; with it, the points snap back onto the grid. Toggle the estimate.
Type 1 comb vs Type 2 pairs
Type 1 is a comb-2 (every other subcarrier) → 2 CDM groups, up to 4 ports single-symbol. Type 2 uses adjacent subcarrier pairs → 3 CDM groups, up to 6 ports. Double-symbol doubles both. Colours are CDM groups within one RB.
How two ports share the same REs
Here's the trick that makes MIMO pilots affordable. Two antenna ports transmit on the identical resource elements — but one uses the cover code [+1, +1] and the other [+1, −1] across a subcarrier pair. To separate them the receiver just correlates: multiply-and-add with one code recovers that port while the other cancels to zero. Watch it happen.
Single vs double symbol & TD-OCC
Run the same idea across time. A second DM-RS symbol lets a ±1 cover code span the two symbols (TD-OCC), doubling the orthogonal-port budget — Type 1 goes 4 → 8 ports, Type 2 goes 6 → 12. The price is a second symbol of pilot overhead.
Each port = CDM group + FD-OCC + TD-OCC
Every DM-RS antenna port is a unique recipe: which subcarriers (CDM group), which frequency code (FD-OCC), and — for double symbol — which time code (TD-OCC). Pick a port to light up exactly its REs and codes.
Front-loaded + additional positions
DM-RS is front-loaded so the gNB can start estimating before the whole slot arrives. But a single early estimate goes stale if the channel changes fast (high Doppler) — so extra positions are added deeper into the slot. More positions = better tracking, more overhead.
Gold vs low-PAPR
With CP-OFDM, DM-RS uses a QPSK pseudo-random Gold sequence (scrambled by nSCID + IDs). With DFT-s-OFDM, it switches to a low-PAPR Zadoff-Chu sequence to keep the single-carrier property the whole point of transform precoding.
A full DM-RS configuration
Let's read one real config end to end and count every resource element it costs.