Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Michael Black
OpenXG UE
Commits
000cb8db
Commit
000cb8db
authored
Sep 18, 2014
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
git-svn-id:
http://svn.eurecom.fr/openair4G/trunk@5794
818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent
7172ea3f
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
68 additions
and
34 deletions
+68
-34
openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c
openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c
+3
-3
openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c
openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c
+4
-4
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
+2
-2
openair1/PHY/LTE_TRANSPORT/dci_tools.c
openair1/PHY/LTE_TRANSPORT/dci_tools.c
+1
-1
openair1/PHY/LTE_TRANSPORT/initial_sync.c
openair1/PHY/LTE_TRANSPORT/initial_sync.c
+2
-2
openair1/PHY/LTE_TRANSPORT/phich.c
openair1/PHY/LTE_TRANSPORT/phich.c
+2
-1
openair1/PHY/LTE_TRANSPORT/pmch.c
openair1/PHY/LTE_TRANSPORT/pmch.c
+2
-0
openair1/PHY/LTE_TRANSPORT/prach.c
openair1/PHY/LTE_TRANSPORT/prach.c
+2
-2
openair1/PHY/LTE_TRANSPORT/rar_tools.c
openair1/PHY/LTE_TRANSPORT/rar_tools.c
+1
-1
openair1/PHY/MODULATION/slot_fep.c
openair1/PHY/MODULATION/slot_fep.c
+1
-1
openair1/SCHED/defs.h
openair1/SCHED/defs.h
+1
-2
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+33
-10
openair1/SCHED/phy_procedures_lte_ue.c
openair1/SCHED/phy_procedures_lte_ue.c
+14
-5
No files found.
openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c
View file @
000cb8db
...
...
@@ -53,7 +53,7 @@ void lte_adjust_synch(LTE_DL_FRAME_PARMS *frame_parms,
ncoef
=
32767
-
coef
;
#ifdef DEBUG_PHY
LOG_D
(
PHY
,
"frame %d
: rx_offset (before) = %d
\n
"
,
phy_vars_ue
->
frame
_rx
,
phy_vars_ue
->
rx_offset
);
LOG_D
(
PHY
,
"frame %d
, slot %d: rx_offset (before) = %d
\n
"
,
phy_vars_ue
->
frame_rx
,
phy_vars_ue
->
slot
_rx
,
phy_vars_ue
->
rx_offset
);
#endif //DEBUG_PHY
...
...
openair1/PHY/LTE_ESTIMATION/lte_est_freq_offset.c
View file @
000cb8db
...
...
@@ -102,7 +102,7 @@ int lte_est_freq_offset(int **dl_ch_estimates,
dl_ch
=
(
int16_t
*
)
&
dl_ch_estimates
[
aa
][
12
+
ch_offset
];
dl_ch_shift
=
4
+
(
log2_approx
(
dl_channel_level
(
dl_ch
,
frame_parms
))
/
2
);
dl_ch_shift
=
6
+
(
log2_approx
(
dl_channel_level
(
dl_ch
,
frame_parms
))
/
2
);
// printf("dl_ch_shift: %d\n",dl_ch_shift);
if
(
ch_offset
==
0
)
...
...
@@ -131,12 +131,12 @@ int lte_est_freq_offset(int **dl_ch_estimates,
omega_cpx
->
i
+=
((
struct
complex16
*
)
&
omega
)
->
i
;
// phase_offset += atan2((double)omega_cpx->i,(double)omega_cpx->r);
phase_offset
+=
atan2
((
double
)
omega_cpx
->
i
,(
double
)
omega_cpx
->
r
);
//
printf(
"omega (%d,%d) -> %f\n",omega_cpx->r,omega_cpx->i,phase_offset);
//
LOG_D(PHY,
"omega (%d,%d) -> %f\n",omega_cpx->r,omega_cpx->i,phase_offset);
}
// phase_offset /= (frame_parms->nb_antennas_rx*frame_parms->nb_antennas_tx);
freq_offset_est
=
(
int
)
(
phase_offset
/
(
2
*
M_PI
)
/
2.5e-4
);
//2.5e-4 is the time between pilot symbols
//
printf(
"symbol %d : freq_offset_est %d\n",l,freq_offset_est);
freq_offset_est
=
(
int
)
(
phase_offset
/
(
2
*
M_PI
)
/
(
frame_parms
->
Ncp
==
NORMAL
?
(
285.8e-6
)
:
(
2.5e-4
))
);
//2.5e-4 is the time between pilot symbols
//
LOG_D(PHY,
"symbol %d : freq_offset_est %d\n",l,freq_offset_est);
// update freq_offset with phase_offset using a moving average filter
if
(
first_run
==
1
)
{
...
...
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
View file @
000cb8db
...
...
@@ -138,8 +138,8 @@ int32_t lte_ul_channel_estimation(PHY_VARS_eNB *phy_vars_eNB,
Msc_RS_idx
=
b
;
#endif
//
msg("lte_ul_channel_estimation:
subframe %d, Ns %d, l %d, Msc_RS = %d, Msc_RS_idx = %d, u %d, v %d, cyclic_shift %d\n",subframe,Ns,l,Msc_RS, Msc_RS_idx,u,v,cyclic_shift);
#ifdef DEBUG_CH
//
LOG_I(PHY,"
subframe %d, Ns %d, l %d, Msc_RS = %d, Msc_RS_idx = %d, u %d, v %d, cyclic_shift %d\n",subframe,Ns,l,Msc_RS, Msc_RS_idx,u,v,cyclic_shift);
#ifdef DEBUG_CH
#ifdef USER_MODE
if
(
Ns
==
0
)
...
...
openair1/PHY/LTE_TRANSPORT/dci_tools.c
View file @
000cb8db
...
...
@@ -3678,7 +3678,7 @@ uint8_t ul_subframe2pdcch_alloc_subframe(LTE_DL_FRAME_PARMS *frame_parms,uint8_t
}
uint
8
_t
pdcch_alloc2ul_frame
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
uint32_t
frame
,
uint8_t
n
){
uint
32
_t
pdcch_alloc2ul_frame
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
uint32_t
frame
,
uint8_t
n
){
if
((
frame_parms
->
frame_type
==
TDD
)
&&
(
frame_parms
->
tdd_config
==
1
)
&&
...
...
openair1/PHY/LTE_TRANSPORT/initial_sync.c
View file @
000cb8db
...
...
@@ -48,7 +48,7 @@
#include "gain_control.h"
#endif
#define DEBUG_INITIAL_SYNCH
//
#define DEBUG_INITIAL_SYNCH
int
pbch_detection
(
PHY_VARS_UE
*
phy_vars_ue
,
runmode_t
mode
)
{
...
...
openair1/PHY/LTE_TRANSPORT/phich.c
View file @
000cb8db
...
...
@@ -53,7 +53,8 @@
//unsigned short phich_reg[MAX_NUM_PHICH_GROUPS][3];
uint8_t
rv_table
[
4
]
=
{
0
,
2
,
3
,
1
};
//36.321 5.4.2.2
uint8_t
rv_table
[
4
]
=
{
0
,
2
,
3
,
1
};
uint8_t
get_mi
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
uint8_t
subframe
)
{
...
...
openair1/PHY/LTE_TRANSPORT/pmch.c
View file @
000cb8db
...
...
@@ -104,6 +104,8 @@ int is_pmch_subframe(uint32_t frame, int subframe, LTE_DL_FRAME_PARMS *frame_par
uint32_t
period
;
uint8_t
i
;
// LOG_D(PHY,"is_pmch_subframe: frame %d, subframe %d, num_MBSFN_config %d\n",
// frame,subframe,frame_parms->num_MBSFN_config);
for
(
i
=
0
;
i
<
frame_parms
->
num_MBSFN_config
;
i
++
)
{
// we have at least one MBSFN configuration
period
=
1
<<
frame_parms
->
MBSFN_config
[
i
].
radioframeAllocationPeriod
;
...
...
openair1/PHY/LTE_TRANSPORT/prach.c
View file @
000cb8db
...
...
@@ -801,7 +801,7 @@ void rx_prach(PHY_VARS_eNB *phy_vars_eNB,uint8_t subframe,uint16_t *preamble_ene
uint8_t
new_dft
=
0
;
uint8_t
aa
;
int32_t
lev
;
int
8
_t
levdB
;
int
16
_t
levdB
;
int
fft_size
,
log2_ifft_size
;
uint8_t
nb_ant_rx
=
1
;
//phy_vars_eNB->lte_frame_parms.nb_antennas_rx;
...
...
@@ -1121,7 +1121,7 @@ void rx_prach(PHY_VARS_eNB *phy_vars_eNB,uint8_t subframe,uint16_t *preamble_ene
for
(
aa
=
0
;
aa
<
nb_ant_rx
;
aa
++
)
{
lev
+=
(
int32_t
)
prach_ifft
[
aa
][(
preamble_shift2
+
i
)
<<
2
]
*
prach_ifft
[
aa
][(
preamble_shift2
+
i
)
<<
2
]
+
(
int32_t
)
prach_ifft
[
aa
][
1
+
((
preamble_shift2
+
i
)
<<
2
)]
*
prach_ifft
[
aa
][
1
+
((
preamble_shift2
+
i
)
<<
2
)];
}
levdB
=
dB_fixed
(
lev
);
levdB
=
dB_fixed
_times10
(
lev
);
if
(
levdB
>
preamble_energy_list
[
preamble_index
]
)
{
preamble_energy_list
[
preamble_index
]
=
levdB
;
...
...
openair1/PHY/LTE_TRANSPORT/rar_tools.c
View file @
000cb8db
...
...
@@ -80,7 +80,7 @@ int generate_eNB_ulsch_params_from_rar(unsigned char *rar_pdu,
uint16_t
*
RIV2nb_rb_LUT
,
*
RIV2first_rb_LUT
;
uint16_t
RIV_max
;
LOG_
D
(
PHY
,
"[eNB][RAPROC] generate_eNB_ulsch_params_from_rar: subframe %d (harq_pid %d)
\n
"
,
subframe
,
harq_pid
);
LOG_
I
(
PHY
,
"[eNB][RAPROC] generate_eNB_ulsch_params_from_rar: subframe %d (harq_pid %d)
\n
"
,
subframe
,
harq_pid
);
switch
(
frame_parms
->
N_RB_DL
)
{
case
6
:
RIV2nb_rb_LUT
=
&
RIV2nb_rb_LUT6
[
0
];
...
...
openair1/PHY/MODULATION/slot_fep.c
View file @
000cb8db
...
...
@@ -166,7 +166,7 @@ int slot_fep(PHY_VARS_UE *phy_vars_ue,
#ifdef DEBUG_FEP
msg
(
"Frequency offset estimation
\n
"
);
#endif
if
(
(
l
==
0
)
||
(
l
==
(
4
-
frame_parms
->
Ncp
)
))
{
if
(
l
==
(
4
-
frame_parms
->
Ncp
))
{
start_meas
(
&
phy_vars_ue
->
dlsch_freq_offset_estimation_stats
);
lte_est_freq_offset
(
ue_common_vars
->
dl_ch_estimates
[
0
],
frame_parms
,
...
...
openair1/SCHED/defs.h
View file @
000cb8db
...
...
@@ -416,7 +416,7 @@ uint8_t pdcch_alloc2ul_subframe(LTE_DL_FRAME_PARMS *frame_parms,uint8_t n);
@param n subframe of PDCCH
@returns UL frame corresponding to pdcch order
*/
uint
8
_t
pdcch_alloc2ul_frame
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
uint32_t
frame
,
uint8_t
n
);
uint
32
_t
pdcch_alloc2ul_frame
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
uint32_t
frame
,
uint8_t
n
);
uint16_t
get_Np
(
uint8_t
N_RB_DL
,
uint8_t
nCCE
,
uint8_t
plus1
);
...
...
@@ -533,7 +533,6 @@ void dump_dlsch(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t subframe,uint8_t
void
dump_dlsch_SI
(
PHY_VARS_UE
*
phy_vars_ue
,
uint8_t
eNB_id
,
uint8_t
subframe
);
void
dump_dlsch_ra
(
PHY_VARS_UE
*
phy_vars_ue
,
uint8_t
eNB_id
,
uint8_t
subframe
);
uint8_t
pdcch_alloc2ul_frame
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
uint32_t
frame
,
uint8_t
n
);
/**@}*/
#endif //OPENAIR_LTE
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
000cb8db
...
...
@@ -1620,13 +1620,16 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
}
#ifdef DEBUG_PHY_PROC
//if (phy_vars_eNB->proc[sched_subframe].frame_tx%100 == 0)
LOG_I
(
PHY
,
"[eNB %d][PUSCH %d] Frame %d subframe %d Generated ULSCH (format0) DCI (rnti %x, dci %x) (DCI pos %d/%d), aggregation %d
\n
"
,
LOG_I
(
PHY
,
"[eNB %d][PUSCH %d] Frame %d subframe %d
UL Frame %d, UL Subframe %d,
Generated ULSCH (format0) DCI (rnti %x, dci %x) (DCI pos %d/%d), aggregation %d
\n
"
,
phy_vars_eNB
->
Mod_id
,
subframe2harq_pid
(
&
phy_vars_eNB
->
lte_frame_parms
,
pdcch_alloc2ul_frame
(
&
phy_vars_eNB
->
lte_frame_parms
,
(((
subframe
)
==
0
)
?
1
:
0
)
+
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
,
subframe
),
pdcch_alloc2ul_frame
(
&
phy_vars_eNB
->
lte_frame_parms
,
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
,
subframe
),
pdcch_alloc2ul_subframe
(
&
phy_vars_eNB
->
lte_frame_parms
,
subframe
)),
pdcch_alloc2ul_frame
(
&
phy_vars_eNB
->
lte_frame_parms
,(((
subframe
)
==
0
)
?
1
:
0
)
+
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
,
subframe
),
subframe
,
DCI_pdu
->
dci_alloc
[
i
].
rnti
,
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
,
subframe
,
pdcch_alloc2ul_frame
(
&
phy_vars_eNB
->
lte_frame_parms
,
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
,
subframe
),
pdcch_alloc2ul_subframe
(
&
phy_vars_eNB
->
lte_frame_parms
,
subframe
),
DCI_pdu
->
dci_alloc
[
i
].
rnti
,
*
(
unsigned
int
*
)
&
DCI_pdu
->
dci_alloc
[
i
].
dci_pdu
[
0
],
i
,
DCI_pdu
->
Num_common_dci
+
DCI_pdu
->
Num_ue_spec_dci
,
1
<<
DCI_pdu
->
dci_alloc
[
i
].
L
);
...
...
@@ -1867,6 +1870,13 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
,
&
phy_vars_eNB
->
ulsch_eNB
[(
uint32_t
)
UE_id
]
->
Msg3_frame
,
&
phy_vars_eNB
->
ulsch_eNB
[(
uint32_t
)
UE_id
]
->
Msg3_subframe
);
LOG_I
(
PHY
,
"[eNB][RAPROC] Frame %d subframe %d, Activated Msg3 demodulation for UE %d in frame %d, subframe %d
\n
"
,
phy_vars_eNB
->
proc
[
sched_subframe
].
frame_tx
,
subframe
,
UE_id
,
phy_vars_eNB
->
ulsch_eNB
[(
uint32_t
)
UE_id
]
->
Msg3_frame
,
phy_vars_eNB
->
ulsch_eNB
[(
uint32_t
)
UE_id
]
->
Msg3_subframe
);
#else
for
(
i
=
0
;
i
<
input_buffer_length
;
i
++
)
dlsch_input_buffer
[
i
]
=
(
unsigned
char
)
i
;
//(taus()&0xff);
...
...
@@ -2552,6 +2562,8 @@ void get_n1_pucch_eNB(PHY_VARS_eNB *phy_vars_eNB,
}
extern
int16_t
prach_ifft
[
4
][
1024
*
4
];
void
prach_procedures
(
PHY_VARS_eNB
*
phy_vars_eNB
,
uint8_t
sched_subframe
,
uint8_t
abstraction_flag
)
{
uint16_t
preamble_energy_list
[
64
],
preamble_delay_list
[
64
];
...
...
@@ -2589,7 +2601,7 @@ void prach_procedures(PHY_VARS_eNB *phy_vars_eNB,uint8_t sched_subframe,uint8_t
if
((
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
generate_prach
==
1
)
&&
(
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
lte_frame_parms
.
prach_config_common
.
rootSequenceIndex
==
phy_vars_eNB
->
lte_frame_parms
.
prach_config_common
.
rootSequenceIndex
)
)
{
preamble_energy_list
[
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
prach_PreambleIndex
]
=
80
;
preamble_energy_list
[
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
prach_PreambleIndex
]
=
80
0
;
preamble_delay_list
[
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
prach_PreambleIndex
]
=
5
;
}
...
...
@@ -2612,16 +2624,27 @@ void prach_procedures(PHY_VARS_eNB *phy_vars_eNB,uint8_t sched_subframe,uint8_t
preamble_delay_list
[
preamble_max
]);
#endif
if
(
preamble_energy_list
[
preamble_max
]
>
60
)
{
if
(
preamble_energy_list
[
preamble_max
]
>
600
)
{
/*
write_output("prach_ifft0.m","prach_t0",prach_ifft[0],2048,1,1);
write_output("prach_rx0.m","prach_rx0",&phy_vars_eNB->lte_eNB_common_vars.rxdata[0][0][subframe*phy_vars_eNB->lte_frame_parms.samples_per_tti],6144+792,1,1);
write_output("prach_rxF0.m","prach_rxF0",phy_vars_eNB->lte_eNB_prach_vars.rxsigF[0],24576,1,1);
mac_xface->macphy_exit("Exiting for PRACH debug\n");
*/
UE_id
=
find_next_ue_index
(
phy_vars_eNB
);
if
(
UE_id
>=
0
)
{
phy_vars_eNB
->
eNB_UE_stats
[(
uint32_t
)
UE_id
].
UE_timing_offset
=
preamble_delay_list
[
preamble_max
]
&
0x1FFF
;
//limit to 13 (=11+2) bits
//phy_vars_eNb->eNB_UE_stats[(uint32_t)UE_id].mode = PRACH;
phy_vars_eNB
->
eNB_UE_stats
[(
uint32_t
)
UE_id
].
sector
=
0
;
LOG_I
(
PHY
,
"[eNB %d][RAPROC]
Initiating RA procedure with preamble %d, energy %d
, delay %d
\n
"
,
LOG_I
(
PHY
,
"[eNB %d][RAPROC]
Frame %d, subframe %d Initiating RA procedure with preamble %d, energy %d.%d dB
, delay %d
\n
"
,
phy_vars_eNB
->
Mod_id
,
frame
,
subframe
,
preamble_max
,
preamble_energy_max
,
preamble_energy_max
/
10
,
preamble_energy_max
%
10
,
preamble_delay_list
[
preamble_max
]);
#ifdef OPENAIR2
mac_xface
->
initiate_ra_proc
(
phy_vars_eNB
->
Mod_id
,
...
...
@@ -2645,6 +2668,7 @@ void ulsch_decoding_procedures(unsigned char subframe, unsigned int i, PHY_VARS_
}
void
phy_procedures_eNB_RX
(
unsigned
char
sched_subframe
,
PHY_VARS_eNB
*
phy_vars_eNB
,
uint8_t
abstraction_flag
,
relaying_type_t
r_type
)
{
//RX processing
uint32_t
l
,
ret
=
0
,
i
,
j
,
k
;
...
...
@@ -3724,8 +3748,7 @@ void phy_procedures_eNB_lte(unsigned char subframe,PHY_VARS_eNB **phy_vars_eNB,u
if (phy_vars_eNB->proc[sched_subframe].frame_tx >= 1000)
mac_xface->macphy_exit("Exiting after 1000 Frames\n");
*/
vcd_signal_dumper_dump_variable_by_name
(
VCD_SIGNAL_DUMPER_VARIABLES_SLOT_NUMBER_ENB
,
subframe
*
2
);
vcd_signal_dumper_dump_variable_by_name
(
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_ENB
,
phy_vars_eNB
[
0
]
->
proc
[
subframe
].
frame_tx
);
vcd_signal_dumper_dump_variable_by_name
(
VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX_ENB
,
phy_vars_eNB
[
0
]
->
proc
[
subframe
].
frame_tx
);
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_LTE
,
1
);
start_meas
(
&
phy_vars_eNB
[
0
]
->
phy_proc
);
...
...
openair1/SCHED/phy_procedures_lte_ue.c
View file @
000cb8db
...
...
@@ -1476,19 +1476,23 @@ void lte_ue_measurement_procedures(uint16_t l, PHY_VARS_UE *phy_vars_ue,uint8_t
if
(
l
==
(
4
-
frame_parms
->
Ncp
))
{
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_RRC_MEASUREMENTS
,
VCD_FUNCTION_IN
);
ue_rrc_measurements
(
phy_vars_ue
,
slot_rx
,
abstraction_flag
);
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_RRC_MEASUREMENTS
,
VCD_FUNCTION_OUT
);
//phy_vars_ue->sinr_eff = sinr_eff_cqi_calc(phy_vars_ue, 0);
if
(
abstraction_flag
==
1
)
phy_vars_ue
->
sinr_eff
=
sinr_eff_cqi_calc
(
phy_vars_ue
,
0
);
}
if
((
slot_rx
==
1
)
&&
(
l
==
(
4
-
frame_parms
->
Ncp
)))
{
// AGC
#ifdef EXMIMO
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_GAIN_CONTROL
,
VCD_FUNCTION_IN
);
#if defined EXMIMO
if
((
openair_daq_vars
.
rx_gain_mode
==
DAQ_AGC_ON
)
&&
(
mode
!=
rx_calib_ue
)
&&
(
mode
!=
rx_calib_ue_med
)
&&
(
mode
!=
rx_calib_ue_byp
)
)
...
...
@@ -1499,7 +1503,8 @@ void lte_ue_measurement_procedures(uint16_t l, PHY_VARS_UE *phy_vars_ue,uint8_t
phy_adjust_gain
(
phy_vars_ue
,
0
);
#endif
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_GAIN_CONTROL
,
VCD_FUNCTION_OUT
);
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_ADJUST_SYNCH
,
VCD_FUNCTION_IN
);
eNB_id
=
0
;
if
(
abstraction_flag
==
0
)
...
...
@@ -1508,6 +1513,7 @@ void lte_ue_measurement_procedures(uint16_t l, PHY_VARS_UE *phy_vars_ue,uint8_t
eNB_id
,
0
,
16384
);
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_ADJUST_SYNCH
,
VCD_FUNCTION_OUT
);
/* if (openair_daq_vars.auto_freq_correction == 1) {
if (frame_rx % 100 == 0) {
...
...
@@ -2349,6 +2355,7 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
n_symb
=
0
;
}
else
{
/*
if (is_pmch_subframe(frame_rx,subframe_rx,&phy_vars_ue->lte_frame_parms)) {
if ((slot_rx%2)==0) {
n_symb=2;
...
...
@@ -2357,7 +2364,7 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
else
n_symb=0;
}
else
else
*/
n_symb
=
phy_vars_ue
->
lte_frame_parms
.
symbols_per_tti
/
2
;
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
...
...
@@ -2369,11 +2376,13 @@ int lte_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_UE *phy_vars_ue,uint8_t abst
for
(
l
=
0
;
l
<
n_symb
;
l
++
)
{
if
(
abstraction_flag
==
0
)
{
start_meas
(
&
phy_vars_ue
->
ofdm_demod_stats
);
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP
,
VCD_FUNCTION_IN
);
slot_fep
(
phy_vars_ue
,
l
,
slot_rx
,
phy_vars_ue
->
rx_offset
,
0
);
vcd_signal_dumper_dump_function_by_name
(
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP
,
VCD_FUNCTION_OUT
);
stop_meas
(
&
phy_vars_ue
->
ofdm_demod_stats
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment