Monday, February 8, 2021

PHICH Intricacies

1. PHICH is carried on 1st symbol of each sub-frame and located in same symbol as PCFICH

2. It will have values ACK/NACK 0/1

a) 0 is represented by 000 and 1 by 111 by MAC single repetition coding

b) Then multipication factor of 4/2 in case of Normal CP/Ext CP. It become

i. 0000 0000 0000

ii. 1111 1111 1111

c) Then these bits are BPSK modulated, scrambled and user specific wash sequence is applied.

d) Each RE can carry 1 symbol. So carry all the 12-bit PHICH info we need 12 RE’s or 3 REG.

3. 1 PHICH group will have 3REG's (4 X 3 RE’s )

a) 1 REG (group) = 4 RE’s

b) 12 subcarrier of PHICH is mapped to 1 PHICH group

c) 1 PHICH group can carry 8 users as there are 8 wash sequences available in LTE in normal CP and 4 users in Extended CP.

d) Suppose Ng =1 and BW = 50, the N-PHICH group = 7. No of simultaneous  PHICH’s information that cane be sent wil be 8*7 = 56 ACk/NACK for different users . No of RE’s used will be 7*3*4 = 84RE’s. (7 PHICH groups x 3 REGs per PHICH group x 4 REs per REG)  

4. Multiple PHICH can use same set of PHICH's. These PHICH is called as PHICH group.

5. Each PHICH in a PHICH group is mapped to each UE.

6. PHICH ACK/NACK belonging to same PHICH group always mapped to same RE’s, just thet are differentiated by orthogonal sequences. So 8-PHICH ACK/NACK can be carried on same PHICH group /same set of 12-RE’s

7. PHICH is always transmitted on the same antenna port as PBCH

a) Antenna -0 - generally

b) Antenna {0,1} - transmission diversity

c) Antenna {0,1,2,3,4} - when 4 Antenna port is used.

8. Due to PHICH channel the overhead increases. Although it decreases with increase with BW.

a) Number of PHICH channels depends upon the Ng - factor.

b) It is minimum when the Ng = 1/6.

c) It is maximum when the Ng = 2.

9. Each individually PHICH within a group is determined by

 



 

10. Number of PHICH groups is calculated by the below formula


 

11. Ng => PHICH Group Scaling Factor.

Details of number of RB’s and Ng  is present in MIB phich-Config


 

12. Below is the table for number of PHICH group for given BW and Ng calculations


 

13. Particular PHICH group and Sequence Index  is calculated by following formula

a) PHICH Group = ( Ilowest + nDMRS ) *mod( N group ) 

b) PHICH Sequence Index = ( [Ilowest / N group] + nDMRS ) * mod(Nseq) 

c) 

Ilowest = Lowest physical RB index allocated to slot-1 of PUSCH

nDMRS = Demodulation RS cyclic shift signaled within LTE DCI-0

N group = No. of PHICH groups

Nseq = No. of orthogonal sequences per PHICH group (Normal CP: 8 and Extended CP:4)

 

14. PHICH duration depends upon the PCFICH value.

15. PHICH Configuration

a) Normal PHICH duration, Normal CP - All the  PHICH Quadruplets ( 3REG/12 RE’s) are on the OFDM Symbol 0 of each sub-frame

b) Extended PHICH duration , Normal CP - All the PHICH Quadruplets ( 3REG/12 RE’s) are distributed in the OFDM symbol 0,1,2 of each sub-frame

 

 

 

 

Thursday, October 31, 2019

RLC layer in LTE

RLC - Basics

  • Maintains the L2 data link between the eNB and the UE in Uu- interface.
  • Input to RLC is RLC-SDU's from PDCP protocol containing Signaling messages and Packet Data
  • Output is RLC-PDU's to MAC protocol. These PDU's are given to MAC upon request from MAC/MAC Scheduler
  • The SDU's are segmented or concatenated and fitted into size as indicated by the MAC transmitter.
  • It reorders out of sequence PDU's from MAC due to MAC HARQ
  • Different modes of RLC is used depending upon logical channels.RRC determines the types of RLC mode to be used depending upon QOS , QCI and available radio resources during bearer setup.
