Common OFDM system contains redundancy necessary to mitigate interblock interference and allows computationally effective single-tap frequency domain equalization in receiver. Assuming the system implements an outer error correcting code and channel state information is available in the receiver, we show that it is possible to understand the cyclic prefix insertion as a weak inner ECC encoding and exploit the introduced redundancy to slightly improve error performance of such a system. In this paper, an easy way to implement modification to an existing SDR OFDM receiver is presented. This modification enables the utilization of prefix redundancy, while preserving full compatibility with existing OFDM-based communication standards.
1. Introduction
Thanks to their flexibility, SDR platforms enable relatively easy
modifications to the communication system subblocks, which could bring advantages
or gains to existing system. It is even possible sometimes to exploit already
standardized protocols
in an unexpected new way. In this paper, this future will be illustrated on an
example of the standard OFDM transmission technique.
In current standards, for example, IEEE
802.16e, the OFDM system uses a cyclic prefix (CP) to mitigate the effects of
channel impairment. For each transmitted OFDM symbol, the length of the prefix
is a fraction of useful symbol length. The main purpose of using cyclic prefix
is protection against intersymbol interference (ISI), or more precisely interblock
interference (IBI), in connection with simple equalization in frequency domain.
Most of current receivers throw the cyclic prefix away or use it only for
channel estimation. In this paper, we present a method for exploiting the
redundancy introduced by the cyclic prefix, by means of decoding two serially
concatenated codes. To be more precise, we understand the prefix insertion as
an inner repetition coding, where only a part of the samples is repeated. With
code rate R=8/9 (assuming the repetition of one eighth of the samples as in
[1]), this code is very weak, but in cooperation with a powerful outer code (which
is always present in a practical system), it could bring an error performance
gain. Of course the received copy of the prefix data is corrupted by IBI and
has to be processed first.
In the next section, we give a short
description of current OFDM systems along with a brief overview of recent
methods for exploiting of cyclic prefix. The third section refreshes the
principle of concatenated coding and depicts the possible OFDM error
performance improvement using a simulation with real-life settings. The fourth
section is devoted to description of the received prefix processing, which is
necessary for successful extraction of repetition data. The last section
describes the whole modified OFDM receiver and then presents simulation results
showing the actual error performance improvement in a multipath environment.
2. Current OFDM Systems and
Modifications2.1. OFDM System Overview
Figure 1 shows a simplified standard
OFDM system model (defined in [2]). Each of the depicted functional blocks is
implemented in software, using a high-level programming language such as ANSI C
[3], as a separate function or module, possibly taking advantage of underlying
platform specific hardware acceleration. Since this paper primarily focuses on
software processing of floating or fixed point vectors, the analog and hybrid
blocks, such as amplifiers and A/D converters, are intentionally omitted in Figure
1.
Standard
OFDM system model: ECC, outer error correcting code encoder; CM, constellation mapping; (I) DFT, (inverse) discrete Fourier transform; h, channel impulse response; CPR, cyclic prefix removal; FDE, frequency domain equalizer; APP, outer code posterior probability decoder.
OFDM
processing begins with blocks of ECC encoded binary data that are first
digitally modulated in frequency domain (CM Block), then transformed to time domain by IDFT. A
cyclic prefix is attached in the CPI block. The OFDM symbol (or time domain block) consisting of many (1024 and more) samples travels through multipath
environment, which can be modeled by a convolution with channel impulse
response h. The prolonging of the block caused by the channel
convolution is source of ISI and IBI. Furthermore, AWGN noise is superimposed
onto the signal. The receiver first selects a major subset of samples of
the received OFDM symbol in the CPR block; the rest of the block samples is
discarded because it is corrupted by IBI. The selected part of the samples is
then transformed to frequency domain, where it can be easily equalized by an
efficient single-tap FDE equalizer. Easy equalization is a consequence of the
cyclic prefix insertion and removal. Equalization in time domain would require
a much more complicated computation of channel convolution inversion. The
quality of the equalization process, however, depends on the precision of the
CSI estimate. The output of equalization is a noisy estimate of original signal
space mapped data block. After symbol detection, this block is finally
transformed to a block of log- likelihood ratio (LLR) values for further soft-input
error correcting decoding.
2.2. Advanced Cyclic Prefix Usage
The channel estimation and symbol
detection blocks are omitted from Figure 1 as this paper focuses on the decoding
of the code cascade. However, several conceptually different approaches for
increasing throughput and/or exploiting the cyclic prefix of a coded OFDM
system already exist.
The first one is reducing of the CP size to less than the
channel delay spread and overcoming the resulting IBI by modifying the
iterative ECC decoder to work over two consecutive OFDM symbols so that it is
able to fix errors resulting from IBI that occurs in case of insufficient CP
size [4].
A different approach is exploiting of
the CP (of size greater than the channel delay spread) to improve the channel
estimation [5–8] or symbol detection [9]. However, the methods
described in [6, 8] practically apply only to xDSL environment and are
not suitable for variable channel conditions in a wireless transmission, while
the redundant CP samples in [9] are used only for reducing the noise variance
for the replicated samples using a time domain max ratio combining (MRC)
algorithm in single carrier system—not OFDM.
The residual intersymbol interference
cancellation (RISIC) is presented in [5]. The principle is to cancel the
residual IBI resulting from an insufficient CP by iterating channel estimation,
cyclicity restoration, and soft output decoding. The algorithm is defined
purely for a setting where a space-time EC code is present in a MIMO-OFDM
system.
A more general method of turbo frequency
domain equalization (turbo FDE) is presented in [7]. Here a soft elementary signal estimation (ESE) block
works together with a soft-input soft-output (SISO) ECC decoder in an iterative
manner so that the estimates of channel symbols are iteratively improved by the
results of the decoder. This method uses the CP insertion and removal only to
ensure the circulant property of the channel matrix. The iterative application
of a complex APP decoding algorithm results in a great increase in
computational complexity.
Finally, the third concept is based on
the observation that cyclic prefix size defined in communication standard is designed for the worst-case scenario therefore in case that the channel
delay spread is shorter than the prefix duration, the prefix information can be
used for CE without extensive postprocessing
[10]; the drawback is limited usage of this method together with modern
standards, such as IEEE 802.16e where the size of the prefix varies according
to the channel propagation conditions.
3.
Concatenation of Codes3.1. OFDM Is a Concatenated Code
The principle of serial concatenation of
codes is well known. As shown in Figure 2, the transmitter simply feeds the
output of one encoder to the input of the other through a pseudorandom or
rectangular interleaver.
Serial
concatenated encoding.
The situation in the receiver is more
complicated; usually two SISO decoders cooperate in an iterative manner, exchanging
extrinsic information as described in [11]. After a number of iterations, final
hard decision is made. This decoding scheme is well known and is also used in
turbo code decoding application.
In today’s systems, OFDM is always used
along with a powerful error correcting code such as turbo or LDPC code as shown
in Figure 1. If we understand the cyclic prefix insertion as an inner coder and
the IDFT as an interleaver, then the coded OFDM transmitter is a serially
concatenated encoder system, and the decoder can be redesigned to iterative
form. Because the inner code
is very weak (partial repetition) and the
decoding of the outer coder is computationally intensive (It is an iterative
process itself.) a simplified noniterative soft-output scheme is suggested.
In Figure 4, only the forward branch of
the decoder in Figure 3 is performed, so the weak inner repetition code with
very simple decoding is used only to improve the log-likelihood values of
samples from the channel, entering the powerful outer code decoder. The first
logical step in the analysis of concatenated OFDM decoding is to omit the
negative effect of IBI, ISI, and time frequency domain switches. This
simplification leads to a very simple model, with transmitter and receiver
shown in Figures 2 and 4. As mentioned before, the SISO decoding of the repetition code
is very simple. The extrinsic information for any bit is just the copied
channel LLR of its repetition [12]. Therefore, if a second copy of part of the
bits is available, the first stage (the decoding of the partial repetition
code) is done by a simple addition of LLR values. After deinterleaving, these
fortified LLRs enter the unmodified outer code decoder.
Iterative
decoding of serially concatenated codes.
Modified OFDM decoder principle.
3.2. Empiric Error Performance Upper Bound
Before actual prefix redundancy
extraction efforts, simplified simulation experiments were done, primarily with
the goal to give us a proof of concept. The first round of simulations used a
simplified OFDM system model. In the simulations, we used the inner partial
repetition code of rate R=8/9 which corresponds to one of the WiMax defined
cyclic prefix sizes for OFDM [1] and convolutional turbo code of rate R=1/3 such
as defined in UMTS standards [13]. We also used a pseudorandom interleaver used
in UMTS instead of IDFT. The simulation results are shown in Figure 5. Three
curves depict the BER after the 1st, 3rd, and 7th iteration. It is clear that the system with
repetition decoder placed in front of the turbo decoder achieves the same
reliability at approximately 0.25 dB lower Eb/N0 than the turbo system alone.
BER after
1st, 3rd, and 7th decoder iterations for UMTS turbo code with (×-marker) and without (∘-marker) using the
prefix redundancy.
Prolonging
of blocks in multipath channel results in interblock interference; currently
the redundant CP samples are all discarded.
The resulting 0.25 dB improvement can be
interpreted as a rough estimate or an upper bound to the actual improvement
that can be achieved in real systems. The significant difference between the
simplified model and the real system is corruption of the second copy of data
used in repetition decoder. This corruption is caused by IBI and cannot be
fully remedied. Two differently successful solutions addressing this problem
are described in the following sections.
4.
Cyclic Prefix in OFDM
The following section consists of three
parts. First, the principle of prefix insertion (CPI) and removal (CPR) for the
purpose of simple frequency domain equalization in context of OFDM
multipath-environment transmission is reviewed. Second, a more formal matrix-based
description of channel and CPI/CPR processes is presented. Finally, the
process of extraction of redundant information from cyclic prefix (CP) is
described, based on the formal matrix representation.
4.1. Frequency Domain Equalization
The propagation of a signal through a
multipath channel with ISI is usually described by convolution with the channel
impulse response h (in this paper a discrete-time version is
assumed). In a block-oriented system, such as OFDM, the discrete-time
convolution can be written in matrix form r=H×t, where t is a vector of
time samples, produced by the transmitter, H is a convolution matrix
consisting of channel impulse response
values (an example H is shown in Figure 7), and r is
channel output/received sequence. The process of convolution of transmitted
data block with channel impulse response prolongs the block from transmitted N
samples to received N+v−1 samples, where vis the length of h(n).
If there is no guard interval between two consecutively transmitted blocks, or
if the guard interval is shorter than v−1, IBI occurs on the boundaries of the blocks.
Structure of
channel convolution matrix H for h(n)={1,0.9,0.4} and block size of 8 samples. The received block is prolonged to 10
samples. For purpose of this paper, the matrix can be divided as indicated into
16 submatrices; H11 in the upper left corner to H44 in the bottom right corner. The division to submatrices is dictated by the CP
size, here assuming 2, making the payload vector size 6.
One possible way of coping with IBI is
to send an all-zero
guard prefix. Another way, used in OFDM, is to use a cyclic prefix—part of the
samples from the end of the transmitted block is copied and prepended before
the beginning of the block. In the receiver, only the appropriate subblock of
the received sequence is selected, redundant samples of the prefix are
discarded. The motivation for CP insertion and removal is that these operations
allow us to understand the channel convolution matrix as a circulant matrix. More
precisely a submatrix Hc can be found in H, so that if the
transmitted vector t with redundant CP is multiplied by Hc,
the resulting received vector rD is the same as if the
transmitted vector t with no CP inserted was multiplied by a circulant matrix Hcirc (see
Figure 8). For a circulant matrix Hcirc, the following equation Dh=F×Hcirc×F−1 means that such a
matrix, when multiplied by the Fourier transform matrices (which represent the IDFT
in transmitter and DFT in receiver), results in a diagonal matrix with nonzero
elements only on the main diagonal [14]. The diagonal elements are also equal to
the channel frequency response samples. Therefore, the equalization is simply
performed by scalar multiplication of each element of the received block with a
reciprocal value of channel frequency response (assumed to be known).
Theoretical background for
equalization: selecting the correct submatrix Hc of channel convolution matrix H.
The circulant property is a result of cyclic prefix insertion in transmitter
and proper subblock selection in the receiver. Vector t is
transmitter output and r receiver input. The bold framing
indicates subblock selection. The gray area represents nonzero entries.
4.2. Channel Convolution Matrix Circularization
The goal of prefix extraction is to
process the currently discarded received CP subblock to obtain a second copy of
the data bits, more specifically a second set of channel LLR values for the
data bits, in order to use these values in a repetition decoder and in that way
fortify the
successive error correcting soft-input decoder.
To completely understand the process, a
more formal description of transmission based on (1) is needed. The transmitted
vector t containing the cyclic prefix can be divided into three subblocks t={tCP2∥tNP∥tCP},
where tCP2 is the cyclic prefix with value equal to tCP (repeated samples from the end of the block), and tNP is the
data part that is not repeated (“∥” denotes vector concatenation operator).
The payload is the vector tD={tNP∥tCP} while the first tCP2 vector is redundant. The received vector can also be divided to subblocks r={rCP∥rD∥rT},
where the rCP part is discarded by design because it is corrupted by IBI—for block number
n, its samples sum up with the rT samples of block n−1. Also, rT is the tail subblock—the result of the
convolutional prolonging of block in the channel. For the block number n, it
corrupts the samples at the beginning of the block n+1. The useful data is the rD part, and in a standard OFDM receiver implementation it is
the only subvector further processed. As shown in Figure 8, (1) can be
expressed in terms of sub vectors of r and t; these
subvectors define a partitioning of the convolution matrix H dividing it
to 3 submatrices HR1, Hc, and HR2,
which can be further partitioned to smaller matrices (mainly for the purpose of
finding small, nonzero, and possibly square matrices). (In Figure 8 a partitioning
dividing the H matrix to 3×3 submatrices is shown. However, the lowest
rightmost matrix is labeled H44. This is intentional
and enables compatibility of the labeling with a slightly different
partitioning necessary for the prefix extraction defined below. (1) is reformulated
as follows: rCP=HR1×t=H11×tCP2=H11×tCP,rD=Hc×t=Hcirc×tD,rT=HR2×t=H44×tCP.
4.3. Prefix Extraction
Conforming to Figure 8, the interesting
information the receiver needs to extract is the redundant information in the
transmitted cyclic prefix tCP2 contained in the received
vector rCP. So far the redundant information in the received
vector rCP is discarded because what receiver actually
observes is not the vector rCP but a combination of samples
of two consecutive OFDM symbols (indexed by n):
However, if matrices H11 and H44 are known, which is assumed true, it is possible to
extract the information required using an additive correction and matrix inversion: rcor1(n−1)=H44(n−1)×tCP(n−1),tCP2(n)=(H11−1)×(rO−rcor1(n−1)).
However, tCP(n−1) is a reconstruction of transmitter output
samples for the block n−1. It is based on the decoded bits from previous OFDM
symbol.
The reconstruction of the transmitter
output in receiver is straightforward (as shown in Figure 10). The decoded bits
are encoded again, mapped to signal space constellation samples, and
transformed to time domain. As most of the iterative decoding algorithms can
produce the codeword, along with the decoded bits, the encoding process can be
omitted. All other operations necessary for reconstruction are not computationally
intensive.
The first obstacle here is the fact that
the time domain samples tCP2 are not very useful for
repetition decoding. LLR values have to be created for bits contained in these
samples and this computation must be done in frequency domain (similar to
standard OFDM operation, see Figure 1). Only such values can be used in
repetition decoding
This can be done by concatenation tD′′={tNP∥tCP2}, creating a 2nd copy of time block tD,
and transformation to frequency domain again. The redundant information
contained in a subset of samples tCP2 in the time domain will
be smeared to all samples in frequency domain. Therefore, the repetition
decoder will affect all the bits.
A serious drawback of
this procedure is the fact that the inversion of channel response submatrix H11 is a numerically unstable operation and in the presence of noise can lead to
noise amplification rendering the practical limited-precision implementation
unreliable. This effect can be reduced by an optimized organization of
computations, but there is also another method.
The basic idea is not to compute any inversion, but instead use
the properties of the channel convolution matrix. We assume that an additive correction,
that uses an estimate of previous transmitted block (5), is already applied (the
vector rcor1 is subtracted). This correction removes IBI and must be done in time domain.
As the standard branch of processing depends on the circulant property
which is a consequence of cyclic prefix insertion in transmitter and
appropriate subblock selection in receiver, in case of the 2nd copy extraction,
the circulant property will be provided by a correction done in the receiver.
The result will be a second copy of frequency domain samples that originates
from the otherwise ignored prefix samples.
In Figure 9, the actual
situation is shown on the left, rD′ is now the important subvector
of the received sequence and is related with the interesting block tD′ by a simple equation rD′=HL×tD′, (rC2 is considered part of rD′). Vector tD′={tCP2∥tNP} is a cyclically shifted version
of vector tD={tNP∥tCP}. Matrix HL is not circulant, but
if a second additive correction is applied to the received vector rD′ (more specifically to rC2), then the resulting vector is
related to the transmitted vector tD′ through multiplication
with a circulant matrix Hcirc, and therefore can be
effectively equalized by a single-tap frequency domain equalizer, just as the rD block in a standard OFDM system. The second additive correction uses the matrix H32 shown in Figure 9 on the right: rcor2(n)=H32(n)×tNP(n). If the correction rcor2 is applied to rC2, then the vector rD′ is
equalized in the same way and with the same equalizer values as rD.
The
circulant matrix Hcirc is a result of channel convolution and additive correction. Caution: rC2 is part of rD′.
Modified OFDM receiver.
Standard (∘-marker) and modified (×-marker)
receiver error performance after 8 decoder iterations.
As apparent in Figure 9, matrix H32 can be further divided vertically into two submatrices, one of them zero. This division enables
reduction of complexity when only a small part of samples of tNP needs to be estimated. An example of final H matrix partitioning
covering both partitionings in Figures 8 and 9 is shown in Figure 7.
5.
Modified OFDM Receiver5.1. Receiver Design
In Figure 10, the modified OFDM receiver
is shown. It consists basically of a standard receiver, fortified with a second
copy extraction and simple repetition decoder. An estimate of a subset of
samples of transmitter output is computed based on the decoded output of the
standard branch. Because a potent ECC is assumed to be present in the system,
the reconstruction of transmitter output will be a “good estimate” of the
actual values. After the additive corrections rcor1 and rcor2 are applied, the resulting time-domain samples (subset of them containing new
information) are transformed to frequency domain where they can be easily
equalized in the same way as shown earlier. Because the 2nd copy of the
received block is rotated in time domain by the size of the prefix, another
single-tap phase correction must be applied in frequency domain (the “spectral
shift” block). This correction is multiplicative and depends only on the size
of the shift which is constant for a specific prefix size. A second set of
channel LLR values is computed and added to the LLR values from the standard
processing branch. This improved sequence then enters the ECC decoder.
As indicated earlier, all
of the functional blocks are implemented in software. The key property
of the modified branch is that it is built using exactly the same components as the standard
processing branch with one exception—the spectral
shift block that is implemented as a simple scalar complex multiplication. The
development and inclusion of the modification is very straightforward in an SDR
receiver. Furthermore, the additional processing can be turned off and on
adaptively, depending on the transmission quality requirements and available
processing time.
5.2. Simulation Results
We simulated a coded OFDM system with an
outer RSC turbo code of rate R=1/3 defined in [13], with cyclic prefix size equal to 1/8 of the
data block size (as defined in [1]) over a multipath channel with AWGN noise.
Each data block of size 1024 bits was after turbo coding mapped to three OFDM
symbols of 1024 complex samples. The values of channel impulse response samples
were distributed according to [15].
The error performance of the new system
is only slightly better (approx. 0.1 dB) than the basic system. The improvement
is most visible in the error floor area (below BER10−6) of the
suboptimal log-domain iterative decoder of the outer code.
6.
Conclusion
We have shown that it is possible to
exploit the redundancy in a cyclic prefix of OFDM. The modified receiver is
fully backward compatible with any existing OFDM-based protocol. The computational
complexity is approximately double compared to the standard OFDM receiver.
Simulations for specified parameters have shown that a relatively small
improvement of 0.1 dB in bit error rate could be achieved thanks to exploitation
of the prefix
redundancy. Because the modification reuses most of the functional blocks already
present in the system, it can be implemented very rapidly in an SDR system
using a high-level programming
language.
Acknowledgment
This work was supported by Scientific
Grant Agency of Ministry of Education of Slovak Republic
and Slovak Academy of Sciences under contract VEGA 1/0376/09, 2009–2012.
Mobile WiMax—Part I: A technical Overview and Performance EvaluationWiMax Forum, August 2006KellerT.HanzoL.Adaptive multicarrier modulation: a convenient framework fortime-frequency processing in wireless communications200088561164010.1109/5.849157GlossnerJ.MoudgillM.IancuD.The SandBridge Sandblaster convergence platformhttp://www.sandbridgetech.com/pdf/sandbridge_white_paper_2005.pdfFletcherP. N.paul.fletcher@bristol.ac.ukIterative decoding for reducing cyclic prefix requirement in OFDM modulation200339653954110.1049/el:20030375WonH.-C.ImG.-H.igh@postech.ac.krIterative cyclic prefix reconstruction and channel estimation for a STBC OFDM system20059430730910.1109/LCOMM.2005.04007WangX.Ray LiuK. J.Adaptive channel estimation using cyclic prefix in multicarrier modulation system199931029129310.1109/4234.798021YuanX.xjyuan@cityu.edu.hkGuoQ.50007550@student.cityu.edu.hkWangX.wangx@ee.columbia.eduPingL.eeliping@cityu.edu.hkEvolution analysis of low-cost iterative equalization in coded linear systems with cyclic prefixes200826230131010.1109/JSAC.2008.080207WangX.Ray LiuK. J.Performance analysis for adaptive channel estimation exploiting cyclic prefix in multicarrier modulation systems20035119410510.1109/TCOMM.2002.807610DevillersB.LouveauxJ.VandendorpeL.Exploiting cyclic prefix for performance improvement in single carrier systemsProceedings of the 7th IEEE Workshop on Signal Processing Advances in Wireless Communications (SPAWC '06)July 2006Cannes, France1510.1109/SPAWC.2006.346409TarighatA.tarighat@ee.ucla.eduSayedA. H.sayed@ee.ucla.eduAn optimum OFDM receiver exploiting cyclic prefix for improved data estimation4Proceedings of IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP '03)April 2003Hong Kong217220HagenauerJ.OfferE.PapkeL.Iterative decoding of binary block and convolutional codes199642242944510.1109/18.485714MoonT. K.2005Hoboken, NJ, USAJohn Wiley & Sons10.1002/0471739219ValentiM. C.mvalenti@wvu.eduSunJ.The UMTS turbo code and an efficient decoder implementation suitable for software-defined radios20018420321510.1023/A:1017925603986GrayR.1971Stanford, Calif, USAStanford UniversityDebbahM.Short introduction to OFDMwww.supelec.fr/d2ri/flexibleradio/cours/ofdmtutorial.pdf