How Wireless Communication Systems work…
- Mobile devices of all shapes and sizes may communicate with each other, with fixed infrastructure and with satellites
- Wireless communications is susceptible to noise, interference, poor signal strength, jamming etc
- Owing to these effects, the bits in the received message may differ to the bits in the transmitted message
- Before transmitting a message, transmitters will typically use a channel encoder to protect the communication from these transmission errors
- There are three main channel coding standards...Turbo (used in 3GPP rel 99 to rel14), LDPC (mainly used in wi-fi and 5G NR data channel) and Polar, the newest standard, also to be used in 5G NR for the control channel
A large challenge of wireless communications is that received signals are typically different to transmitted signals due to interference, poor signal or other noise . In order to address this, we use channel coding. The end result of channel coding is to ensure that the receiver identifies the original bits / message of the transmitted signal.
Our video below explains in more detail how this works.
The wireless channel between the transmitter and receiver can be characterised by a signal to noise ratio (SNR). This SNR also allows us to characterise the performance of channel coding. A high SNR will have fewer errors in the transmission, compared to a lower signal to noise ratio. A transmission with more errors will have a higher block error rate (BLER), which means that the decoder will have to perform more iterations to try and decode the original message.
We have produced data briefs that characterise the performance of the decoder in terms of block error rate (BLER) across a wide variety of different scenarios. These can be found within our resources section.
Our video below demonstrates how we plot the BLER performance and details how we can measure the effectiveness of channel coding.
Using the hosepipe analogy from the above video
- The receiver uses a Decoder to correct any erroneous bits in the received message
- The encoder and decoder must support the same channel coding standard and be designed to avoid imposing a bottleneck on…
- The system throughput (the diameter of the data pipe)
- The end-to-end latency (the length of the data pipe)
There are three major types of channel coding, as described with their relative benefits and challenges in the table below:
|Turbo code||LDPC code||Polar code|
|Maturity||Proven in 3G & 4G, will be used in 3GPP rel 14 & NB-IoT||Proven in IEEE standards, selected for data channel in 5G NR||Selected for 5G NR control channel|
|Error correction capability||Similar||Similar||Similar|
|Flexibility||Very flexible frame length & coding rate||Achievable with the AccelerComm approach||Achievable with the AccelerComm approach|
|Computational complexity||Higher for most coding rates||Lower for most coding rates||Lower for most coding rates|
|Throughput latency||Proven by AccelerComm||Proven for fully-parallel||Proven by AccelerComm|
|Lower, particularly at low coding rates||Higher, particularly at low coding rates||Achievable with the AccelerComm approach|
|Synergy with 3G & 4G||Yes||No||No|
Turbo Code Design
A turbo code has two parts: the encoder used in the transmitter and the decoder used in the receiver. The design of the turbo encoder dictates the error correction capability of a compatible turbo decoder. However, rather than optimising the design to achieve the best error correction capability, the design of turbo encoders typically focusses on meeting the constraints that allow the conventional approach to turbo decoder design to support parallel processing. However, this approach does not achieve the high degrees of parallel processing that are required to meet the performance demands of next-generation wireless communication systems.
The AccelerComm turbo decoder takes a different approach to support parallel processing. Our approach can support arbitrarily high degrees of parallel processing, no matter how the turbo encoder is designed. In addition to meeting the multi-Gbps throughputs and sub-microsecond latencies that are demanded by next-generation wireless communication systems, this approach allows the turbo encoder to be designed to optimise error correction capability.
LDPC Code Design
The AccelerComm team has published dozens of papers and completed several PhDs on LDPC code design. They have gained unique insights and developed unparalleled solutions for overcoming the greatest challenge in the hardware acceleration of LDPC decoding: namely delivering the correct information to the correct processing elements at the correct time. This expertise is particularly timely, because 3GPP New Radio has adopted the most flexible and most capable LDPC code ever standardised. This flexibility allows New Radio to meet the requirements of the diverse 5G use cases, but makes the implementation of flexible LDPC decoders with high throughput, low latency and high hardware efficiency more challenging than ever. AccelerComm is uniquely positioned to address these challenges.
Polar Code Design
Compared with turbo and LDPC codes, polar codes are far less mature and a conventional approach to their implementation has not yet emerged. The encoder and decoder of a polar code have regular but intricate structures. During polar decoding, the information bits are decoded one at a time, with each successive bit informing the decoding of the next. However, the complexity associated with decoding each successive bit varies considerably, depending on its position in the block and the design of the corresponding polar encoder. This makes it difficult to implement flexible, high performance polar decoders.
Over the last seven years, AccelerComm has developed a sixth sense for the intricate structure of polar codes. By harnessing this intuition and expertise, AccelerComm is uniquely positioned to exploit the regularity of the polar code structure, in order to offer polar encoders and decoders with unmatched flexibility and performance.
AccelerComm has fully 3GPP compliant versions of polar encode and decode IP available for Software, ASIC & FPGA implementations.