Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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
Michael Black
OpenXG UE
Commits
8c508ca0
Commit
8c508ca0
authored
Mar 21, 2018
by
Guy De Souza
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix CMakeLists.txt for lte-uesoftmodem
parent
861cbe3d
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
167 additions
and
30 deletions
+167
-30
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+20
-29
openair1/PHY/LTE_ESTIMATION/lte_adjust_sync_ue.c
openair1/PHY/LTE_ESTIMATION/lte_adjust_sync_ue.c
+136
-0
openair1/PHY/LTE_UE_TRANSPORT/dci_ue.c
openair1/PHY/LTE_UE_TRANSPORT/dci_ue.c
+9
-0
targets/RT/USER/lte-softmodem.h
targets/RT/USER/lte-softmodem.h
+1
-1
targets/RT/USER/lte-uesoftmodem.c
targets/RT/USER/lte-uesoftmodem.c
+1
-0
No files found.
cmake_targets/CMakeLists.txt
View file @
8c508ca0
...
@@ -1145,35 +1145,26 @@ set(PHY_SRC_UE
...
@@ -1145,35 +1145,26 @@ set(PHY_SRC_UE
# depend on code generation from asn1c
# depend on code generation from asn1c
${
RRC_FULL_DIR
}
/asn1_constants.h
${
RRC_FULL_DIR
}
/asn1_constants.h
# actual source
# actual source
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/pss.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/pss.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/sss.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/sss.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/pilots.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/pilots.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/pilots_mbsfn.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/pilots_mbsfn.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/dlsch_coding.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/dlsch_coding.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/dlsch_modulation.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/dlsch_modulation.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/power_control.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/power_control.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/dlsch_scrambling.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/dlsch_scrambling.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/dci_tools.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/uci_tools.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/uci_tools.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/lte_mcs.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/lte_mcs.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/edci.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/pbch.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/pucch.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/dci.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/prach.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/edci.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/group_hopping.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/phich.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/srs_modulation.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/pcfich.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/rar_tools.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/pucch.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/print_stats.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/prach.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/initial_sync.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/pmch.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/if4_tools.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/pch.c
${
OPENAIR1_DIR
}
/PHY/LTE_TRANSPORT/if5_tools.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/group_hopping.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/srs_modulation.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/ulsch_demodulation.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/ulsch_decoding.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/rar_tools.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/print_stats.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/initial_sync.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/if4_tools.c
#${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/if5_tools.c
${
OPENAIR1_DIR
}
/PHY/LTE_UE_TRANSPORT/dci_tools_ue.c
${
OPENAIR1_DIR
}
/PHY/LTE_UE_TRANSPORT/dci_tools_ue.c
${
OPENAIR1_DIR
}
/PHY/LTE_UE_TRANSPORT/dci_ue.c
${
OPENAIR1_DIR
}
/PHY/LTE_UE_TRANSPORT/dci_ue.c
${
OPENAIR1_DIR
}
/PHY/LTE_UE_TRANSPORT/dlsch_decoding.c
${
OPENAIR1_DIR
}
/PHY/LTE_UE_TRANSPORT/dlsch_decoding.c
...
...
openair1/PHY/LTE_ESTIMATION/lte_adjust_sync_ue.c
0 → 100644
View file @
8c508ca0
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
#include "PHY/types.h"
#include "PHY/defs.h"
#include "PHY/extern.h"
#include "UTIL/LOG/vcd_signal_dumper.h"
#define DEBUG_PHY
// Adjust location synchronization point to account for drift
// The adjustment is performed once per frame based on the
// last channel estimate of the receiver
void
lte_adjust_synch
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
PHY_VARS_UE
*
ue
,
unsigned
char
eNB_id
,
uint8_t
subframe
,
unsigned
char
clear
,
short
coef
)
{
static
int
max_pos_fil
=
0
;
static
int
count_max_pos_ok
=
0
;
static
int
first_time
=
1
;
int
temp
=
0
,
i
,
aa
,
max_val
=
0
,
max_pos
=
0
;
int
diff
;
short
Re
,
Im
,
ncoef
;
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_ADJUST_SYNCH
,
VCD_FUNCTION_IN
);
ncoef
=
32767
-
coef
;
#ifdef DEBUG_PHY
LOG_D
(
PHY
,
"AbsSubframe %d.%d: rx_offset (before) = %d
\n
"
,
ue
->
proc
.
proc_rxtx
[
0
].
frame_rx
%
1024
,
subframe
,
ue
->
rx_offset
);
#endif //DEBUG_PHY
// we only use channel estimates from tx antenna 0 here
for
(
i
=
0
;
i
<
frame_parms
->
nb_prefix_samples
;
i
++
)
{
temp
=
0
;
for
(
aa
=
0
;
aa
<
frame_parms
->
nb_antennas_rx
;
aa
++
)
{
Re
=
((
int16_t
*
)
ue
->
common_vars
.
common_vars_rx_data_per_thread
[
ue
->
current_thread_id
[
subframe
]].
dl_ch_estimates_time
[
eNB_id
][
aa
])[(
i
<<
2
)];
Im
=
((
int16_t
*
)
ue
->
common_vars
.
common_vars_rx_data_per_thread
[
ue
->
current_thread_id
[
subframe
]].
dl_ch_estimates_time
[
eNB_id
][
aa
])[
1
+
(
i
<<
2
)];
temp
+=
(
Re
*
Re
/
2
)
+
(
Im
*
Im
/
2
);
}
if
(
temp
>
max_val
)
{
max_pos
=
i
;
max_val
=
temp
;
}
}
// filter position to reduce jitter
if
(
clear
==
1
)
max_pos_fil
=
max_pos
;
else
max_pos_fil
=
((
max_pos_fil
*
coef
)
+
(
max_pos
*
ncoef
))
>>
15
;
// do not filter to have proactive timing adjustment
max_pos_fil
=
max_pos
;
if
(
subframe
==
6
)
{
diff
=
max_pos_fil
-
(
frame_parms
->
nb_prefix_samples
>>
3
);
if
(
abs
(
diff
)
<
SYNCH_HYST
)
ue
->
rx_offset
=
0
;
else
ue
->
rx_offset
=
diff
;
if
(
abs
(
diff
)
<
5
)
count_max_pos_ok
++
;
else
count_max_pos_ok
=
0
;
if
(
count_max_pos_ok
>
10
&&
first_time
==
1
)
{
first_time
=
0
;
ue
->
time_sync_cell
=
1
;
if
(
ue
->
mac_enabled
==
1
)
{
LOG_I
(
PHY
,
"[UE%d] Sending synch status to higher layers
\n
"
,
ue
->
Mod_id
);
//mac_resynch();
dl_phy_sync_success
(
ue
->
Mod_id
,
ue
->
proc
.
proc_rxtx
[
0
].
frame_rx
,
0
,
1
);
//ue->common_vars.eNb_id);
ue
->
UE_mode
[
0
]
=
PRACH
;
}
else
{
ue
->
UE_mode
[
0
]
=
PUSCH
;
}
}
if
(
ue
->
rx_offset
<
0
)
ue
->
rx_offset
+=
FRAME_LENGTH_COMPLEX_SAMPLES
;
if
(
ue
->
rx_offset
>=
FRAME_LENGTH_COMPLEX_SAMPLES
)
ue
->
rx_offset
-=
FRAME_LENGTH_COMPLEX_SAMPLES
;
#ifdef DEBUG_PHY
LOG_D
(
PHY
,
"AbsSubframe %d.%d: ThreadId %d diff =%i rx_offset (final) = %i : clear %d,max_pos = %d,max_pos_fil = %d (peak %d) max_val %d target_pos %d
\n
"
,
ue
->
proc
.
proc_rxtx
[
ue
->
current_thread_id
[
subframe
]].
frame_rx
,
subframe
,
ue
->
current_thread_id
[
subframe
],
diff
,
ue
->
rx_offset
,
clear
,
max_pos
,
max_pos_fil
,
temp
,
max_val
,
(
frame_parms
->
nb_prefix_samples
>>
3
));
#endif //DEBUG_PHY
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_ADJUST_SYNCH
,
VCD_FUNCTION_OUT
);
}
}
openair1/PHY/LTE_UE_TRANSPORT/dci_ue.c
View file @
8c508ca0
...
@@ -52,6 +52,15 @@
...
@@ -52,6 +52,15 @@
//extern uint16_t phich_reg[MAX_NUM_PHICH_GROUPS][3];
//extern uint16_t phich_reg[MAX_NUM_PHICH_GROUPS][3];
//extern uint16_t pcfich_reg[4];
//extern uint16_t pcfich_reg[4];
#define CCEBITS 72
#define CCEPERSYMBOL 33 // This is for 1200 RE
#define CCEPERSYMBOL0 22 // This is for 1200 RE
#define DCI_BITS_MAX ((2*CCEPERSYMBOL+CCEPERSYMBOL0)*CCEBITS)
#define Msymb (DCI_BITS_MAX/2)
//#define Mquad (Msymb/4)
static
uint32_t
bitrev_cc_dci
[
32
]
=
{
1
,
17
,
9
,
25
,
5
,
21
,
13
,
29
,
3
,
19
,
11
,
27
,
7
,
23
,
15
,
31
,
0
,
16
,
8
,
24
,
4
,
20
,
12
,
28
,
2
,
18
,
10
,
26
,
6
,
22
,
14
,
30
};
uint32_t
check_phich_reg
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
uint32_t
kprime
,
uint8_t
lprime
,
uint8_t
mi
)
uint32_t
check_phich_reg
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
uint32_t
kprime
,
uint8_t
lprime
,
uint8_t
mi
)
{
{
...
...
targets/RT/USER/lte-softmodem.h
View file @
8c508ca0
...
@@ -134,7 +134,7 @@
...
@@ -134,7 +134,7 @@
}
}
#define DEFAULT_DLF 2680000000
#define DEFAULT_DLF 2680000000
//extern int16_t dlsch_demod_shift;
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* command line parameters common to eNodeB and UE */
/* command line parameters common to eNodeB and UE */
/* optname helpstr paramflags XXXptr defXXXval type numelt */
/* optname helpstr paramflags XXXptr defXXXval type numelt */
...
...
targets/RT/USER/lte-uesoftmodem.c
View file @
8c508ca0
...
@@ -455,6 +455,7 @@ void *l2l1_task(void *arg) {
...
@@ -455,6 +455,7 @@ void *l2l1_task(void *arg) {
}
}
#endif
#endif
extern
int16_t
dlsch_demod_shift
;
static
void
get_options
(
void
)
{
static
void
get_options
(
void
)
{
int
CC_id
;
int
CC_id
;
...
...
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