Structure of Multi-Frame

There are two different kind of Multi-Frames in GSM. One is called 'Control Multiframe' and the other one is called 'Traffic Multi Frame'. (Do you remember where the multiframe is located in overall GSM frame structure ? Let's refresh our memory. Slot --> Frame --> MultiFrame (Control Multiframe, Traffic MultiFrame) --> Super Frame --> HyperFrame. Do this questions and answer by yourself whenever you have chance until your brain automatically pops up a frame structure diagram as soon as you see some key words related to GSM frame).

Following is one example showing a control multiframe. As I said, even a single multi frame has 51 x 8 slots, so it is very hard to visualize the full details on a page. You will see a better way to visualize this structure at later section, for now just try to get some 'sense(feeling)' of how a multiframe looks like. One thing worth noticing would be the first slot in each frame seems to be used as some control channel. In this diagram, the second slot in each frame is being used as a control channel but it is not always the case.

Following is the common example of a Traffic Multiframe. This illustration shows 26-multiframe structure for TCH/FR and TCH/ER. This example shows 2 users using full rate voice traffic channels. (One user uses the slot 2 at every frame and the other user use the slot 4 at every frame).
At the center of the 26-frame traffic channel multiframe (i.e, Frame 12) is the Slow Associated Control Channel (SACCH) which carries link control information to and from the MS–BTS. At the last frame is 1 idle frame. All the remaining frame are allocated for Traffic. There is no dedicated FACCH frame or slots. FACCH steals TCH whenever it needs.




Following is an example of control channel multiframe structure for Beacon Channel (Base Control Channel) which is made up of FCCH, SCH, BCCH, CCCH. The illustration below is for Downlink multiframe structure. In Uplink base control channel case, every frame is for single channel - RACH. Some key facts about DL Base Control Channel are
  • There are five FCCH equally spaced within the 51 multiframe.
  • Each FCCH is followed by a SCH, meaning that there are five SCH as well.
  • Four frames (Frame 2~5) are allocated for BCCH.
  • The last frame (Frame 50) is allocated for Idle.
  • All the remaining Frames are allocated for CCCH(e.g, PCH or AGCH).





Ttypes of Burst in GSM


In almost every wireless communication, we use various kind of channel types. Each of those different channel tend to have its own physical (or transport layer) structure. In GSM as well, we have many different types of physical and logical channels and each of these channel types are using its own physical structure at the level of a slot (Burst). Followings are the types of Burst being used in GSM/GPRS.

 Frequency Correction Burst 
  • This burst format is used by FCCH channel only.
  • The whole data space (142 bits) is used for unmodulated carrier (pure sinusoid) or carrier modulated with all zero bits.
  • The frequency is 1625/24 kHz (or approximately 67 kHz).
  • This pure carrier is the ‘identity’ of a beacon frequency (also called BCCH-frequency or base-frequency) and FCCH slot.

Synchronization Burst
  • This burst format is used by SCH channel only.
  • This channel makes a mobile station time-synchronized with the base station clock. That is why the synchronization training sequence is very large for this burst comparing to other burst types.
  • Only one training sequence is defined for this burst.

 Access Burst 
  • This burst format is used by RACH and AGCH channels.

When a mobile station sends an RACH message and receives an AGCH reply, neither MS nor the BTS does have the timing-advance information. For that reason, the actual message is relatively short and have a long guard band (GB) in order to make sure that there will be no overlap with the next burst. The length of the guard band in the access burst (68.25 bits x 3.69 = 251.16 ms) is equivalent to 37.5 km propagation delay. The GSM allows a cell radius up to of 35 km. That is, an RACH message from an MS at a distance of up to 35 km from the base station can reach to the base station antenna without overlapping the next burst. The FACCH channel uses this burst during handover operation (when the timing advance of new cell is not yet known). Only one training sequence is defined for this burst.

 Normal Burst
  • This burst format is used by all other channels (except FCCH, SCH, RACH and AGCH).
  • This normal burst is used by TCH, SDCCH, SACCH, FACCH, BCCH and PCH.
A few important features of the burst is stated below.
o Maximum 57 x 2 = 114 bits of voice/data per burst
o Flag bit is to indicate if the channel is carrying user traffic (Flag = 0) or control message bits (Flag = 1).
That is the flag is 0 for TCH and 1 for others.

 Dummy Burst 

This is like normal burst but has no meaning of its payload bits.

SIB Scheduling in LTE

In LTE, MIB, SIB1, SIB2 is mandated to be transmitted for any cells. Since many of the SIB are transmitted, it should be transmitted in such a way that the location (subframe) where a SIB is transmitted should not be the same subframe where another SIB is transmitted.

Overall SIB Scheduling concept is as follows. As you see
i) MIB is transmitted at a fixed cycles (every 4 frames starting from SFN 0)
ii) SIB1 is also transmitted at the fixed cycles (every 8 frames starting from SFN 0).

