Thursday, February 19, 2015

Relation between "DL Rate Matched Bits Sum" and Reference Signal

Following rules applied to subframes that are not subframe0 and subframe5 (subframe9 without paging)

For normal cyclic shift (7 OFDM symbols in a slot)
antenna port 0 and antenna port 1 occupied REs in 1 PRB for 1 codeword excluding PDCCH and PCFICH is 12 REs
antenna port 2 and antenna port 3 occupied REs in 1 PRB for 1 codeword excluding PDCCH and PCFICH is 8 REs
antenna port 5 occupied REs in 1 PRB for 1 codeword is 12 REs
antenna port 15 and antenna port 16 occupied REs in 1 PRB is 2 REs
antenna port 7 and antenna port 8 occupied REs in 1 PRB is 12 REs

For TM3 2x2 10MHz CFI=1
Number of available REs is 7200
1 codeword with 64QAM modulation, bits rate is 7200 * 6 = 43200 bits/msec
2 codeword with 64QAM modulation, bits rate is 7200 * 6 * 2 = 86400 bits/msec

For TM4 4x2 (4x4) 10MHz CFI=1
Number of available REs is 7200 - 400 = 6800
1 codeword with 64QAM modulation, bits rate is 6800 * 6 = 40800 bits/msec
2 codeword with 64QAM modulation, bits rate is 6800 * 6 * 2 = 81600 bits/msec

For TM9 2x2 10MHz CFI=1
For non-CSI-RS subframes
Number of available REs is 7200 - 600 = 6600
1 codeword with 64QAM modulation, bits rate is 6600 * 6 = 39600 bits/msec
2 codeword with 64QAM modulation, bits rate is 6600 * 6 * 2 = 79200 bits/msec

For CSI-RS subframes
Number of available REs is 7200 - 600 - 100 = 6500
1 codeword with 64QAM modulation, bits rate is 6500 * 6 = 39000 bits/msec
2 codeword with 64QAM modulation, bits rate is 6500 * 6 * 2 = 78000 bits/msec

For TM9 4x2 (4x4) 10MHz CFI=1
For non-CSI-RS subframes
Number of available REs is 7200 - 600 - 400 = 6200
1 codeword with 64QAM moudulation, bits rate is 6200 * 6 = 37200 bits/msec
2 codeword with 64QAM modulation, bits rate is 6200 * 6 * 2 = 74400 bits/msec

For CSI-RS subframes
Number of available REs is 7200 - 800 - 400 - 100 = 6100
1 codeword with 64QAM moudulation, bits rate is 6100 * 6 = 36600 bits/msec
2 codeword with 64QAM modulation, bits rate is 6100 * 6 * 2 = 73200 bits/msec


For subframe0 and subframe5, PBCH, PSS and SSS would take away some REs.

PBCH would occupy extra 72 * 4 - (4 * 6) - (4 * 6)= 240REs
PSS and SSS would occupy extra 72 * 2 = 144REs

Note: for subframe0, TM3 2x2 total available REs for PDSCH is equal to 7200 - 240 - 144 -24 = 6792REs

Tuesday, December 9, 2014

LTE basic timing unit Ts introduction

In LTE, basic timing unit Ts is defined as 1/(15000 * 2048) seconds. The reason behind this definition is as follows:

1. Ts is sampling time for one OFDM symbol with 2048 points IFFT. So the OFDM symbol duration in time domain is exactly 2048 * Ts = (1/15000) seconds

2. Ts is exactly multiple of UMTS and 1xEV-DO chip rate. In UMTS, the chip rate is 3.84Mcps and in 1xEV-DO, chip rate is 1.2288Mcps. This would greatly reduce the complexity of chipset.

Tuesday, December 2, 2014

LTE system information block introduction (SystemInformationBlockType1)

SystemInformationBlockType1 has basic serving cell information and scheduling of other System Information. This concept should be separated from SIB2 and other SIBs.

(1) cellSelectionInfo
IE q-RxLevMin. This value is used to determine lowest RSRP value to consider serving cell as valid cell.

q-RxLevMin * 2 = Qrxlevmin in 36.304

The cell selection criterion S is fulfilled when:

Srxlev > 0 AND Squal > 0

where 

