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
promise
OpenXG-RAN
Commits
0c22058d
Commit
0c22058d
authored
6 years ago
by
hongzhi wang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ue bug fix and workaround for pdcch test
parent
d77732b3
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
61 additions
and
35 deletions
+61
-35
openair1/PHY/INIT/nr_parms.c
openair1/PHY/INIT/nr_parms.c
+1
-1
openair1/PHY/MODULATION/slot_fep.c
openair1/PHY/MODULATION/slot_fep.c
+2
-2
openair1/PHY/NR_REFSIG/nr_dmrs_rx.c
openair1/PHY/NR_REFSIG/nr_dmrs_rx.c
+3
-2
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
+9
-9
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
+1
-1
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
+5
-0
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+14
-12
targets/RT/USER/nr-ue.c
targets/RT/USER/nr-ue.c
+24
-6
targets/RT/USER/nr-uesoftmodem.c
targets/RT/USER/nr-uesoftmodem.c
+2
-2
No files found.
openair1/PHY/INIT/nr_parms.c
View file @
0c22058d
...
@@ -274,7 +274,7 @@ int nr_init_frame_parms_ue(NR_DL_FRAME_PARMS *frame_parms)
...
@@ -274,7 +274,7 @@ int nr_init_frame_parms_ue(NR_DL_FRAME_PARMS *frame_parms)
frame_parms
->
ofdm_symbol_size
=
2048
;
frame_parms
->
ofdm_symbol_size
=
2048
;
frame_parms
->
samples_per_tti
=
30720
;
frame_parms
->
samples_per_tti
=
30720
;
frame_parms
->
samples_per_subframe
=
30720
*
frame_parms
->
ttis_per_subframe
;
frame_parms
->
samples_per_subframe
=
30720
*
frame_parms
->
ttis_per_subframe
;
frame_parms
->
first_carrier_offset
=
2048
-
600
;
//
frame_parms->first_carrier_offset = 2048-600;
frame_parms
->
symbols_per_slot
=
((
Ncp
==
NORMAL
)
?
14
:
12
);
// to redefine for different slot formats
frame_parms
->
symbols_per_slot
=
((
Ncp
==
NORMAL
)
?
14
:
12
);
// to redefine for different slot formats
frame_parms
->
samples_per_subframe_wCP
=
frame_parms
->
ofdm_symbol_size
*
frame_parms
->
symbols_per_slot
*
frame_parms
->
slots_per_subframe
;
frame_parms
->
samples_per_subframe_wCP
=
frame_parms
->
ofdm_symbol_size
*
frame_parms
->
symbols_per_slot
*
frame_parms
->
slots_per_subframe
;
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/MODULATION/slot_fep.c
View file @
0c22058d
...
@@ -50,7 +50,7 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
...
@@ -50,7 +50,7 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
unsigned
int
frame_length_samples
=
frame_parms
->
samples_per_subframe
*
10
;
unsigned
int
frame_length_samples
=
frame_parms
->
samples_per_subframe
*
10
;
unsigned
int
rx_offset
;
unsigned
int
rx_offset
;
//NR_UE_PDCCH *pdcch_vars = ue->pdcch_vars[ue->current_thread_id[Ns>>1]][0];
//NR_UE_PDCCH *pdcch_vars = ue->pdcch_vars[ue->current_thread_id[Ns>>1]][0];
uint16_t
coreset_start_subcarrier
=
frame_parms
->
first_carrier_offset
;
uint16_t
coreset_start_subcarrier
=
frame_parms
->
first_carrier_offset
+
516
;
uint16_t
nb_rb_coreset
=
24
;
uint16_t
nb_rb_coreset
=
24
;
uint16_t
bwp_start_subcarrier
=
frame_parms
->
first_carrier_offset
;
uint16_t
bwp_start_subcarrier
=
frame_parms
->
first_carrier_offset
;
uint16_t
nb_rb_pdsch
=
100
;
uint16_t
nb_rb_pdsch
=
100
;
...
@@ -239,7 +239,7 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
...
@@ -239,7 +239,7 @@ int nr_slot_fep(PHY_VARS_NR_UE *ue,
for
(
aa
=
0
;
aa
<
frame_parms
->
nb_antenna_ports_eNB
;
aa
++
)
{
for
(
aa
=
0
;
aa
<
frame_parms
->
nb_antenna_ports_eNB
;
aa
++
)
{
#ifdef DEBUG_FEP
#ifdef DEBUG_FEP
printf
(
"
Channel estimation eNB %d, aatx %d, slot %d, symbol %d
\n
"
,
eNB_id
,
aa
,
Ns
,
l
);
printf
(
"
PDCCH Channel estimation eNB %d, aatx %d, slot %d, symbol %d start_sc %d
\n
"
,
eNB_id
,
aa
,
Ns
,
l
,
coreset_start_subcarrier
);
#endif
#endif
#if UE_TIMING_TRACE
#if UE_TIMING_TRACE
start_meas
(
&
ue
->
dlsch_channel_estimation_stats
);
start_meas
(
&
ue
->
dlsch_channel_estimation_stats
);
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_REFSIG/nr_dmrs_rx.c
View file @
0c22058d
...
@@ -205,8 +205,9 @@ int nr_pdcch_dmrs_rx(PHY_VARS_NR_UE *ue,
...
@@ -205,8 +205,9 @@ int nr_pdcch_dmrs_rx(PHY_VARS_NR_UE *ue,
((
int16_t
*
)
output
)[
i
<<
1
]
=
nr_rx_mod_table
[(
NR_MOD_TABLE_QPSK_OFFSET
+
idx
)
<<
1
];
((
int16_t
*
)
output
)[
i
<<
1
]
=
nr_rx_mod_table
[(
NR_MOD_TABLE_QPSK_OFFSET
+
idx
)
<<
1
];
((
int16_t
*
)
output
)[(
i
<<
1
)
+
1
]
=
nr_rx_mod_table
[((
NR_MOD_TABLE_QPSK_OFFSET
+
idx
)
<<
1
)
+
1
];
((
int16_t
*
)
output
)[(
i
<<
1
)
+
1
]
=
nr_rx_mod_table
[((
NR_MOD_TABLE_QPSK_OFFSET
+
idx
)
<<
1
)
+
1
];
#ifdef DEBUG_PDCCH
#ifdef DEBUG_PDCCH
printf
(
"i %d idx %d pdcch gold %d b0-b1 %d-%d mod_dmrs %d %d
\n
"
,
i
,
idx
,
nr_gold_pdcch
[(
i
<<
1
)
>>
5
],
(((
nr_gold_pdcch
[(
i
<<
1
)
>>
5
])
>>
((
i
<<
1
)
&
0x1f
))
&
1
),
if
(
i
<
8
)
(((
nr_gold_pdcch
[((
i
<<
1
)
+
1
)
>>
5
])
>>
(((
i
<<
1
)
+
1
)
&
0x1f
))
&
1
),
((
int16_t
*
)
output
)[
i
<<
1
],
((
int16_t
*
)
output
)[(
m
<<
1
)
+
1
],
&
output
[
0
]);
printf
(
"i %d idx %d pdcch gold %u b0-b1 %d-%d mod_dmrs %d %d
\n
"
,
i
,
idx
,
nr_gold_pdcch
[(
i
<<
1
)
>>
5
],
(((
nr_gold_pdcch
[(
i
<<
1
)
>>
5
])
>>
((
i
<<
1
)
&
0x1f
))
&
1
),
(((
nr_gold_pdcch
[((
i
<<
1
)
+
1
)
>>
5
])
>>
(((
i
<<
1
)
+
1
)
&
0x1f
))
&
1
),
((
int16_t
*
)
output
)[
i
<<
1
],
((
int16_t
*
)
output
)[(
i
<<
1
)
+
1
],
&
output
[
0
]);
#endif
#endif
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_ESTIMATION/nr_dl_channel_estimation.c
View file @
0c22058d
...
@@ -112,21 +112,21 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue,
...
@@ -112,21 +112,21 @@ int nr_pbch_channel_estimation(PHY_VARS_NR_UE *ue,
multadd_complex_vector_real_scalar
(
dl_ch
-
(
ue
->
frame_parms
.
ofdm_symbol_size
<<
1
),
multadd_complex_vector_real_scalar
(
dl_ch
-
(
ue
->
frame_parms
.
ofdm_symbol_size
<<
1
),
ue
->
ch_est_alpha
,
dl_ch
-
(
ue
->
frame_parms
.
ofdm_symbol_size
<<
1
),
ue
->
ch_est_alpha
,
dl_ch
-
(
ue
->
frame_parms
.
ofdm_symbol_size
<<
1
),
1
,
ue
->
frame_parms
.
ofdm_symbol_size
);
1
,
ue
->
frame_parms
.
ofdm_symbol_size
);
//
#ifdef DEBUG_CH
#ifdef DEBUG_CH
printf
(
"ch est pilot addr %p RB_DL %d
\n
"
,
&
pilot
[
p
][
0
],
ue
->
frame_parms
.
N_RB_DL
);
printf
(
"
pbch
ch est pilot addr %p RB_DL %d
\n
"
,
&
pilot
[
p
][
0
],
ue
->
frame_parms
.
N_RB_DL
);
printf
(
"k %d, first_carrier %d
\n
"
,
k
,
ue
->
frame_parms
.
first_carrier_offset
);
printf
(
"k %d, first_carrier %d
\n
"
,
k
,
ue
->
frame_parms
.
first_carrier_offset
);
printf
(
"rxF addr %p
\n
"
,
rxF
);
printf
(
"rxF addr %p
\n
"
,
rxF
);
printf
(
"dl_ch addr %p
\n
"
,
dl_ch
);
printf
(
"dl_ch addr %p
\n
"
,
dl_ch
);
//
#endif
#endif
//if ((ue->frame_parms.N_RB_DL&1)==0) {
//if ((ue->frame_parms.N_RB_DL&1)==0) {
// Treat first 2 pilots specially (left edge)
// Treat first 2 pilots specially (left edge)
ch
[
0
]
=
(
int16_t
)(((
int32_t
)
pil
[
0
]
*
rxF
[
0
]
-
(
int32_t
)
pil
[
1
]
*
rxF
[
1
])
>>
15
);
ch
[
0
]
=
(
int16_t
)(((
int32_t
)
pil
[
0
]
*
rxF
[
0
]
-
(
int32_t
)
pil
[
1
]
*
rxF
[
1
])
>>
15
);
ch
[
1
]
=
(
int16_t
)(((
int32_t
)
pil
[
0
]
*
rxF
[
1
]
+
(
int32_t
)
pil
[
1
]
*
rxF
[
0
])
>>
15
);
ch
[
1
]
=
(
int16_t
)(((
int32_t
)
pil
[
0
]
*
rxF
[
1
]
+
(
int32_t
)
pil
[
1
]
*
rxF
[
0
])
>>
15
);
//
#ifdef DEBUG_CH
#ifdef DEBUG_CH
printf
(
"ch 0 %d
\n
"
,((
int32_t
)
pil
[
0
]
*
rxF
[
0
]
-
(
int32_t
)
pil
[
1
]
*
rxF
[
1
]));
printf
(
"ch 0 %d
\n
"
,((
int32_t
)
pil
[
0
]
*
rxF
[
0
]
-
(
int32_t
)
pil
[
1
]
*
rxF
[
1
]));
printf
(
"pilot 0 : rxF - > (%d,%d) addr %p ch -> (%d,%d), pil -> (%d,%d)
\n
"
,
rxF
[
0
],
rxF
[
1
],
&
rxF
[
0
],
ch
[
0
],
ch
[
1
],
pil
[
0
],
pil
[
1
]);
printf
(
"pilot 0 : rxF - > (%d,%d) addr %p ch -> (%d,%d), pil -> (%d,%d)
\n
"
,
rxF
[
0
],
rxF
[
1
],
&
rxF
[
0
],
ch
[
0
],
ch
[
1
],
pil
[
0
],
pil
[
1
]);
//
#endif
#endif
multadd_real_vector_complex_scalar
(
fl
,
multadd_real_vector_complex_scalar
(
fl
,
ch
,
ch
,
dl_ch
,
dl_ch
,
...
@@ -257,7 +257,7 @@ int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
...
@@ -257,7 +257,7 @@ int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
k
=
coreset_start_subcarrier
;
k
=
coreset_start_subcarrier
;
#ifdef DEBUG_CH
#ifdef DEBUG_CH
printf
(
"P
BCH Channel Estimation : ThreadId %d, eNB_offset %d cell_id %d ch_offset %d, OFDM size %d, Ncp=%d, l=%d, Ns=%d, k=%d symbol %d
\n
"
,
ue
->
current_thread_id
[
Ns
>>
1
],
eNB_offset
,
Nid_cell
,
ch_offset
,
ue
->
frame_parms
.
ofdm_symbol_size
,
printf
(
"P
DCCH Channel Estimation : ThreadId %d, eNB_offset %d ch_offset %d, OFDM size %d, Ncp=%d, l=%d, Ns=%d, k=%d symbol %d
\n
"
,
ue
->
current_thread_id
[
Ns
>>
1
],
eNB_offset
,
ch_offset
,
ue
->
frame_parms
.
ofdm_symbol_size
,
ue
->
frame_parms
.
Ncp
,
l
,
Ns
,
k
,
symbol
);
ue
->
frame_parms
.
Ncp
,
l
,
Ns
,
k
,
symbol
);
#endif
#endif
...
@@ -279,12 +279,12 @@ int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
...
@@ -279,12 +279,12 @@ int nr_pdcch_channel_estimation(PHY_VARS_NR_UE *ue,
multadd_complex_vector_real_scalar
(
dl_ch
-
(
ue
->
frame_parms
.
ofdm_symbol_size
<<
1
),
multadd_complex_vector_real_scalar
(
dl_ch
-
(
ue
->
frame_parms
.
ofdm_symbol_size
<<
1
),
ue
->
ch_est_alpha
,
dl_ch
-
(
ue
->
frame_parms
.
ofdm_symbol_size
<<
1
),
ue
->
ch_est_alpha
,
dl_ch
-
(
ue
->
frame_parms
.
ofdm_symbol_size
<<
1
),
1
,
ue
->
frame_parms
.
ofdm_symbol_size
);
1
,
ue
->
frame_parms
.
ofdm_symbol_size
);
#ifdef DEBUG_CH
//
#ifdef DEBUG_CH
printf
(
"ch est pilot addr %p RB_DL %d
\n
"
,
&
pilot
[
p
][
0
],
ue
->
frame_parms
.
N_RB_DL
);
printf
(
"
pdcch
ch est pilot addr %p RB_DL %d
\n
"
,
&
pilot
[
p
][
0
],
ue
->
frame_parms
.
N_RB_DL
);
printf
(
"k %d, first_carrier %d
\n
"
,
k
,
ue
->
frame_parms
.
first_carrier_offset
);
printf
(
"k %d, first_carrier %d
\n
"
,
k
,
ue
->
frame_parms
.
first_carrier_offset
);
printf
(
"rxF addr %p
\n
"
,
rxF
);
printf
(
"rxF addr %p
\n
"
,
rxF
);
printf
(
"dl_ch addr %p
\n
"
,
dl_ch
);
printf
(
"dl_ch addr %p
\n
"
,
dl_ch
);
#endif
//
#endif
if
((
ue
->
frame_parms
.
N_RB_DL
&
1
)
==
0
)
{
if
((
ue
->
frame_parms
.
N_RB_DL
&
1
)
==
0
)
{
// Treat first 2 pilots specially (left edge)
// Treat first 2 pilots specially (left edge)
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
View file @
0c22058d
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
//#define NR_LTE_PDCCH_DCI_SWITCH
//#define NR_LTE_PDCCH_DCI_SWITCH
#define NR_PDCCH_DCI_RUN // activates new nr functions
#define NR_PDCCH_DCI_RUN // activates new nr functions
#define NR_PDCCH_DCI_DEBUG // activates NR_PDCCH_DCI_DEBUG logs
//
#define NR_PDCCH_DCI_DEBUG // activates NR_PDCCH_DCI_DEBUG logs
#define NR_NBR_CORESET_ACT_BWP 3 // The number of CoreSets per BWP is limited to 3 (including initial CORESET: ControlResourceId 0)
#define NR_NBR_CORESET_ACT_BWP 3 // The number of CoreSets per BWP is limited to 3 (including initial CORESET: ControlResourceId 0)
#define NR_NBR_SEARCHSPACE_ACT_BWP 10 // The number of SearSpaces per BWP is limited to 10 (including initial SEARCHSPACE: SearchSpaceId 0)
#define NR_NBR_SEARCHSPACE_ACT_BWP 10 // The number of SearSpaces per BWP is limited to 10 (including initial SEARCHSPACE: SearchSpaceId 0)
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
View file @
0c22058d
...
@@ -238,6 +238,11 @@ int nr_initial_sync(PHY_VARS_NR_UE *ue, runmode_t mode)
...
@@ -238,6 +238,11 @@ int nr_initial_sync(PHY_VARS_NR_UE *ue, runmode_t mode)
nr_gold_pbch
(
ue
);
nr_gold_pbch
(
ue
);
ret
=
nr_pbch_detection
(
ue
,
mode
);
ret
=
nr_pbch_detection
(
ue
,
mode
);
nr_gold_pdcch
(
ue
,
0
,
2
);
nr_slot_fep
(
ue
,
0
,
0
,
ue
->
rx_offset
,
1
,
1
,
NR_PDCCH_EST
);
nr_slot_fep
(
ue
,
1
,
0
,
ue
->
rx_offset
,
1
,
1
,
NR_PDCCH_EST
);
LOG_I
(
PHY
,
"[UE %d] AUTOTEST Cell Sync : frame = %d, rx_offset %d, freq_offset %d
\n
"
,
LOG_I
(
PHY
,
"[UE %d] AUTOTEST Cell Sync : frame = %d, rx_offset %d, freq_offset %d
\n
"
,
ue
->
Mod_id
,
ue
->
Mod_id
,
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
View file @
0c22058d
...
@@ -54,9 +54,9 @@
...
@@ -54,9 +54,9 @@
#define DEBUG_PHY_PROC
#define DEBUG_PHY_PROC
#define NR_PDCCH_SCHED
#define NR_PDCCH_SCHED
#define NR_PDCCH_SCHED_DEBUG
//
#define NR_PDCCH_SCHED_DEBUG
#define NR_PUCCH_SCHED
//
#define NR_PUCCH_SCHED
#define NR_PUCCH_SCHED_DEBUG
//
#define NR_PUCCH_SCHED_DEBUG
#ifndef PUCCH
#ifndef PUCCH
#define PUCCH
#define PUCCH
...
@@ -5522,28 +5522,28 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
...
@@ -5522,28 +5522,28 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
LOG_D
(
PHY
,
" ------ slot 0 Processing: AbsSubframe %d.%d ------
\n
"
,
frame_rx
%
1024
,
nr_tti_rx
);
LOG_D
(
PHY
,
" ------ slot 0 Processing: AbsSubframe %d.%d ------
\n
"
,
frame_rx
%
1024
,
nr_tti_rx
);
LOG_D
(
PHY
,
" ------ --> FFT/ChannelEst/PDCCH slot 0: AbsSubframe %d.%d ------
\n
"
,
frame_rx
%
1024
,
nr_tti_rx
);
LOG_D
(
PHY
,
" ------ --> FFT/ChannelEst/PDCCH slot 0: AbsSubframe %d.%d ------
\n
"
,
frame_rx
%
1024
,
nr_tti_rx
);
//nr_gold_pdcch(ue,0, 2);
nr_gold_pdcch
(
ue
,
0
,
3
);
/*
for (l=0; l<2; l++) {
for
(;
l
<=
3
;
l
++
)
{
if (abstraction_flag == 0) {
if (abstraction_flag == 0) {
#if UE_TIMING_TRACE
#if UE_TIMING_TRACE
start_meas(&ue->ofdm_demod_stats);
start_meas(&ue->ofdm_demod_stats);
#endif
#endif
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP, VCD_FUNCTION_IN);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP, VCD_FUNCTION_IN);
nr_slot_fep(ue,
nr_slot_fep(ue,
l,
l,
(
nr_tti_rx
<<
1
),
nr_tti_rx,
0
,
0
,
0,
0,
1,
1,
NR_PDCCH_EST);
NR_PDCCH_EST);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP, VCD_FUNCTION_OUT);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_SLOT_FEP, VCD_FUNCTION_OUT);
#if UE_TIMING_TRACE
#if UE_TIMING_TRACE
stop_meas(&ue->ofdm_demod_stats);
stop_meas(&ue->ofdm_demod_stats);
#endif
#endif
}
}
}
}
*/
//ue_measurement_procedures(l-1,ue,proc,eNB_id,(nr_tti_rx<<1),abstraction_flag,mode);
//ue_measurement_procedures(l-1,ue,proc,eNB_id,(nr_tti_rx<<1),abstraction_flag,mode);
if
(
do_pdcch_flag
)
{
if
(
do_pdcch_flag
)
{
...
@@ -5594,7 +5594,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
...
@@ -5594,7 +5594,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
#endif
#endif
#endif
#endif
#if 0
LOG_D(PHY," ------ --> PDSCH ChannelComp/LLR slot 0: AbsSubframe %d.%d ------ \n", frame_rx%1024, nr_tti_rx);
LOG_D(PHY," ------ --> PDSCH ChannelComp/LLR slot 0: AbsSubframe %d.%d ------ \n", frame_rx%1024, nr_tti_rx);
//to update from pdsch config
//to update from pdsch config
nr_gold_pdsch(ue,0,0, 1);
nr_gold_pdsch(ue,0,0, 1);
...
@@ -5933,6 +5933,8 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
...
@@ -5933,6 +5933,8 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
#endif
#endif
#endif
#endif
#endif //pdsch
LOG_D
(
PHY
,
" ****** end RX-Chain for AbsSubframe %d.%d ******
\n
"
,
frame_rx
%
1024
,
nr_tti_rx
);
LOG_D
(
PHY
,
" ****** end RX-Chain for AbsSubframe %d.%d ******
\n
"
,
frame_rx
%
1024
,
nr_tti_rx
);
return
(
0
);
return
(
0
);
}
}
...
...
This diff is collapsed.
Click to expand it.
targets/RT/USER/nr-ue.c
View file @
0c22058d
...
@@ -892,13 +892,28 @@ void *UE_thread(void *arg) {
...
@@ -892,13 +892,28 @@ void *UE_thread(void *arg) {
start_rx_stream
=
1
;
start_rx_stream
=
1
;
if
(
UE
->
mode
!=
loop_through_memory
)
{
if
(
UE
->
mode
!=
loop_through_memory
)
{
if
(
UE
->
no_timing_correction
==
0
)
{
if
(
UE
->
no_timing_correction
==
0
)
{
LOG_I
(
PHY
,
"Resynchronizing RX by %d samples (mode = %d)
\n
"
,
UE
->
rx_offset
,
UE
->
mode
);
printf
(
"before resync
\n
"
);
//nr_slot_fep(UE,0, 0, UE->rx_offset, 1, 1, NR_PDCCH_EST);
//nr_slot_fep(UE,1, 0, UE->rx_offset, 1, 1, NR_PDCCH_EST);
//write_output("txdata_pre.m", "txdata_pre", UE->common_vars.rxdata[0], UE->frame_parms.samples_per_subframe*10, 1, 1);
/*LOG_I(PHY,"Resynchronizing RX by %d samples (mode = %d)\n",UE->rx_offset,UE->mode);
AssertFatal(UE->rx_offset ==
AssertFatal(UE->rx_offset ==
UE->rfdevice.trx_read_func(&UE->rfdevice,
UE->rfdevice.trx_read_func(&UE->rfdevice,
×tamp,
×tamp,
(void**)UE->common_vars.rxdata,
(void**)UE->common_vars.rxdata,
UE->rx_offset,
UE->rx_offset,
UE->frame_parms.nb_antennas_rx),"");
UE->frame_parms.nb_antennas_rx),"");
AssertFatal(UE->frame_parms.samples_per_subframe*10 ==
UE->rfdevice.trx_read_func(&UE->rfdevice,
×tamp,
(void**)UE->common_vars.rxdata,
UE->frame_parms.samples_per_subframe*10,
UE->frame_parms.nb_antennas_rx),"");*/
//write_output("txdataF_ue.m", "txdataF_ue", UE->common_vars.rxdata[0], UE->frame_parms.samples_per_subframe*10, 1, 1);
}
}
UE
->
rx_offset
=
0
;
UE
->
rx_offset
=
0
;
UE
->
time_sync_cell
=
0
;
UE
->
time_sync_cell
=
0
;
...
@@ -907,6 +922,8 @@ void *UE_thread(void *arg) {
...
@@ -907,6 +922,8 @@ void *UE_thread(void *arg) {
for
(
th_id
=
0
;
th_id
<
RX_NB_TH
;
th_id
++
)
{
for
(
th_id
=
0
;
th_id
<
RX_NB_TH
;
th_id
++
)
{
UE
->
proc
.
proc_rxtx
[
th_id
].
frame_rx
++
;
UE
->
proc
.
proc_rxtx
[
th_id
].
frame_rx
++
;
}
}
//printf("first stream frame rx %d\n",UE->proc.proc_rxtx[0].frame_rx);
// read in first symbol
// read in first symbol
AssertFatal
(
UE
->
frame_parms
.
ofdm_symbol_size
+
UE
->
frame_parms
.
nb_prefix_samples0
==
AssertFatal
(
UE
->
frame_parms
.
ofdm_symbol_size
+
UE
->
frame_parms
.
nb_prefix_samples0
==
...
@@ -915,7 +932,8 @@ void *UE_thread(void *arg) {
...
@@ -915,7 +932,8 @@ void *UE_thread(void *arg) {
(
void
**
)
UE
->
common_vars
.
rxdata
,
(
void
**
)
UE
->
common_vars
.
rxdata
,
UE
->
frame_parms
.
ofdm_symbol_size
+
UE
->
frame_parms
.
nb_prefix_samples0
,
UE
->
frame_parms
.
ofdm_symbol_size
+
UE
->
frame_parms
.
nb_prefix_samples0
,
UE
->
frame_parms
.
nb_antennas_rx
),
""
);
UE
->
frame_parms
.
nb_antennas_rx
),
""
);
nr_slot_fep
(
UE
,
0
,
0
,
0
,
0
,
0
,
NR_PBCH_EST
);
//write_output("txdata_sym.m", "txdata_sym", UE->common_vars.rxdata[0], (UE->frame_parms.ofdm_symbol_size+UE->frame_parms.nb_prefix_samples0), 1, 1);
//nr_slot_fep(UE,0, 0, 0, 1, 1, NR_PDCCH_EST);
}
//UE->mode != loop_through_memory
}
//UE->mode != loop_through_memory
else
else
rt_sleep_ns
(
1000
*
1000
);
rt_sleep_ns
(
1000
*
1000
);
...
@@ -967,7 +985,7 @@ void *UE_thread(void *arg) {
...
@@ -967,7 +985,7 @@ void *UE_thread(void *arg) {
UE
->
rx_offset_diff
;
UE
->
rx_offset_diff
;
}
}
AssertFatal
(
readBlockSize
==
/*
AssertFatal(readBlockSize ==
UE->rfdevice.trx_read_func(&UE->rfdevice,
UE->rfdevice.trx_read_func(&UE->rfdevice,
×tamp,
×tamp,
rxp,
rxp,
...
@@ -982,17 +1000,17 @@ void *UE_thread(void *arg) {
...
@@ -982,17 +1000,17 @@ void *UE_thread(void *arg) {
txp,
txp,
writeBlockSize,
writeBlockSize,
UE->frame_parms.nb_antennas_tx,
UE->frame_parms.nb_antennas_tx,
1
),
""
);
1),"");
*/
if
(
tti_nr
==
(
ttis_per_frame
-
1
))
{
if
(
tti_nr
==
(
ttis_per_frame
-
1
))
{
// read in first symbol of next frame and adjust for timing drift
// read in first symbol of next frame and adjust for timing drift
int
first_symbols
=
writeBlockSize
-
readBlockSize
;
int
first_symbols
=
writeBlockSize
-
readBlockSize
;
if
(
first_symbols
>
0
)
if
(
first_symbols
>
0
)
AssertFatal
(
first_symbols
==
/*
AssertFatal(first_symbols ==
UE->rfdevice.trx_read_func(&UE->rfdevice,
UE->rfdevice.trx_read_func(&UE->rfdevice,
×tamp1,
×tamp1,
(void**)UE->common_vars.rxdata,
(void**)UE->common_vars.rxdata,
first_symbols,
first_symbols,
UE
->
frame_parms
.
nb_antennas_rx
),
""
);
UE->frame_parms.nb_antennas_rx),"");
*/
if
(
first_symbols
<
0
)
if
(
first_symbols
<
0
)
LOG_E
(
PHY
,
"can't compensate: diff =%d
\n
"
,
first_symbols
);
LOG_E
(
PHY
,
"can't compensate: diff =%d
\n
"
,
first_symbols
);
}
}
...
...
This diff is collapsed.
Click to expand it.
targets/RT/USER/nr-uesoftmodem.c
View file @
0c22058d
...
@@ -1238,7 +1238,7 @@ int main( int argc, char **argv ) {
...
@@ -1238,7 +1238,7 @@ int main( int argc, char **argv ) {
//}
//}
// connect the TX/RX buffers
// connect the TX/RX buffers
if
(
UE_flag
==
1
)
{
//
if (UE_flag==1) {
for
(
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
for
(
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
...
@@ -1265,7 +1265,7 @@ int main( int argc, char **argv ) {
...
@@ -1265,7 +1265,7 @@ int main( int argc, char **argv ) {
printf
(
"error reading from file
\n
"
);
printf
(
"error reading from file
\n
"
);
}
}
//p_exmimo_config->framing.tdd_config = TXRXSWITCH_TESTRX;
//p_exmimo_config->framing.tdd_config = TXRXSWITCH_TESTRX;
}
//
}
sleep
(
3
);
sleep
(
3
);
...
...
This diff is collapsed.
Click to expand it.
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