RLC BASIC Block Diagram

- refer to the link to get the diagram
Figure 4.2.1-1: Overview model of the RLC sub layer of ETSI TS 136 322

RLC Modes of operation
  1. Transparent Mode( TM) - BCCH,PCCH,CCCH
    1. Unidirectional ( UL or DL) so a separate TM mode object is used for UL or DL. 
    2. SI, Paging, all messages where no SRB(signaling Radio Bearer) and DRB( Dedicated Radio Bearer) is used.
    3. SRB0 does not use TM mode.
  2. Un-acknowledge Mode (UM) - DL/UL DTCH
    1. Unidirectional (UL or DL). Messages which are delay sensitive, error tolerant messages. MBMS,VOIP services.
    2. Segmentation & concatenation at TX side and re-ordering at RX side of RLC SDU's
    3. Re-assembly and duplicate detection of RLC SDU's at RX end.
  3. Acknowledged Mode (AM) - DL/UL DTCH and  DCCH
    1. Bidirectional (UL and DL)  and All the features of UM RLC
    2. Re-transmission (Hybrid ARQ) and Re-segmenting f RLC PDU's
    3. Polling, Status reporting and prohibit

Block diagram of TM, UM and AM Modes of operation refer to
TM : Figure 4.2.1.1.1-1: Model of two transparent mode peer entities of ETSI TS 136 322
UM : Figure 4.2.1.2.1-1: Model of two unacknowledged mode peer entities of ETSI TS 136 322
AM : Figure 4.2.1.3.1-1: Model of an acknowledged mode entities of  ETSI TS 136 322

TM Mode : Nothing much to say, as it transparently passes it through

Description of UM Mode 
  1. TX Side
    1. RLC SDU's are segmented/concatenated to make UM PDU's according the max RLC size as indicated by MAC
    2. Includes RLC headers
  2. RX Side
    1. re-order the UM PDU's discard duplicated PDU's
    2. discard non receipt UM PDU's after expiry of t-reordering timer.
    3. re-assemble the PDU's and deliver to upper layers.
UM Parameters
  1. VT(US)-(Unacknowledged Send) => Holds the value of SN to be assigned to for the next UM-Data PDU's. It is updated once UMD PDU's is delivered to MAC.
  2. VR(UR)-(Unacknowledged Receive) =>  Holds the value of earliest SN for Rx UM for which ack is not rcevieved .
  3. VR(UX) - (UM - t-reordering variable)=> Holds the value of (SN +1)for which t-reordering is triggered.
  4. VR(UH)s - UM highest received state variable. Holds the value of highest SN for which the RX UM received among the PDU's. Serves as higher edge of receive window.

Description of AM Mode 
  1. Same AM mode object handles RX and TX.
  2. RRC control and data as well as RLC specific control information is transfered AM mode. 
  3. Periodically in AM TX module set “poll bit” in RLC PDU headers which tells AM RX to send “status PDU report”. This is the basis of re-transmission.
  4. If SNIR is failing MAC will request smaller PDU's then re-segmentation happen of the TX PDU packet.