Srxlev = Qrxlevmeas - (Qrxlevmin - Qrxlevminoffset) - Pcompensation
Squal = Qqualmeas - (Qqualmin - Qqualminoffset)
Pcompensation = max(PEMAX - PPOWERCLASS, 0)
PEMAX is maximum TX power at UE
PPOWERCLASS is maximum RF output power of UE according to UE power class defined in 36.101

Qrxlevmeas and Qqualmeas is measured power in RSRP and RSRQ respectively. 
Qrxlevminoffset and Qqualminoffset are not applicable for initial cell search. 
Qqualmin = IE q-QualMin, if not present, default value negative infinity shall be applied. 36.331 6.2.2
PEMAX = IE p-Max, if not present, maximum power according to UE capability shall be used. 
PPOWERCLASS is 23dBm if not specifically defined. 

Following is an example of defining a valid serving cell in terms of cell selection criteria. 

If q-RxLevMin = -70 and no other IEs are present in SystemInformationBlockType1. Qrxlevmeas = -130dBm. Qqualmeas is -6dB

Srxlev = -130dBm - (-140dBm - 0) - 0 = 10dBm > 0
Squal = -6dB - (- infinity - 0) = positive infinity > 0

This cell would be considered as valid cell. Also, from above equation, it is clear that once parameter q-QualMin is not present, only RSRP value is considered for cell evaluation. 

(2) plmn-IdentityList
IE plmn-Identity has structure of PLMN list with MCC (Mobile Country Code) and MNC (Mobile Network Code). MCC has 3 digits and MNC has 2 digits.

(3) cellReservedForOperatorUse
Is this cell reserved for operator. Used in case someone accidentally shut down live cell.

(4) trackingAreaCode 
16-bits string. Shared for all PLMNs listed in the same bracket. Usually converted back to decimal.

(5) cellIdentity
28-bits string. Starting from left, first 20-bits is eNBId and rest 8-bits is cell PCI.

(6) cellBarred
Indicate if cell is barred or not.

(7) intraFreqReselection
Used to control cell reselection to intra-frequency cells when the highest ranked cell is barred, or treated as barred by the UE, as specified in TS 36.304

(8) csg-Indication
If set to TRUE the UE is only allowed to access the cell if it is a CSG member cell, if selected during manual CSG selection or to obtain limited service, see TS 36.304

(9) freqBandIndicator
Indicate the current frequency band

(10) si-Periodicity
Periodicity of the SI-message in radio frames, such that rf8 denotes 8 radio frames, rf16 denotes 16 radio frames, and so on.

(11) si-WindowLength
Common SI scheduling window for all SIs. Unit in milliseconds, where ms1 denotes 1 millisecond, ms2 denotes 2 milliseconds and so on.

(12) systemInfoValueTag
Common for all SIBs other than MIB, SIB1, SIB10, SIB11, SIB12 and SIB14. Change of MIB and SIB1 is detected by acquisition of the corresponding message.

LTE system information block introduction (SIB2)

SystemInformationBlockType2 contains radio resource configuration information that is common for all UEs.


(1) pcch-Config
defaultPagingCycle and nB defines Paging frame and Paging Occasion that UE should wake up in Paging-DRX (Known as idel-DRX, Not C-DRX, which is connected-DRX) mode to monitor for paging information.

PF (Paging Frame) is given by following equation:

SFN mod T = (T div N) * (UE_ID mode N)                                                             3GPP 36.304 7.1

PO (Paging Occasion) is defined by following Table from 3GPP 36.304 7.2

T is IE defaultPagingCycle under pcch-Config. If not broadcast-ed, default value will be applied.
N = min(T, nB)
Ns = max(1, nB/T)
UE_ID = IMSI mod 1024 (36.304 7.2)
i_s = floor(UE_ID/N) mod Ns

Following is a example of calculating PF and PO for IMSI 262800620200162

defaultPagingCycle = rf128
nB = 1T

=> T = 128; N = min(T, 1T) = 128; Ns = max(1, nB/T) = 1; UE_ID = 262800620200162 mod 1024 = 226; i_s = floor(226/128) mod Ns = 0
=> PF SFN satisfies SFN mod 128 = (128 div 128) * (226 mod 128)
=> PF SFN = 128k + 98, k = 0, 1, 2, ..... , 7

According to above table, PO is 9 which means subframe 9. 

