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).