iii) All other SIB are being transmitted at the cycles specified by SIB scheduling information elements in SIB1


You may notice that LTE SIB1 is very similar to WCDMA MIB.
Especially at initial test case development, you have to be very careful about item v). If you set this value incorrectly, all the other SIBs will not be decoded by UE. And as a result, UE would not recognize the cell and show "No Service" message.

According to 36.331 section 5.2.1.2, the MIB scheduling is as follows :
The MIB uses a fixed schedule with a periodicity of 40 ms and repetitions made within 40 ms. The first transmission of the MIB is scheduled in subframe #0 of radio frames for which the SFN mod 4 = 0, and repetitions are scheduled in subframe #0 of all other radio frames.

According to 36.331 section 6.2.2 Message definitions - MasterInformationBlock field descriptions, the System Frame Number in MIB is specified as follows :
Defines the 8 most significant bits of the SFN. As indicated in TS 36.211 [21, 6.6.1], the 2 least significant bits of the SFN are acquired implicitly in the P-BCH decoding, i.e. timing of 40ms P-BCH TTI indicates 2 least significant bits(within 40ms P-BCH TTI, the first radio frame: 00, the second radio frame: 01, the third radio frame: 10, the last radio frame: 11). One value applies for all serving cells (the associated functionality is common i.e. not performed independently for each cell).

According to 36.331 section 5.2.1.2, the SIB1 scheduling is as follows :
The SystemInformationBlockType1 uses a fixed schedule with a periodicity of 80 ms and repetitions made within 80 ms.The first transmission of SystemInformationBlockType1 is scheduled in subframe #5 of radio frames for which the SFNmod 8 = 0, and repetitions are scheduled in subframe #5 of all other radio frames for which SFN mod 2 = 0.

This means that even though SIB1 periodicity is 80 ms, different copies (Redudancy version : RV) of the SIB1 is transmitted every 20ms. Meaning that at L3 you will see the SIB1 every 80 ms, but at PHY layer you will see it every 20ms. For the detailed RV assignment for each transmission, refer to 36.321 section 5.3.1 (the last part of the section)

The transmission cycles for other SIBs are determined by schedulingInfoList in SIB1 as shown in the following example (This example is the case where SIB2 and 3 are being transmitted).

        +-schedulingInfoList ::= SEQUENCE OF SIZE(1..maxSI-Message[32]) [2]
        | +-SchedulingInfo ::= SEQUENCE
        | | +-si-Periodicity ::= ENUMERATED [rf16]
        | | +-sib-MappingInfo ::= SEQUENCE OF SIZE(0..maxSIB-1[31]) [0]
        | +-SchedulingInfo ::= SEQUENCE
        |   +-si-Periodicity ::= ENUMERATED [rf32]
        |   +-sib-MappingInfo ::= SEQUENCE OF SIZE(0..maxSIB-1[31]) [1]
        |     +-SIB-Type ::= ENUMERATED [sibType3]
        +-tdd-Config ::= SEQUENCE OPTIONAL:Omit
        +-si-WindowLength ::= ENUMERATED [ms20]

