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
wangjie
OpenXG-RAN
Commits
2fc63846
Commit
2fc63846
authored
Oct 07, 2019
by
laurent
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
first version with UL and DL traffic good throughput
parent
18fb589b
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
18 additions
and
10 deletions
+18
-10
executables/main-fs6.c
executables/main-fs6.c
+12
-6
executables/split_headers.h
executables/split_headers.h
+2
-0
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
+1
-1
openair2/PHY_INTERFACE/IF_Module.c
openair2/PHY_INTERFACE/IF_Module.c
+3
-3
No files found.
executables/main-fs6.c
View file @
2fc63846
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
#include <openair1/PHY/CODING/coding_extern.h>
#include <openair1/PHY/CODING/coding_extern.h>
#include <emmintrin.h>
#include <emmintrin.h>
#define FS6_BUF_SIZE 100*1000
#define FS6_BUF_SIZE 100
0
*1000
static
UDPsock_t
sockFS6
;
static
UDPsock_t
sockFS6
;
int
sum
(
uint8_t
*
b
,
int
s
)
{
int
sum
(
uint8_t
*
b
,
int
s
)
{
...
@@ -296,6 +296,9 @@ void sendFs6Ul(PHY_VARS_eNB *eNB, int UE_id, int harq_pid, int segmentID, int16_
...
@@ -296,6 +296,9 @@ void sendFs6Ul(PHY_VARS_eNB *eNB, int UE_id, int harq_pid, int segmentID, int16_
eNB
->
pusch_vars
[
UE_id
]
->
ulsch_power
,
eNB
->
pusch_vars
[
UE_id
]
->
ulsch_power
,
sizeof
(
int
)
*
2
);
sizeof
(
int
)
*
2
);
hULUE
(
newUDPheader
)
->
cqi_crc_status
=
eNB
->
ulsch
[
UE_id
]
->
harq_processes
[
harq_pid
]
->
cqi_crc_status
;
hULUE
(
newUDPheader
)
->
cqi_crc_status
=
eNB
->
ulsch
[
UE_id
]
->
harq_processes
[
harq_pid
]
->
cqi_crc_status
;
hULUE
(
newUDPheader
)
->
O_ACK
=
eNB
->
ulsch
[
UE_id
]
->
harq_processes
[
harq_pid
]
->
O_ACK
;
memcpy
(
hULUE
(
newUDPheader
)
->
o_ACK
,
eNB
->
ulsch
[
UE_id
]
->
harq_processes
[
harq_pid
]
->
o_ACK
,
sizeof
(
eNB
->
ulsch
[
UE_id
]
->
harq_processes
[
harq_pid
]
->
o_ACK
));
hULUE
(
newUDPheader
)
->
ta
=
lte_est_timing_advance_pusch
(
eNB
,
UE_id
);
hULUE
(
newUDPheader
)
->
ta
=
lte_est_timing_advance_pusch
(
eNB
,
UE_id
);
hULUE
(
newUDPheader
)
->
segment
=
segmentID
;
hULUE
(
newUDPheader
)
->
segment
=
segmentID
;
memcpy
(
hULUE
(
newUDPheader
)
->
o
,
eNB
->
ulsch
[
UE_id
]
->
harq_processes
[
harq_pid
]
->
o
,
memcpy
(
hULUE
(
newUDPheader
)
->
o
,
eNB
->
ulsch
[
UE_id
]
->
harq_processes
[
harq_pid
]
->
o
,
...
@@ -379,7 +382,7 @@ void pusch_procedures_tosplit(uint8_t *bufferZone, int bufSize, PHY_VARS_eNB *eN
...
@@ -379,7 +382,7 @@ void pusch_procedures_tosplit(uint8_t *bufferZone, int bufSize, PHY_VARS_eNB *eN
}
}
void
phy_procedures_eNB_uespec_RX_tosplit
(
uint8_t
*
bufferZone
,
int
bufSize
,
PHY_VARS_eNB
*
eNB
,
L1_rxtx_proc_t
*
proc
)
{
void
phy_procedures_eNB_uespec_RX_tosplit
(
uint8_t
*
bufferZone
,
int
bufSize
,
PHY_VARS_eNB
*
eNB
,
L1_rxtx_proc_t
*
proc
)
{
//RX processing for ue-specific resources
(i
//RX processing for ue-specific resources
LTE_DL_FRAME_PARMS
*
fp
=
&
eNB
->
frame_parms
;
LTE_DL_FRAME_PARMS
*
fp
=
&
eNB
->
frame_parms
;
const
int
subframe
=
proc
->
subframe_rx
;
const
int
subframe
=
proc
->
subframe_rx
;
const
int
frame
=
proc
->
frame_rx
;
const
int
frame
=
proc
->
frame_rx
;
...
@@ -785,10 +788,13 @@ void recvFs6Ul(uint8_t *bufferZone, int nbBlocks, PHY_VARS_eNB *eNB, ul_propagat
...
@@ -785,10 +788,13 @@ void recvFs6Ul(uint8_t *bufferZone, int nbBlocks, PHY_VARS_eNB *eNB, ul_propagat
hULUE
(
bufPtr
)
->
ulsch_power
,
hULUE
(
bufPtr
)
->
ulsch_power
,
sizeof
(
int
)
*
2
);
sizeof
(
int
)
*
2
);
ulsch_harq
->
cqi_crc_status
=
hULUE
(
bufPtr
)
->
cqi_crc_status
;
ulsch_harq
->
cqi_crc_status
=
hULUE
(
bufPtr
)
->
cqi_crc_status
;
//ulsch_harq->O_ACK= hULUE(bufPtr)->O_ACK;
memcpy
(
ulsch_harq
->
o_ACK
,
hULUE
(
bufPtr
)
->
o_ACK
,
sizeof
(
ulsch_harq
->
o_ACK
));
memcpy
(
ulsch_harq
->
o
,
hULUE
(
bufPtr
)
->
o
,
sizeof
(
ulsch_harq
->
o
));
memcpy
(
ulsch_harq
->
o
,
hULUE
(
bufPtr
)
->
o
,
sizeof
(
ulsch_harq
->
o
));
ul_propa
[
hULUE
(
bufPtr
)
->
UE_id
].
ta
=
hULUE
(
bufPtr
)
->
ta
;
ul_propa
[
hULUE
(
bufPtr
)
->
UE_id
].
ta
=
hULUE
(
bufPtr
)
->
ta
;
LOG_
I
(
PHY
,
"Received ulsch data for: rnti:%d, fsf: %d/%d, cqi_crc_status %d
\n
"
,
LOG_
D
(
PHY
,
"Received ulsch data for: rnti:%d, fsf: %d/%d, cqi_crc_status %d O_ACK: %di, segment: %di, seglen: %d
\n
"
,
ulsch
->
rnti
,
eNB
->
proc
.
frame_rx
,
eNB
->
proc
.
subframe_rx
,
ulsch_harq
->
cqi_crc_status
);
ulsch
->
rnti
,
eNB
->
proc
.
frame_rx
,
eNB
->
proc
.
subframe_rx
,
ulsch_harq
->
cqi_crc_status
,
ulsch_harq
->
O_ACK
,
hULUE
(
bufPtr
)
->
segment
,
hULUE
(
bufPtr
)
->
segLen
);
}
else
if
(
type
==
fs6ULcch
)
{
}
else
if
(
type
==
fs6ULcch
)
{
int
nb_uci
=
hULUEuci
(
bufPtr
)
->
nb_active_ue
;
int
nb_uci
=
hULUEuci
(
bufPtr
)
->
nb_active_ue
;
fs6_ul_uespec_uci_element_t
*
tmp
=
(
fs6_ul_uespec_uci_element_t
*
)(
hULUEuci
(
bufPtr
)
+
1
);
fs6_ul_uespec_uci_element_t
*
tmp
=
(
fs6_ul_uespec_uci_element_t
*
)(
hULUEuci
(
bufPtr
)
+
1
);
...
@@ -938,8 +944,8 @@ void rcvFs6DL(uint8_t *bufferZone, int nbBlocks, PHY_VARS_eNB *eNB, int frame, i
...
@@ -938,8 +944,8 @@ void rcvFs6DL(uint8_t *bufferZone, int nbBlocks, PHY_VARS_eNB *eNB, int frame, i
cpyVal
(
delta_TF
);
cpyVal
(
delta_TF
);
cpyVal
(
repetition_number
);
cpyVal
(
repetition_number
);
cpyVal
(
total_number_of_repetitions
);
cpyVal
(
total_number_of_repetitions
);
LOG_
I
(
PHY
,
"Received request to perform ulsch for: rnti:%d, fsf: %d/
%d
\n
"
,
LOG_
D
(
PHY
,
"Received request to perform ulsch for: rnti:%d, fsf: %d/%d, O_ACK:
%d
\n
"
,
ulsch
->
rnti
,
frame
,
subframe
);
ulsch
->
rnti
,
frame
,
subframe
,
ulsch_harq
->
O_ACK
);
}
}
}
else
if
(
type
==
fs6ULConfigCCH
)
{
}
else
if
(
type
==
fs6ULConfigCCH
)
{
fs6_dl_uespec_ulcch_element_t
*
tmp
=
(
fs6_dl_uespec_ulcch_element_t
*
)(
hTxULcch
(
bufPtr
)
+
1
);
fs6_dl_uespec_ulcch_element_t
*
tmp
=
(
fs6_dl_uespec_ulcch_element_t
*
)(
hTxULcch
(
bufPtr
)
+
1
);
...
...
executables/split_headers.h
View file @
2fc63846
...
@@ -174,6 +174,8 @@ typedef struct {
...
@@ -174,6 +174,8 @@ typedef struct {
uint8_t
segment
;
uint8_t
segment
;
int
segLen
;
int
segLen
;
int
ulsch_power
[
2
];
int
ulsch_power
[
2
];
uint8_t
o_ACK
[
4
];
uint8_t
O_ACK
;
int
ta
;
int
ta
;
uint8_t
o
[
MAX_CQI_BYTES
];
uint8_t
o
[
MAX_CQI_BYTES
];
uint8_t
cqi_crc_status
;
uint8_t
cqi_crc_status
;
...
...
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
View file @
2fc63846
...
@@ -672,7 +672,7 @@ int ulsch_decoding_data(PHY_VARS_eNB *eNB,int UE_id,int harq_pid,int llr8_flag)
...
@@ -672,7 +672,7 @@ int ulsch_decoding_data(PHY_VARS_eNB *eNB,int UE_id,int harq_pid,int llr8_flag)
printf("\n");
printf("\n");
}
}
*/
*/
return
0
;
continue
;
}
}
#endif
#endif
...
...
openair2/PHY_INTERFACE/IF_Module.c
View file @
2fc63846
...
@@ -388,10 +388,10 @@ static void dump_ul(UL_IND_t *u) {
...
@@ -388,10 +388,10 @@ static void dump_ul(UL_IND_t *u) {
A
(
"XXXX crc_ind %d
\n
"
,
u
->
crc_ind
.
crc_indication_body
.
number_of_crcs
);
A
(
"XXXX crc_ind %d
\n
"
,
u
->
crc_ind
.
crc_indication_body
.
number_of_crcs
);
A
(
"XXXX sr_ind %d
\n
"
,
u
->
sr_ind
.
sr_indication_body
.
number_of_srs
);
A
(
"XXXX sr_ind %d
\n
"
,
u
->
sr_ind
.
sr_indication_body
.
number_of_srs
);
A
(
"XXXX cqi_ind %d
\n
"
,
u
->
cqi_ind
.
number_of_cqis
);
A
(
"XXXX cqi_ind %d
\n
"
,
u
->
cqi_ind
.
cqi_indication_body
.
number_of_cqis
);
for
(
i
=
0
;
i
<
u
->
cqi_ind
.
number_of_cqis
;
i
++
)
{
for
(
i
=
0
;
i
<
u
->
cqi_ind
.
cqi_indication_body
.
number_of_cqis
;
i
++
)
{
nfapi_cqi_indication_pdu_t
*
v
=
&
u
->
cqi_ind
.
cqi_pdu_list
[
i
];
nfapi_cqi_indication_pdu_t
*
v
=
&
u
->
cqi_ind
.
cqi_
indication_body
.
cqi_
pdu_list
[
i
];
A
(
"XXXX cqi ind %d
\n
"
,
i
);
A
(
"XXXX cqi ind %d
\n
"
,
i
);
A
(
"XXXX cqi ul_cqi %d channel %d
\n
"
,
v
->
ul_cqi_information
.
ul_cqi
,
A
(
"XXXX cqi ul_cqi %d channel %d
\n
"
,
v
->
ul_cqi_information
.
ul_cqi
,
v
->
ul_cqi_information
.
channel
);
v
->
ul_cqi_information
.
channel
);
...
...
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