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
wangwenhui
OpenXG-RAN
Commits
1f95ec08
Commit
1f95ec08
authored
4 years ago
by
laurent
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
coarse scope cleanup
parent
90b10268
develop
1
128-ues
256_QAM_demod
NCTU_OpinConnect_LDPC
NR-PHY-MAC-IF-multi-UE
NR_10MHz
NR_CSI_reporting
NR_DCI_01
NR_DLUL_PF
NR_DLUL_PF_rebased
NR_DL_sched_fixes
NR_DL_scheduler
NR_FAPI_beamindex_SSB_RO
NR_FR2_RA
NR_FR2_RRC_SSB
NR_MAC_Multi_Rach_GlobalEdge
NR_MAC_SSB_RO_GlobalEdge
NR_MAC_SSB_RO_UE_IDCC
NR_MAC_SSB_RO_merge
NR_MAC_TCI_UCI_GlobalEdge
NR_NGAP
NR_PUCCH_MultiUE
NR_RA_updates
NR_RRCConfiguration_FR2
NR_RRC_PDCP
NR_RRC_X2AP_AMBR_Change_Global_edge
NR_RRC_X2AP_RemoveHardcodings_GlobalEdge
NR_RRC_config_simplified
NR_SA_F1AP_dev
NR_SA_NGAP_RRC
NR_SA_NGAP_RRC_wk42
NR_SA_itti_sim_wk48
NR_SA_itti_sim_wk48_hs
NR_SA_itti_sim_wk48_hs1
NR_SCHED_HARQ
NR_SCHED_PDCCH_PUCCH_HARQ
NR_SCHED_PDCCH_PUCCH_HARQ_rebased
NR_SCHED_fixes
NR_SRB_Config
NR_UE_MAC_scheduler
NR_UE_RA_fixes
NR_UE_UL_DCI_improvements
NR_UE_dlsch_bugfix
NR_UE_enable_parallelization
NR_UE_stability_fixes
NR_UL_scheduler
NR_UL_scheduler_rebased
NR_UL_scheduling
NR_beam_simulation
NR_ipaccess_testing
NR_mac_uci_functions_rework
NR_scheduling_CSIRS
NR_scheduling_request
NR_scheduling_request2
NR_ue_dlsch_dmrs_cdm
PUSCH_TA_update
RA_CI_test
UE_DL_DCI_hotfix
bch-fixes-bitmap
benetel_5g_prach_fix
benetel_driver_update
benetel_phase_rotation
benetel_phase_rotation_old
bugfix-minor-remove-wrong-log
bugfix-nr-bands
bugfix-nr-ldpc-post-processing
bugfix-nr-ldpc-size-typo
bugfix-nr-pdcp-sn-size
bugfix-nr-rate-matching-assertion
cce_indexing_fix
cce_indexing_fix2
ci-deploy-asterix
ci-deploy-docker-compose
ci-rd-july-improvements
ci-test
ci-ul-iperf-from-trf-container
clean-5G-scope-round2
cleanup_softmodem_main
constant_power
develop-SnT
develop-oriecpriupdates
develop-sib1
develop-sib1-local
develop-sib1-lts
develop_stable
dfts_alternatives
dlsch-all-dlslots
dlsch_encode_mthread
dlsch_parallel
dongzhanyi-zte-develop
dongzhanyi-zte-develop2
feature/make-s1-mme-port-configurable
feature/make-s1-mme-port-configurable-with-astyle-fixes
fembms-enb-ue
finalize-oaicn-integration
firas
fix-ci-tun
fix-itti-segv
fix-softmodem-restart
fix_NR_DLUL_PF
fix_do_ra_data
fix_pdsch_low_prb
fix_rfsim_mimo
fix_rrc_x2_ticking
fixes-CE-RLC-PDU-size
fixes-mac-sched-nfapi
fixes-mac-sched-tun
fixes-tun
flexran-apps
flexran-repair-mme-mgmt
fujitsu_lte_contribution
fujitsu_lte_contribution-128
gnb-only-test
harq-hotfix
hotfix-minor-remove-nr-rlc-cppcheck-error
hotfix-nr-rlc-tick
hotfix-ocp-executable
improve_nr_modulation
improve_ue_stability
integration_2020_wk40
integration_2020_wk41
integration_2020_wk42_2
integration_2020_wk45
integration_2020_wk45_2
integration_2020_wk46
integration_2020_wk46_2
integration_2020_wk47
integration_2020_wk48
integration_2020_wk48_2
integration_2020_wk49
integration_2020_wk50
integration_2020_wk50_1
integration_2020_wk51
integration_2020_wk51_2
integration_2021_wk02
integration_2021_wk02_wMR988
inter-RRU-final
itti-enhancement
ldpc-decoder-codegen
ldpc-decoder-codegen2
ldpc_short_codeword_fixes
load_gnb
lte_uplink_improvement
mac-fixes-wk45_2
minor-fix-doc-basic-sim
mosaic5g-oai-ran
mosaic5g-oai-sim
nasmesh_kernel_5.8
nfapi-bugfix
nfapi_nr_develop
ngap-dlul
ngap-support
ngap-w48-merge2
ngap-wf
ngap-wf-1120
ngap-wf-1120-srb
ngap-wf-1120-srb-gtp
ngap-wf-1120-srb-gtp-hs
ngap-wf-1120-srb-gtp-hs1
ngap-wf-1120-srb-gtp-hs2
ngap-wf-1120-srb-gtp-yhz
ngap-wf-1203-yunsdr
ngap-wf-liuyu
ngap_lfq_1120
ngap_merge
noCore
nr-mac-pdu-wireshark
nr-mac-remove-ue-list
nr-rlc-am-bugfix-w44
nr-rlc-bugfix-w44
nrUE
nrUE-hs
nrUE-upper-layer
nr_bsr
nr_dl_dmrs_type2
nr_dl_pf
nr_dl_pf2
nr_dl_ul_ptrs
nr_fdd_if_fix
nr_polar_decoder_improvement
nr_prach_fr2
nr_ue_msg3
nr_ue_tti_cleanup
nr_ul_pf
nr_ul_scfdma
nrue_msg2_reception
nsa-ue
nsa_remove_band_hardcodings
oai-sim
oairu
oc-docker-october-improvements
openxg/develop
polar8
ptrs_rrc_config
pusch-mthread-scaling-fix
pusch-retrans-fix-ue
ra-dl-ul
remove_nos1_hack_pdcp
remove_x2_gnb_hardcoding
repair-TA
revert_memcpy
rh-ci-add-ue-parallelization
rh_ci_fix_autoterminate
rh_ci_fr1_update
rh_ci_oc
rh_ci_py
rh_ci_rfsim_ra
rh_fr1_newjenkins
rh_fr1_update
rh_gnb_compile_fix
rh_wk50_debug
rlc-v2-bugfix-status-reporting
rlc-v2-tick
rrc-enb-phy-testmode
s1-subnormal_rewrite
s1_subnormal
s1_subnormal-robert
s1ap-bugfix-rab_setup
sa-demo
sa-merge-rrc-srb
sa-msg4
sa-msg4-rrc
sa-msg4-rrc-yihz
sa-msg4-rrc-yihz-hs
sa_rrc_yihz
small-bugfixes-w40
small-config-change
smallcleanup
testing_with_external_txdata
tp-ota-test
trx_thread_param
ue-csi
ue-fixes-ota
ue_beam_selection
ul-freq-iq-samps-to-file
ul_dl_dci_same_slot
ul_harq
ulsch_decode_mthread
ulsim_changes
wireshark-log-scheduling-requests
x2-endc-processing
xiangwab
xiangwan
yihongzheng_srb
zzs
2021.w02
2020.w51_2
2020.w51
2020.w50
2020.w49
2020.w48_2
2020.w48
2020.w47
2020.w46_2
2020.w46
2020.w45_2
2020.w45
2020.w44
2020.w42_2
2020.w42
2020.w41
2020.w39
2020.w38
2020.w37
2020.w36
2020.w34
2020.w33
2020.w31
2020.w30
2020.w29
2020.w28
2020.w26
2020.w25
benetel_phase_rotation
No related merge requests found
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
668 additions
and
829 deletions
+668
-829
executables/nr-softmodem.c
executables/nr-softmodem.c
+3
-1
executables/nr-uesoftmodem.c
executables/nr-uesoftmodem.c
+3
-56
openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c
openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c
+3
-4
openair1/PHY/NR_REFSIG/scrambling_luts.c
openair1/PHY/NR_REFSIG/scrambling_luts.c
+2
-1
openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c
openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c
+1
-0
openair1/PHY/TOOLS/nr_phy_scope.c
openair1/PHY/TOOLS/nr_phy_scope.c
+645
-719
openair1/PHY/TOOLS/nr_phy_scope.h
openair1/PHY/TOOLS/nr_phy_scope.h
+3
-43
targets/ARCH/rfsimulator/simulator.c
targets/ARCH/rfsimulator/simulator.c
+8
-5
No files found.
executables/nr-softmodem.c
View file @
1f95ec08
...
...
@@ -954,7 +954,9 @@ if(!IS_SOFTMODEM_NOS1)
scopeParms_t
p
;
p
.
argc
=&
argc
;
p
.
argv
=
argv
;
startScope
(
&
p
);
p
.
gNB
=
RC
.
gNB
[
0
];
p
.
ru
=
RC
.
ru
[
0
];
gNBinitScope
(
&
p
);
}
if
(
nfapi_mode
!=
1
&&
nfapi_mode
!=
2
)
{
...
...
This diff is collapsed.
Click to expand it.
executables/nr-uesoftmodem.c
View file @
1f95ec08
...
...
@@ -76,36 +76,11 @@ unsigned short config_frames[4] = {2,9,11,13};
#include <openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.h>
#include <openair1/SCHED_NR_UE/fapi_nr_ue_l1.h>
#include <forms.h>
/* Callbacks, globals and object handlers */
extern
void
reset_stats
(
FL_OBJECT
*
,
long
);
//extern void initTpool(char *params, tpool_t *pool, bool performanceMeas);
/* Forms and Objects */
typedef
struct
{
FL_FORM
*
stats_form
;
void
*
vdata
;
char
*
cdata
;
long
ldata
;
FL_OBJECT
*
stats_text
;
FL_OBJECT
*
stats_button
;
}
FD_stats_form
;
extern
FD_stats_form
*
create_form_stats_form
(
void
);
#include "PHY/TOOLS/nr_phy_scope.h"
//#include "stats.h"
// current status is that every UE has a DL scope for a SINGLE eNB (eNB_id=0)
#include "PHY/TOOLS/nr_phy_scope.h"
// at eNB 0, an UL scope for every UE
FD_phy_scope_nrue
*
form_nrue
[
NUMBER_OF_UE_MAX
];
//FD_lte_phy_scope_enb *form_enb[MAX_NUM_CCs][NUMBER_OF_UE_MAX];
//FD_stats_form *form_stats=NULL,*form_stats_l2=NULL;
char
title
[
255
];
static
pthread_t
forms_thread
;
//xforms
#include <executables/nr-uesoftmodem.h>
#include "executables/softmodem-common.h"
...
...
@@ -304,35 +279,6 @@ void reset_stats(FL_OBJECT *button, long arg) {
}*/
}
static
void
*
scope_thread
(
void
*
arg
)
{
sleep
(
5
);
while
(
!
oai_exit
)
{
phy_scope_nrUE
(
form_nrue
[
0
],
PHY_vars_UE_g
[
0
][
0
],
0
,
0
,
1
);
usleep
(
100
*
1000
);
}
pthread_exit
((
void
*
)
arg
);
}
void
init_scope
(
void
)
{
int
fl_argc
=
1
;
if
(
do_forms
==
1
)
{
char
*
name
=
"5G-UE-scope"
;
fl_initialize
(
&
fl_argc
,
&
name
,
NULL
,
0
,
0
);
int
UE_id
=
0
;
form_nrue
[
UE_id
]
=
create_phy_scope_nrue
();
sprintf
(
title
,
"NR DL SCOPE UE"
);
fl_show_form
(
form_nrue
[
UE_id
]
->
phy_scope_nrue
,
FL_PLACE_HOTSPOT
,
FL_FULLBORDER
,
title
);
threadCreate
(
&
forms_thread
,
scope_thread
,
NULL
,
"scope"
,
-
1
,
OAI_PRIORITY_RT_LOW
);
}
}
void
*
l2l1_task
(
void
*
arg
)
{
MessageDef
*
message_p
=
NULL
;
int
result
;
...
...
@@ -782,7 +728,8 @@ int main( int argc, char **argv ) {
memset
(
&
UE_PF_PO
[
0
][
0
],
0
,
sizeof
(
UE_PF_PO_t
)
*
NUMBER_OF_UE_MAX
*
MAX_NUM_CCs
);
configure_linux
();
mlockall
(
MCL_CURRENT
|
MCL_FUTURE
);
init_scope
();
if
(
do_forms
)
nrUEinitScope
(
PHY_vars_UE_g
[
0
][
0
]);
number_of_cards
=
1
;
for
(
int
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_UE_TRANSPORT/dlsch_demodulation.c
View file @
1f95ec08
...
...
@@ -821,15 +821,14 @@ int rx_pdsch(PHY_VARS_UE *ue,
pllr_symbol_cw0
+=
llr_offset_symbol
;
pllr_symbol_cw1
+=
llr_offset_symbol
;
/*
LOG_I(PHY,"compute LLRs [AbsSubframe %d.%d-%d] NbRB %d Qm %d LLRs-Length %d LLR-Offset %d @LLR Buff %p @LLR Buff(symb) %p\n",
LOG_D
(
PHY
,
"compute LLRs [AbsSubframe %d.%d-%d] NbRB %d Qm %d LLRs-Length %d LLR-Offset %d @LLR Buff %p @LLR Buff(symb) %p energy: %d
\n
"
,
frame
,
subframe
,
symbol
,
nb_rb
,
dlsch0_harq
->
Qm
,
pdsch_vars
[
eNB_id
]
->
llr_length
[
symbol
],
pdsch_vars
[
eNB_id
]
->
llr_offset
[
symbol
],
(
int16_t
*
)
pdsch_vars
[
eNB_id
]
->
llr
[
0
],
pllr_symbol_cw0
);
*/
pllr_symbol_cw0
,
signal_energy
(
pdsch_vars
[
eNB_id
]
->
rxdataF_comp0
[
0
],
7
*
2
*
frame_parms
->
N_RB_DL
*
12
));
switch
(
dlsch0_harq
->
Qm
)
{
case
2
:
if
((
rx_type
==
rx_standard
)
||
(
codeword_TB1
==
-
1
))
{
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_REFSIG/scrambling_luts.c
View file @
1f95ec08
...
...
@@ -27,6 +27,7 @@
#include "PHY/impl_defs_nr.h"
#include "PHY/sse_intrin.h"
#include <common/utils/LOG/log.h>
__m64
byte2m64_re
[
256
];
__m64
byte2m64_im
[
256
];
...
...
@@ -42,7 +43,7 @@ void init_byte2m64(void) {
byte2m64_im
[
s
]
=
_mm_insert_pi16
(
byte2m64_im
[
s
],(
1
-
2
*
((
s
>>
5
)
&
1
)),
2
);
byte2m64_re
[
s
]
=
_mm_insert_pi16
(
byte2m64_re
[
s
],(
1
-
2
*
((
s
>>
6
)
&
1
)),
3
);
byte2m64_im
[
s
]
=
_mm_insert_pi16
(
byte2m64_im
[
s
],(
1
-
2
*
((
s
>>
7
)
&
1
)),
3
);
printf
(
"init_scrambling_luts: s %x (%d) ((%d,%d),(%d,%d),(%d,%d),(%d,%d))
\n
"
,
LOG_T
(
PHY
,
"init_scrambling_luts: s %x (%d) ((%d,%d),(%d,%d),(%d,%d),(%d,%d))
\n
"
,
((
uint16_t
*
)
&
s
)[
0
],
(
1
-
2
*
(
s
&
1
)),
((
int16_t
*
)
&
byte2m64_re
[
s
])[
0
],((
int16_t
*
)
&
byte2m64_im
[
s
])[
0
],
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c
View file @
1f95ec08
...
...
@@ -1145,6 +1145,7 @@ void nr_rx_pusch(PHY_VARS_gNB *gNB,
//-------------------- LLRs computation --------------------
//----------------------------------------------------------
start_meas
(
&
gNB
->
ulsch_llr_stats
);
AssertFatal
(
gNB
->
pusch_vars
[
UE_id
]
->
rxdataF_ext_offset
*
rel15_ul
->
qam_mod_order
+
nb_re_pusch
*
rel15_ul
->
qam_mod_order
<
(
8
*
((
3
*
8
*
6144
)
+
12
))
,
"Mysterious llr buffer size check"
);
nr_ulsch_compute_llr
(
&
gNB
->
pusch_vars
[
UE_id
]
->
rxdataF_comp
[
0
][
symbol
*
rel15_ul
->
rb_size
*
NR_NB_SC_PER_RB
],
gNB
->
pusch_vars
[
UE_id
]
->
ul_ch_mag0
,
gNB
->
pusch_vars
[
UE_id
]
->
ul_ch_magb0
,
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/TOOLS/nr_phy_scope.c
View file @
1f95ec08
This diff is collapsed.
Click to expand it.
openair1/PHY/TOOLS/nr_phy_scope.h
View file @
1f95ec08
...
...
@@ -35,55 +35,15 @@
//#include "PHY/impl_defs_top.h"
#include "PHY/defs_nr_UE.h"
/* Forms and Objects */
typedef
struct
{
FL_FORM
*
phy_scope_gnb
;
FL_OBJECT
*
rxsig_t
;
FL_OBJECT
*
chest_f
;
FL_OBJECT
*
chest_t
;
FL_OBJECT
*
pusch_comp
;
FL_OBJECT
*
pucch_comp
;
FL_OBJECT
*
pucch_comp1
;
FL_OBJECT
*
pusch_llr
;
FL_OBJECT
*
pusch_tput
;
FL_OBJECT
*
button_0
;
}
FD_phy_scope_gnb
;
typedef
struct
{
FL_FORM
*
phy_scope_nrue
;
FL_OBJECT
*
rxsig_t
;
FL_OBJECT
*
chest_f
;
FL_OBJECT
*
chest_t
;
FL_OBJECT
*
pbch_comp
;
FL_OBJECT
*
pbch_llr
;
FL_OBJECT
*
pdcch_comp
;
FL_OBJECT
*
pdcch_llr
;
FL_OBJECT
*
pdsch_comp
;
FL_OBJECT
*
pdsch_llr
;
FL_OBJECT
*
pdsch_comp1
;
FL_OBJECT
*
pdsch_llr1
;
FL_OBJECT
*
pdsch_tput
;
FL_OBJECT
*
button_0
;
}
FD_phy_scope_nrue
;
typedef
struct
{
int
*
argc
;
char
**
argv
;
RU_t
*
ru
;
RU_t
*
ru
;
PHY_VARS_gNB
*
gNB
;
}
scopeParms_t
;
extern
unsigned
char
scope_enb_num_ue
;
FD_phy_scope_nrue
*
create_phy_scope_nrue
(
void
);
void
phy_scope_nrUE
(
FD_phy_scope_nrue
*
form
,
PHY_VARS_NR_UE
*
phy_vars_ue
,
int
eNB_id
,
int
UE_id
,
uint8_t
subframe
);
void
startScope
(
scopeParms_t
*
p
);
void
gNBinitScope
(
scopeParms_t
*
p
);
void
nrUEinitScope
(
PHY_VARS_NR_UE
*
ue
);
extern
RAN_CONTEXT_t
RC
;
#endif
This diff is collapsed.
Click to expand it.
targets/ARCH/rfsimulator/simulator.c
View file @
1f95ec08
...
...
@@ -476,14 +476,16 @@ static bool flushInput(rfsimulator_state_t *t, int timeout, int nsamps_for_initi
b
->
trashingPacket
=
true
;
}
else
if
(
b
->
lastReceivedTS
<
b
->
th
.
timestamp
)
{
int
nbAnt
=
b
->
th
.
nbAnt
;
if
(
b
->
th
.
timestamp
-
b
->
lastReceivedTS
<
CirSize
)
{
for
(
uint64_t
index
=
b
->
lastReceivedTS
;
index
<
b
->
th
.
timestamp
;
index
++
)
{
for
(
int
a
=
0
;
a
<
nbAnt
;
a
++
)
{
b
->
circularBuf
[(
index
*
nbAnt
+
a
)
%
CirSize
].
r
=
0
;
b
->
circularBuf
[(
index
*
nbAnt
+
a
)
%
CirSize
].
i
=
0
;
}
}
}
else
{
memset
(
b
->
circularBuf
,
0
,
sampleToByte
(
CirSize
,
1
));
}
if
(
b
->
lastReceivedTS
!=
0
&&
b
->
th
.
timestamp
-
b
->
lastReceivedTS
>
50
)
LOG_W
(
HW
,
"UEsock: %d gap of: %ld in reception
\n
"
,
fd
,
b
->
th
.
timestamp
-
b
->
lastReceivedTS
);
b
->
lastReceivedTS
=
b
->
th
.
timestamp
;
...
...
@@ -646,10 +648,11 @@ int rfsimulator_read(openair0_device *device, openair0_timestamp *ptimestamp, vo
);
else
{
// no channel modeling
sample_t
*
out
=
(
sample_t
*
)
samplesVoid
[
a
];
const
int64_t
base
=
t
->
nextTimestamp
*
nbAnt
+
a
;
for
(
int
i
=
0
;
i
<
nsamps
;
i
++
)
{
out
[
i
].
r
+=
ptr
->
circularBuf
[((
t
->
nextTimestamp
+
i
)
*
nbAnt
+
a
)
%
CirSize
].
r
;
out
[
i
].
i
+=
ptr
->
circularBuf
[((
t
->
nextTimestamp
+
i
)
*
nbAnt
+
a
)
%
CirSize
].
i
;
const
int
idx
=
(
i
*
nbAnt
+
base
)
%
CirSize
;
out
[
i
].
r
+=
ptr
->
circularBuf
[
idx
].
r
;
out
[
i
].
i
+=
ptr
->
circularBuf
[
idx
].
i
;
}
}
// end of no channel modeling
}
// end for a...
...
...
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