One thing you would notice that sib-MappingInfo IE in the first node is not specified, but the first entity of schedulingInfoList should always be for SIB2 as specified in the 36.331 as follows (See 36.331 SystemInformationBlockType1 field description).

List of the SIBs mapped to this SystemInformation message.There is no mapping information of SIB2; it is always
present in the first SystemInformation message listed in the schedulingInfoList list.

Understanding overall cycle in the unit of Subframe number is pretty straightforward to understand. But understanding exactly at which subframe a SIB should be transmitted is not that straightforward as you might think. It is related to 'si-WindowLength'. si-WindowLength tells that a SIB should be transmitted somewhere within the window length starting at the SFN specified by si-Periodicity. But this parameter does not specify the exact subframe number for the transmission.

The subframe for a specific SIB transmission is determined by a algorithm defined in 36.331 5.2.3 Acquisition of an SI message as follows.

When acquiring an SI message, the UE shall:
1> determine the start of the SI-window for the concerned SI message as follows:
    2> for the concerned SI message, determine the number n which corresponds to the order of entry
         in the list of SI messages configured by schedulingInfoList in SystemInformationBlockType1;
    2> determine the integer value x = (n – 1)*w, where w is the si-WindowLength;
    2> the SI-window starts at the subframe #a, where a = x mod 10, in the radio frame for which SFN mod T =
FLOOR(x/10), where T is the si-Periodicity of the concerned SI message;
NOTE: E-UTRAN should configure an SI-window of 1 ms only if all SIs are scheduled before subframe #5 in
radio frames for which SFN mod 2 = 0.

1> receive DL-SCH using the SI-RNTI from the start of the SI-window and continue until the end of the SI-window
whose absolute length in time is given by si-WindowLength, or until the SI message was received, excluding the
following subframes:
     2> subframe #5 in radio frames for which SFN mod 2 = 0;
     2> any MBSFN subframes;
     2> any uplink subframes in TDD;
1> if the SI message was not received by the end of the SI-window, repeat reception at the next SI-window occasion
for the concerned SI message;


TFI and TFCI


TFI stands for Transport Format Indicator TFCI stands for Transport Format Combination Indicator. As you see in the following diagram each Transport Block has one TFI attached to it. In physical layer, multiple transport blocks are combined into a large 'transmission frame'. This combined transmission frame is called Coded Composite Transport Channel (CCTrCh). Each CCTrCH frame gets its own indicator which is called TFCI.


TFI plays roles as follows.
  • The TFI is a label for a specific transport format within a transport format set.
  • It is used in the inter-layer communication between MAC and L1 each time a transport block set is exchanged between the two layers on a transport channel.
  • When the DSCH is associated with a DCH, the TFI of the DSCH also indicates the physical channel (i.e. the channelisation code) of the DSCH that has to be listened by a UE
TFCI plays roles as follows.
  • This is a representation of the current Transport Format Combination.
  • The TFCI is used in order to inform the receiving side of the currently valid Transport Format Combination, and hence how to decode, de-multiplex and deliver the received data on the appropriate Transport Channels.
  • There is a one-to-one correspondence between a certain value of the TFCI and a certain Transport Format Combination.
  • MAC indicates the TFI to Layer 1 at each delivery of Transport Block Sets on each Transport Channel. Layer 1 then builds the TFCI from the TFIs of all parallel transport channels of the UE, processes the Transport Blocks appropriately and appends the TFCI to the physical control signalling.
  • Through the detection of the TFCI the receiving side is able to identify the Transport Format Combination.


Scrambling Code in WCDMA


Let's suppose you are a NodeB. You will getting various signals from many different users (UEs) all at the same time. Then how would you differentiate the incoming signals into separate users at the very low level of your hardware ?. Of course you can figure out exactly which user you are dealing with at higher layer with various type of user ID (UE ID), but my question is how to figure out each user at PHY layer ?