So idle mode DRX UE would wake up starting SNF98, subframe 9 and every 128 radio frames to monitor Paging PDCCH. 

(2) bcch-Config
modificationPeriodCoeff defines master information block and system information block modification period actual modification period = modificationPeriodCoeff * defaultPagingCycle. In above example, it is 256 radio frames. So if there is any system information update (IE systemInfoValueTag in systemInformationBlockType1 has changed in sfn 5), the new system information will be effective in 256 radio frames counting from sfn0. 

(3) uplinkPowerControlCommon
p0-NominalPUSCH means the expected arrival power of PUSCH at eNB side. If arrived PUSCH power is higher or lower than this value, eNB would send TPC to UE to adjust PUSCH power. 
p0-NominalPUCCH, same as above. 
alpha is used to calculate PUSCH transmission power
deltaFList-PUCCH-FormatX is used to calculate PUCCH transmission power. 0 means 0dB and 3 means 3dB

(4) deltaPreambleMsg3
Used to calculate Msg3 transmission power, actual value = IE value * 2 in dB

(5) pucch-ConfigCommon
deltaPUCCH-Shift is used to determinate orthogonal sequence index for PUCCH-format1, 1a and 1b. ds1 corresponds to value 1 and etc. 36.211 5.4.1
nRB-CQI denotes the bandwidth in terms of resource blocks that are available for use by PUCCH formats2, 2a/2b in each slot. 36.211 5.4
nCS-AN is used to determinate orthogonal sequence index for PUCCH-format. 36.211 5.4
n1PUCCH-AN participates in deciding which PUCCH resource for UE to use to transmit HARQ. 36.213 10.1

(6) pdsch-ConfigCommon
referenceSignalPower is used to derive downlink cell-specific reference signal EPRE. 36.213 5.2
p-b is parameter PB, used to determinate the ratio of PDSCH EPRE to cell-specific EPRE among PDSCH RE for each OFDM symbol. 36.213 5.2 Table 5-2-1, 5-2-2 and 5-2-3

(7) pusch-ConfigCommon
n-SB represents number of sub-bands in UL. 36.211 5.3.4
hoppingMode is parameter Hopping-mode in 36.211 5.3.4
pusch-HoppingOffset is parameter N(HO/RB) in 36.211 5.3.4
groupHoppingEnabled. See 36.211 5.5.1.3
groupAssignmentPUSCH is DeltaSS in 36.211 5.5.1.3
sequenceHoppingEnabled. See 36.211 5.5.1.3
cyclicShift. See 36.211 5.5.1.3

(8) soundingRS-UL-ConfigCommon
srs-BandwidthConfig is SRS Bandwidth Configuration, used together with UE-specific srs-Bandwidth to calculate mSRS,b. 36.211 5.5.3.2
srs-SubframeConfig is SRS Subframe Configuration 36.211 5.5.3.3
ackNackSRS-SimultaneousTransmission is parameter Simultaneous-AN-SRS 36.213 8.2

(10) ul-CyclicPrefixLength
len1 is normal cyclic prefix and len2 is extended cyclic prefix.

(11) ue-TimersAndConstants
T300: START at transmission of RRCConnectionRequest and STOP at reception of RRCConnectionSetup or RRCConnectionReject, cell-reselection and upon abortion of connection establishment by upper layers.
T301: START at transmission of RRCConnectionReestablishmentRequest and STOP and Reception of RRCConnectionReestablishment or RRCConnectionReestablishmentReject message as well as when the selected cell becomes unsuitable.
T310: START upon detecting physical layer problems for the PCell i.e. upon receiving N310 consecutive out-of-sync indications from lower layers and STOP upon receiving N311 consecutive in-sync indications from lower layers for the PCell, upon triggering the handover procedure and upon initiating the connection re-establishment procedure.
N310: Maximum number of consecutive "out-of-sync" indications for the PCell received from lower layers. If UE missed PSS/SSS for 10ms, it would consider as 1 indicaiton of out-of-sync.
T311: START upon initiating the RRC connection re-establishment procedure and STOP at selection of a suitable E-UTRA cell or a cell using another RAT.
N311: Maximum number of consecutive "in-sync" indications for the PCell received from lower layers. If UE received PSS/SSS for 10ms, it would consider as 1 indication of in-sync.

