Proceedings of ICCT2013
Implementation of IEEE 802.11n LDPC Codes Based on
General Purpose Processors
Xiao Han, Kai Niu, Zhiqiang He
Key Lab of Universal Wireless Communications, Ministry of Education,
Beijing University of Posts and Telecommunications, Beijing 100876, China
15810537980@139.com
Abstract: Recently, General-purpose processor (GPP)
soft defined radio (SDR) platforms have drawn great
attention for their programmability and flexibility, and
some high-speed wireless protocol stacks (e.g., IEEE
802.11a/b/g) have been implemented on them using
commodity general-purpose PCs. Low-density
parity-check (LDPC) codes are optionally used in IEEE
802.11n high throughput (HT) system as a
high-performance error correcting code instead of
convolutional codes for the near Shannon limit
performance. In order to complete the implementation of
IEEE 802.11n on SDR platforms, this paper presents the
encoding and decoding of IEEE 802.11n LDPC codes
on GPPs. We extensively use the features of
contemporary processor architectures to accelerate data
processing, including large low-latency caches to store
lookup tables and SIMD processing on GPPs. Layered
decoding is used in this paper, which can significantly
reduce the number of iterations and is well suited to
using SIMD instructions. The implementation results
show that the throughput can meet the protocol timing
requirement under the performance premise.
Keywords: Low-density parity-check (LDPC) codes;
layered decoding; General-purpose processor (GPP);
IEEE 802.11n
1 Introduction
The increasing demand of high data-rate and reliability
in modern wireless communication systems requires
high-performance error-correction schemes.
Low-density parity-check (LDPC) codes [1] are among
the best candidates to meet these requirements for
next-generation wireless communication standards. In
particular, quasi-cyclic (QC) LDPC codes [2] enjoy high
decoding throughput at relatively low implementation
complexity, and has been considered in different
wireless standards, such as IEEE 802.16e [3] and IEEE
802.11n [4].
Owing to the special structure of the IEEE 802.11n
LDPC parity check matrices, the encoder can be
performed very efficiently. As this paper shows, the
encoder of IEEE 802.11n LDPC can be simplified into
matrix multiplier and adder. The decoder of LDPC in
this paper is based on the concept of turbo decoding
message passing (TDMP), which is also called layered
decoding [5]. Compared to standard two-phase message
passing (TPMP), TDMP offers 2x throughput as the
number of iterations decreases by 50%. TDMP
architecture also saves the memory needed to store the
variable node messages and the channel log-likelihood
ratios (LLR).
Software defined radio (SDR) holds the promise of fully
programmable wireless communication systems,
effectively supplanting current technologies which have
the lowest communication layers implemented primarily
in fixed, custom hardware circuits [6]. Moreover, SDR
platforms are based on general-purpose processor (GPP)
architectures, such as commodity PCs. Developers
program to familiar architecture and environment using
sophisticated programming and debugging tools.
In this paper, we implement the encoding and decoding
of IEEE 802.11n LDPC on GPPs. The features of
contemporary processor architectures are extensively
exploited to accelerate data processing. First, we use
lookup tables (LUTs) widely, trading off computation
for memory. These LUTs substantially reduce the
computational requirements, while at the same time
taking advantage of the large, low-latency caches on
modern GPPs. Second, in order to further accelerate data
processing with data-level parallelism, we heavily use
the Single Instruction Multiple Data (SIMD) extensions
in modern GPPs, which can extremely speed up the data
processing. It should be noted that since the number of
nonnegative elements is not invariable for different rows
of a prototype matrix, GPPs enjoy the advantage of
flexibility over hardware platforms in the
implementation of decoder.
The rest of the paper is organized as follows. Section II
introduces the structure of QC-LDPC in IEEE 802.11n
briefly. Section III presents the implementation of IEEE
802.11n LDPC encoder based on GPPs. Then, the
implementation of decoder is described specifically in
Section IV. Section V gives the implementation results.
Finally, we conclude the paper in section VI.
2 LDPC Codes for IEEE 802.11n
An
,NK
LDPC code is specified by the parity-check
matrix
H
whose size is
MN
. Since the LDPC
codes for IEEE 802.11n are based on block-structured
QC-LDPC codes, the parity-check matrix can be
partitioned into square submatrices of size
ZZ
, where
____________________________________
978-1-4799-0077-0/13/$31.00 ©2013 IEEE