Now let's assume that you are a UE. You may be hearing many signals from multiple NodeBs simultaneously. Then how would you differentiate the incoming signals into separate NodeB at the very low level of your hardware ?

The answer to both of the question is same. It is "Scrambling Code". By using the scrambling code, NodeB can separate signals coming simultaneously from many different UEs and UE can separate signals coming simultaneously from many different NodeB.



Now let's look into how/where the scrambling code works. Following illustration shows the procedure about the data processing in physical layer.  As you see in the following diagram, "Scrambling" happens at the chip rate of the signal processing. Since the chip rate of the scrambling code is the same as the chip rate of the chanelization code scrambling does not change the signal data rate.


A specific bit sequence which is used for scrambling is called 'Scrambling code'.

There are two types of scrambling codes : long scrambling code and short scrambling code. Long scrambling code(38400 chips) derived from Gold codes and short codes (256 chips) derived from S(2) codes.  
Then which type of scrambling code we use ?.
In downlink, only long codes are used.

In uplink direction long codes are used for node B using Rake reciever and short codes are used for NodeB using multiuser detection or interference cancellation recievers. With short codes the implementation of cyclic processing structure is simpler.

PRACH Power


Initial PRACH (The first PRACH that UE transmit) is determined by the following formula.

Initial RACH Preamble Power = Primary CPICH TX Power – CPICH_RSCP + UL_Interference + Constant Value

CPICH_RSCP is the power directly measured by UE and all other parameters are calculated (obtained) from system information. The related parameter and system information is as follows.

System Information
Information Element
Example Value
SIB3
Maximum Allowed UL Tx Power
21 dBm
SIB5
Primary CPICH Power
-8 dBm
Power Ramp Step
3 dB
Mmax
2
NB01min
10
NB02max
10
SIB7
UL Interference
-92

If UE fail to get AICH for the PRACH, it increment the PRACH power by Power Ramp Step (SIB5) and transmit the PRACH again. UE repeat this process until it gets AICH or it retried the specific number specified in SIB5.
Following screenshot is an example of PRACH transmission and retransmission. This is from a test resultl of 34.121 8.4.2.1. In this test case, Network intentionally does not send AICH so that UE keep sending PRACH with specified power increment in the specified number of times.


HARQ - HSDPA


 HARQ process in HSADPA goes as illustrated below. In reality with high throughput condition, multiple HARQ processes (Usually 5 HARQ processes) are running in parallel in interleaved manner to achieve high data rate.

i) HS-SCCH is transmitted 2 slots before HS-DSCH (Refer to 7.8 HS-SCCH/HS-PDSCH timing of 25.211).
ii) HS-DSCH carrying user data is transmitted.
iii) UE decode it and send ACK/NACK via HS-DPCCH.



Cell Selection Procedure


There are two types of Cell Selections. "Initial Cell Selection" and "Stored Information Cell Selection". Definition of these two methods are described as follows in  25.304 5.2.3 Cell Selection Process.

a) Initial Cell Selection
This procedure requires no prior knowledge of which RF channels are UTRA carriers. The UE shall scan all RF channels in the UTRA bands according to its capabilities to find a suitable cell. On each carrier, the UE need only search for the strongest cell. Once a suitable cell is found this cell shall be selected.

b) Stored Information Cell Selection
This procedure requires stored information of carrier frequencies and optionally also information on cell parameters, e.g. scrambling codes, from previously received measurement control information elements.
Once the UE has found a suitable cell the UE shall select it. If no suitable cell is found the Initial cell selection procedure shall be started.


Cell Selection Criteria

For a cell to be selected, they should meet a certain criteria as follows.

When UE is in HPLMN
Squal = Qqualmeas – Qqualmin > 0
Srxlev = Qrxlevmeas – Qrxlevmin + QrxlevminOffset – Pcompensation > 0

