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
canghaiwuhen
OpenXG-RAN
Commits
49bb8b4c
Commit
49bb8b4c
authored
Mar 10, 2018
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug fixes in channel simulation routines for multi-UE
parent
6a4abf14
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
21 additions
and
11 deletions
+21
-11
openair1/PHY/LTE_TRANSPORT/initial_sync.c
openair1/PHY/LTE_TRANSPORT/initial_sync.c
+7
-3
openair2/LAYER2/PDCP_v10.1.0/pdcp.c
openair2/LAYER2/PDCP_v10.1.0/pdcp.c
+4
-2
targets/SIMU/USER/channel_sim.c
targets/SIMU/USER/channel_sim.c
+10
-6
No files found.
openair1/PHY/LTE_TRANSPORT/initial_sync.c
View file @
49bb8b4c
...
...
@@ -281,9 +281,12 @@ int initial_sync(PHY_VARS_UE *ue, runmode_t mode)
frame_parms
->
nb_antenna_ports_eNB
=
2
;
init_frame_parms
(
frame_parms
,
1
);
/*
write_output("rxdata0.m","rxd0",ue->common_vars.rxdata[0],10*frame_parms->samples_per_tti,1,1);
exit(-1);
/*
if (ue->Mod_id == 1) {
write_output("rxdata0.m","rxd0",ue->common_vars.rxdata[0],10*frame_parms->samples_per_tti,1,1);
exit(-1);
}
*/
sync_pos
=
lte_sync_time
(
ue
->
common_vars
.
rxdata
,
frame_parms
,
...
...
@@ -333,6 +336,7 @@ int initial_sync(PHY_VARS_UE *ue, runmode_t mode)
#ifdef DEBUG_INITIAL_SYNCH
LOG_I
(
PHY
,
"FDD Normal prefix: SSS error condition: sync_pos %d, sync_pos_slot %d
\n
"
,
sync_pos
,
sync_pos_slot
);
#endif
write_output
(
"rxdata.m"
,
"rxd"
,
ue
->
common_vars
.
rxdata
[
0
],
10
*
frame_parms
->
samples_per_tti
,
1
,
1
);
}
...
...
openair2/LAYER2/PDCP_v10.1.0/pdcp.c
View file @
49bb8b4c
...
...
@@ -859,7 +859,8 @@ void pdcp_update_stats(const protocol_ctxt_t* const ctxt_pP){
for
(
pdcp_uid
=
0
;
pdcp_uid
<
NUMBER_OF_UE_MAX
;
pdcp_uid
++
){
//printf("frame %d and subframe %d \n", pdcp_enb[ctxt_pP->module_id].frame, pdcp_enb[ctxt_pP->module_id].subframe);
// tx stats
if
(
pdcp_enb
[
ctxt_pP
->
module_id
].
sfn
%
Pdcp_stats_tx_window_ms
[
ctxt_pP
->
module_id
][
pdcp_uid
]
==
0
){
if
(
Pdcp_stats_tx_window_ms
[
ctxt_pP
->
module_id
][
pdcp_uid
]
>
0
&&
pdcp_enb
[
ctxt_pP
->
module_id
].
sfn
%
Pdcp_stats_tx_window_ms
[
ctxt_pP
->
module_id
][
pdcp_uid
]
==
0
){
// unit: bit/s
Pdcp_stats_tx_throughput_w
[
ctxt_pP
->
module_id
][
pdcp_uid
][
rb_id
]
=
Pdcp_stats_tx_bytes_tmp_w
[
ctxt_pP
->
module_id
][
pdcp_uid
][
rb_id
]
*
8
;
Pdcp_stats_tx_w
[
ctxt_pP
->
module_id
][
pdcp_uid
][
rb_id
]
=
Pdcp_stats_tx_tmp_w
[
ctxt_pP
->
module_id
][
pdcp_uid
][
rb_id
];
...
...
@@ -875,7 +876,8 @@ void pdcp_update_stats(const protocol_ctxt_t* const ctxt_pP){
Pdcp_stats_tx_aiat_tmp_w
[
ctxt_pP
->
module_id
][
pdcp_uid
][
rb_id
]
=
0
;
}
if
(
pdcp_enb
[
ctxt_pP
->
module_id
].
sfn
%
Pdcp_stats_rx_window_ms
[
ctxt_pP
->
module_id
][
pdcp_uid
]
==
0
){
if
(
Pdcp_stats_rx_window_ms
[
ctxt_pP
->
module_id
][
pdcp_uid
]
>
0
&&
pdcp_enb
[
ctxt_pP
->
module_id
].
sfn
%
Pdcp_stats_rx_window_ms
[
ctxt_pP
->
module_id
][
pdcp_uid
]
==
0
){
// rx stats
Pdcp_stats_rx_goodput_w
[
ctxt_pP
->
module_id
][
pdcp_uid
][
rb_id
]
=
Pdcp_stats_rx_bytes_tmp_w
[
ctxt_pP
->
module_id
][
pdcp_uid
][
rb_id
]
*
8
;
Pdcp_stats_rx_w
[
ctxt_pP
->
module_id
][
pdcp_uid
][
rb_id
]
=
Pdcp_stats_rx_tmp_w
[
ctxt_pP
->
module_id
][
pdcp_uid
][
rb_id
];
...
...
targets/SIMU/USER/channel_sim.c
View file @
49bb8b4c
...
...
@@ -60,7 +60,11 @@
#include "oaisim.h"
#define RF
//#define DEBUG_SIM
#define DEBUG_SIM
/*
#undef LOG_D
#define LOG_D(A,B,C...) printf(B,C)
*/
int
number_rb_ul
;
int
first_rbUL
;
...
...
@@ -231,7 +235,6 @@ void do_DL_sig(channel_desc_t *RU2UE[NUMBER_OF_RU_MAX][NUMBER_OF_UE_MAX][MAX_NUM
pthread_mutex_lock
(
&
RU_output_mutex
[
UE_id
]);
if
(
RU_output_mask
[
UE_id
]
==
0
)
{
// This is the first eNodeB for this UE, clear the buffer
for
(
aa
=
0
;
aa
<
nb_antennas_rx
;
aa
++
)
{
memset
((
void
*
)
r_re_DL
[
UE_id
][
aa
],
0
,(
RC
.
ru
[
0
]
->
frame_parms
.
samples_per_tti
)
*
sizeof
(
double
));
memset
((
void
*
)
r_im_DL
[
UE_id
][
aa
],
0
,(
RC
.
ru
[
0
]
->
frame_parms
.
samples_per_tti
)
*
sizeof
(
double
));
...
...
@@ -374,7 +377,8 @@ void do_DL_sig(channel_desc_t *RU2UE[NUMBER_OF_RU_MAX][NUMBER_OF_UE_MAX][MAX_NUM
UE_id
,
ru_id
,
10
*
log10
(
rx_pwr
),
subframe
);
#endif
pthread_mutex_lock
(
&
RU_output_mutex
[
UE_id
]);
for
(
i
=
0
;
i
<
frame_parms
->
samples_per_tti
;
i
++
)
{
for
(
aa
=
0
;
aa
<
nb_antennas_rx
;
aa
++
)
{
...
...
@@ -388,14 +392,14 @@ void do_DL_sig(channel_desc_t *RU2UE[NUMBER_OF_RU_MAX][NUMBER_OF_UE_MAX][MAX_NUM
double
*
r_re_p
[
2
]
=
{
r_re_DL
[
ru_id
][
0
],
r_re_DL
[
ru
_id
][
1
]};
double
*
r_im_p
[
2
]
=
{
r_im_DL
[
ru_id
][
0
],
r_im_DL
[
ru
_id
][
1
]};
double
*
r_re_p
[
2
]
=
{
r_re_DL
[
UE_id
][
0
],
r_re_DL
[
UE
_id
][
1
]};
double
*
r_im_p
[
2
]
=
{
r_im_DL
[
UE_id
][
0
],
r_im_DL
[
UE
_id
][
1
]};
#ifdef DEBUG_SIM
rx_pwr
=
signal_energy_fp
(
r_re_p
,
r_im_p
,
nb_antennas_rx
,
length
<
length_meas
?
length
:
length_meas
,
0
)
/
(
12
.
0
*
frame_parms
->
N_RB_DL
);
LOG_D
(
OCM
,
"[SIM][DL] UE %d : ADC in %f dBm/RE for subframe %d
\n
"
,
UE_id
,
10
*
log10
(
rx_pwr
),
subframe
);
#endif
rxdata
=
PHY_vars_UE_g
[
UE_id
][
CC_id
]
->
common_vars
.
rxdata
;
sf_offset
=
(
subframe
*
frame_parms
->
samples_per_tti
)
+
offset
;
...
...
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