AM Parameters
  1.  TX side  state variables
    1. VT(A) (Acknowledge)=> it is updated whenever the AM RLC entity receives a positive acknowledgment for an AM-Data PDU with SN. Serves as the lower edge of TX window.
    2. VT(MS)( Maximum Send) =>VT(A) + AM_Window_Size 
    3. VT(S) (Send) =>  Value of the SN to be assigned for the next newly generated AMD PDU.
  2. Rx Side state variables
    1. VR(R) (Receive) => Holds the value of the SN of the last in-sequence completely received AM-Data PDU. It will be the lower edge of RX window.
    2. VR(MR) (Maximum Receive)=>  VR(R) + AM_Window_Size, Higher edge of RX window
    3. VR(X) (Re-ordering state variable)=> Holds the value of SN of RLC data PDU which triggered t-Reordering 
    4. VR(MS)(Maximum Status) => Maximum value of SN which can be indicated in ACK_SN when STATUS PDU is constructed.
    5. VR(H) (Highest received). Highest SN among received PDUs.
          RLC - parameters and counters
          1. POLL_SN (Poll Send)- Hold the value of SN of AM-Data(AMD) for which poll bit is set. It is VT(S)-1. 
          2. PDU_WITHOUT_POLL -Number of PDUs sent since the most recent poll bit transmitted.
          3. BYTE_WITHOUT_POLL -Number of bytes since most recent poll bit transmitted
          4. RETX_COUNT - number of re-transmission count of PDU's
          5. AM_Window_Size - 512
          6. UM_Window_Size 
            1. 5bit- value set to 16
            2. 10bit - value set to 512
            3. UM RLC for MTCH,MCCH always set to '0'.
          7. Timers
            1. t-PollRetransmit -  AM Tx RLC entity in order to retransmit a poll .
            2. t-Reordering - Used by AM & UM Rx RLC entity in order to detect loss of RLC PDUs at lower layer. This timer is used to detect reception failures and to avoid excessine delays. After detecting PDU packet failure the Rx AM/UM  will wait for this timer before discarding them permanently and starts reassembly of next RLC PDU's .Only one re-ordering timer is running at any given time per RLC entity. 
            3. t-status Prohibit => This timer is used by the receiving side of an AM RLC entity in order to prohibit transmission of a STATUS PDU. if high value is configured, reslults in low frequency of status report  therby there is high probability of “send window size - 0' so reducing the transmission rate. A low value will result in timely acknoledgement of data , better transmisison rate but there will be wasting of resources.
            4. t-Reordering and t-statusPollbit is always made equal.
          RLC- TM Procedures
          1. TM Procedures
            1. TX Procedures (TMD - TM Data)
              1. TMD PDU's is submitted to  lower layer MAC without any modification as RLC SDU's
            2. RX Procedures
              1. RLC Rx entity will pass the TM PDU's  blocks transparently to higher layers as TMD SDU's
           RLC-UM Procedures
          1. Unacknowledged Mode Procedures  (UMD - UM Data)
            1. TX Procedures
              1. Upon UMD delivery to lower MAC layer it updates the  SN  in RLC header from VT(US)  and then increments VT(US) =  VT(US) +1
            2. RX Procedures
              1. Rx UM entity maintains the reordering window VR(UH)
              2. checks  if UM PDU's SN is outside  (VR(UH) – UM_Window_Size) <= SN < VR(UH). If it is outside the re-ordering window or if same SN is received it discards UMD PDU's.
              3. UMD PDU's is kept in reception buffer if it is within the reordering window updates the UM state variables and sets/resets the t-reordering timer, reassemble the RLC SDU's and deliver to upper layers.
          AM RLC Procedures
          1. AMC PDU's have higher priority than the AMD PDU's.
          2. AMD retransmission PDU's have higher priority than new AMD PDU's
          3. Tx Side Procedures
            1. VT(S),  VT(MS) are updated accordingly after transmission of AM PDU's
            2. Can receive STATUS PDU from peer AM Entity after successful reception of AMD  PDU's . Accordingly VT(A) is updated
            3. After all successful deliver to lower layer a confirmation can be sent to RRC or PDCP
          4. RX Side Procedures
            1. AM Rx maintains the window using the state variables VR(R) and VR(MS)
            2. Upon receiving AM PDU's checks fo duplication of AM PDU's if not it places in reception buffer and updates the state variables.
            3. If the SN is outside the RX window , update the V(H )to V(H) = SN+1 
            4. If all the packets are received, the rx window is move forward with VR(R) to SN of first AMD PDU with SN > current VR(MS).
          ARQ procedures
          1. Present in the AM Entity Only
          2. Re-transmission
            1. when STATUS PDU shows AMD PDU or portion of MD PDU is partially transmitted to AM Rx entity.
            2. If SN is between the TX window
              1. 1st time re-transmission - set the RETX_COUNT =0 and re-transmit the AMD PDU
              2. Not 1st time  - increase the count of RETX_COUNT and re-transmit.
              3. if RETX_COUNT = maxRetxThreshold , the indicate to upper layer.
            3. if AMD PDU size is equal to size specified by MAC then it updated the P-bit otherwise segmentation is done before delivering to lower layer.
            4. When making new segment the data field is copied but RLC header is updated according to new segment and P-bit is also updated accordingly.
          3. Polling -  Done for triggering the STATUS report
            1. Upon transmission of  AMD PDU's update PDU_WITHOUT_POLL, BYTE_WITHOUT_POLL. 
            2. Poll bit is Inserted if 
              1. PDU_WITHOUT_POLL > = pollPDU
              2. BYTE_WITHOUT_POLL >=pollBYTE  
              3. reset the PDU_WITHOUT_POLL, BYTE_WITHOUT_POLL upon transmission
            3. If the TX  and re-transmission buffer in AM entity becomes empty  or no new AMD PDU is transmitted due to window stalling the set the Poll - bit.
            4. After transmission of poll packet , update POLL_SN = VT(S) -1 and start/restart the t-PollRetransmit.
            5. Upon expiry of t-PollRetransmit AM Tx entity will transmit 
              1. AMD PDU whoose SN = VT(S)-1 or 
              2. send any AMD PDU's in retransmission buffer with including  poll-bit.
          4. Status Reporting
            1. RRC configures if status prohibit functionality can be used by AM entity
            2. Status Reporting is triggered by 
              1. Polling from peer AM entity
              2. AMD PDU's with P-bit =1
              3. AM Rx Entity send STATUS upon expiry of its t-Reordering timer. this timer is expired if it did not receive any RLC PDU's from lower layers.

            3. Upon sending STATUS_REPORT the AM Rx entity sets the status prohibit.

          RLC Configurable parameters from RRC
          1. maxRetransThreshold
            1. used by AM Tx Entity
          2. pollPDU 
            1. used by AM Tx Entity to trigger poll after every pollByte PDU's.
          3. pollBytes
            1. used by AM Tx Entity to trigger poll after every pollByte PDU's.
          4. sn-FieldLength 
            1. used by AM/UM for max SN
          5. Enable /Disable Status Prohibit 

          References

          Good basic reference
          https://ltequery.blogspot.com/












              Sunday, September 25, 2016

              My Idea of cleaning the GANGES.

              G A N G E S - the word for me is purity. I am feeling very bad that is is thoroughly polluted.
              It is polluted because of Government apathy. I have really excited that MODI sarkar has taken it on Agenda.

              My action plan for cleaning Ganga

              1) There should be a pollution monitoring  unit for measuring pollution level before and after each village/town/city through which the Ganga flows .It should be recorded daily and should be published every month.
              2) Simultaniously



              I do not know/access to scientific data of the levels of pollution in different years. But i have the opinion that
              it might have increased every year. the rate of pollution would have


              Thursday, July 24, 2008

              How to make India beautiful

              hi All,

              This the question i used to ask myself every time i visited a foreign land. Why is India is most
              Littered country ( my self-proclaimed ranking), but it would definitely be the front-runner. What is perplexing me is cleanliness is there in our Hindu culture and the same Hindu will go and litter once out of the house.

              Saturday, May 17, 2008

              Intoduction

              hi guys/gals,
              I have arrived to the world of blogging. please welcome me

              PHICH Intricacies

              1.  PHICH is carried on 1st symbol of each sub-frame and located in same symbol as PCFICH 2.  It will have values ACK/NACK 0/1 a)  0 is repr...