When UE is in VPLMN
Squal = Qqualmeas – (Qqualmin + QqualminOffset) > 0
Srxlev = Qrxlevmeas – (Qrxlevmin + QrxlevminOffset) – Pcompensation > 0




Cell Search Procedure in WCDMA

Cell Search procecess in WCDMA would be described as follows (For the detailed understanding, I would recommend you to study each of the physical channels involved in the following description).

i) Every cell is tranmitting its scrambling code(Primary Scrambling Code) via CPICH.
ii) UE detect the cell power, primary scrambling code and some addition info for compensating demodulation process
iii) UE detect P-SCH (Primary Synchronization Code) and figure out slot boundary (start and end of each slot)
iv) UE detect S-SCH (Primary Synchronization Code) and figure out frame bounday (start and end of each frame)
v) UE detect P-CCPCH and decode MIB. Through this MIB, UE can figure out SFN.


CQI

CQI stands for Channel Quality Indicator. As the name implies, it is an indicator carrying the information on how good/bad the communication channel quality is. This CQI is for HSDPA. (LTE also has CQI for its own purpose).

CQI is the information that UE sends to the network and practically it implies the following two
i) Current Communication Channel Quality is this-and-that..
ii) I (UE) wants to get the data with this-and-that transport block size, which in turn can be directly converted into throughput

In HSDPA, the CQI value ranges from 0 ~ 30. 30 indicates the best channel quality and 0,1 indicates the poorest channel quality. Depending which value UE reports, network transmit data with different transport block size. If network gets high CQI value from UE, it transmit the data with larger transport block size and vice versa.

What if network sends a large transport block even though UE reports low CQI, it is highly probable that UE failed to decode it (cause CRC error on UE side) and UE send NACK to network and the network have to retransmit it which in turn cause waste of radio resources.

What if UE report high CQI even when the real channel quality is poor ? In this case, network would send a large transport block size according to the CQI value and it would become highly probable that UE failed to decode it (cause CRC error on UE side) and UE send NACK to network and the network have to retransmit it which in turn cause waste of radio resources.

How UE can measure CQI ? This is the most unclear topic to me. As far as I know, there is no explicit description in any standard on the mechanism by which the CQI is calculated, but it is pretty obvious that the following factors play important roles to CQI measurement.
  • signal-to-noise ratio (SNR)
  • signal-to-interference plus noise ratio (SINR)
  • signal-to-noise plus distortion ratio (SNDR)
It is unclear how these factors are used and whether there is any other factors being involved. I was told the detailed CQI measurement algorithm is up UE implementation (chipset implementation).


FDD in LTE



Overview - FDD

The highest level view from 36.211 for FDD LTE is as follows. It only shows the structure of one frame in time domain. It does not show any structure in frequency domain.
Some of high level description you can get from this figure would be
i) Time duration for one frame (One radio frame, One system frame) is 10 ms. This means that we have 100 radio frame per second.
ii) the number of samples in one frame (10 ms) is 307200 (307.200 K) samples. This means that the number of samples per second is 307200 x 100 = 30.72 M samples.
iii) Number of subframe in one frame is 10.

iv) Number of slots in one subframe is 2. This means that we have 20 slots within one frame.


So one slot is the smallest structure in time domain ? No, if you magnify this frame structure one step further, you would get the following figure.
Now you see that one slot is made up of 7 small blocks called 'symbol'. (One symbol is a certain time span of signal that carry one spot in the I/Q constellation.).
And you see even smaller structures within a symbol. At the beginning of symbol you see a very small span called 'Cyclic Prefix' and the remaining part is the real symbol data.
There are two different type of Cyclic Prefix. One is normal Cyclic Prefix and the other is 'Extended Cyclic Prefix' which is longer than the Normal Cyclic Prefix. (Since the length of one slot is fixed and cannot be changed, if we use 'Extended Cyclic Prefix', the number of symbols that can be accomodated within a slot should be decreased. So we can have only 6 symbols if we use 'Extended Cyclic Prefix').