(12) timeAlignmentTimerCommon
TimeAlignmentTimer is used to control how long the UE considers the serving cells belonging to the associated TAG to be uplink time aligned. Corresponds to the Timer for time alignment in TS 36.321. Value in number of sub-frames. Value sf500 corresponds to 500 sub-frames, sf750 corresponds to 750 sub-frames and so on.

Friday, November 28, 2014

LTE PDCCH introducton

PDCCH is also called heart of LTE. 1 PDCCH consist of 1, 2, 4 or 8 CCEs. 1 CCE = 9 REG, 1 REG = 4REs, with QPSK modulation, 1 RE could carry 2 bits information. In total, 1CCE has 36RE * 2 bits = 72 bits. There are 4 different PDCCH formats mapped to 4 different CCE aggregation levels (1, 2, 4, 8).

Search Space is defined Sk = L * {(Yk + m') mod floor(NCCE,k/L)} + i

For common search space, L is 4 or 8; For UE-specific search space, L is 1, 2, 4 or 8
NCCE,k is total number of CCEs in subframe k
i = 0, 1, ...... L-1
For common search space, m' = m; For UE-specific search space, if no carrier indicator field is configured on UE, m' = m; else m' = m + M(L) * nCI,  wehre nCI is the value of carrier indicator, M(L) is the number of PDCCH candidates to monitor in the given search space.
m = 0, 1, ..... M(L)-1

Following table is quoted from 3GPP 36.213 9.1.1

For common search space, Yk is set to 0 for L = 4 or 8
For UE-specific search space, Yk = (A * Yk-1) mod D, where Y-1 = nrnti, A = 39827, D = 65537, k = floor(ns/2), ns is the slot number in a radio frame.

Following is an example of calculating C-RNTI = 135, UE-specific search space starting point:
For k=0 (ns = 0 or 1, subframe 0),

LTE attach procedure after random access

After random access, UE acquired some RRC dedicated configuration, but in order to establish DRB, UE has to follow NAS protocol and make connection with MME to setup signaling channel.

NAS protocol is in 3GPP 24.301, to search certain IE from ASN decoded log in 24.301, add space between each word. I.E. Search "MMEGroupID", use string "MME Group ID"

Following NAS procedure is quoted from http://www.sharetechnote.com/



Following is a very good chart explained all channels of all layers. Also quoted from http://www.sharetechnote.com/
Comments regarding UE attach procedure
1. IE ESMInformationTransferFlag in attachRequest (RRCConnectionComplete) has to be set to '01'H in order for MME to send ESMInformationRequest. UE has to respond ESMInformationRequest with ESMInformationResponse which contains requested APN information.
2. After proper detach, when attach again, UE will not need to be authenticated again for certain amount of times depending on MME's configuration.
3. If UENetworkCapability is included in attachRequest or trackingAreaUpdateRequest, MME will send authenticationRequest to UE.

LTE troubleshoot case analysis (1)

1. Issue description:
Observed from eNB baseband log that at every subframe 9, eNB detected DTX for PDSCH transmission. And for subframe 3, eNB NACKed every PUSCH transmitted by UE.

2. Troubleshoot steps:
  (1) Since UL grant information is missed in baseband log, used Sanjole Intelijudge captured UL grant for 10secs.
  (2) From Intelijudge log, it showed that eNB gave UE UL grant at subframe 7 and subframe 9. The subframe 9 grant has CSI-requested bit set to 1; the subframe 7 grant has CSI-requested bit set to 0.
  (3) By comparing UE log, Intelijudge capture and eNB log, UE missed UL grant at subframe 9 (This is very hard to tell why).
  (4) With above missing, the whole process can be explained logically as follows:
      <1> At subframe 9, eNB sent UL grant with CSI-requested bit set to 1 (DL buffer size exceed threshold and a-periodic CQI report interval is 10ms). However, UE missed this grant.
      <2> At subframe 3, eNB was expecting UE to report CQI with PUSCH transmission but didn't get anything. Since this is interpreted as DTX, at subframe 7, eNB send ACK on PHICH and decided to use adaptive re-transmission. UE successfully decode this UL grant and at subframe 1, UE send PUSCH data, which is ACKed by eNB at subframe 5.

3. Conclusion:
The root cause is UE missed the DCI format 0 at subframe 9 and result in following consecutive consequences.