Professional Documents
Culture Documents
Volume 2
Motorola
Systems and Technologies (SAT)
1421 West Shure Drive
Arlington Heights, IL 60004
Abstract
The LTE receiver algorithm design is described in this document. The floating-point design of the receiver (from
baseband received sampled signal input to either the log-likelihood ratio output or post-decoder/detector output)
is developed. This is the second volume of the receiver design document and entails the following changes and
additional features: 1. Antenna failure detection, 2. PUSCH DTX detection, 3. Improvements to ATC and AFC
algorithms, 4. Channel estimation simplifications, 5. Interference rejection combining (IRC) algorithm, 6 SRS-
based transmit beamforming algorithm, 7. Doppler estimation algorithm. The other parts of the receiver chain
remain the same as the volume 1 document. The algorithms are designed to work for any number of receive
antennas, and some of the performance optimizations have been done with a view to simplify 8 receive
functionality. All the algorithms (with the possible exception of transmit beamforming, which is specific to TDD),
are equally applicable to both FDD-LTE and TD-LTE. The algorithms here are meant to map to features in LTE
Release 2/Package 2 and in some cases, to LTE Release 3.0. These are also applicable to the different Drops of
TD-LTE, including prototyping activities.
1
Table of Contents
2
4.2.2 ACK/NACK Symbol Estimation .............................................................. 52
4.2.3 Removal of AN Symbols .......................................................................... 53
4.3 Channel Estimation ........................................................................................... 53
4.3.1 Pilot Averaging within a Slot .................................................................... 54
4.3.2 Regression ................................................................................................. 54
4.4 Interference and Noise variance Estimation ..................................................... 55
4.5 MRC Combining across Antennas and Subcarriers.......................................... 56
4.6 Format 1/1A/B Detection .................................................................................. 57
4.6.1 Format 1 Detection ................................................................................... 57
4.6.2 Format 1A Detection................................................................................. 58
4.6.3 Format 1B Detection ................................................................................. 59
4.7 CQI/RI Decoding .............................................................................................. 60
4.7.1 FHT based Decoding ................................................................................ 60
5 SRS based Beam Forming ........................................................................................ 62
5.1 Sequence Removal ............................................................................................ 62
5.2 IDFT based Channel Estimation ....................................................................... 63
5.3 SRS based Beam Former .................................................................................. 64
5.3.1 Spatial covariance estimation ................................................................... 64
5.3.2 Eigenvector Estimation using Power Method........................................... 65
5.3.3 SRS based Phase Beam Former ................................................................ 65
6 LLR Calculation........................................................................................................ 65
6.1 QPSK ................................................................................................................ 66
6.2 QAM16 ............................................................................................................. 66
7 PRACH Receiver ...................................................................................................... 69
7.1 PRACH front-end processing for Format 0 and Format 1 ................................ 69
7.1.1 Gain adjustment in front-end processing .................................................. 69
7.1.2 Decimation ................................................................................................ 69
7.2 PRACH backend processing for formats 0, 1 ................................................... 70
7.2.1 Overview ................................................................................................... 70
7.2.2 Threshold Calculation ............................................................................... 71
7.2.3 Noise Variance Estimation ....................................................................... 77
7.2.4 Timing Offset Calculation ........................................................................ 77
8 Measurements: .......................................................................................................... 78
8.1 PUSCH: Post-MMSE Combined SINR Per-Subframe, Per-User .................... 78
8.2 LLR Erasure for UCI Multiplexed PUSCH ...................................................... 79
8.3 LLR Erasure for PUCCH .................................................................................. 79
8.4 Long Term SINR estimate on PUCCH Format 2/2A/2B ................................. 80
8.4.1 Average Other-Cell Interference and Noise Variance Estimation ............ 80
3
8.4.2 Averaged In-Cell plus Other-Cell Interference and Noise Variance
Estimation per User................................................................................................... 81
8.4.3 PUCCH based Long Term SINR Estimation............................................ 82
8.5 Doppler Estimation ........................................................................................... 82
8.5.1 Correlation of Channel Estimates ............................................................. 83
8.5.2 Average the Correlation ............................................................................ 83
8.5.3 IIR Filtering of Correlation Estimates ...................................................... 84
8.5.4 Threshold based Doppler Estimation ........................................................ 84
9 Conclusions ............................................................................................................... 85
4
Release History
Version Release Date Editor(s) DR Number Change History
5
References
[1] 3GPP, “Physical Channels and Modulation (Release 8),” 3GPP TS 36.212 v8.8.0
Dec. 2009.
[2] 3GPP, “Multiplexing and Channel Coding (Release 8),” 3GPP TS 36.211 v8.9.0,
Dec. 2009.
[3] N. Mangalvedhe and S. Nagaraj, “Uplink Control Channel Receiver Design and
Performance Analysis for
LTE,” http://compass.mot.com/doc/307645599/LTE_PUCCH_Receiver_v2p1.doc
[4] S. Nagaraj, “PUCCH LLR Scaling
Equations,” http://compass.mot.com/go/311160075/PUCCH_LLR_Scaling_Equations.do
c.
[5] S. Nagaraj, “Reed-Muller
decoder,” http://compass.mot.com/go/311160075/RM_decoder_v2.pdf.
[6] S. Nagaraj, “LTE eNodeB Receiver Design and Performance Analysis,”
http://compass.mot.com/go/311126044/LTETrialReceiverOverview_07132008.pdf .
[7] W. Yang, S. Nagaraj, A. Dabbagh, S. Clapp, “LTE Trial system: Receiver
Algorithm Design and
Simulations,” http://compass.mot.com/doc/311594950/Phase_I_eNodeB_Receiver_Algor
ithms.pdf
[8] M. R. Raghavendra, K. V. Pradap and S. Nagaraj, “Multiplexed control and
shared channel receiver design and performance analysis for LTE,”
http://compass.mot.com/go/311126044.
[9] X. Yu, et al, “Uplink timing and frequency error correction
algorithms,” http://compass.mot.com/doc/307653310/ul_receiver_synch_LTE-1.doc.
[10] W. Yang, “LTE PRACH detection algorithm
description,” http://compass.mot.com/doc/327002202/.
[11] M. R. Raghavendra, K. V. Pradap and S. Nagaraj, “SRS based phase beamformer
estimation,” http://compass.mot.com/doc/355616868/SRS_Beamformer_design.doc/
[12] S. Nagaraj, K. V. Pradap, M. R. Raghavendra, W. Yang “LTE FDD Release
2.0/Package 1.0 Uplink Receiver Algorithm Design Specification,”
http://compass.mot.com/doc/342298808/LTE_ENodeB_Receiver_Algorithms_R2P1_v1.
doc
6
Authors
NAME EMAIL PHONE
K. V. Pradap pradap@motorola.com
M. R. Raghavendra mr.raghavendra@motorola.com
Acknowledgements
The authors would like to acknowledge Nitin Mangalvedhe and Xiaoyong Yu for
contributions to aspects of the algorithm design and simulations.
7
Notation
With a few exceptions, we use the following notations:
• 1 j - represents −1
• ℜ(a ), ℑ(a ) - denotes the real and imaginary parts of the complex number a
• m : antenna index.
• i : OFDMA symbol index.
• j : tone index.
• z m ,i , j : the signal at antenna m , OFDMA symbol i and tone j for the UE of interest.
• Pu ,i , j : the pilot value at i-th symbol and j-th subcarrier for the u-th user on PUCCH
• σ m2 ,k : the per tone noise variance for antenna m and resource block k .
• Bk : the tone indices with resource block k . For example, B1 = {1, 2, L , 12} ,
B2 = {13, 14, L , 24} .
• , k : subcarrier indices for the uth user in the kth RB of the SRS symbol
BuSRS
⎛ j⎞
• R ( j ) : the resource block index associated with tone j . R ( j ) = ceil ⎜ ⎟.
⎝ 12 ⎠
For example, R (1) = 1 , R (12) = 1 and R (24) = 2 .
8
• PilotOFDMSymPosition(k ) - refers to the symbol index of the k –th pilot symbol
in a subframe
• DataOFDMSymPosition(k ) - refers to the symbol index of the k–th data symbol
in a subframe
• NumDataOFDMSymbols - number of data OFDM symbols per subframe.
• CPLen(k ) - refers to the cyclic prefix length for k-th OFDM symbol
• NumPilotOFDMSymbolsPerSlot - refers to the number of pilot OFDM symbols
per slot
• PilotOFDMSymPositionSlot (n, k ) - refers to the symbol index of the k–th pilot
symbol in a n-th slot
• NumOFDMSymbolsPerSlot - refers to the number of OFDM symbols per slot
per slot
• DataOFDMSymPositionSlot ( n, k ) - refers to the symbol index of the k–th data
9
1 Overview of the Receiver
This document details the receiver algorithms for an eNodeB with multiple receive antennas
receiving transmissions from a UE with single transmit antenna.
The operations below are typically described for an LTE system with nornal cyclic prefix, and are
generically applicable to FDD as well as TDD systems, and for any of the allowed bandwidths.
From each receive chain (per antenna) within the eNodeB, one baseband signal is sampled as
per the bandwidth operated. The front-end FFT (FE-FFT) is responsible for converting the time-
sampled data to the frequency-domain. The FE-FFT is preceeded by the block of half-subcarrier
shift removal and cyclic prefix removal, both of which are not described in this document. The
half-subcarrier shift is needed in the uplink since DC tone nulling, typical of OFDMA systems, is
not possible due to the single carrier nature of the LTE uplink. After removing the half-subcarrier
shift and cyclic prefix, and performing an FFT (the size of which depends on the bandwidth of
operation, denoted by NFFT) on the baseband signal, we obtain a NFFT × 14 data array. The
14 columns of the data array correspond to the 14 OFDMA symbols in one TTI. For PUSCH, two
OFDMA symbols, symbol 3 and symbol 10 (indexed 0 through 13) carry the demodulation
reference signals; other symbols carry data. The DC tone is located on subcarrier (NFFT/2) +1 of
the data array.
All PUSCH allocations in the uplink are contiguous to maintain the single-carrier property. We
further assume that there is no inter-slot hopping, which is a critical assumption for channel
estimation algorithms. Each resource unit is 12 subcarriers by 14 symbols, which is referred to as
an RB pair.
Given that the uplink shared channel (PUSCH) is transmitted using SC-FDMA, frequency-domain
equalization is necessary to obtain the demodulated symbols. Proper combining across antennas
requires the active antenna indices to be determined. The acrive antennas determination is done
by the antenna failure detection block, that processes signals from all RBs (across users), and
uses an average metric to determine if a particular antenna is still active. Coherent demodulation
requires pilot-based channel estimates from each active antenna and for each subcarrier
occupied by the user’s allocation. The PUSCH processing steps are generically described in the
10
following.
1. Pilot processing starts with first obtaining an estimate of the timing error and frequency
error. Note that an initial timing error estimate is obtained from PRACH processing, and
this correction is sent as part of the PRACH response message. The ATC (automatic
timing error correction) and AFC (automatic frequency error correction) estimates are
used by the receiver directly to correct the respective errors before channel estimation is
performed. The timing error estimate is further sent up to the MAC as part of a
measurement, to enable in-call timing advance functionality. In this volume, we propose
modifications to the ATC/AFC algorithm wherein certain averaging and thresholding
operations are added in order to make the receiver more robust and better performing,
especially at low SINRs.
2. De-rotated pilot symbols are further used to detect the presence of the PUSCH
tranmission by the desired UE. This functionality is important in coherent re-scheduling of
re-transmission grants with appropriate MCS indices to the desired UE. If the PUSCH
DTX detection block determines that the PUSCH was not transmitted, no further receiver
processing is performed. It should be noted that this DTX detection operation should not
be performed for small RB allocations (less than a certain NRB_threshold RBs) since the
detection reliability is not high.
4. The next step in the pilot processing block is the estimation of interference and noise
covariance. The assumption we make is that the covariance structure of I+N is roughly
constant over an RB pair, thus allowing for a single covariance estimate per RB pair
using all the pilots of that RB pair. In a typical cellular system, the interference power
level can be different from one resource block to another and from one antenna to
11
another antenna. Hence the interference and noise covariance matrix for each resource
block is calculated. The covariance matrix estimates the cross-coupling of the
interference across antennas, and is used for developing the optimal spatial combiner,
denoted as Interference Rejection Combining (IRC). When we use only the diagonal
elements of this covariance matrix, this boils down to the MRC approach that was
described in RADS volume 1.
5. With the channel estimates and calculated noise covariances, signals from all antennas
are combined first using maximum ratio combining or interference rejection combining..
For each data symbol, an inverse DFT is performed on the combined signals at all the
tones taken by one UE to generate estimates of the transmitted QPSK/QAM16 symbols.
The combination of the MRC or IRC combining across antennas and the IDFT result in
an optimal MMSE equalizer (MRC being optimal only if the interference across antennas
is not corelated). Second stage frequency offset correction is also applied to the symbols
to further improve the performance.
6. The post-equalization channel gain and the effective interference variance for those
symbol estimates are also calculated. These are used in the measurements for reporting
PUSCH SINR metrics.
7. If the uplink shared channel data is multiplexed with control information then extraction
and decoding of the control information is done.
8. Finally, LLRs (Logarithm of Likelihood Ratios) are calculated for each QPSK/QAM16
symbol based the corresponding symbol estimate, channel gain and noise plus
interference variance.
The PUCCH can be transmitted using multiple formats. A brief description of the formats is as
below:
1. Format 1: Used for transmitting scheduling request indication (SRI) – uses on/off keying.
2. Format 1A/1B: Used for transmitting 1 (1A) or 2 (1B) bits of Ack/Nack feedback.
3. Format 2: Used for transmitting CQI/PMI and RI information
4. Format 2A/2B: Used for sending CQI/PMI/RI along with HARQ Ack/Nack feedback.
The resource blocks used for transmission of a particular format depends on higher layer
configured parameters, as well as, in certain cases of transmitting Ack/Nack, on the scheduling
parameters (such as PDCCH CCE index). For example, typically, the CQI/PMI, RI, and SRI
resources are semi-statically configured, whereas the A/N resource is dynamically determined.
12
Depending on the information to be transmitted in any given subframe, the UE chooses (a) the
PUCCH resource index and appropriate RB associated with it, and (b) the PUCCH format to use.
For example, if a UE has to transmit SRI along with 1-bit A/N, it would use the SRI resource and
transmit PUCCH using Format 1A on that resource.
In this document, we do not lay out the controlling logic of determining which resource blocks to
look for and with what formats. The receiver algorithms lay out the steps needed to be done in
case of detecting the different formats and it is left to the scheduler-PHY interface to indicate
which formats to detect in which resource.
The document also describes the approach for transmit beamformer weight calculation based on
the sounding reference signal (SRS). The SRS is not associated with uplink data or control
transmission, but are primarily used for channel quality and beamformer estimation. The UEs
transmit SRS based on the cell specific broadcast information from the eNodeB. The SRS
tranmissions are always in the last SC-FDMA symbol in the configured subframes. Each UE will
be configured with SRS bandwidth, periodicity of transmission, transmission comb and the cyclic
13
shift to be used. Multiple UEs can transmit in the same SRS bandwidth and transmission comb
each using different cyclic shift .The receiver on reception of SRS would perform IDFT based
user separation and obtain channel estimates, estimate the spatial-correlation matrix, estimate
the dominant eigen-vector using iterative power method and determine the phase beamformer
that should be used for transmitting to that UE.
The next section briefly describes the transmit chain for the different channels. Following that, we
describe the PUSCH receiver, and the handling of UCI multiplexed on PUSCH in Section 3. The
PUCCH receiver for all formats is detailed in Section 4. The SRS based beam forming is
described in section 5. Since the LLR calculations are common to PUSCH and PUCCH receiver
blocks, the details of that are described in Section 6. Section 7 describes the PRACH receiver,
and the Section 8 discusses the measurements needed for sending to higher layers (either for
scheduling purposes, or for performance metric monitoring) as well as Doppler estimation. Finally,
conclusion is provided in Section 9.
2 Transmitter Chain
The following section briefly describes transmitter chain of processing for Physical Uplink
Shared Channel ( PUSCH) and Physical Uplink control channel ( PUCCH).
2.1 PUSCH
The shared channel data from higher layer, undergoes CRC attachment, code block
segmentation code block CRC attachment, channel coding as defined in section 5.1.3 [1] ,
followed by rate matching, code block concatenation as defined in sections 5.1.4, 5.1.5 [1]. If the
uplink control channel information is multiplexed with shared channel data, then channel coding is
individually done for uplink control channel data (section 5.2.2.6 [1]), followed by multiplexing and
channel interleaving (section 5.2.2.7 [1]). The interleaved data is scrambled modulated, mapped
to physical resources as defined in section 5.3 [2].
The coding chain for UL-SCH are shown in the figure below
14
a0 , a1 ,..., aA 1
Transport block
CRC attachment
b0 , b1 ,..., bB 1
cr 0 , cr1 ,..., cr Kr 1
Channel coding
Rate matching
ACK ACK ACK
o0 , o1 ,..., oO [o0 ] or [o1 o0RI ] [o0 ] or [ o1 o0 ] or
RI RI
1
[o0ACK o1ACK L oOACK
ACK
−1
]
er 0 , er1 ,..., er Er 1
g0 , g1 ,..., g H 1
Channel Interleaver
h0 , h1 ,..., hH+Q 1
RI
15
2.2 PUCCH
Data arrives to the coding unit in form of indicators for measurement indication auch as channel
quality indication (CQI) and precoder matrix indication (PMI), scheduling request (SRI) and hybrid
automatic repeat request (HARQ) acknowledgement.
Three forms of channel coding are used, one for the channel quality information (CQI), another
for HARQ and scheduling request and another for combination of CQI and HARQ.The control
channel information received from the higher layers are coded as defined in the section 5.2.3 [1],
followed by processing of control channel information as defined in the section 5.4.1, 5.4.2 [2].
The processed information are then mapped to physical resources as defined in section 5.4.3 [2].
Finally the base band signal is generated as defined in the section 5.7.3 [2].
2.3 PRACH
A LTE physical random access channel occupies 72 tones at 15 KHz in frequency domain and
1~3 milliseconds in the time domain. In the physical layer specification of LTE [1], the random
access channel waveform is defined as:
−1⎛ N zc −1 2πnk
⎞
N zc ⎟ 1 j 2π ( k +φ + K ( ko +1/2)) Δf RA (t −Tcp )
N zc −1 j
⎜
s (t ) = ∑ ⎜ ∑
x u ,v ( n ) e
⎟
e
k =0
⎝ n=0
⎠ (1)
N zc −1
1 j 2π ( k +φ + K ( ko +1/2)) Δf RA (t −Tcp )
= ∑ ~xu ,v (k )e
k =0
We derive the frequency domain representation of the RACH signal for the general case.
Consider the DFT of xu ,v ( n ) .
(2)
2πvN cs k
πukw ( kw+1) 1j
1j
~
xu ,v (k ) = DFT ( xu ,v (n)) = e
N zc
α (u )e
N zc
−1 −1 j πun ( n +1)
N zc
α (u ) = ∑ e
N zc
n=0
For more details of the derivation, see [10].
16
3 PUSCH Receiver Implementation
The following section describes the receiver chain of processing for shared channel. Most
of the material is covered in detail in [6], [7]. It includes extraction of frequency domain signals
specific to the user, antenna failure detection, PUSCH–DTX detection, timing and frequency
error correction, channel estimation, equalization, LLR generation, and decoding of data. The
figure below shows the overall receiver implementation for PUSCH.
17
Input signal:
• rm (n) is the base band time domain signal from antenna m .
Output signal:
• ym ,i , j is the frequency domain signal from antenna m , at OFDMA symbol i and tone j ,
which is obtained by performing FFT on rm (n) after the removal of cyclic prefix and un-doing the
half subcarrier shift, i is between 1 and 14, and j is between 1 and NFFT.
In order to facilitate user specific processing, the user specific frequency domain signals are
extracted. Currently we assume that the user processing is done sequentially. Each user
scheduled on a sub frame will have different number of resource blocks, starting resource block
index which we shall refer as user-specific configuration.
Input signal:
• y m ,i , j
• The number of resource blocks ( N rs ) assigned to the UE of interest and the starting tone
of the allocation.
Output signal:
• z m ,i , j , where m is the antenna index, i is the OFDM block index, j is the tone
index,
1 ≤ j ≤ L = 12 N rs .
z m ,i , j = y m ,i , j + j , j = 1, L , L
start −1
where jstart is the starting tone index of the allocation. z m ,i , j that is obtained by re-indexing
y m ,i , j
assigned to the UE.
⎡ z m,i ,1 ⎤ ⎡hm,i ,1 ⎤ ⎡ si ,1 ⎤ ⎡ wm ,i ,1 ⎤
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ M ⎥=⎢ O ⎥ FL ⎢ M ⎥ + ⎢ M ⎥
⎢⎣ z m,i , L ⎥⎦ ⎢⎣ hm ,i , L ⎥⎦ ⎢⎣ si , L ⎥⎦ ⎢⎣ wm,i , L ⎥⎦
18
where hm ,i , j is the frequency response at antenna m , OFDMA symbol i and tone j , FL is the
unitary DFT spread matrix, si ,1 , L , si , L are the QPSK/QAM16 modulation symbols at OFDMA
symbol i , wm ,i , j , is the additive noise which consists of thermal noise and other cell interference.
z m ,i , j , Pi , j
Output signal:
v m ,i , j
for m = 1 : M
for k = 1 : NumPilotOFDMSymbols
i = PilotOFDMSymPosition(k )
for j = 1:L
v m,i , j = z m,i , j Pi *,j ,
end
end
end
In the presence of multiple receive antennas, antenna failure detection is important as it will avoid
combining the input from failed antennas. The algorithm uses the combination of averaged
correlation and signal strength metric to detect failed antennas. The module takes in the de-
rotated pilot from all the users and received frequency domain signal from FE-FFT, calculates the
metric and determines valid antenna indices based on a long-term statistic across users and
allocations. The figure below depicts the sequence of steps
19
Figure 4: .Antenna failure detection
Initializations:
ρ avg ,m = 0
φ avg ,m = 0
Input signal:
Output signal:
ρ u ,m , M valid ,
ρm = 0
Let N pusch ,u be the total number of users transmitting the uplink PUSCH in a subframe
for u = 1: N pusch ,u
20
for m = 1: M all
ρ F ,m = 0
for n = 1: NumPilotOFDMSymbols
i = PilotOFDMSymPosition(n )
for k = 1: N S
for s = 1:k
a = ν u , m ,i , j j = s : N s : end − N s
b = ν u , m ,i , j j = s + N s : N s : end
aH b
ρ F ,m ← ρ F ,m + 2 2
a + b
end
end
ρ T ,m = 0
i = PilotOFDMSymPosition(1)
l = PilotOFDMSymPosition(2 )
for k = 1: N S
for s = 1:k
a = v u , m ,i , j j = s : N s : end − N s
b = v u , m ,l , j j = s + N s : N s : end
aHb
ρ T ,m ← ρ T ,m + 2 2
a + b
end
end
21
2( ρT , m + ρ F , m )
ρu , m =
N s ( N s + 1)(1 + NumPilotOFDMSyms)
1
ρm ← ( ρ u ,m ) + ρ m
N pusch ,u
end
end
y m ,i , j
• is the frequency domain signal from antenna m , at OFDMA symbol i and tone
j ,which is obtained by performing FFT on the base band time domain signal after the
removal of cyclic prefix and un-doing the half subcarrier shift .
1
∑∑
2
• φm = y m ,i , j , where j is used subcarrier indices only.
14length( j ) i j
⎛ φ avg ,m ⎞
if ⎜⎜ ⎟⎟ > 1 ,
φ
⎝ m ⎠
3
⎛ φ avg ,m ⎞
ρ gain ,m = ρ m ⎜⎜ ⎟
⎟
⎝ φm ⎠
else
ρ gain ,m = ρ m
end
ρ avg , m ← (1 − λcorr _ coefficient ) ρ avg , m + λcorr _ coefficient ρ gain , m
If ρ avg , m ≥ Tant _ fail
M valid ← {M valid , m}
22
end
end
M = length( M valid )
The threshold is a function of total number of RBs used, which can be looked up/interpolated from
the table provided below.
1 0.55
2 0.38
3 0.3
4 0.26
5 0.25
6 0.23
8 0.22
9 0.21
10 0.2
15 0.2
30 0.1
40 0.1
23
λcorr _ coefficient = 0.1
if( m1 ∈ M valid )
zm2 ,i , j = zm1 ,i , j ; for all i, j
νm 2 ,i , j = ν m1 ,i , j ; for all i, j
m2 ← m2 + 1
end
end
Note that the length of the valid antenna indices is referred to by M and the signals are expected
to be labeled as per the valid antenna indices, as described above.
The PUSCH DTX detection is critical to avoid the problem when the UE fails to detect the uplink
grant on PDCCH. In such a scenario, the eNodeB will interpret a DTX (no PUSCH transmission)
as a NACK, triggering an uplink re-transmission schedule. In order to exercise Incremental
redundancy (IR) benefits, the UE will be scheduled using MCS indices 29, 30, 31, mandating the
UE to use TB size from the initial transmission resulting in wastage of RBs.
DTX detection is done using the pilots that are transmitted in the uplink by the UE. The pilot
sequences are correlated across time and frequency which can be used to distinguish PUSCH
data from noise. The following algorithm provides the procedure for DTX detection.
ρ u ← ρ u + ρ u ,m
end
ρu
ρu ←
M
If ρ u > T pusch _ DTX
PUSCH_DTX = 0;
24
else
PUSCH_DTX = 1;
end
else
PUSCH_DTX = 0;
end
It should be noted that the metric ρ u,m is the same metric as calculated in the antenna
In the uplink, multiple users have different frequency errors due to local oscillator offset and
Doppler shift. Further, users can come in with different timing references within the CP window,
and the receiver’s function is to align all the user’s timing such that they have a minimum phase
channel. The timing also varies due to mobility, and therefore, in-call timing advance functionality
is available in LTE for the eNodeB to send correction messages to the UE.
The uplink receiver must account for these errors and correct them. The following section details
the timing / frequency error estimation and correction adopted. Algorithmic derivations of the
design can be found in [9]. The operations are done across all Resource Blocks (RBs) allocated
to a given user. The figure below provides a brief overview of the mechanism.
25
Figure 5: Timing/Frequency error correction.
Input signal:
• v m ,i , j , Pi , j
Output signal:
v m,i , j , Δt m
26
Input: Derotated pilot symbol v m ,i , j
for m = 1 : M
Temp = 0
for k = 1 : NumPilotOFDMSymbols
i = PilotOFDMSymPosition(k )
for j = 1 : L − 1
( )
Temp ← Temp + v m ,i , j v m* ,i , j +1 ,
end
end
N FFT ⎧ ⎛ Temp ⎞⎫
Δt est1 = ⎨angle⎜⎜ ⎟⎟⎬
2π ⎩ ⎝ NumPilotOFDMSymbols(L − 1) ⎠⎭
Temp = 0
for k = 1NumPilotOFDMSymbols
i = PilotOFDMSymPosition(k )
for j = 1 : L − 2
( )
Temp ← Temp + v m ,i , j v m* ,i , j + 2 ,
end
end
N FFT ⎧ ⎛ Temp ⎞⎫
Δt est 2 = ⎨angle⎜⎜ ⎟⎟⎬
2 × 2π ⎩ ⎝ NumPilotOF DMSymbols ( L − 2 ) ⎠⎭
Δt est1 + Δt est 2
Δt m =
2
end
27
ΔTm
Constant: λ = 0.1
Initialize: ΔTm = 0 (for a new mobile)
for m = 1 : M
ΔTm ← (1 - λ ) ΔTm + λ Δtm
end
Constant: timing_TH = 1 μs
Initialize:
Tc = 0
Initialize:
ΔTTm = 0
for k = 1 : NumPilotOFDMSymbols
i = PilotOFDMSymPosition(k )
for j = 1 : L
− N FFT
p= + jstart + j − 2
2
⎛ 1 j 2πpΔTTm ⎞
vm,i , j ← vm,i , j exp⎜⎜ ⎟⎟
⎝ N FFT ⎠
end
end
end
Tc = 1
end
28
3.5.2 Frequency Error Estimation
Input signal:
• v m ,i , j
Output signal:
• Δf m
for m = 1 : M
Temp = 0 , CPsum = 0
i = PilotOFDMSymPosition(1)
k = PilotOFDMSymPosition(2 )
ΔP = k − i
for p = i : k − 1
CPsum ← CPsum + CPLen( p )
end
ΔPN FFT + CPsum
Tsym =
N FFT δf
for j = 1 : L
Temp ← Temp + v m ,i , j v m* ,k , j
end
end
29
ΔFm , Δf ave
Constant: α = 0.2
Initialize: ΔFm = 0 (for a new mobile)
Δf sum = 0
for m = 1 : M
ΔFm ← (1 - α ) ΔFm + α Δf m
3.5.3 Timing and Frequency Error Correction for Pilots and Data
The timing and frequency error correction procedure is given below and follows possibly the
timing error correction block for pilots.
Input signal:
• v m ,i , j , z m ,i , j
Output signal:
• v m ,i , j , z m ,i , j
for m = 1 : M
CPparsum = 0
for i = 1 : NumOFDMSymbols
CPparsum ← CPparsum + CPLen(i )
2πΔFm
Φ= [(i − 1) N FFT + CPparsum]
N FFT δf
30
if (i ∈ DataOFDMSymPos)
for j = 1 : L
if (Tc = = 1)
− N FFT
k= + jstart + j − 2
2
⎛ 1 j 2πkΔTTm ⎞
zm ,i , j ← zm ,i , j exp(1 jΦ )exp⎜⎜ ⎟⎟
⎝ N FFT ⎠
Else
zm ,i , j ← zm ,i , j exp(1 jΦ )
end
end
else
for j = 1 : L
v m ,i , j ← v m ,i , j exp(1 jΦ )
end
end
end
end
else
if (Tc = = 1)
for m = 1 : M
for i = 1 : NumOFDMSymbols
if (i ∈ DataOFDMSymPos)
for j = 1 : L
− N FFT
k= + jstart + j − 2
2
⎛ 1 j 2πkΔTTm ⎞
zm ,i , j ← zm ,i , j exp⎜⎜ ⎟⎟
⎝ N FFT ⎠
end
end
end
end
end
end
31
The channel estimation is done on the pilot symbols after pilot de-rotation, and the selective
timing and frequency error correction operations. The de-rotated and possibly timing/frequency
error corrected pilots are first averaged across slots and an estimate of the channel is obtained by
applying a polynomial regression matrix in the frequency domain. The polynomial order is set to 0,
which corresponds averaging across subcarriers. The channel estimates are then applied to the
data symbols as part of the MRC/IRC//MMSE equalization process. The figure below provides the
overview of the steps that are followed.
Input signal:
• v m ,i , j , q (regression order, equal to 0)
Output signal:
• hˆm,i , j
Input signal:
• De-rotated pilot symbols v m ,i , j
Output signal
∧
• Averaged pilot symbol v m , j
for m = 1 : M
for j = 1 : L
32
Temp = 0
for k = 1 : NumPilotOFDMSymbols
i = PilotOFDMSymPosition(k )
Temp ← Temp + v m,i , j
end
∧ Temp
v m, j = ,
NumPilotOFDMSymbols
end
end
Input signal:
∧
• Averaged pilot symbols v m , j
Output signal
⎡ 1q 1q −1 L 1⎤
⎢ q ⎥
2 2 q −1 L 1⎥
A=⎢
⎢M M O M⎥
⎢ q ⎥
⎢⎣ S S q −1 L 1⎥⎦
where q = 0 , S = 12.
⎡1 1 L 1⎤
⎢ 1 L 1⎥⎥
1 ⎢1
−1 T
R=AA A A =
T
(
12 ⎢M
) M M M⎥
⎢ ⎥
⎣1 1 L 1⎦
for m = 1 : M
for k = 1 : N rs
i1 = 1
for j ∈ Bk
hˆ m ,1, j =0
33
for i2 = 1 : resourceBlkSize
p = resourceBlkSize ⋅ (k − 1) + i2
hˆ ← hˆ
m ,1, j+ R (i , i ) vˆ
m ,1, j 1 2 m, p
end
i1 ← i1 + 1
end
for i = 2 : NumOFDMSymbols
hˆ m ,i , j = hˆm,1, j
end
end
end
Input signals:
for k = 1 : N rb
Ck = 0
for n = 1 : NumPilotOF DMSymbols
i = PilotOFDMSymPosition(n )
for j ∈ Bk
for m1 = 1 : M
for m2 = m1 : M
34
( )(
C k (m1 , m2 ) ← C k (m1 , m2 ) + v m1 ,i , j − hˆm1 ,i , j v m2 ,i , j − hˆm2 ,i , j )
*
if MRC
for k = 1 : N rb
C k ← diag (C k )
end
end
Input signals:
• C k , k = 1 : N rb
Output signal
• Gk
for k = 1 : N rb
G k = C −k 1
end
This module takes in the frequency domain signals, channel and interference plus noise co-
variance estimates, and generates an MMSE symbol estimate for each QPSK /16QAM
modulation symbol. Depending on antenna combining methods, the module has MRC and IRC
35
variants. Also computed is the corresponding signal gain factor and effective post-equalization
interference variance. The estimation can be looked up on as MRC/IRC antenna combining per
sub-carrier followed by frequency domain equalization via an IDFT. The following diagram shows
the sequence of steps followed.
.
Input signals:
• z m ,i , j , hˆm ,i , j , G k , j = 1, L , L, i ∈ DataOFDMSymPosition , k = 1 : N rb
Output signal
• sˆi , j , g i , σ i2,eq
36
γ i, j = 0
for m1 = 1 : M
xm1 , i , j = 0
ηm 1, i , j =0
for m2 = 1 : M
xm1 ,i , j ← xm1 ,i , j + G R ( j ) (m1 , m2 )zm2 ,i , j
ηm 1, i , j ← η m1, i , j + G R ( j ) (m1 , m2 )hˆm2 ,i , j
End
γ i , j ← γ i , j + hˆm* ,i , jη m ,i , j
1 1
end
1
2. Compute the MSE error variance σ e2 (i, j ) = for j = 1 : L
γ i, j + 1
3. Compute the vector d i = ( d i ,1 , K , d i , L ) where the j element is given by
M
d i , j = σ (i, j )∑ hˆm* ,i , j x m ,i , j , for j = 1 : L
2
e
m =1
4. Apply the normalized inverse DFT operation on the vector d i to get the estimated
symbol vector ŝ i where, sˆ i = [sˆi ,1 ,..., sˆi , L ] .
5. The signal gain post-equalization of each OFDM symbol is given by
1 L γ i, j
gi = ∑ .
L j =1 γ i , j + 1
6. The post-equalization interference plus noise variance σ i2,eq = g i (1 − g i ) .
Note that the time domain symbols in a SC-FDMA symbol have the same noise variance and
channel gain. Further, note that in the case of time domain pilot averaging, the channel gain and
the noise variance is same across all the symbols in the subframe. For the sake of generality, we
continue to index the post-MMSE gain and interference variance by the OFDMA symbol index i,
even though they are all the same if time-domian pilot averaging is used in channel estimation.
37
Input signal:
• sˆi , j , Δf ave
Output signal:
• sˆi , j
for i = 1 : NumOFDMSymbols
for j = 1 : L
−L
k= + j −1
2
⎛ 1 j 2πkΔf ave ⎞
sˆi , j ← sˆi , j exp⎜⎜ ⎟⎟
⎝ Lδf ⎠
end
end
This section describes the sequence of steps used to extract, detect and decode the uplink
control information (UCI) when its multiplexed with PUSCH. Detailed algorithmic development,
derivations and simulation results for this case can be found in [8].
The demodulated signal can be viewed as a vector of symbols which has both control and shared
channel information multiplexed in it. Among the control information, if HARQ is transmitted it
would puncture UL-SCH; hence it would involve DTX detection of Ack/Nack (AN) to assert the
presence of HARQ information with sufficient success probability, while meeting a desired false
alarm probability, is desired. In this context, it should be noted that DTX refers to the case of UL-
SCH symbols being present instead of AN symbols.
It is assumed that the presence or absence of RI/CQI information in UL–SCH data is known at
the eNodeB. Detection and decoding of different control/shared channel information is discussed
in following sections. The following figure depict the processing steps of UL-SCH shared with UCI
38
Figure 8: PUSCH Multiplexed with UCI processing
3.9.1 RI Receiver
From the demodulated symbols, the Rank Indication (RI) information symbols are picked from
their predefined locations and sent to the RI receiver. This section addresses the case when the
RI is either 1 or 2 bits.
Input :
N × 1 received symbol vector r1 ,..., rn corresponding to RI information, ri ∈ sˆi , j
Output
bi : i = 1 : numRIBits
3.9.1.1 1 Bit RI
The sequence of steps for the 1 bit RI decoding can be depicted as follows
39
• The received symbols r1 ,..., rN are first rotated by π / 4 clockwise. Let s1 ,..., s N
si = ri .e ( − jπ / 4 ) i = 1,..., N
• Let c1 ,..., c N represent the scrambling bit sequence corresponding to N symbols. Since 1
bit gets scrambled in each symbol, the length of the scrambling bit sequence will be
equal to the number of symbols. Find the positions where the scrambling code c1 ,..., c N
is 1, negate the rotated symbols at those positions. Let t1 ,..., t N represent the
Note that with time domain pilot averaging the gain and noise variance remains constant
gi
for all the OFDM symbols in the sub-frame, the t i ’s are added without weighing by .
σ i2,eq
• 1 bit RI is decoded as
⎧1 , ℜ( D) < 0⎫
b1 = ⎨ ⎬
⎩ 0 , else ⎭
3.9.1.2 2 Bit RI
The sequence of steps for the 2 bit RI decoding can be depicted as follows
• The Log Likelihood Ratio (LLR) values corresponding to r1 ,..., rN are computed
40
αg i ⎫
l 2i −1 = ℜ{ri }⎪
σ i ,eq
2
⎪
αg i ⎬, i = 1,K , N .
l 2i = 2 ℑ{ri } ⎪
σ i ,eq ⎪⎭
Where
Qm - number of bits per symbol defined for PUSCH
α - amplification factor,
α =2 2
g i - signal gain factor
Note that with time domain pilot averaging the gain and noise variance, g i , σ i ,eq ,
2
2 bits get scrambled in each symbol, the length of scrambling bit sequence will be equal
to 2N. Find the positions where the scrambling code c1 ,..., c 2 N is 1, negate the LLR’s at
⎡0 0 0⎤
⎢0 1 1⎥⎥
Cb = ⎢
⎢1 0 1⎥
⎢ ⎥
⎣1 1 0⎦
and assigning 1 to bit 0 and -1 to bit 1 (comes from the LLR definition) the possible vectors are
41
⎡1 1 1⎤
⎢ 1 − 1 − 1⎥
Cs = ⎢ ⎥
⎢− 1 1 − 1⎥
⎢ ⎥
⎣− 1 − 1 1 ⎦
The code matrix, C s is multiplied with LLR vector u
c v = C suT
The product will result in 4 × 1 vector
Let MaxIndex denote the value index of maximum in the vector c v . The values are indexed from
0 in the c v vector.
• 2 bit RI is decoded as the binary equivalent of the MaxIndex value i.e., the bit sequence
[b1 b2 ] derived from MaxIndex will correspond to the information bit sequence O1 O2 .
Input :
N × 1 received symbol vector r1 ,..., rn corresponding to HARQ information, ri ∈ sˆi , j
Output
42
bi : i = 1 : numANBits
αg i ⎫
l 2i −1 = ℜ{ri }⎪
σ i ,eq
2
⎪
αg i ⎬, i = 1,K , N .
l 2i = 2 ℑ{ri } ⎪
σ i ,eq ⎪⎭
Where
α - amplification factor,
α =2 2
Qm - number of bits per symbol defined for PUSCH
g i - signal gain factor
Note that with time domain pilot averaging the gain and noise variance, g i , σ i ,eq , remains
2
2 bits get scrambled in each symbol, the length of scrambling bit sequence will be equal
to 2N. Find the positions where the scrambling code c1 ,..., c 2 N is 1, negate the LLR’s at
8 Ng avg 1 N
where, κ =
(1 − g avg ) 2
with g avg =
N
∑g
i =1
i . Note that in the case of time domain pilot
43
averaging g i is independent of symbol index i and hence g avg = g i .
• The Log Likelihood Ratio (LLR) values corresponding to r1 ,..., rN are computed
αg i ⎫
l 2i −1 = ℜ{ri }⎪
σ i ,eq
2
⎪
αg i ⎬, i = 1,K , N .
l 2i = 2 ℑ{ri } ⎪
σ i ,eq ⎪⎭
Where
Qm - number of bits per symbol defined for PUSCH
α - amplification factor,
α =2 2
g i - signal gain factor
Note that with time domain pilot averaging the gain and noise variance, g i , σ i ,eq , remains
2
2 bits get scrambled in each symbol, the length of scrambling bit sequence will be equal
to 2N. Find the positions where the scrambling code c1 ,..., c 2 N is 1, negate the LLR’s at
descrambled LLRs.
If N > 1 then the LLR’s t1 ,..., t 2 N are added circularly with a period of 3 to form a 3× 1 vector
u , [u1 u 2 u 3 ],
u i = 0 i = 1,2,3
44
ni = 0 i = 1,2,3
for i = 1 : 2 N
Let
4 g avg ni
κi = for i = 1,2,3
(1 − g avg ) 2
1 N
where, g avg =
N
∑g
i =1
i
hence g avg = g .
ui
• Define, a i = , i = 1,2,3
κi
The decision metric is given by,
3
D = ∑ ai2
i =1
Cb .
⎡0 0 0⎤
⎢0 1 1⎥⎥
Cb = ⎢
⎢1 0 1⎥
⎢ ⎥
⎣1 1 0⎦
and assigning 1 to bit 0 and -1 to bit 1 (comes from the LLR definition) the possible vectors are
45
⎡1 1 1⎤
⎢ 1 − 1 − 1⎥
Cs = ⎢ ⎥
⎢− 1 1 − 1⎥
⎢ ⎥
⎣− 1 − 1 1 ⎦
The code matrix, C s , is multiplied with LLR vector u
c v = C suT
The product will result in 4 × 1 vector
Let MaxIndex denote the value index of maximum in the vector c v . The values are
indexed from 0 in the c v vector. Let MaxValue is the value maxmizing one particular correlation
vector MaxValue is the decision variable. The values are indexed from 0 in the c v vector. It is
sent back to AN detection module, to get the actual bits transmitted.
The following section describes the detection of DTX as against HARQ information. If the A/N is
expected to be transmitted then DTX detector outputs whether it is HARQ or DTX.
For 1bit DTX detection, the decision variable under the DTX transmission is modeled as
Gaussian distribution with zero mean and unit variance, D ~ N (0,1) . The Th1bitAN is calculated
For 2bit DTX detection, the decision variable under the DTX transmission is modeled as Chi-
square distribution with degrees of freedom being 3, D ~ χ 2 (3) . The probability density function
of chi-square distribution with 3 degrees of freedom is,
46
⎛ x⎞
x exp⎜ − ⎟
f ( x,3) = ⎝ 2⎠,
2π
Th2bitAN is calculated by setting the tail probability to 1% i.e.,
∞
0.01 = ∫ f (x,3)dx .
Th2 bitAN
The threshold Th2bitAN can be found from the look-up table, The threshold holds only when
N > 1 . The theoretically calculate threshold can be adapted for better system performance.
3.9.2.4 AN Detection
⎧1 , ℜ( D) < 0⎫
1 bit AN : b1 = ⎨ ⎬
⎩ 0 , else ⎭
2 bit AN : The MaxIndex will correspond to the information bit sequence
transmitted b1 , b2 .
The symbols corresponding to CQI are picked from demodulated symbol vector. The symbols are
passed through LLR calculator to get soft bits. The soft bits are then passed through Fast
Hadamard Transform (FHT) based CQI decoder. The decoder implements the algorithm
discussed below to get information bits.
The structure of the (32, A) code defined by 3GPP specification for Multiplexed CQI is derived
from basic (32,A) extended first order Reed Muller code . A general decoder structure for this
code is derived in [5].
If A <=6, then the base code is a standard RM code which uses the FHT basis sequences
augmented with the all 1’s sequence. In this code, support for greater than 6 bits is provided by a
number of mask sequences (totaling A-6).The 3GPP compliant (32,A) code is derived by
permuting certain output bits of the basic (32, A) code.
The FHT based receiver works as follows
47
1. If the soft bits vector length is less than 32, the vector is appended with zeros to form a
vector of 32 values. If the vector length is greater than 32, the soft bits are circularly
added with mod 32 to form a vector of 32 values.
2. Pre-calculate the number of mask sequences required
⎧1 , ( A − 6) ≤ 0⎫
num _ masks = ⎨ A−6 ⎬
⎩2 , else ⎭
3. Pre-calculate all the possible composite mask sequences, corresponding to different
combinations of the last A-6 bits of information bit vector as follows:
⎧ A−1
⎪∑ (a ⋅ M i ,n )mod 2, if num _ masks > 1
mi = ⎨ n = 6 n , i = 0,1,2,K , B − 1.
⎪0, num _ masks = 1
⎩ if
Here, the A-6 bit sequences {an} span all the possible combinations, which gives rise to
num_masks possible composite mask sequences {mi}. Then we map these composite
sequences to bi-polar form using the map (0,1) Æ (+1,-1). We refer to this bipolar mask
sequences as { m̂i }.
48
where H is the 32-point Hadamard matrix (Note that the notation H(0:len-1, :)
means that we pick the first len rows of the matrix H, so the output will be a
vector of size len).
• Find the index that maximizes the absolute value of the FHT output, |h|. Denote
that intermediate winning index by idx (where idx belongs to {0, …, len-1}) and
the corresponding the maximum absolute value by max_val(mask_id).
• The intermediate decoded word is given by:
h(idx) ≥ 0 ⇒ decoded (mask _ id ) = 2 idx
h(idx) < 0 ⇒ decoded (mask _ id ) = 2 idx + 1
end
5. Among all the num_masks possible max_val values, select the mask_id that has the
maximum max_val. Denote this as final_mask_id, which belongs to {0, …,num_masks -1}.
6. Final decoded CQI word is given by:
CQIValue = decoded ( final _ mask _ id ) +64 final _ mask _ id
The following section describes the receiver chain for the uplink control channel (PUCCH).
It includes extraction of frequency domain signals specific to the user, detection for A/N bits in
49
the case of format 2A/2B, channel estimation, MRC combining across antennas and subcarriers,
and detection of scheduling request, A/N bits in the case of format 1/1A/1B, and decoding of CQI
bits in the case of format 2/2A/2B. The figure below provides the brief overview of the PUCCH
receiver chain. Detailed algorthmic and performance analysis aspects can be found in [3].
Extraction of frequency domain signal is done according to the procedure as described in sec 3.1.
From the PUCCH configuration, the frequency band where the control channel is modulated is
calculated and that selected frequency band is used for further processing.
50
4.2 Detection of HARQ Data in Format 2A/2B
If the user transmits A/N information using format 2A/2B, it uses the first even pilot symbol in a
slot to send A/N data by modulating the pilot in that symbol with the A/N data. In order to decode
the A/N data, the channel is estimated using the odd pilot symbol in a slot and using the
estimated channel, the A/N symbols are detected and decoded. The following diagram depicts
the basic operation.
Input signal:
z m,i , j , Pu ,i , j
Output signal:
v u , m ,i , j
vu ,m ,i , j = z m ,i , j Pu*,i , j
end
end
end
51
4.2.2 ACK/NACK Symbol Estimation
For a given user u,
γ =0
for m = 1 : M
for n = 1 : N sl
i = PilotOFDMSymPositionSlot (n,1)
Temp = 0
for j = 1,..., L
Temp ← Temp + vu ,m,i , j
end
Temp
vˆu ,m ,i =
L
γ ← γ + | vˆu ,m,i | 2
end
end
Temp = 0
for m = 1 : M
for n = 1 : N sl
i = PilotOFDMSymPositionSlot (n,1)
k = PilotOFDMSymPositionSlot (n,2)
for j = 1,..., L
Temp ← Temp + vˆu*,m ,i vu ,m,k , j
end
end
end
Temp
χ=
Lγ
where si ∈ {1,−1, j ,− j}
2
AN = arg min χ − si
si
2a 0 1
52
[b1 ] 1 −1
00 1
2b 01 −j
[b1 b2 ] 10 j
11 −1
⎧ v u , m ,i , j ,
⎪ for i = PilotOFDMSymPositionSlot (n,1), n = 1,2
v u , m ,i , j ← ⎨ v u , m ,i , j
⎪⎩ AN , for i = PilotOFDMSymPositionSlot (n,2), n = 1,2
The channel estimation procedure involves the steps of pilot de-rotation, time-domain averaging
of pilots with in the slot and application of regression based channel estimation. The sequence of
steps is shown in the figure below.
53
Figure 16: PUCCH Channel Estimation
i = PilotOFDMSymPositionSlot (n, k )
Temp ← Temp + vu ,m,i , j
end
∧ Temp
v u ,m ,n , j =
NumPilotOFDMSymbolsPerSlot
end
end
end
4.3.2 Regression
Input signal:
∧
• Averaged pilot symbols across time per slot v u ,m ,n , j
Output signal
⎡ 1q 1q −1 L 1⎤
⎢ q ⎥
2 2 q −1 L 1⎥
A=⎢
⎢M M O M⎥
⎢ q q −1 ⎥
⎢⎣ S S L 1⎥⎦
54
Where q defines the regression order q is set to 1 and S = 12 (if estimation is done per
RB)
R = A (A T A ) A T
−1
for m = 1 : M
for n = 1 : N sl
i = OFDMSymPositionSlot (n,1)
for j = 1 : L
hˆ =0 u , m ,i , j
for i2 = 1 : L
hˆu ,m ,i , j ← hˆu ,m ,i , j + R ( j , i2 ) vˆu ,m ,n ,i2
end
end
for k = 2 : NumOFDMSymbolsPerSlot
q = OFDMSymPositionSlot (n, k )
for j = 1 : L
• vu ,m ,i , j , hˆu ,m ,i , j
Output signal
for m = 1 : M
55
for n = 1 : N sl
2
σ u ,m ,n = 0
for k = 1 : NumPilotOFDMSymbolsPerSlot
i = PilotOFDMSymPositionSlot (n, k )
for j = 1 : L
The estimated symbols are combined using MRC (Maximum Ratio Combining) across antennas
and subcarriers, using the sequence removed (de-rotated) data received signals. The LLR
generation for this approach can be found in [4].
for n = 1 : N sl
for k = 1 : NumDataOFDMSymbolPerSlot
i = DataOFDMSymPositionSlot (n, k )
Du ,i = 0
for j = 1 : L
for m = 1 : M
hˆu*,m ,i , j vu ,m ,i , j
Du ,i ← Du ,i +
σ u2,m ,n
end
56
LLRuI ,i = 2 2ℜ(Du ,i )
LLRuQ,i = 2 2ℑ(Du ,i )
end
end
end
The following section describes Format 1/1A/B detection algorithms. The first step is the
calculation of estimation error variance and symbol estimate. For the case of Format 1A/1B, we
assume that 1 represents ACK 0 represents NACK and -1 represents DTX.
Du = 0
EstErrVaru = 0
for n = 1 : N sl
for k = 1 : NumDataOFDMSymbolsPerSlot
i = DataOFDMSymPositionSlot (n, k )
for j = 1 : L
for m = 1 : M
hˆu*,m,i , j vu ,m,i , j
Du ← Du +
σ u2,m,n
| hˆu , m ,i , j | 2
EstErrVaru ← EstErrVaru +
σ u2,m ,n
end
end
end
end
57
SR _ Threshold = erfc −1 (2 p )
Where p is the target 0 to 1 detection error rate
∞
2
erfc( x ) =
π ∫
− x2
e dx
x
is the complimentary error function. Values of the inverse complimentary error function for some
values of p are provided in the following table.
0.005 1.8214
0.01 1.6540
0.05 1.1631
Input: Du , EstErrVaru ,
Output: InfBitsRx
Threshold = (SR _ Threshold ) EstErrVaru ( )
if ℜ(Du ) >= Threshold
InfBitsRx = 1
else
InfBitsRx = 0
end
Input Du , EstErrVaru
Output: InfBitsRx
58
if ℜ(D ) < −Threshold
InfBitsRx = 1
elseif ℜ(D ) >= Threshold
InfBitsRx = 0
else
InfBitsRx = −1
end
degrees of freedom, and p ′ is again the target DTX-to-ACK detection error rate. Values of the
inverse CDF for some target values of p ′ are provided in the following table.
0.005 10.0213
0.01 8.6350
0.05 5.4161
*
SymEnergy = Du Du
Threshold ← ( ACK _ Threshold )(EstErrVaru )
⎛ 1 jπ ⎞
RotSym ← exp⎜ ⎟ AckNackTxSymMaxInd
⎝ 4 ⎠
if ℜ(RotSym ) < 0
59
InfBitsRx (1) = 1
else
InfBitsRx (1) = 0
end
if ℑ(RotSym ) < 0
InfBitsRx (2 ) = 1
else
InfBitsRx (2 ) = 0
end
else
InfBitsRx = −1
end
60
• Pre-calculate all the possible composite mask sequences, corresponding to different
combinations of the last A-6 bits of information bit vector as follows:
⎧ A−1
⎪∑ (a ⋅ M i ,n ) mod 2, if num _ masks > 1
mi = ⎨ n = 6 n , i = 0,2, K, B − 1.
⎪0, num _ masks = 1
⎩ if
(A-6)
Here, the A-6 bit sequences {an} span all the possible combinations, which gives rise to 2
possible composite mask sequences {mi}. Then we map these composite sequences to bi-polar
form using the map (0, 1) Æ (+1,-1). Refer to this bipolar mask sequences as { m̂i }.
ei = bi • mˆ i , i = 0,2, B − 1
• Form a 32-length vector by inserting the values of ei at the B un-punctured
locations. The rest of the elements of the vector are set to 0. The un-punctured
indices are as follows (note the indexing is from 1Æ 32):
f k (i ) = ei , i = 0,..., B − 1
k (i ) ∈ {0, 2, 3, 5, 6, 8, 9, 11, 12, 13, 16, 17, 18, 19, 22, 23, 25, 26, 27, 31}.
• Re-arrange the values of fi as follows:
g 0 = f 30
g1:15 = f 0:14
g16 = f 31
g17:31 = f 15:29
• Perform a 32-point FHT on the vector g:
61
h(idx) ≥ 0 ⇒ decoded (mask _ id ) = 2 idx
h(idx) < 0 ⇒ decoded (mask _ id ) = 2 idx + 1
End
2. Among all the num_masks possible max_val values, select the mask_id that has the
maximum max_val. Denote this as final_mask_id, which belongs to {0, …,num_masks -1}.
Input signal:
z m ,i , j , Pu ,i , j
Output signal:
v u , m ,i , j
62
vu ,m ,i , j = z m ,i , j Pu*,i , j
end
end
end
Input signal:
v u , m ,i , j
Output signal:
hˆu ,m ,i , j
for m = 1 : M
for k1 = 1 : L
t k1 = 0
for k2 = 1 : L
1 ⎛ 1 j 2π (k1 − 1)(k2 − 1) ⎞
t k 1 ← t k1 + exp⎜ ⎟vu , m ,i , k 2
L ⎝ L ⎠
end
end
⎢ CPlen(i )L ⎥
Lch = ⎢ ⎥
⎣ N FFT ⎦
⎡ ⎤
q = ⎢t1 ,..., t Lch , 01
,..., 0 ⎥
⎢⎣ 23 ⎥
L − Lch ⎦
for j1 = 1 : L
f j1 = 0
for j2 = 1 : L
⎛ − 1 j 2π ( j1 − 1)( j2 − 1) ⎞
f j1 ← f j1 + exp⎜ ⎟q j 2
⎝ L ⎠
end
63
hˆu ,m,i , j1 = f j1
end
end
When all the SRS users are sounded on the same frequency band, we can do the user
separation using a single IDFT as in [11].
Input signal:
hˆu ,m,i , j
Output signal:
C u ,k
For user u,
Cu ,k = 0
for k = 1 : N rb
for i = SRSSymbolIndex
for j ∈ BuSRS
,k
for m1 = 1 : M
for m2 = m1 : M
C u ,k (m2 , m1 ) = C *
u ,k (m1 , m2 )
end
end
end
C u ,k
Cu ,k ←
resourceBlkSizeSRS
end
end
64
5.3.2 Eigenvector Estimation using Power Method
Input signal:
C u ,k
Output signal:
w u ,k
Initialize w u , k = C u , k (:,1)
for i = 1 : N iter
w u ,k ← C u ,k w u ,k
end
end
for m = 1 : M
bu , m, k = phase(wu , m , k )
end
end
6 LLR Calculation
Input signals:
• sˆi , j is the symbol estimate for OFDMA symbol i and tone j ;
65
Output signals:
• Two likelihood ratio Li , j ,1 and Li , j ,2 for the QPSK symbol at OFDMA symbol i and tone j ,
or
• Four likelihood ratios Li , j ,k , k = 1, 2, 3 , 4 for the QAM16 symbol at OFDMA symbol i and
tone j .
6.1 QPSK
The LLR expressions for QPSK are as follows:
If the same modulation scheme is used for UL HARQ transmissions and the max Log-MAP
algorithm is used for turbo decoding, LLRs can be scaled by a constant and LLR calculations can
be further simplified. We have
real ( sˆi , j )
Li , j ,1 = ,
1 − gi
imag ( sˆi , j )
Li , j ,2 = .
1 − gi
6.2 QAM16
We define
⎛ P( sˆi , j | bi , j ,k = 0) ⎞
Li , j ,k = log⎜ ⎟, k = 1, 2, 3and 4.
⎜ P( sˆ | b = 1) ⎟
⎝ i, j i , j ,k ⎠
Let
I = real ( sˆi , j ),
Q = imag ( sˆi , j ),
1
α = gi .
42
66
Then we can compute the LLRs as:
α (4 ⋅ I + | I − α | − | I + α |)
Li , j ,1 = ,
σ i2,eq
α (4 ⋅ Q + | Q − α | − | Q + α |)
Li , j ,2 = ,
σ i2,eq
2α (α − | I |)
Li , j ,3 = ,
σ i2,eq
2α (α − | Q |)
Li , j ,4 = .
σ i2,eq
⎧ 2α (2 ⋅ I + α )
⎪ , I ≤ −α
⎪ σ i
2
, eq
⎪ 2αI
Li , j ,1 = ⎨ 2 , | I |≤ α
⎪σ i ,eq
⎪ 2α (2 ⋅ I − α )
⎪ , α≤I
⎩ σ i2,eq
⎧ 2α (2 ⋅ Q + α )
⎪ , Q ≤ −α
⎪ σ i2,eq
⎪ 2αQ
Li , j ,2 = ⎨ 2 , | Q |≤ α
⎪ σ i ,eq
⎪ 2α (2 ⋅ Q − α )
⎪ , α ≤Q
⎩ σ i
2
, eq
2α (α − | I |)
Li , j ,3 = ,
σ i ,eq
2
2α (α − | Q |)
Li , j ,4 = .
σ i2,eq
67
⎧ 4(2 ⋅ I + α )
⎪ , I ≤ −α
⎪ 10 (1 − gi )
⎪ 4I
Li , j ,1 = ⎨ , | I |≤ α
⎪ 10 (1 − gi )
⎪ 4(2 ⋅ I − α ) α≤I
⎪ 10 (1 − g ) ,
⎩ i
⎧ 4(2 ⋅ Q + α )
⎪ , Q ≤ −α
⎪ 10 (1 − g i )
⎪ 4Q
Li , j ,2 = ⎨ , | Q |≤ α
⎪ 10 (1 − g i )
⎪ 4(2 ⋅ Q − α ) , α ≤Q
⎪ 10 (1 − g )
⎩ i
4(α − | I |)
Li , j ,3 = ,
10 (1 − gi )
4(α − | Q |)
Li , j ,4 = .
10 (1 − gi )
If the same modulation scheme is used for UL HARQ transmissions and the max Log-MAP
algorithm is used for turbo decoding, LLRs can be scaled by a constant and LLR calculations can
be further simplified. We have
⎧ (2 ⋅ I + α )
⎪ (1 − g ) , I ≤ −α
⎪ i
⎪ I
Li , j ,1 = ⎨ , | I |≤ α
⎪ (1 − g i )
⎪ (2 ⋅ I − α ) , α≤I
⎪ (1 − g )
⎩ i
⎧ (2 ⋅ Q + α )
⎪ (1 − g ) , Q ≤ −α
⎪ i
⎪ Q
Li , j ,2 = ⎨ , | Q |≤ α
⎪ (1 − gi )
⎪ (2 ⋅ Q − α ) , α ≤Q
⎪ (1 − g )
⎩ i
(α − | I |)
Li , j ,3 = ,
(1 − gi )
(α − | Q |)
Li , j ,4 = .
(1 − gi )
68
7 PRACH Receiver
Details of the PRACH receiver can be found in [10].
Format 0 and format 1 have the same preamble length. As a result, from front-end processing
point of view; they are treated as the same.
7.1.2 Decimation
The decimation filter can be designed as either an IIR filter or multiple stages of half band filters
69
and FIR filter.
If a 1024 pt FFT is used to obtain the frequency domain signal and the system bandwidth is 20
MHz, then the decimation rate is 24. In general, the decimation rate is two’s power times 3. To
decimate by 2, a half-band filter can be used.
exp(-jf/2t)
7.2.1 Overview
To meet the timing adjustment granularity requirement, a 4K-point FFT is used to detect the
preambles.
The root sequence (actually the DFT of the root sequence) applied to the preamble needs to be
removed first. So in the following we first go through the demasking sequence generation. There
are three methods provided below. The first two were proposed in December 2007 and included
here as background information.
To simplify the definition of detection interval, it may be necessary to adjust the incoming signal’s
timing, which can be acomplished through introducing a phase-ramp after demasking. Another
reason for adjusting the timing of the detection interval is to create buffer zone around the
detected preamble peak so its leakage into adjacent detection interval is controlled. One
consequence of creating buffer zone is that the supported cell radius is shrunk by a small amount.
The eNodeB is designed to support Ncs configuration 13. It is at the base station’s discretion to
70
go to the next Ncs configuration. Only at Ncs configuration 13, the eNodeB cannot go to the next
one to support a larger cell radius. The third reason to adjust the incoming signal’s timing is to
align the incoming signal when the samples used for front-end processing do not start right after
the cyclic prefix of the preamble.
Instead of
f u (k ) , now we can work with the index function:
I u (k ) = ukw(kw + 1) mod 2 N zc ,
and we have
f u (k ) = S ( I u (k )), k = 0, 1, L , N zc − 1.
71
uw = 1 + N zc m′,
for some m′ .
If w is odd , then
uw( w + 1) mod 2 N zc = (1 + N zc m′)( w + 1) mod 2 N zc = w + 1 mod 2 N zc
If w is even , then
uw( w + 1) mod 2 N zc = (1 + N zc m′) w + uw mod 2 N zc = w + uw mod 2 N zc .
So
⎧w + 1, wisodd
⎪
uw( w + 1) = ⎨w + uw, wiseven
⎪
⎩
I u (k + 1) − I u (k ) = u ((k + 1) 2 w2 + (k + 1) w) − u (k 2 w2 + kw)
= u ((2k + 1) w2 + w)
= uw2kw + uw2 + uw
= (1 + N zc m′)2kw + uw2 + uw
= 2kw + uw( w + 1)
⎧2kw + ( w + 1), wisodd
⎪
= ⎨2kw + ( w + uw), wiseven
⎪
⎩
Let
Δ
d1,u = 2 w mod 2 N zc
⎧w + 1 mod 2 N zc , wisodd
Δ
⎪
d 2,u = ⎨w + uw mod 2 N zc , wiseven
⎪
⎩
Δ
c(k ) = 2kw, k = 0, L, N zc − 1
2πk
Δ j
2 N zc
S (k ) = e , k = 0, 1, L , 2 N zc − 1
Then we have the following update rule:
d1,u d 2,u u = 1, L, N zc − 1 .
• Precalculate and store and for
72
• For
k = 0, 1, L, N zc − 2 ,
I u (k + 1) = I u (k ) + cu (k ) + d 2,u mod 2 N zc
-
cu (k + 1) = cu (k ) + d1,u mod 2 N zc
-
f u (k + 1) = S ( I u (k + 1)) (Read out the prestored value according to the index
-
I u (k + 1) )
• End
Update steps 4.a and 4.b can be implemented as conditional logic. For the update step
It can be seen that step 1 and step 2 need execution once offline, two tables of length
839 and one table of length 1678 can be easily stored and multiplication is avoided.
73
• Precalculate and store
d1,u
and
d 2,u
for
u = 1, L, N zc − 1 .
• For
k = 0, L, N zc − 3 ,
I u (k + 2) = 2 I u (k + 1) − I u (k ) + d1,u mod 2 N zc
-
-
f u (k + 2) = S ( I u (k + 2))
• End
•
t = I u (k + 1) + I u (k + 1) .
• If
t ≥ 2 N zc , then t = t − 2 N zc .
• If
t ≥ I u (k ) , then t = t − I u (k ) else t = t + (2 N zc − I u (k )) .
t = t + d1,u
• .
• If
t ≥ 2 N zc , then t = t − 2 N zc
• u
I (k + 2) = t .
Here t is an intermediate variable.
As
⎧even, k and w are odd .
⎪
k (kw + 1) = ⎨ odd , k is odd , w is even
⎪even,
⎩ k is even
We have with
• either k and w are odd
• or k is even,
m k (kw+1) N zc
jπ u
N zc jπ × mu ×anevennumber
e =e = 1.
74
For the case that k is odd and w is even, then
m k (kw+1) N zc
jπ u
N zc jπ × mu ×anoddnumber ⎧1, ifmu iseven.
e =e =⎨
⎩− 1, ifmu isodd .
m
When w is even, then uw is even, we can see that u has to be odd: otherwise
mu N zc + 1 = uw is odd which leads to a contradiction. Consequently the condition
PRACH detection interval for each preamble index should be defined such that the
detected preamble is confined within it as long as the UE is within the maximum supported
propagation distance.
As delay/advance in the time domain is converted into phase ramp in the frequency domain,
we can introduce a phase ramp at demasking to adjust the detection interval.
Now the demasking signal is defined as
conj ( D ( k )) × ~
xm ( k ),
~
xm ( k ) is the extracted 839 point signal in the frequency domain at antenna m .
where
Of course, to minimize the change in FPGA, the delay can be introduced after demasking
also:
75
πukw ( kw +1) j 2πkτ
j
)×~
TSEQ
xm ( k )) × conj ( e
N zc
( conj ( e ).
i =1 m =1
where
Ld is detection range, ym,i is the time domain signal at sample i and antenna
m and there are M antennas.
ym,i 1 ≤ i ≤ Ld
Assume that there is no PRACH transmission, , are contributed by noise.
So
Ld M Ld M
P( max ∑ | ym ,i |2 ≤ T ) = ∏P(∑ | ym,i |2 ≤ T )
i =1 m =1 i =1 m =1
M
= ( P( ∑ | ym ,i |2 ≤ T ))
Ld
m =1
M
F = maxiL=d1 ∑ | ym ,i |2
Let m =1 .
If the detection interval is aligned exactly with the timing point for zero-propagation delay,
then noise can make the detector to detect a “phantom peak'' in an adjacent detection interval.
Consequently, there is a need to set a buffer zone so the leakage into an adjacent detection
interval has decayed enough and won't be picked up as a preamble by the PRACH detector.
From figure, it can be seen that the decay is at least 16 dB if the buffer zone is 10 samples in 4K
76
domain. Taking a buffer zone of 10 samples in the 4K domain shortens the supported radius by
10
× 800 × 10−6
4096 × 3 × 108 = 293
2 meters.
A phase ramp in frequency domain can be used to introduce buffer zone in the detection
interval. Let the buffer zone size (counted in the 4K domain) be N buffer .
Ppeak
detection threshold = max(Tσ n2 , α leakage × Ppeak , )
839
= max(Tσ n2 , 0.025 × Ppeak )
Ppeak α leakage
where is the detected peak power among all samples in the 4K domain, is
α leakage = 0.025
the leaked power ratio to an adjacent interval ( if the buffer zone is 10 samples).
Noise variation needs to be estimated from the received signal to set the detection
threshold. The maximum of samples in each candidate detection interval is found. The maximum
samples from all the candidate detection intervals are sorted and the detection interval indices
corresponding to the bottom 14 are found. And samples in these detection intervals are treated
as noise. And the average power of the samples in these detection intervals is the noise variance
estimate.
The preamble generation as defined in 3GPP 36.211 is defined in the 839 domain. And a
4K IFFT is used to estimate the arrival time of the preambles, there is a problem to convert the
timing offset in the 4K domain.
In the 4K domain, we calculate
NFFT
I = floor ( N cs )
N zc N = 839 , N cs = 13, 15, 18, L .
, NFFT = 4096 , zc
•
77
• Determine the number of preambles generated from one ZC root sequence:
N zc
N preamble = floor ( )
N cs .
N preamble − 1
• for k=0 to
NFFT × N cs × k
start_locsround ( k ) = NFFT − 1 − round ( )
-
N zc
end_locsround ( k ) = start_locsround ( k ) − I + 1.
-
NFFT × N cs × k
start_locs ( k ) = NFFT −1 −
-
N zc
• end
It can be seen that all the preambles' detection intervals have the same length.
The estimated timing offset is given by
8 Measurements:
The following section describes the algorithms for instantaneous and long term measurements
that need to be done.
The following section describes post MMSE SINR that must calculated per user, per
subframe.
Input signals:
g i - MMSE gain per symbol
78
Output signal
SNRmmse
Temp = 0
for i = 1 : NumDataOFDMSymbols
⎛ g ⎞
Temp ← Temp + ⎜⎜ i ⎟⎟
⎝1 − gi ⎠
end
Temp
SNRmmse =
NumDataOFDMSymbols
Let Terasure be the threshold below which the absolute value of LLR are said to be in erasure. Let
CQI LLR be the vector that contains the LLRs corresponding to CQI information. If the number of
LLRs ( N LLR ), which is obtained based on the MPR of PUSCH transmission and the beta-offset,
is greater than 32, then the LLRs are circularly added modulo 32 and N LLR is set to 32.
Initialiaze num_erasures = 0;
For llr_index = 1: N LLR
num_erasures = num_erasures + 1;
end
end
LLR_Erasure = num_erasures/ N LLR
LLR Erasure metric is used in the power control mechanism for PUCCH. This metric is recorded
per user. The LLR erasure metric applied on the CQI information (format 2) transmitted in 10
symbols modulated with QPSK ( hence 20 LLRs) and it is calculated as follows
Let Terasure be the threshold below which the absolute value of LLR are said to be in erasure.The
value of it is set to 2.
Let CQI LLR be the vector which contains the LLR’s corresponding to CQI information
79
Initialiaze num_erasures = 0;
For llr_index = 1:20
If( CQI LLR < Terasure )
num_erasures = num_erasures + 1;
end
end
LLR_Erasure = num_erasures/20;
This section describes the long-term SINR estimation for PUCCH format 2/2A/2B, done for
purposes of power control as required in the KDDI scheduler algorithm description. The following
sub-sections describe the estimation of the average other-cell interference plus noise variance
component, the average in-cell and other-cell interference plus noise variance and finally, the
long-term SINR based on these metrics. The other-cell interference plus noise variance is needed
for purposes of bias correction of the signal strength estimator.
Input signals:
• vu ,m,i , j , hˆu ,m ,i , j
Output signal
i = PilotOFDMSymPosition(n, k )
for j = 1 : L
Temp = vu ,m ,i , j
for u = 1 : N u
80
end
2 2
σ ← σ + | Temp | 2 ,
end
end
end
end
2
σ
σ =
2
Input signals:
• vu ,m ,i , j , hˆu ,m ,i , j
Output signal
for k = 1 : NumPilotOFDMSymbolsPerSlot
i = PilotOFDMSymPosition(n, k )
for j = 1 : L
81
end
NRu = 0
Initialize: for u = 1,..., N u
DRu = 0
Temp = 0
for m = 1 : M
for n = 1 : N sl
for k = 1 : NumPilotOFDMSymbolsPerSlot
i = PilotOFDMSymPosition(n, k )
for j = 1 : L
Temp ← Temp + | hˆu ,m,i , j | 2
end
end
end
end
⎛
NRu = λ ( NRu ) + (1 − λ )⎜⎜
Temp
−σ 2
(q + 1) ⎞
⎝ MN sl L( NumPilotOFDMSymbolsPerSlot ) L( NumPilotOFDMSymbolsPerSlot ) ⎠
DRu = λ (DRu ) + (1 − λ ) σ u2 ( )
NRu
SINRu =
DRu
The following section provides the Doppler Estimation algorithm using PUCCH.
82
8.5.1 Correlation of Channel Estimates
For a user u,
for m = 1 : M
for n = 1 : N sl
for j = 1 : L
tempN1m ,n , j = hˆu ,.m.n , j hˆ prior1u ,.m.n , j
*
hˆ prior 2 u ,m ,n , j = hˆ prior1u ,m ,n , j
hˆ prior1u ,m ,n , j = hˆu ,m ,n , j
end
end
end
ρ est = 0
2
for m = 1 : M
for n = 1 : N sl
for j = 1 : L
temp N 1 ← temp N 1 + tempN1m,n , j
temp N 2 ← temp N 2 + tempN 2 m ,n , j
temp D ← temp D + tempDm,n , j
end
end
end
83
temp N 1
temp N 1 ←
MN sl L
temp N 2
temp N 2 ←
MN sl L
temp D
temp D ←
MN sl L
temp N 1
ρ est1
←
temp D
temp N 2
ρ est 2
←
temp D
⎛ 1 + SINR ⎞
ρ est _ avg ←⎜ ⎟ ρ est1 _ avg
⎝ SINR ⎠
1
⎛ 1 + SINR ⎞
ρ est _ avg ←⎜ ⎟ ρ est2 _ avg
⎝ SINR ⎠
2
f D _ est1 f D _ est2
TBD – results will be and
0.2
f D _ t arg et1 =
τ1
0.2
f D _ t arg et 2 =
τ2
if Single _Threshold
if f D _ est1 > f D _ t arg et1
Doppler_Estimate = HIGH
else
Doppler_Estimate = LOW
end
else
84
δ1 = abs ( f D _ est − f D _ t arg et
1 1
)
δ 2 = abs ( f D _ est − f D _ t arg et
2 2
)
if δ1 < δ 2
f D _ est _ min = f D _ est1
else
f D _ est _ min = f D _ est 2
end
if f D _ est _ min < f D _ t arg et 2
Doppler_Estimate=LOW
elseif f D _ est _ min > f D _ t arg et1
Doppler_Estimate=HIGH
else
Doppler_Estimate=MEDIUM
end
end
9 Conclusions
In this document we have presented the receiver algorithms for the eNodeB with multiple receive
antennas. It covers the PUSCH, PUCCH, PRACH receiver algorithms. At the subframe level we
discussed about antenna failure detection. As a part of PUSCH receiver processing, we also
discussed DTX detection, extraction of frequency domain signals specific to a user, time and
frequency offset estimation and correction, linear regression based channel estimation with time
domain pilot averaging, other cell interference plus noise co-variance estimation, multi-antenna
combining using IRC or MRC, equalization, LLR calculation and decoding. Further, we have
discussed the backend processing of PUSCH multiplexed with UCI, decoding of RI, CQI, A/N and
DTX detection. We then provide the per-user receiver implementation for control channel
(PUCCH). As a part of PUCCH processing we have discussed the A/N detection (pilots carrying
the A/N information - format 2A/2B), linear regression based channel estimation with time domain
pilot averaging per slot, interference plus noise variance estimation, MRC combining across
antennas and subcarriers, detection of SRI (Format 1), A/N (Format 1A/1B), decoding of CQI
(Format 2). As a part of SRS processing we have proposed phase beam former estimation using
power method. We then discussed receiver processing of PRACH followed by long term and
short term measurements that needs to be tracked at eNodeB including Doppler estimates.
85