IMPLEMENTATION OF TM4 INTO OAI SOFTMODEMΒ Β· pmiq # of layer 2 (RI 1) 1 1 2 s s sβ s 2 1 2 s s β...
Transcript of IMPLEMENTATION OF TM4 INTO OAI SOFTMODEMΒ Β· pmiq # of layer 2 (RI 1) 1 1 2 s s sβ s 2 1 2 s s β...
Β© Fraunhofer IIS
IMPLEMENTATION OF TM4 INTO OAI SOFTMODEM
Joint ETSI - OSA Workshop: Open
Implementations and
Standardization
Pre Event Training β 11 December 2018
Khodr Saaifan
Fraunhofer Institute for Integrated Circuits (IIS)
Β© Fraunhofer IIS
2
Agenda
o TM4 Basics in LTE
o Review of OAI-eNB Thread and PHY Procedures
o eNB: PHY TX Procedures
o MAC: DL Scheduling
o Review of OAI-UE Thread and PHY Procedures
o UE: PHY RX Procedures
o UE Measurement Procedures
o Demo Setup and Results
o UE Statistics
o eNB Statistics
Β© Fraunhofer IIS
3
txdataF[0][ttioffest]
1
π1
2
1
txdataF[1][ttioffest]
1
π2
2
1
π»πππβ 0 :π»11[π]
π»πππβ[2]: π»12[π]
π»πππβ 1 : π»21[π]
π»πππβ[3]: π»22[π]
rxdataFext[0][ttioffest]
1
π1
2
1
rxdataFext[1][ttioffest]
1
π2
2
1
TM4 Basics in LTE
The MIMO channel at the πth subcarrier:
π― =π»11[π] π»12[π]
π»21[π] π»22[π]
Channel decomposition:
π― = πΌπ1 00 π2
π½π»
πΏ = π½πΏ π = πΌπ»π
π 1
π 2
Modulated Symbols
π 1 = π1π 1 + π 1
π 2 = π2π 2 + π 2
πth RE πth RE
Feedback
π = π―πΏ + π π― πΏ = π½πΏ
Non Access-Stratum (NAS)
PDCP
RRC
MAC
RLC
PHY
RF
OAI-eNB
Non Access-Stratum (NAS)
PDCP
RRC
MAC
RLC
PHY
RF
OAI-UE Master Branch Master Branch
Β© Fraunhofer IIS
4
π»πππβ 1 : π»21[π]
π»πππβ[3]: π»22[π]
TM4 Basics in LTE
Modulated Symbols
Feedback
pmiq # of layer 1 (RI 0)
0 1
2
11
1 1
2
1β1
2 1
2
1j
3 1
2
1βj
Index 3: 1
2
1βπ
π»11
π»112 + π»12
2 βππ»12
π»12
π»πππβ 0 :π»11[π]
π»πππβ[2]: π»12[π]
πΏ= π·πΏ
π―eff
=π»11 π»12
π»21 π»22π·
π 1
π 2
π 1
π 2
π = π―effπΏ + π π― πΏ = π·πΏ
Non Access-Stratum (NAS)
PDCP
RRC
MAC
RLC
PHY
RF
OAI-eNB
Non Access-Stratum (NAS)
PDCP
RRC
MAC
RLC
PHY
RF
OAI-UE
Closed loop precoding in LTE:
Requires feedback from the UE
Rank indicator (RI)
Precoding matrix indicator (PMI)
Β© Fraunhofer IIS
5
π»πππβ 0 :π»11[π]
π»πππβ[2]: π»12[π]
π»πππβ 1 : π»21[π]
π»πππβ[3]: π»22[π]
TM4 Basics in LTE
πΏ= π·πΏ
π―eff
=π»11 π»12
π»21 π»22π·
π 1
π 2
Modulated Symbols
π 1
π 2
Feedback pmiq # of layer 2 (RI 1)
1 1
2
1 11 β1
2 1
2
1 1π βπ
π21 = π»12β π»22
β π»11
π»21
pmiq = 1, for Re(π21) β₯ Im(π21)
2, for Re π21 < Im(π21)
π = π―effπΏ + π π― πΏ = π·πΏ
Non Access-Stratum (NAS)
PDCP
RRC
MAC
RLC
PHY
RF
OAI-eNB
Non Access-Stratum (NAS)
PDCP
RRC
MAC
RLC
PHY
RF
OAI-UE
Closed loop precoding in LTE:
Requires feedback from the UE
Rank indicator (RI)
Precoding matrix indicator (PMI)
Β© Fraunhofer IIS
6
π»πππβ 0 :π»11[π]
π»πππβ[2]: π»12[π]
π»πππβ 1 : π»21[π]
π»πππβ[3]: π»22[π]
TM4 Basics in LTE
πΏ= π·πΏ
π―eff
=π»11 π»12
π»21 π»22π·
π 1
π 2
Modulated Symbols
π 1
π 2
Feedback
CQI/PMI reporting
UCI format CQI, PMI, and RI
UE measurements
π = π―effπΏ + π π― πΏ = π·πΏ
Non Access-Stratum (NAS)
PDCP
RRC
MAC
RLC
PHY
RF
OAI-eNB
Non Access-Stratum (NAS)
PDCP
RRC
MAC
RLC
PHY
RF
OAI-UE
UE statistics
In OAI-eNB, we verify and review the MAC/PHY code to support:
MAC: format2 with ππ=1, 2
PHY: layer mapping of 1 codeword into ππ layers
Β© Fraunhofer IIS
7
Non Access-Stratum (NAS)
PDCP
RRC
MAC
RLC
PHY
RF
OAI-eNB
π»πππβ 0 :π»11[π]
π»πππβ[2]: π»12[π]
π»πππβ 1 : π»21[π]
π»πππβ[3]: π»22[π]
Non Access-Stratum (NAS)
PDCP
RRC
MAC
RLC
PHY
RF
OAI-UE
TM4 Basics in LTE
π = π―effπΏ + π
πΏ= π·πΏ
π―eff
=π»11 π»12
π»21 π»22π·
π 1
π 2
Modulated Symbols
π 1
π 2
Feedback
π― πΏ = π·πΏ
CQI/PMI reporting
UCI format CQI, PMI, and RI
UE measurements UE statistics
In OAI-UE, we verify and review the PHY code to support:
lte_ue_measurements: CQI, PMI, and RI
ue_pdcch_procedures: format2 detection
generate_ue_dlsch_params_from_dci: extract format2 for DL decoding
ue_pdsch_procedures: rx_pdsch for processing 2 layers into 1 codeword
Β© Fraunhofer IIS
8
Review of OAI-eNB Thread and PHY Procedures
Β© Fraunhofer IIS
9
Review of OAI-eNB Thread and PHY Procedures
eNB: phy_procedures_eNB_TX openair1/SCHED/phy_procedures_lte_eNb.c
RB12
RB9
RB15
2
1
1
2
2
1
1
2
2
1
1
2
2
1
1
2
2
1
1
2
2
1
1
2
2
1
1
2
2
1
1
2
subframe 0
Β© Fraunhofer IIS
10
Review of OAI-eNB Thread and PHY Procedures
PSS/SSS/PBCH: common_signal_procedures()
generate_pilots_slot()
generate_pss()/generate_sss()
generate_pbch(): SISO and Alamouti
HARQ_UL: synchronous ul_subframe=((subframe_tx+4)%10) ul_frame=(frame+(subframe_tx>=6 ? 1 :0)) harq_pid=(((ul_frame<<1)+ul_subframe)&7);
eNB: phy_procedures_eNB_TX openair1/SCHED/MAC/phy_procedures_lte_eNb.c
Β© Fraunhofer IIS
11
Review of OAI-eNB Thread and PHY Procedures
eNB: phy_procedures_eNB_TX openair1/SCHED/phy_procedures_lte_eNb.c
Β© Fraunhofer IIS
12
Review of OAI-eNB Thread and PHY Procedures
eNB: phy_procedures_eNB_TX openair1/SCHED/phy_procedures_lte_eNb.c
Β© Fraunhofer IIS
13
Review of OAI-eNB Thread and PHY Procedures
eNB: phy_procedures_eNB_TX openair1/SCHED/phy_procedures_lte_eNb.c
Β© Fraunhofer IIS
14
eNB: TX (MAC+PDSCH)
phy_procedures_eNB_TX() openair1/SCHED/phy_procedures_lte_eNb.c
Logical channel Prioritization/Multiplexing
DCCH DCCH1
DTCH
DLSCH_pdu TBS
dlsch_encoding() crc, lte_segmentation, turbo_encoding,
rate_matching
DCI pdu
format1, format1A format2
schedule_RA
schedule_ulsch
schedule_ue_spec
schedule_SI
fill_DLSCH_dci
generate eNB_dlsch params() generate eNB_dlsch params_from_dci()
generate eNB_ulsch params() generate eNB_ulsch params_from_dci()
format0
eNB_dlsch_ulsch_scheduler() openair2/LAYER2/MAC/eNB_scheduler.c
Turbo Encoding LTE_TRANSPORT/dlsch_coding.c
πΊ bits
allocate_res_in_RB()
πΊ/ππ/ππ symbols
dlsch_ scrambling()
dlsch_ modulation()
πΊ bits
LTE_TRANSPORT/dlsch_modulation.c
πΊ/ππ symbols
π0π = ππ΄π π ππ2π, β¦ , ππ2π + ππ β 1 , π = 0,β¦ , πΊ/ππ β 1
π1π = ππ΄π π ππ(2π + 1),β¦ , ππ(2π + 1) + ππ β 1 ,
π0π
π1π
pdsch_procedures() openair1/SCHED/phy_procedures_lte_eNb.c
For ππ=2 layers, dlsch0_harq->mimo_mode is configured based on tpmi
β’ TBS is assigned based on ππ Γ ππππ
β’ πΊ = (ππππ Γππππππππ Γ ((14 β ππ’πππππβπ π¦πππππ ) Γ 12 β 3 Γ 4) β πΊπππ ) Γ ππ
format2
nb_antenna_ports_eNB = 2
TBS1 off (mcs2 = 0, rv2 = 1) TBS0 on
tpmi=0 to 7
txdataF[0][ttioffest]
1
π0
2
1
txdataF[1][ttioffest]
1
π1
2
1
Β© Fraunhofer IIS
15
MAC: schedule_ue_spec(module_idP,frameP,subframeP,mbsfn_flag) /openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
Direction: E-UTRAN => UE
RLC Mode: AM (ARQ)
Logical Channel: DCCH-DTCH
Transport Channel: DL-SCH
β’ The eNB scheduler consists of a scheduling entity, a DL HARQ entity, and a multiplexing entity
β’ The scheduling entity supports resource requirement, assignment, and allocation (implemented in dlsch_scheduler_pre_processor())
β’ The transmit HARQ operation includes transmission and retransmission of TBs, and reception and processing of ACK/NACK signaling
β’ In OAI, synchronous HARQ is used for both the downlink and the uplink
harq_pid=((frame_tx Γ10)+subframe_tx)&7
Β© Fraunhofer IIS
16
MAC: schedule_ue_spec(module_idP,frameP,subframeP,mbsfn_flag) /openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
Β© Fraunhofer IIS
17
MAC: dlsch_scheduler_pre_processor (module_idP, frameP, subframeP, N_RBG, mbsfn_flag) /openair2/LAYER2/MAC/pre_processor.c
Β© Fraunhofer IIS
18
MAC: assign_rbs_required (module_idP,frameP,subframeP,nb_rbs_required[MAX_NUM_CCs][NUM_UE_MAX], min_rb_unit[MAX_NUM_CCs])
/openair2/LAYER2/MAC/pre_processor.c
Β© Fraunhofer IIS
19
MAC: schedule_ue_spec(module_idP,frameP,subframeP,mbsfn_flag) /openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
Β© Fraunhofer IIS
20
MAC: schedule_ue_spec(module_idP,frameP,subframeP,mbsfn_flag) /openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
Β© Fraunhofer IIS
21
MAC: schedule_ue_spec(module_idP,frameP,subframeP,mbsfn_flag) /openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
Β© Fraunhofer IIS
22
MAC: schedule_ue_spec(module_idP,frameP,subframeP,mbsfn_flag) /openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
Β© Fraunhofer IIS
23
MAC: schedule_ue_spec(module_idP,frameP,subframeP,mbsfn_flag) /openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
Β© Fraunhofer IIS
24
PHY: generate_eNB_dlsch_params_from_dci(): /openair1/PHY/LTE_TRANSPORT/dci_tools.c
TB1 OFF
(DCI2_5MHz_2A_FDD_t*)dci_pdu
DL Scheduling assignment for MIMO closed loop spatial multiplexing
tpmi=0: AlAMOUTI, Nl=1 tpmi=1: UNIFORM_PRECODING11 pmiq 0, Nl=1 tpmi=2: UNIFORM_PRECODING1m1, pmiq1, Nl=1 tpmi=3: UNIFORM_PRECODING1j , pmiq2, Nl=1 tpmi=4: UNIFORM_PRECODING1mj, pmiq3, Nl=1 tpmi=5: PUSCH_PRECODING0, Nl=2 tpmi=6: PUSCH_PRECODING1, Nl=2 tpmi=7: TM4_NO_PRECODING, Nl=2
rah rballoc TPC Harq pid Tb
swap
mcs
1
ndi1 rv1 mcs
2
ndi2 rv2 tpmi
1 13 2 3 1 5 1 2 5 1 2 3
0 rballoc tpc harq_pid mcs 1-oldNDI 0 0 1 0/7
TB0 ON
dlsch0=dlsch[0] dlsch1=NULL
dlsch0_harq->mimo_mode dlsch0_harq->Nl
dlsch0_harq->pmi_alloc
dlsch0_harq->nb_rb dlsch0_harq->TBS
eNB->UE_stats[UE_id]->DL_pmi_single
Β© Fraunhofer IIS
25
eNB: TX (MAC+PDSCH)
phy_procedures_eNB_TX() openair1/SCHED/phy_procedures_lte_eNb.c
Logical channel Prioritization/Multiplexing
DCCH DCCH1
DTCH
DLSCH_pdu TBS
dlsch_encoding() crc, lte_segmentation, turbo_encoding,
rate_matching
DCI pdu
format1, format1A format2
schedule_RA
schedule_ulsch
schedule_ue_spec
schedule_SI
fill_DLSCH_dci
generate eNB_dlsch params() generate eNB_dlsch params_from_dci()
generate eNB_ulsch params() generate eNB_ulsch params_from_dci()
format0
eNB_dlsch_ulsch_scheduler() openair2/LAYER2/MAC/eNB_scheduler.c
Turbo Encoding LTE_TRANSPORT/dlsch_coding.c
πΊ bits
allocate_REs_in_RB()
πΊ/ππ/ππ symbols
dlsch_ scrambling()
dlsch_ modulation()
πΊ bits
LTE_TRANSPORT/dlsch_modulation.c
πΊ/ππ symbols
π0π = ππ΄π π ππ2π, β¦ , ππ2π + ππ β 1 , π = 0,β¦ , πΊ/ππ β 1
π1π = ππ΄π π ππ(2π + 1),β¦ , ππ(2π + 1) + ππ β 1 ,
π0π
π1π
pdsch_procedures() openair1/SCHED/phy_procedures_lte_eNb.c
For ππ=2 layers, dlsch0_harq->mimo_mode is configured based on tpmi
β’ TBS is assigned based on ππ Γ ππππ
β’ πΊ = (ππππ Γππππππππ Γ ((14 β ππ’πππππβπ π¦πππππ ) Γ 12 β 3 Γ 4) β πΊπππ ) Γ ππ
format2
nb_antenna_ports_eNB = 2
TBS1 off (mcs2 = 0, rv2 = 1) TBS0 on
tpmi=0 to 7
txdataF[0][ttioffest]
1
π0
2
1
txdataF[1][ttioffest]
1
π1
2
1
Β© Fraunhofer IIS
26
Review of OAI-UE Thread and PHY Procedures
Β© Fraunhofer IIS
27
Review of OAI-UE Thread and PHY Procedures
After synchronization, the flag start_rx_stream=0. Hence,
Correct rx_offest by capturing rx_offest samples from the USRP
UE->rx_offset=0; (sync with rx_offest)
UE->time_sync_cell=0; (sync with the cell)
Set UE->proc.proc_rxtx[th_id].frame_rx=0 (Ready to read frame 0)
Read the first OFDM symbol of the subframe 0 from the RF device
slot_fep(UE,0, 0, 0, 0, 0) for l=0
Β© Fraunhofer IIS
28
Review of OAI-UE Thread and PHY Procedures
After the first slot_fep(), the UE thread loops over subframe_rx=0, ..., 9
In each loop, the UE thread gets TTI samples from USRP
The UE thread wakes up the even or the odd UE_thread_rxn_txnp4 according to the subframe number
phy_procedures_UE_RX(): LTE UE Receiver
UE_MAC(): MAC layer of UE
phy_procedures_UE_TX(): LTE UE Transmitter
Β© Fraunhofer IIS
29
UE: RX (PDCCH+PDSCH)
DCI pdu
generate_ue_dlsch_params_from_dci()
DL format 2: format2: Alamouti/TM4
ue_pdsch_procedures() LTE_TRANSPORT/dlsch_demodulation.c
rx_pdsch() rxdataF[0][ttioffest]
1
π0[π]
2
1
rxdataF[1][ttioffest]
1
π1[π]
2
1
ue_pdcch_procedures() openair1/SCHED/phy_procedures_lte_ue.c
rx_pdcch()
prepare_dl_decoding_format2_2A()
nb_rb = dlsch_extract
_rbs_dual
dlsch_scale_channel
dlsch_channel_level()
dlsch_channel_compensation
dlsch_detection_mrc
dlsch _alamouti
dlsch_qam_llr()
dci_cnt =
dci_decoding_procedure()
search all possible DCIs
rx_phich ()
is_phich_subframe generate_ue_ulsch_params_from_dci()
Format 1,1A, 2, ... Format 0
extract_dci2_info()
status = check_dci_format2_2a
_coherency()
generate_ue_dlsch_params_from_dci() LTE_TRANSPORT/dci_tools.c
ππ = 2
dlsch0_harq->mimo_mode tpmi:0 Alamouti tpmi: 7 test TM4
TBS0 on TBS1 off (mcs2 = 0, rv2 = 1) dlsch0_harq->Nl = 2 dlsch0_harq->mimo_mode = Alamouti/TM4_NO_PRECODING
lte_ue_measurements()
ue_ulsch_uespec_procedures()
RI + CQI/PMI reporting
UCI format: Wideband CQI1 (4 bits) PMI (14 bits)
TM4 postprocessor
ue_measurement_procedures() /openair1/SCHED/phy_procedures_lte_ue.c
Β© Fraunhofer IIS
30
ue_measurement_procedures openair1/SCHED/phy_procedures_lte_ue.c
lte_ue_measurements(): OFDM symbol l=0 at every slot
Rx spatial power: rx_spatial_power[eNB_id][aatx][aarx] and rx_power_tot[eNB_id]
Rank Estimation: rank_estimation_tm3_tm4()
Signal and noise average power computation: rx_power_avg and n0_power_avg
CQI measurements: wideband_cqi_tot, wideband_cqi_avg, and rx_rssi_dBm
Subband CQI measurements: subband_cqi[eNB_id][aarx][subband], subband_cqi_tot[eNB_id][subband]
PMI measurements: subband_pmi_re[eNB_id][subband][aarx], subband_pmi_im[eNB_id][subband][aarx], wideband_pmi_re[eNB_id][aarx], and wideband_pmi_im[eNB_id][aarx]
ue_rcc_measurements(): OFDM symbol l=6 at subframe 0/subframe 5
Noise Floor Calculation: n0_power[aarx], n0_power_dB[aarx], n0_power_tot, n0_power_tot_dB, n0_power_tot_dBm
Reference Signal Rx power: rsrp and rssi
Additional measurements: every subfarme at slot 0 and OFDM symbol 4
phy_adjust_gain(): AGC
lte_adjust_synch(): Accum/filtering time offest estimation
Β© Fraunhofer IIS
31
ue_measurement_procedures openair1/SCHED/phy_procedures_lte_ue.c
The received quantized OFDM samples can be expressed as
π¦ π =ππππ΄πΊ
2
2 πππ
π2πππ/ππβ1π=0 + π§[π], 0 < π < π β 1
where πππ₯ denotes the power of the received passband signal and π΄πΊ is the voltage Gain of the USRP
The samples of π§[π] are complex-valued Gaussian RVs with zero mean and variance (power) 1
2π0πΉ Γ πβπ
The quantized IQ samples are represented by 16-bit short integers (1 bit: sign and 15 bits: fixed point representation)
I Q
16 bits 16 bits +1
β1
π = 2
π¦(π‘) π¦[π]
π¦π[π]
πππ π‘
β’ The quantization width is given by:
π =π
216 =
1
215 = 30 πV
Β© Fraunhofer IIS
32
ue_measurement_procedures openair1/SCHED/phy_procedures_lte_ue.c
The received quantized OFDM samples can be expressed as
π¦ π =ππππ΄πΊ
2
2 πππ
π2πππ/ππβ1π=0 + π§[π], 0 < π < π β 1
where πππ₯ denotes the power of the received passband signal and π΄πΊ is the voltage Gain of the USRP
The samples of π§[π] are complex-valued Gaussian RVs with zero mean and variance (power) 1
2π0πΉ Γ πβπ
512 subcarriersΓ32 bits (I/Q 16 bits per samples input OFDM discrete signal)
nb prefix samples (40 or 36)
rx_offset &common_vars->rxdata[aa]
[rx_offset % frame_length_samples]
512-DFT operation
&common_vars_rx_data_per_thread.rxdataF[aa]
[frame_parms->ofdm_symbol_size*symbol]
Channel Estimation
If(l==0|l==4) Pilot positions
slot_fep() signal processing
Β© Fraunhofer IIS
33
ue_measurement_procedures openair1/SCHED/phy_procedures_lte_ue.c
The received quantized OFDM samples can be expressed as
π¦ π =ππππ΄πΊ
2
2 πππ
π2πππ/ππβ1π=0 + π§[π], 0 < π < π β 1
where πππ₯ denotes the power of the received passband signal and π΄πΊ is the voltage Gain of the USRP
The samples of π§[π] are complex-valued Gaussian RVs with zero mean and variance (power) 1
2π0πΉ Γ πβπ
512 subcarriersΓ32 bits (I/Q 16 bits per samples input OFDM discrete signal)
nb prefix samples (40 or 36)
rx_offset &common_vars->rxdata[aa]
[rx_offset % frame_length_samples]
512-DFT operation
&common_vars_rx_data_per_thread.rxdataF[aa]
[frame_parms->ofdm_symbol_size*symbol]
Channel Estimation
If(l==0|l==4) Pilot positions l=0
l=4
ππ = 1
π π¦π
πβ1
π=0
πβπ2πππ/π
0
6βπ
0 6βπ ππ = πβπ
ππ
π΄ π
β¦
π΄ π
π΄ =ππππ΄πΊ
2
2
slot_fep() signal processing
Β© Fraunhofer IIS
34
ue_measurement_procedures openair1/SCHED/phy_procedures_lte_ue.c
The received quantized OFDM samples can be expressed as
π¦ π =ππππΊπ΄
2 πππ
π2πππ/ππβ1π=0 + π§[π], 0 < π < π β 1
where πππ₯ denotes the power of the received passband signal and πΊπ΄ is the voltage Gain of the USRP
The samples of π§[π] are complex-valued Gaussian RVs with zero mean and variance (power) 1
2π0πΉ Γ πβπ
l=0
l=4 0
6βπ
0 6βπ ππ = πβπ
π[π]
π΄ π
β¦
π΄ π
π΄ =ππππΊπ΄
2
Reference Signal Rx power: rsrp and rssi
rsrp = 1
ππΈ π[π] 2 = π΄2, π β pilots
= 1
2ππππΊπ΄ Γ 230 (W/RE)
where πΊπ΄(dB) = ππΈππ₯ππππ β πππ ππππππ π‘ is
the RX gain of the USRP rssi = RSRP Γ 12 β ππ π΅
π·πΏ
ππ = 1
π π¦π
πβ1
π=0
πβπ2πππ/π
β’ The max gain for RX on the AD936x is 76 dB, for TX 89 dB
β’ The ranges can be printed out when you run 'uhd_usrp_probe' for any USRP
Β© Fraunhofer IIS
35
ue_measurement_procedures openair1/SCHED/phy_procedures_lte_ue.c
The received quantized OFDM samples can be expressed as
π¦ π =ππππΊπ΄
2 πππ
π2πππ/ππβ1π=0 + π§[π], 0 < π < π β 1
The samples of π§[π] are complex-valued Gaussian RVs with zero mean and variance (power) 1
2π0πΉ Γ πβπ
Noise Floor Calculation: π0πππ€ππ(ππππ₯) and π0πππ€πππ‘ππ‘
π0πππ€ππ ππππ₯ = πΈ πππππ₯ π 2 , π β null RE SSS/PSS
=1
2π0πΉ Γ πβπ Γ 230 (W)
where π0πΉ = β174 dBm/Hz + π΅π dB + πΊπ΄(dB) and πΊπ΄(dB) = ππΈππ₯ππππ β πππ ππππππ π‘ is the RX gain of the USRP
RB12
RB9
RB15
Subframe0/5, slot0, at l=5,6
Null REs
β’ The max gain for RX on the AD936x is 76 dB, for TX 89 dB
Β© Fraunhofer IIS
36
ue_measurement_procedures openair1/SCHED/phy_procedures_lte_ue.c
The MIMO channel: π―(π) =π»11[π] π»12[π]
π»21[π] π»22[π]
π¨MF(π) = π―β π π― π
=π»11
2 + π»212 π»11
β π»12 + π»21β π»22
π»12β π»11 + π»22
β π»21 π»122 + π»22
2
The eignvalues of π― are related to those of π¨MF as
ππ = π½π , π = 1, 2
For a unitary matrix, the condition number π π β‘πmaxπmin
= 1, conddB π = 0 dB
In OAI, the condition number:
π π =π¨MF(π)
2
det(π¨MF π )
conddB[π] = numerdB(π) β denumdB(π) If conddB π β€ 5 dB, hence, Rank=2
π π =π½max
π½min
=
Rank Indicator (RI)
π»πππβ 1 : π»21[π]
π»πππβ[3]: π»22[π]
π»πππβ 0 :π»11[π]
π»πππβ[2]: π»12[π]
(π»11, π»12, π»21, π»22, ππ π΅)
rank_estimation
_tm3_tm4
Β© Fraunhofer IIS
37
ue_measurement_procedures openair1/SCHED/phy_procedures_lte_ue.c
The UE computes
π π’ππππππππππ/ππ π π’πππππ πππ₯ = πΈ π»πππ₯1 π π»πππ₯2β π ,
πππ₯ = 1, 2
The correlation coefficient
π π’ππππππππππ/ππ π π’πππππ += π π’ππππππππππ/ππ π π’πππππ πππ₯
Precoding for (rank =1) TM4
ππππ£πππ‘ | = ππππ << (2 β π), for π = 0,β¦ , πππ π’ππππππ β 1
PM Indicator (PMI)
π»πππβ 1 : π»21[π]
π»πππβ[3]: π»22[π]
π»πππβ 0 :π»11[π]
π»πππβ[2]: π»12[π]
RB 21
RB 20
RB 23
RB 22
RB 24
RB 3
RB 2
RB 1
RB 0
0
5
6
pmiq
pmiq
pmiq
ππππππ/ππ: (45o, 135o)
Index 2: 1
2
1π
real axis
Imaginary axis
ππππππ/ππ: (135o, 225o)
Index 1: 1
2
1β1
ππππππ/ππ: (225o, 315o)
Index 3: 1
2
1βπ
ππππππ/ππ: (45o, β45o)
Index 0: 1
2
11
Β© Fraunhofer IIS
38
ue_measurement_procedures openair1/SCHED/phy_procedures_lte_ue.c
The UE computes
π π’ππππππππππ/ππ π π’πππππ πππ₯ = πΈ π»πππ₯1 π π»πππ₯2β π ,
πππ₯ = 1, 2
The correlation coefficient
π π’ππππππππππ/ππ π π’πππππ += π π’ππππππππππ/ππ π π’πππππ πππ₯
Precoding for (rank =2) TM4
ππππ£πππ‘ | = (ππππ β 1) << π, for π = 0, β¦ , πππ π’ππππππ β1
PM Indicator (PMI)
π»πππβ 1 : π»21[π]
π»πππβ[3]: π»22[π]
π»πππβ 0 :π»11[π]
π»πππβ[2]: π»12[π]
RB 21
RB 20
RB 23
RB 22
RB 24
RB 3
RB 2
RB 1
RB 0
0
5
6
pmiq
pmiq
pmiq
pmiq # of layer 2 (RI 1)
1 1
2
1 11 β1
2 1
2
1 1π βπ
π21 = π»12β π»22
β π»11
π»21
pmiq = 1, for Re(π21) β₯ Im(π21)
2, for Re π21 < Im(π21)
Β© Fraunhofer IIS
39
TM4 Setup and Results
OAI-eNB U
SRP
B210
IF5 URU
USRP
B210
OAI-UE
Shared UE-Side Distributed Antenna System
RI and πΆππΌ/πππΌ
Feedback
ue_TransmissionMode=4
--fh IF5
Multiple UEs
Β© Fraunhofer IIS
40
TM4 Setup and Results
UE Statistics
Noise Floor Calculation:
π0πππ€ππ ππππ₯ =1
2π0πΉ Γ πβπ Γ 230 (W)
where π0πΉ = β174 dBm/Hz + π΅π dB + πΊπ΄(dB) and πΊπ΄(dB) = ππΈππ₯ππππ β πππ ππππππ π‘ is the RX gain of the
USRP
RI=1 (2 layers)
Β© Fraunhofer IIS
41
TM4 Setup and Results
eNB Statistics RI=1 (2 layers)
Β© Fraunhofer IIS
42
TM4 Setup and Results
eNB Statistics RI=1 (2 layers)
Β© Fraunhofer IIS
43
UE Statistics
TM4 Setup and Results
RI=0 (1 layers)
Β© Fraunhofer IIS
44
eNB Statistics
TM4 Setup and Results
RI=0 (1 layers)
Β© Fraunhofer IIS
45
Thank You