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
aac0097b
Commit
aac0097b
authored
May 11, 2017
by
Xiwen JIANG
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cosmetic changes
parent
101ffa07
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
24 additions
and
12 deletions
+24
-12
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
+6
-6
openair1/PHY/MODULATION/compute_bf_weights.c
openair1/PHY/MODULATION/compute_bf_weights.c
+3
-3
openair1/SIMULATION/LTE_PHY/dlsim_tm7.c
openair1/SIMULATION/LTE_PHY/dlsim_tm7.c
+15
-3
No files found.
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
View file @
aac0097b
...
@@ -1443,12 +1443,12 @@ unsigned int ulsch_decoding(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,
...
@@ -1443,12 +1443,12 @@ unsigned int ulsch_decoding(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,
/* To be improved according to alignment of j2
/* To be improved according to alignment of j2
#if defined(__x86_64__)||defined(__i386__)
#if defined(__x86_64__)||defined(__i386__)
//#ifndef __AVX2__
//#ifndef __AVX2__
for (iprime=0; iprime<G;iprime+=8,j2+=8)
//
for (iprime=0; iprime<G;iprime+=8,j2+=8)
*((__m128i *)&ulsch_harq->e[iprime]) = *((__m128i *)&y[j2]);
//
*((__m128i *)&ulsch_harq->e[iprime]) = *((__m128i *)&y[j2]);
/
*
#else
/
/
#else
for (iprime=0; iprime<G;iprime+=16,j2+=16)
//
for (iprime=0; iprime<G;iprime+=16,j2+=16)
*((__m256i *)&ulsch_harq->e[iprime]) = *((__m256i *)&y[j2]);
//
*((__m256i *)&ulsch_harq->e[iprime]) = *((__m256i *)&y[j2]);
#endif*/
// #endif
#elif defined(__arm__)
#elif defined(__arm__)
for (iprime=0; iprime<G;iprime+=8,j2+=8)
for (iprime=0; iprime<G;iprime+=8,j2+=8)
*((int16x8_t *)&ulsch_harq->e[iprime]) = *((int16x8_t *)&y[j2]);
*((int16x8_t *)&ulsch_harq->e[iprime]) = *((int16x8_t *)&y[j2]);
...
...
openair1/PHY/MODULATION/compute_bf_weights.c
View file @
aac0097b
...
@@ -49,9 +49,9 @@ void estimate_DLCSI_from_ULCSI(int32_t **calib_dl_ch_estimates, LTE_eNB_PUSCH *p
...
@@ -49,9 +49,9 @@ void estimate_DLCSI_from_ULCSI(int32_t **calib_dl_ch_estimates, LTE_eNB_PUSCH *p
shift
=
log2_approx
(
ulsch_power
[
aa
]
*
beta
)
>>
1
;
shift
=
log2_approx
(
ulsch_power
[
aa
]
*
beta
)
>>
1
;
//printf("ulsch_power[%d]=%d\n", aa, ulsch_power[aa]);
//printf("ulsch_power[%d]=%d\n", aa, ulsch_power[aa]);
// Temporal implementation for 5MHz band
// Temporal implementation for 5MHz band
multadd_cpx_vector
((
int16_t
*
)(
&
tdd_calib_coeffs
[
aa
][
12
]),(
int16_t
*
)(
&
ul_ch_estimates
[
aa
][
12
]),(
int16_t
*
)(
&
calib_dl_ch_estimates
[
aa
][
12
]),
1
,
20
*
12
,
shift
);
//
multadd_cpx_vector((int16_t*)(&tdd_calib_coeffs[aa][12]),(int16_t*)(&ul_ch_estimates[aa][12]),(int16_t*)(&calib_dl_ch_estimates[aa][12]),1,20*12,shift);
//multadd_cpx_vector((int16_t*)(&tdd_calib_coeffs[aa][0]),(int16_t*)(&ul_ch_estimates[aa][0]),(int16_t*)(&calib_dl_ch_estimates[aa][0]),1,frame_parms->N_RB_DL*12,15
);
multadd_cpx_vector
((
int16_t
*
)(
&
tdd_calib_coeffs
[
aa
][
0
]),(
int16_t
*
)(
&
ul_ch_estimates
[
aa
][
0
]),(
int16_t
*
)(
&
calib_dl_ch_estimates
[
aa
][
0
]),
1
,
frame_parms
->
N_RB_DL
*
12
,
9
);
/*
/*
for (re=12; re<20*12; re++) {
for (re=12; re<20*12; re++) {
...
@@ -96,7 +96,7 @@ void compute_BF_weights(int32_t **beam_weights, int32_t **calib_dl_ch_estimates,
...
@@ -96,7 +96,7 @@ void compute_BF_weights(int32_t **beam_weights, int32_t **calib_dl_ch_estimates,
((int16_t*)(&beam_weights[aa][frame_parms->first_carrier_offset+re]))[1]);*/
((int16_t*)(&beam_weights[aa][frame_parms->first_carrier_offset+re]))[1]);*/
}
}
//
for (re=frame_parms->N_RB_DL*6; re<frame_parms->N_RB_DL*12; re++) {
//
for (re=frame_parms->N_RB_DL*6; re<frame_parms->N_RB_DL*12; re++) {
for
(
re
=
frame_parms
->
N_RB_DL
*
6
;
re
<
20
*
12
;
re
++
)
{
for
(
re
=
frame_parms
->
N_RB_DL
*
6
;
re
<
20
*
12
;
re
++
)
{
//normalisation simplied by a constent shift
//normalisation simplied by a constent shift
((
int16_t
*
)(
&
beam_weights
[
aa
][
re
-
frame_parms
->
N_RB_DL
*
6
+
1
]))[
0
]
=
((
int16_t
*
)(
&
calib_dl_ch_estimates
[
aa
][
re
]))[
0
]
<<
norm_factor
;
((
int16_t
*
)(
&
beam_weights
[
aa
][
re
-
frame_parms
->
N_RB_DL
*
6
+
1
]))[
0
]
=
((
int16_t
*
)(
&
calib_dl_ch_estimates
[
aa
][
re
]))[
0
]
<<
norm_factor
;
...
...
openair1/SIMULATION/LTE_PHY/dlsim_tm7.c
View file @
aac0097b
...
@@ -76,6 +76,8 @@ double t_rx_min = 1000000000; /*!< \brief initial min process time for rx */
...
@@ -76,6 +76,8 @@ double t_rx_min = 1000000000; /*!< \brief initial min process time for rx */
int
n_tx_dropped
=
0
;
/*!< \brief initial max process time for tx */
int
n_tx_dropped
=
0
;
/*!< \brief initial max process time for tx */
int
n_rx_dropped
=
0
;
/*!< \brief initial max process time for rx */
int
n_rx_dropped
=
0
;
/*!< \brief initial max process time for rx */
char
tdd_recip_calib_file
[
1024
];
void
handler
(
int
sig
)
void
handler
(
int
sig
)
{
{
void
*
array
[
10
];
void
*
array
[
10
];
...
@@ -124,7 +126,6 @@ int main(int argc, char **argv)
...
@@ -124,7 +126,6 @@ int main(int argc, char **argv)
//int32_t **cell_spec_bf_weights;
//int32_t **cell_spec_bf_weights;
int32_t
*
ue_spec_bf_weights
;
int32_t
*
ue_spec_bf_weights
;
uint8_t
tdd_calib
=
0
;
uint8_t
tdd_calib
=
0
;
char
tdd_recip_calib_file
[
1024
];
int
eNB_id
=
0
,
eNB_id_i
=
1
;
int
eNB_id
=
0
,
eNB_id_i
=
1
;
unsigned
char
mcs1
=
0
,
mcs2
=
0
,
mcs_i
=
0
,
dual_stream_UE
=
0
,
awgn_flag
=
0
,
round
,
dci_flag
=
0
;
unsigned
char
mcs1
=
0
,
mcs2
=
0
,
mcs_i
=
0
,
dual_stream_UE
=
0
,
awgn_flag
=
0
,
round
,
dci_flag
=
0
;
...
@@ -263,7 +264,7 @@ int main(int argc, char **argv)
...
@@ -263,7 +264,7 @@ int main(int argc, char **argv)
// num_layers = 1;
// num_layers = 1;
perfect_ce
=
0
;
perfect_ce
=
0
;
while
((
c
=
getopt
(
argc
,
argv
,
"ahdpZDe:Em:n:o:s:f:t:c:g:r:F:
x:p:y:z:AM:N:I:i:O:R:S:C:T:b:u:v:w:B:PLl:W
XY"
))
!=
-
1
)
{
while
((
c
=
getopt
(
argc
,
argv
,
"ahdpZDe:Em:n:o:s:f:t:c:g:r:F:
W:x:p:y:z:AM:N:I:i:O:R:S:C:T:b:u:v:w:B:PLl:
XY"
))
!=
-
1
)
{
switch
(
c
)
{
switch
(
c
)
{
case
'a'
:
case
'a'
:
awgn_flag
=
1
;
awgn_flag
=
1
;
...
@@ -534,7 +535,18 @@ int main(int argc, char **argv)
...
@@ -534,7 +535,18 @@ int main(int argc, char **argv)
break
;
break
;
case
'W'
:
case
'W'
:
tdd_calib
=
1
;
if
((
strcmp
(
"null"
,
optarg
)
==
0
)
||
(
strcmp
(
"NULL"
,
optarg
)
==
0
))
{
//if (strlen(optarg) == 0){
printf
(
"No tdd reciprocity filename is provided
\n
"
);
}
else
if
(
strlen
(
optarg
)
<=
1024
){
strcpy
(
tdd_recip_calib_file
,
optarg
);
tdd_calib
=
1
;
}
else
{
printf
(
"TDD calibration filename is too long
\n
"
);
exit
(
-
1
);
}
break
;
break
;
case
'X'
:
case
'X'
:
...
...
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