Why do we use LDPC PHY encoder & polar encoder & coding block encoder?

Hi 5G/LTE Experts.

In brief and simple, I’m trying to understand PHY implementation in 5G.

Why do we use LDPC PHY encoder & polar encoder & coding block encoder?
Why all these three encoders in 5G?
What is the reasons for using three types and not only LDPC (lets say only polar encoder)?

Admin note: this post was updated with image below.

Ldpc is used for shared channel and polar is used for control channel

There are many reasons:

  1. One such important reason is that Polar codes are extremely complex, as compared to LDPC, in terms of decoding.
    For the case of control channels the control information to be transmitted is low and hence the number of possible control messages are low.
    This can help in reducing the decoding complexity.

  2. In Polar codes you need to first form the polarized channels considering the channel statistics and then decide which are the frozen bits.
    This needs almost perfect CSI to be know at the transmitter, which is a overhead, when compared with LDPC codes, which doesn’t need any CSI.

Now I fully understand, thanks!

Another point: there is splits like split 2 or split7 or split8 which means different distributions for protocol layers. Why do we need those splits?

In other words: why not having only split2?
Why we need to suggest split8 or split7?

Like trying to understand why we not have one split and that’s all. :wink:

Because of separation between CU and DU can be done at different layers, that’s why!

Thank you very much!

I’m talking about this splits as shown here:

So do you mean those splits because we have CU/DU separations opportunity in 5G?

What does it mean high PHY and low PHY?
Isn’t it we are talking about same PHY?

At PHY there are different stages: data from serial to parallel, from MIMO layers to antenna ports etc.

I understands, thanks so much!

About RFIC chip thats commonly used, what is common in use for 5G RU RFIC chip?

Xilinx does this:


Any idea why 5G don’t use Turbo code instead of LDPC code?

One reason is to increase throughput of the system or ldpc reduces the latency.

LDPC Codes offer lower complexity with similar performance especially at higher code rates.

I agree… But you know, in real deployment environment we don’t always use high code rate.

It’s true that the “RAN functional split” options are defined to have multiple options to separate L2 and L1 functionality between the CU, DU and RU. But this doesn’t really answer the question why.
The reason for having these options is, simply put, to enable more specialized use-cases. For example, having more processing blocks on the RU means that latency will decrease because the processing is done closer to the user. On the other hand, this makes the RU more complex, which in turn affects the power consumption, size, weight and cost of the unit.
If functionality in concentrated more on the other side (CU), it means more benefits in terms of centralizing, i.e. load balancing and resource sharing between different CUs, the other side of the coin being increased latency etc.
Having a single split just wouldn’t work for all use cases :wink:

I made a video to explain 5G-FEC phy issues.

It would take half hours to learn link-level reliability in a high-speed system.

Youtube: [6G] The development and current status of error-correcting code : Why 5G is falling ? - YouTube