# UMTS FEC

The input to UTMS L1 FEC encoder is the TrCH, as a series of transport blocks. UMTS FEC is the typical combination of block parity, trellis coding and interleaving, similar in principle to what we see in GSM/GPRS. This is defined in 3GPP TS 25.212, mostly in Section 4.

UMTS uses a simple CRC parity word of 0, 8, 16 or 24 bits, depending on PhCH type and configuration.

UMTS provides these trellis coders:

- rate-1/2, 9th-order convolutional coder
- rate-1/3, 9th-order convolutional coder
- rate-1/3, 4th-order turbo coder

There is a rate-matching stage inside the FEC that that punctures or repeats bits as needed, allowing for the synthesis of other effective rates. For example, a rate-1/3 turbo code with 30% puncturing is, in effect, a rate-1/2 code.

There are limitations on the input block size to the coders.

- For the convolutional coder, the limit is 504 bits.
- The largest block size that the rate-1/3 coder can generate is (504 + 8)*3 = 512*3 = 1536 channel bits. (The extra 8 bits are tail bits to terminate the trellis code.) The UMTS radio block is 38400 complex symbols, or 76800 chips. So the minimum spreading factor that can be used without puncturing is 64. SF=64 translates to 1200 channel bits or 1200/3 - 8 = 392 bits in the transport block. So at TTI 10 ms that's a maximum data rate of 39.2 kb/s, not including RLC overhead.
- The largest block size that the rate-1/2 coder can generate is (504 + 8)*2 = 512*2 = 1024 channel bits. (The extra 8 bits are tail bits to terminate the trellis code.) The UMTS radio block is 38400 complex symbols, or 76800 chips. So the minimum spreading factor that can be used without puncturing is 128. SF=128 translates to 600 channel bits or 600/2 - 8 = 292 bits in the transport block. So at TTI 10 ms that's a maximum data rate of 29.2 kb/s, not including RLC overhead.

- For the tubro coder, the limit is 5114 bits.
- The largest block size that the rate-1/3 coder can generate is (5114 + 3)*3 = 5117*3 = 15351 channel bits. (The extra 3 bits are tail bits to terminate the trellis code.) The UMTS radio block is 38400 complex symbols, or 76800 chips. So the minimum spreading factor that can be used without puncturing is 8. SF=8 translates to 9600 channel bits or 9600/3 - 3 = 3197 bits in the transport block. So at TTI 10 ms that's a maximum data rate of ~320 kb/s, not including RLC overhead.

But the UMTS spec allows a spreading factor of 4 and claims rates of up to 384 kb/s/chan. How? Puncturing. The rate-1/3 coder is punctured to give an effective rate that is closer to 1/2. This allows the FEC stage to consume up to 511 kb/s, which with overheads in the various layer interfaces yields a useful payload of 384 kb/s.