Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
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
spbro
OpenXG-RAN
Commits
dc5df35f
Commit
dc5df35f
authored
Aug 16, 2024
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
remove a couple of global variables from pusch_vars and some further cleanup
parent
1a04ebaa
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
32 additions
and
113 deletions
+32
-113
openair1/PHY/INIT/nr_init.c
openair1/PHY/INIT/nr_init.c
+0
-12
openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c
openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c
+28
-23
openair1/PHY/defs_gNB.h
openair1/PHY/defs_gNB.h
+0
-8
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+2
-8
openair1/SIMULATION/NR_PHY/ulsim.c
openair1/SIMULATION/NR_PHY/ulsim.c
+2
-62
No files found.
openair1/PHY/INIT/nr_init.c
View file @
dc5df35f
...
...
@@ -205,19 +205,13 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB)
gNB
->
pusch_vars
=
(
NR_gNB_PUSCH
*
)
malloc16_clear
(
gNB
->
max_nb_pusch
*
sizeof
(
NR_gNB_PUSCH
));
for
(
int
ULSCH_id
=
0
;
ULSCH_id
<
gNB
->
max_nb_pusch
;
ULSCH_id
++
)
{
NR_gNB_PUSCH
*
pusch
=
&
gNB
->
pusch_vars
[
ULSCH_id
];
pusch
->
rxdataF_ext
=
(
int32_t
**
)
malloc16
(
Prx
*
sizeof
(
int32_t
*
));
pusch
->
ul_ch_estimates
=
(
int32_t
**
)
malloc16
(
n_buf
*
sizeof
(
int32_t
*
));
pusch
->
ul_ch_estimates_ext
=
(
int32_t
**
)
malloc16
(
n_buf
*
sizeof
(
int32_t
*
));
pusch
->
ptrs_phase_per_slot
=
(
int32_t
**
)
malloc16
(
n_buf
*
sizeof
(
int32_t
*
));
pusch
->
ul_ch_estimates_time
=
(
int32_t
**
)
malloc16
(
n_buf
*
sizeof
(
int32_t
*
));
pusch
->
rxdataF_comp
=
(
int32_t
**
)
malloc16
(
n_buf
*
sizeof
(
int32_t
*
));
pusch
->
llr_layers
=
(
int16_t
**
)
malloc16
(
max_ul_mimo_layers
*
sizeof
(
int32_t
*
));
for
(
i
=
0
;
i
<
Prx
;
i
++
)
{
pusch
->
rxdataF_ext
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
sizeof
(
int32_t
)
*
nb_re_pusch2
*
fp
->
symbols_per_slot
);
}
for
(
i
=
0
;
i
<
n_buf
;
i
++
)
{
pusch
->
ul_ch_estimates
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
sizeof
(
int32_t
)
*
fp
->
ofdm_symbol_size
*
fp
->
symbols_per_slot
);
pusch
->
ul_ch_estimates_ext
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
sizeof
(
int32_t
)
*
nb_re_pusch2
*
fp
->
symbols_per_slot
);
pusch
->
ul_ch_estimates_time
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
sizeof
(
int32_t
)
*
fp
->
ofdm_symbol_size
);
pusch
->
ptrs_phase_per_slot
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
sizeof
(
int32_t
)
*
fp
->
symbols_per_slot
);
// symbols per slot
pusch
->
rxdataF_comp
[
i
]
=
(
int32_t
*
)
malloc16_clear
(
sizeof
(
int32_t
)
*
nb_re_pusch2
*
fp
->
symbols_per_slot
);
...
...
@@ -287,20 +281,14 @@ void phy_free_nr_gNB(PHY_VARS_gNB *gNB)
NR_gNB_PUSCH
*
pusch_vars
=
&
gNB
->
pusch_vars
[
ULSCH_id
];
for
(
int
i
=
0
;
i
<
max_ul_mimo_layers
;
i
++
)
free_and_zero
(
pusch_vars
->
llr_layers
[
i
]);
for
(
int
i
=
0
;
i
<
Prx
;
i
++
)
{
free_and_zero
(
pusch_vars
->
rxdataF_ext
[
i
]);
}
for
(
int
i
=
0
;
i
<
n_buf
;
i
++
)
{
free_and_zero
(
pusch_vars
->
ul_ch_estimates
[
i
]);
free_and_zero
(
pusch_vars
->
ul_ch_estimates_ext
[
i
]);
free_and_zero
(
pusch_vars
->
ul_ch_estimates_time
[
i
]);
free_and_zero
(
pusch_vars
->
ptrs_phase_per_slot
[
i
]);
free_and_zero
(
pusch_vars
->
rxdataF_comp
[
i
]);
}
free_and_zero
(
pusch_vars
->
llr_layers
);
free_and_zero
(
pusch_vars
->
rxdataF_ext
);
free_and_zero
(
pusch_vars
->
ul_ch_estimates
);
free_and_zero
(
pusch_vars
->
ul_ch_estimates_ext
);
free_and_zero
(
pusch_vars
->
ptrs_phase_per_slot
);
free_and_zero
(
pusch_vars
->
ul_ch_estimates_time
);
free_and_zero
(
pusch_vars
->
ul_valid_re_per_slot
);
...
...
openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c
View file @
dc5df35f
...
...
@@ -288,14 +288,11 @@ static void nr_ulsch_extract_rbs(c16_t* const rxdataF,
NR_DL_FRAME_PARMS
*
frame_parms
)
{
uint8_t
delta
=
0
;
int
start_re
=
(
frame_parms
->
first_carrier_offset
+
(
pusch_pdu
->
rb_start
+
pusch_pdu
->
bwp_start
)
*
NR_NB_SC_PER_RB
)
%
frame_parms
->
ofdm_symbol_size
;
int
nb_re_pusch
=
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
;
c16_t
*
rxF
=
&
rxdataF
[
rxoffset
];
c16_t
*
rxF_ext
=
&
rxFext
[
0
];
c16_t
*
ul_ch0
=
&
chF
[
choffset
];
c16_t
*
rxF
=
&
rxdataF
[
rxoffset
];
c16_t
*
rxF_ext
=
&
rxFext
[
0
];
c16_t
*
ul_ch0
=
&
chF
[
choffset
];
c16_t
*
ul_ch0_ext
=
&
chFext
[
0
];
if
(
is_dmrs_symbol
==
0
)
{
...
...
@@ -307,11 +304,11 @@ static void nr_ulsch_extract_rbs(c16_t* const rxdataF,
memcpy
(
rxF_ext
,
&
rxF
[
start_re
],
neg_length
*
sizeof
(
c16_t
));
memcpy
(
&
rxF_ext
[
neg_length
],
rxF
,
pos_length
*
sizeof
(
c16_t
));
}
memcpy
(
ul_ch0_ext
,
ul_ch0
,
nb_re_pusch
*
sizeof
(
c16_t
));
memcpy
(
ul_ch0_ext
,
ul_ch0
,
nb_re_pusch
*
sizeof
(
c16_t
));
}
else
if
(
pusch_pdu
->
dmrs_config_type
==
pusch_dmrs_type1
)
{
// 6 REs / PRB
AssertFatal
(
delta
==
0
||
delta
==
1
,
"Illegal delta %d
\n
"
,
delta
);
c16_t
*
rxF32
=
&
rxF
[
start_re
];
c16_t
*
rxF32
=
&
rxF
[
start_re
];
if
(
start_re
+
nb_re_pusch
<
frame_parms
->
ofdm_symbol_size
)
{
for
(
int
idx
=
1
-
delta
;
idx
<
nb_re_pusch
;
idx
+=
2
)
{
*
rxF_ext
++
=
rxF32
[
idx
];
...
...
@@ -367,7 +364,8 @@ static void nr_ulsch_extract_rbs(c16_t* const rxdataF,
}
}
static
void
nr_ulsch_scale_channel
(
int
**
ul_ch_estimates_ext
,
static
void
nr_ulsch_scale_channel
(
int
size_est
,
int
ul_ch_estimates_ext
[][
size_est
],
NR_DL_FRAME_PARMS
*
frame_parms
,
uint8_t
symbol
,
uint8_t
is_dmrs_symbol
,
...
...
@@ -419,7 +417,8 @@ static int get_nb_re_pusch (NR_DL_FRAME_PARMS *frame_parms, nfapi_nr_pusch_pdu_t
}
// compute average channel_level on each (TX,RX) antenna pair
static
void
nr_ulsch_channel_level
(
int
**
ul_ch_estimates_ext
,
static
void
nr_ulsch_channel_level
(
int
size_est
,
int
ul_ch_estimates_ext
[][
size_est
],
NR_DL_FRAME_PARMS
*
frame_parms
,
int32_t
*
avg
,
uint8_t
symbol
,
...
...
@@ -436,7 +435,7 @@ static void nr_ulsch_channel_level(int **ul_ch_estimates_ext,
//clear average level
avg128U
=
simde_mm_setzero_si128
();
ul_ch128
=
(
simde__m128i
*
)
&
ul_ch_estimates_ext
[
aatx
*
frame_parms
->
nb_antennas_rx
+
aarx
][
symbol
*
len
];
ul_ch128
=
(
simde__m128i
*
)
&
ul_ch_estimates_ext
[
aatx
*
frame_parms
->
nb_antennas_rx
+
aarx
][
symbol
*
len
];
for
(
int
i
=
0
;
i
<
len
>>
2
;
i
++
)
{
avg128U
=
simde_mm_add_epi32
(
avg128U
,
simde_mm_srai_epi32
(
simde_mm_madd_epi16
(
ul_ch128
[
i
],
ul_ch128
[
i
]),
x
));
...
...
@@ -1505,9 +1504,9 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB,
pusch_vars
->
ulsch_power
[
aarx
]
=
0
;
pusch_vars
->
ulsch_noise_power
[
aarx
]
=
0
;
}
for
(
int
aatx
=
0
;
aatx
<
rel15_ul
->
nrOfLayers
;
aatx
++
)
{
for
(
int
nl
=
0
;
nl
<
rel15_ul
->
nrOfLayers
;
nl
++
)
{
pusch_vars
->
ulsch_power
[
aarx
]
+=
signal_energy_nodc
(
(
c16_t
*
)
&
pusch_vars
->
ul_ch_estimates
[
aatx
*
gNB
->
frame_parms
.
nb_antennas_rx
+
aarx
][
symbol
*
frame_parms
->
ofdm_symbol_size
],
(
c16_t
*
)
&
pusch_vars
->
ul_ch_estimates
[
nl
*
gNB
->
frame_parms
.
nb_antennas_rx
+
aarx
][
symbol
*
frame_parms
->
ofdm_symbol_size
],
rel15_ul
->
rb_size
*
12
);
}
for
(
int
rb
=
0
;
rb
<
rel15_ul
->
rb_size
;
rb
++
)
...
...
@@ -1592,17 +1591,21 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB,
dmrs_symbol
=
get_valid_dmrs_idx_for_channel_est
(
rel15_ul
->
ul_dmrs_symb_pos
,
meas_symbol
);
else
// average of channel estimates stored in first symbol
dmrs_symbol
=
get_next_dmrs_symbol_in_slot
(
rel15_ul
->
ul_dmrs_symb_pos
,
rel15_ul
->
start_symbol_index
,
end_symbol
);
int
size_est
=
nb_re_pusch
*
frame_parms
->
symbols_per_slot
;
__attribute__
((
aligned
(
32
)))
int
ul_ch_estimates_ext
[
rel15_ul
->
nrOfLayers
*
frame_parms
->
nb_antennas_rx
][
size_est
];
memset
(
ul_ch_estimates_ext
,
0
,
sizeof
(
ul_ch_estimates_ext
));
int
buffer_length
=
rel15_ul
->
rb_size
*
NR_NB_SC_PER_RB
;
c16_t
temp_rxFext
[
frame_parms
->
nb_antennas_rx
][
buffer_length
]
__attribute__
((
aligned
(
32
)));
for
(
int
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
for
(
int
aatx
=
0
;
aatx
<
rel15_ul
->
nrOfLayers
;
aatx
++
)
for
(
int
nl
=
0
;
nl
<
rel15_ul
->
nrOfLayers
;
nl
++
)
nr_ulsch_extract_rbs
(
gNB
->
common_vars
.
rxdataF
[
aarx
],
(
c16_t
*
)
pusch_vars
->
ul_ch_estimates
[
aatx
*
frame_parms
->
nb_antennas_rx
+
aarx
],
(
c16_t
*
)
&
pusch_vars
->
rxdataF_ext
[
aarx
][
meas_symbol
*
nb_re_pusch
],
(
c16_t
*
)
&
pusch_vars
->
ul_ch_estimates_ext
[
aatx
*
frame_parms
->
nb_antennas_rx
+
aarx
][
meas_symbol
*
nb_re_pusch
],
(
c16_t
*
)
pusch_vars
->
ul_ch_estimates
[
nl
*
frame_parms
->
nb_antennas_rx
+
aarx
],
temp_rxFext
[
aarx
],
(
c16_t
*
)
&
ul_ch_estimates_ext
[
nl
*
frame_parms
->
nb_antennas_rx
+
aarx
][
meas_symbol
*
nb_re_pusch
],
soffset
+
meas_symbol
*
frame_parms
->
ofdm_symbol_size
,
dmrs_symbol
*
frame_parms
->
ofdm_symbol_size
,
aarx
,
(
rel15_ul
->
ul_dmrs_symb_pos
>>
meas_symbol
)
&
0x01
,
(
rel15_ul
->
ul_dmrs_symb_pos
>>
meas_symbol
)
&
0x01
,
rel15_ul
,
frame_parms
);
...
...
@@ -1613,7 +1616,8 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB,
//----------------------------------------------------------
//--------------------- Channel Scaling --------------------
//----------------------------------------------------------
nr_ulsch_scale_channel
(
pusch_vars
->
ul_ch_estimates_ext
,
nr_ulsch_scale_channel
(
size_est
,
ul_ch_estimates_ext
,
frame_parms
,
meas_symbol
,
(
rel15_ul
->
ul_dmrs_symb_pos
>>
meas_symbol
)
&
0x01
,
...
...
@@ -1622,16 +1626,17 @@ int nr_rx_pusch_tp(PHY_VARS_gNB *gNB,
rel15_ul
->
rb_size
,
shift_ch_ext
);
nr_ulsch_channel_level
(
pusch_vars
->
ul_ch_estimates_ext
,
nr_ulsch_channel_level
(
size_est
,
ul_ch_estimates_ext
,
frame_parms
,
avg
,
meas_symbol
,
// index of the start symbol
nb_re_pusch
,
// number of the re in pusch
rel15_ul
->
nrOfLayers
);
for
(
int
aatx
=
0
;
aatx
<
rel15_ul
->
nrOfLayers
;
aatx
++
)
for
(
int
nl
=
0
;
nl
<
rel15_ul
->
nrOfLayers
;
nl
++
)
for
(
int
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
avgs
=
cmax
(
avgs
,
avg
[
aatx
*
frame_parms
->
nb_antennas_rx
+
aarx
]);
avgs
=
cmax
(
avgs
,
avg
[
nl
*
frame_parms
->
nb_antennas_rx
+
aarx
]);
pusch_vars
->
log2_maxh
=
(
log2_approx
(
avgs
)
>>
1
);
...
...
openair1/PHY/defs_gNB.h
View file @
dc5df35f
...
...
@@ -286,10 +286,6 @@ typedef struct {
typedef
struct
{
/// \brief Holds the received data in the frequency domain for the allocated RBs in repeated format.
/// - first index: rx antenna id [0..nb_antennas_rx[
/// - second index: ? [0..2*ofdm_symbol_size[
int32_t
**
rxdataF_ext
;
/// \brief Hold the channel estimates in time domain based on DRS.
/// - first index: rx antenna id [0..nb_antennas_rx[
/// - second index: ? [0..4*ofdm_symbol_size[
...
...
@@ -298,10 +294,6 @@ typedef struct {
/// - first index: rx antenna id [0..nb_antennas_rx[
/// - second index: ? [0..12*N_RB_UL*frame_parms->symbols_per_tti[
int32_t
**
ul_ch_estimates
;
/// \brief Uplink channel estimates extracted in PRBS.
/// - first index: ? [0..7] (hard coded) FIXME! accessed via \c nb_antennas_rx
/// - second index: ? [0..12*N_RB_UL*frame_parms->symbols_per_tti[
int32_t
**
ul_ch_estimates_ext
;
/// \brief Holds the compensated signal.
/// - first index: rx antenna id [0..nb_antennas_rx[
/// - second index: ? [0..12*N_RB_UL*frame_parms->symbols_per_tti[
...
...
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
dc5df35f
...
...
@@ -345,10 +345,7 @@ static void nr_postDecode(PHY_VARS_gNB *gNB, notifiedFIFO_elt_t *req)
ulsch_harq->ulsch_pdu.rb_size],ulsch_harq->ulsch_pdu.nr_of_symbols*(off+(NR_NB_SC_PER_RB *
ulsch_harq->ulsch_pdu.rb_size)),1,1); LOG_M("chestF0.m","chF0",
&gNB->pusch_vars[0].ul_ch_estimates[0][ulsch_harq->ulsch_pdu.start_symbol_index*gNB->frame_parms.ofdm_symbol_size],gNB->frame_parms.ofdm_symbol_size,1,1);
LOG_M("chestF0_ext.m","chF0_ext",
&gNB->pusch_vars[0]->ul_ch_estimates_ext[0][(ulsch_harq->ulsch_pdu.start_symbol_index+1)*(off+(NR_NB_SC_PER_RB *
ulsch_harq->ulsch_pdu.rb_size))], (ulsch_harq->ulsch_pdu.nr_of_symbols-1)*(off+(NR_NB_SC_PER_RB *
ulsch_harq->ulsch_pdu.rb_size)),1,1); LOG_M("rxsigF0_comp.m","rxsF0_comp",
LOG_M("rxsigF0_comp.m","rxsF0_comp",
&gNB->pusch_vars[0].rxdataF_comp[0][ulsch_harq->ulsch_pdu.start_symbol_index*(off+(NR_NB_SC_PER_RB *
ulsch_harq->ulsch_pdu.rb_size))],ulsch_harq->ulsch_pdu.nr_of_symbols*(off+(NR_NB_SC_PER_RB *
ulsch_harq->ulsch_pdu.rb_size)),1,1); LOG_M("rxsigF0_llr.m","rxsF0_llr",
...
...
@@ -360,10 +357,7 @@ static void nr_postDecode(PHY_VARS_gNB *gNB, notifiedFIFO_elt_t *req)
ulsch_harq->ulsch_pdu.rb_size],ulsch_harq->ulsch_pdu.nr_of_symbols*(off+(NR_NB_SC_PER_RB *
ulsch_harq->ulsch_pdu.rb_size)),1,1); LOG_M("chestF1.m","chF1",
&gNB->pusch_vars[0].ul_ch_estimates[1][ulsch_harq->ulsch_pdu.start_symbol_index*gNB->frame_parms.ofdm_symbol_size],gNB->frame_parms.ofdm_symbol_size,1,1);
LOG_M("chestF1_ext.m","chF1_ext",
&gNB->pusch_vars[0].ul_ch_estimates_ext[1][(ulsch_harq->ulsch_pdu.start_symbol_index+1)*(off+(NR_NB_SC_PER_RB *
ulsch_harq->ulsch_pdu.rb_size))], (ulsch_harq->ulsch_pdu.nr_of_symbols-1)*(off+(NR_NB_SC_PER_RB *
ulsch_harq->ulsch_pdu.rb_size)),1,1); LOG_M("rxsigF1_comp.m","rxsF1_comp",
LOG_M("rxsigF1_comp.m","rxsF1_comp",
&gNB->pusch_vars[0].rxdataF_comp[1][ulsch_harq->ulsch_pdu.start_symbol_index*(off+(NR_NB_SC_PER_RB *
ulsch_harq->ulsch_pdu.rb_size))],ulsch_harq->ulsch_pdu.nr_of_symbols*(off+(NR_NB_SC_PER_RB *
ulsch_harq->ulsch_pdu.rb_size)),1,1);
...
...
openair1/SIMULATION/NR_PHY/ulsim.c
View file @
dc5df35f
...
...
@@ -1266,30 +1266,20 @@ int main(int argc, char *argv[])
if
(
n_trials
==
1
&&
round
==
0
)
{
__attribute__
((
unused
))
int
off
=
((
nb_rb
&
1
)
==
1
)
?
4
:
0
;
LOG_M
(
"rxsigF0_ext.m"
,
"rxsF0_ext"
,
&
pusch_vars
->
rxdataF_ext
[
0
][
start_symbol
*
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
],
nb_symb_sch
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
)),
1
,
1
);
LOG_M
(
"chestF0.m"
,
"chF0"
,
&
pusch_vars
->
ul_ch_estimates
[
0
][
start_symbol
*
frame_parms
->
ofdm_symbol_size
],
frame_parms
->
ofdm_symbol_size
,
1
,
1
);
LOG_M
(
"chestF0_ext.m"
,
"chF0_ext"
,
&
pusch_vars
->
ul_ch_estimates_ext
[
0
][(
start_symbol
+
1
)
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
))],
(
nb_symb_sch
-
1
)
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
)),
1
,
1
);
LOG_M
(
"rxsigF0_comp.m"
,
"rxsF0_comp"
,
&
pusch_vars
->
rxdataF_comp
[
0
][
start_symbol
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
))],
nb_symb_sch
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
)),
1
,
1
);
LOG_M
(
"rxsigF0_llrlayers0.m"
,
"rxsF0_llrlayers0"
,
&
pusch_vars
->
llr_layers
[
0
][
0
],
...
...
@@ -1298,12 +1288,6 @@ int main(int argc, char *argv[])
0
);
if
(
precod_nbr_layers
==
2
)
{
LOG_M
(
"rxsigF1_ext.m"
,
"rxsF1_ext"
,
&
pusch_vars
->
rxdataF_ext
[
1
][
start_symbol
*
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
],
nb_symb_sch
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
)),
1
,
1
);
LOG_M
(
"chestF3.m"
,
"chF3"
,
...
...
@@ -1312,13 +1296,6 @@ int main(int argc, char *argv[])
1
,
1
);
LOG_M
(
"chestF3_ext.m"
,
"chF3_ext"
,
&
pusch_vars
->
ul_ch_estimates_ext
[
3
][(
start_symbol
+
1
)
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
))],
(
nb_symb_sch
-
1
)
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
)),
1
,
1
);
LOG_M
(
"rxsigF2_comp.m"
,
"rxsF2_comp"
,
&
pusch_vars
->
rxdataF_comp
[
2
][
start_symbol
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
))],
...
...
@@ -1335,24 +1312,6 @@ int main(int argc, char *argv[])
}
if
(
precod_nbr_layers
==
4
)
{
LOG_M
(
"rxsigF1_ext.m"
,
"rxsF1_ext"
,
&
pusch_vars
->
rxdataF_ext
[
1
][
start_symbol
*
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
],
nb_symb_sch
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
)),
1
,
1
);
LOG_M
(
"rxsigF2_ext.m"
,
"rxsF2_ext"
,
&
pusch_vars
->
rxdataF_ext
[
2
][
start_symbol
*
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
],
nb_symb_sch
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
)),
1
,
1
);
LOG_M
(
"rxsigF3_ext.m"
,
"rxsF3_ext"
,
&
pusch_vars
->
rxdataF_ext
[
3
][
start_symbol
*
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
],
nb_symb_sch
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
)),
1
,
1
);
LOG_M
(
"chestF5.m"
,
"chF5"
,
...
...
@@ -1373,25 +1332,6 @@ int main(int argc, char *argv[])
1
,
1
);
LOG_M
(
"chestF5_ext.m"
,
"chF5_ext"
,
&
pusch_vars
->
ul_ch_estimates_ext
[
5
][(
start_symbol
+
1
)
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
))],
(
nb_symb_sch
-
1
)
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
)),
1
,
1
);
LOG_M
(
"chestF10_ext.m"
,
"chF10_ext"
,
&
pusch_vars
->
ul_ch_estimates_ext
[
10
][(
start_symbol
+
1
)
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
))],
(
nb_symb_sch
-
1
)
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
)),
1
,
1
);
LOG_M
(
"chestF15_ext.m"
,
"chF15_ext"
,
&
pusch_vars
->
ul_ch_estimates_ext
[
15
][(
start_symbol
+
1
)
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
))],
(
nb_symb_sch
-
1
)
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
)),
1
,
1
);
LOG_M
(
"rxsigF4_comp.m"
,
"rxsF4_comp"
,
&
pusch_vars
->
rxdataF_comp
[
4
][
start_symbol
*
(
off
+
(
NR_NB_SC_PER_RB
*
pusch_pdu
->
rb_size
))],
...
...
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