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
fda84d66
Commit
fda84d66
authored
Jan 20, 2017
by
Cedric Roux
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop-new-LMSSDR' into develop_integration_w03
parents
23292569
a16d8b6c
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
51 additions
and
37 deletions
+51
-37
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+1
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp
targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp
+28
-20
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.usrpb210.conf
...ROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.usrpb210.conf
+14
-9
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.lmssdr.conf
...ECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.lmssdr.conf
+5
-5
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
...TS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf
...s/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf
+1
-1
targets/RT/USER/lte-softmodem.c
targets/RT/USER/lte-softmodem.c
+1
-1
No files found.
cmake_targets/CMakeLists.txt
View file @
fda84d66
...
@@ -554,6 +554,7 @@ elseif (${RF_BOARD} STREQUAL "OAI_BLADERF")
...
@@ -554,6 +554,7 @@ elseif (${RF_BOARD} STREQUAL "OAI_BLADERF")
elseif
(
${
RF_BOARD
}
STREQUAL
"OAI_LMSSDR"
)
elseif
(
${
RF_BOARD
}
STREQUAL
"OAI_LMSSDR"
)
include_directories
(
"
${
OPENAIR_TARGETS
}
/ARCH/LMSSDR/USERSPACE/LIB"
)
include_directories
(
"
${
OPENAIR_TARGETS
}
/ARCH/LMSSDR/USERSPACE/LIB"
)
include_directories
(
"/usr/local/include/lime"
)
LINK_DIRECTORIES
(
"/usr/lib/x86_64-linux-gnu"
)
LINK_DIRECTORIES
(
"/usr/lib/x86_64-linux-gnu"
)
LINK_DIRECTORIES
(
"
${
CMAKE_CURRENT_BINARY_DIR
}
/lmsSDR"
)
LINK_DIRECTORIES
(
"
${
CMAKE_CURRENT_BINARY_DIR
}
/lmsSDR"
)
LINK_DIRECTORIES
(
"
${
CMAKE_CURRENT_BINARY_DIR
}
/lms7002m"
)
LINK_DIRECTORIES
(
"
${
CMAKE_CURRENT_BINARY_DIR
}
/lms7002m"
)
...
...
targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp
View file @
fda84d66
...
@@ -37,6 +37,8 @@
...
@@ -37,6 +37,8 @@
* @{
* @{
*/
*/
#include <lime/LimeSuite.h>
#include <lime/LimeSuite.h>
#include <lime/LMS7002M.h>
#include <lime/LMS7002M_RegistersMap.h>
#include "common_lib.h"
#include "common_lib.h"
lms_device_t
*
lms_device
;
lms_device_t
*
lms_device
;
...
@@ -46,8 +48,7 @@ lms_stream_t tx_stream;
...
@@ -46,8 +48,7 @@ lms_stream_t tx_stream;
#define RXDCLENGTH 4096
#define RXDCLENGTH 4096
#define NUMBUFF 32
#define NUMBUFF 32
int16_t
cos_fsover8
[
8
]
=
{
2047
,
1447
,
0
,
-
1448
,
-
2047
,
-
1448
,
0
,
1447
};
using
namespace
lime
;
int16_t
cos_3fsover8
[
8
]
=
{
2047
,
-
1448
,
0
,
1447
,
-
2047
,
1447
,
0
,
-
1448
};
extern
"C"
extern
"C"
{
{
...
@@ -131,8 +132,11 @@ void set_rx_gain_offset(openair0_config_t *openair0_cfg, int chain_index) {
...
@@ -131,8 +132,11 @@ void set_rx_gain_offset(openair0_config_t *openair0_cfg, int chain_index) {
*/
*/
int
trx_lms_set_gains
(
openair0_device
*
device
,
openair0_config_t
*
openair0_cfg
)
{
int
trx_lms_set_gains
(
openair0_device
*
device
,
openair0_config_t
*
openair0_cfg
)
{
/* double gv = openair0_cfg[0].rx_gain[0] - openair0_cfg[0].rx_gain_offset[0]
;
LMS_SetNormalizedGain
(
lms_device
,
LMS_CH_TX
,
0
,
openair0_cfg
[
0
].
tx_gain
[
0
]
/
100.0
)
;
// RX gains, use low-level setting
double
gv
=
openair0_cfg
[
0
].
rx_gain
[
0
]
-
openair0_cfg
[
0
].
rx_gain_offset
[
0
];
if
(
gv
>
31
)
{
if
(
gv
>
31
)
{
printf
(
"RX Gain 0 too high, reduce by %f dB
\n
"
,
gv
-
31
);
printf
(
"RX Gain 0 too high, reduce by %f dB
\n
"
,
gv
-
31
);
gv
=
31
;
gv
=
31
;
...
@@ -141,8 +145,11 @@ int trx_lms_set_gains(openair0_device* device, openair0_config_t *openair0_cfg)
...
@@ -141,8 +145,11 @@ int trx_lms_set_gains(openair0_device* device, openair0_config_t *openair0_cfg)
printf
(
"RX Gain 0 too low, increase by %f dB
\n
"
,
-
gv
);
printf
(
"RX Gain 0 too low, increase by %f dB
\n
"
,
-
gv
);
gv
=
0
;
gv
=
0
;
}
}
printf("[LMS] Setting 7002M G_PGA_RBB to %d\n", (uint16_t)gv);
printf
(
"[LMS] Setting 7002M G_PGA_RBB to %d
\n
"
,
(
int16_t
)
gv
);
LMS_WriteParam(lms_device,LMS7param(G_PGA_RBB),(uint16_t)gv);*/
LMS7002M
lms7
;
lms7
.
SetConnection
(
lms7
.
GetConnection
());
lms7
.
Modify_SPI_Reg_bits
(
LMS7param
(
G_PGA_RBB
),(
int16_t
)
gv
);
return
(
0
);
return
(
0
);
}
}
...
@@ -205,13 +212,11 @@ int trx_lms_start(openair0_device *device){
...
@@ -205,13 +212,11 @@ int trx_lms_start(openair0_device *device){
}
}
printf
(
"Set TX frequency %f MHz
\n
"
,
device
->
openair0_cfg
[
0
].
tx_freq
[
0
]
/
1e6
);
printf
(
"Set TX frequency %f MHz
\n
"
,
device
->
openair0_cfg
[
0
].
tx_freq
[
0
]
/
1e6
);
printf
(
"Override antenna settings to: RX1_
W
, TXA_2"
);
printf
(
"Override antenna settings to: RX1_
H
, TXA_2"
);
LMS_SetAntenna
(
lms_device
,
LMS_CH_RX
,
0
,
3
);
LMS_SetAntenna
(
lms_device
,
LMS_CH_RX
,
0
,
1
);
LMS_SetAntenna
(
lms_device
,
LMS_CH_TX
,
0
,
2
);
LMS_SetAntenna
(
lms_device
,
LMS_CH_TX
,
0
,
2
);
trx_lms_set_gains
(
device
,
device
->
openair0_cfg
);
/*LMS_SetNormalizedGain(lms_device, LMS_CH_TX, 0, 0.175);
LMS_SetNormalizedGain(lms_device, LMS_CH_RX, 0, 0.65);*/
for
(
int
i
=
0
;
i
<
device
->
openair0_cfg
->
rx_num_channels
;
i
++
)
for
(
int
i
=
0
;
i
<
device
->
openair0_cfg
->
rx_num_channels
;
i
++
)
{
{
...
@@ -239,6 +244,9 @@ int trx_lms_start(openair0_device *device){
...
@@ -239,6 +244,9 @@ int trx_lms_start(openair0_device *device){
tx_stream
.
throughputVsLatency
=
0.1
;
tx_stream
.
throughputVsLatency
=
0.1
;
tx_stream
.
dataFmt
=
lms_stream_t
::
LMS_FMT_I12
;
tx_stream
.
dataFmt
=
lms_stream_t
::
LMS_FMT_I12
;
tx_stream
.
isTx
=
true
;
tx_stream
.
isTx
=
true
;
trx_lms_set_gains
(
device
,
device
->
openair0_cfg
);
if
(
LMS_SetupStream
(
lms_device
,
&
tx_stream
)
!=
0
)
if
(
LMS_SetupStream
(
lms_device
,
&
tx_stream
)
!=
0
)
printf
(
"TX stream setup failed %s
\n
"
,
LMS_GetLastErrorMessage
());
printf
(
"TX stream setup failed %s
\n
"
,
LMS_GetLastErrorMessage
());
...
@@ -284,7 +292,7 @@ int trx_lms_set_freq(openair0_device* device, openair0_config_t *openair0_cfg,in
...
@@ -284,7 +292,7 @@ int trx_lms_set_freq(openair0_device* device, openair0_config_t *openair0_cfg,in
// 31 = 19 dB => 105 dB total gain @ 2.6 GHz
// 31 = 19 dB => 105 dB total gain @ 2.6 GHz
/*! \brief calibration table for LMSSDR */
/*! \brief calibration table for LMSSDR */
rx_gain_calib_table_t
calib_table_
sodera
[]
=
{
rx_gain_calib_table_t
calib_table_
lmssdr
[]
=
{
{
3500000000.0
,
70.0
},
{
3500000000.0
,
70.0
},
{
2660000000.0
,
80.0
},
{
2660000000.0
,
80.0
},
{
2300000000.0
,
80.0
},
{
2300000000.0
,
80.0
},
...
@@ -369,7 +377,7 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg){
...
@@ -369,7 +377,7 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg){
break
;
break
;
}
}
openair0_cfg
[
0
].
rx_gain_calib_table
=
calib_table_
sodera
;
openair0_cfg
[
0
].
rx_gain_calib_table
=
calib_table_
lmssdr
;
set_rx_gain_offset
(
openair0_cfg
,
0
);
set_rx_gain_offset
(
openair0_cfg
,
0
);
device
->
Mod_id
=
1
;
device
->
Mod_id
=
1
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.usrpb210.conf
View file @
fda84d66
...
@@ -17,12 +17,15 @@ eNBs =
...
@@ -17,12 +17,15 @@ eNBs =
mobile_country_code
=
"208"
;
mobile_country_code
=
"208"
;
mobile_network_code
=
"9
5
"
;
mobile_network_code
=
"9
3
"
;
//////////
Physical
parameters
:
//////////
Physical
parameters
:
component_carriers
= (
component_carriers
= (
{
{
node_function
=
"eNodeB_3GPP"
;
node_timing
=
"synch_to_ext_device"
;
node_synch_ref
=
0
;
frame_type
=
"FDD"
;
frame_type
=
"FDD"
;
tdd_config
=
3
;
tdd_config
=
3
;
tdd_config_s
=
0
;
tdd_config_s
=
0
;
...
@@ -34,6 +37,7 @@ eNBs =
...
@@ -34,6 +37,7 @@ eNBs =
N_RB_DL
=
50
;
N_RB_DL
=
50
;
Nid_cell_mbsfn
=
0
;
Nid_cell_mbsfn
=
0
;
nb_antennas_tx
=
1
;
nb_antennas_tx
=
1
;
nb_antenna_ports
=
1
;
nb_antennas_rx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
90
;
tx_gain
=
90
;
rx_gain
=
110
;
rx_gain
=
110
;
...
@@ -46,7 +50,7 @@ eNBs =
...
@@ -46,7 +50,7 @@ eNBs =
pucch_nRB_CQI
=
1
;
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
15
;
pdsch_referenceSignalPower
= -
23
;
pdsch_p_b
=
0
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
pusch_enable64QAM
=
"DISABLE"
;
...
@@ -64,9 +68,9 @@ eNBs =
...
@@ -64,9 +68,9 @@ eNBs =
srs_ackNackST
=;
srs_ackNackST
=;
srs_MaxUpPts
=;*/
srs_MaxUpPts
=;*/
pusch_p0_Nominal
= -
9
0
;
pusch_p0_Nominal
= -
9
6
;
pusch_alpha
=
"AL1"
;
pusch_alpha
=
"AL1"
;
pucch_p0_Nominal
= -
96
;
pucch_p0_Nominal
= -
104
;
msg3_delta_Preamble
=
6
;
msg3_delta_Preamble
=
6
;
pucch_deltaF_Format1
=
"deltaF2"
;
pucch_deltaF_Format1
=
"deltaF2"
;
pucch_deltaF_Format1b
=
"deltaF3"
;
pucch_deltaF_Format1b
=
"deltaF3"
;
...
@@ -98,6 +102,7 @@ eNBs =
...
@@ -98,6 +102,7 @@ eNBs =
ue_TimersAndConstants_n310
=
20
;
ue_TimersAndConstants_n310
=
20
;
ue_TimersAndConstants_n311
=
1
;
ue_TimersAndConstants_n311
=
1
;
ue_TransmissionMode
=
1
;
}
}
);
);
...
@@ -133,7 +138,7 @@ eNBs =
...
@@ -133,7 +138,7 @@ eNBs =
//////////
MME
parameters
:
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"1
92.168.12.170
"
;
mme_ip_address
= ( {
ipv4
=
"1
27.0.0.3
"
;
ipv6
=
"192:168:30::17"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
active
=
"yes"
;
preference
=
"ipv4"
;
preference
=
"ipv4"
;
...
@@ -142,11 +147,11 @@ eNBs =
...
@@ -142,11 +147,11 @@ eNBs =
NETWORK_INTERFACES
:
NETWORK_INTERFACES
:
{
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"
eth0
"
;
ENB_INTERFACE_NAME_FOR_S1_MME
=
"
lo
"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"1
92.168.12.241
/24"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"1
27.0.0.2
/24"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"
eth0
"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"
lo
"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"1
92.168.12.241
/24"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"1
27.0.0.5
/24"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
};
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.lmssdr.conf
View file @
fda84d66
...
@@ -31,7 +31,7 @@ eNBs =
...
@@ -31,7 +31,7 @@ eNBs =
tdd_config_s
=
0
;
tdd_config_s
=
0
;
prefix_type
=
"NORMAL"
;
prefix_type
=
"NORMAL"
;
eutra_band
=
7
;
eutra_band
=
7
;
downlink_frequency
=
26
6
0000000
L
;
downlink_frequency
=
26
8
0000000
L
;
uplink_frequency_offset
= -
120000000
;
uplink_frequency_offset
= -
120000000
;
Nid_cell
=
0
;
Nid_cell
=
0
;
N_RB_DL
=
50
;
N_RB_DL
=
50
;
...
@@ -39,7 +39,7 @@ eNBs =
...
@@ -39,7 +39,7 @@ eNBs =
nb_antenna_ports
=
1
;
nb_antenna_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
6
0
;
tx_gain
=
10
0
;
rx_gain
=
111
;
rx_gain
=
111
;
prach_root
=
0
;
prach_root
=
0
;
prach_config_index
=
0
;
prach_config_index
=
0
;
...
@@ -50,7 +50,7 @@ eNBs =
...
@@ -50,7 +50,7 @@ eNBs =
pucch_nRB_CQI
=
1
;
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
27
;
pdsch_referenceSignalPower
= -
30
;
pdsch_p_b
=
0
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
pusch_enable64QAM
=
"DISABLE"
;
...
@@ -70,7 +70,7 @@ eNBs =
...
@@ -70,7 +70,7 @@ eNBs =
pusch_p0_Nominal
= -
96
;
pusch_p0_Nominal
= -
96
;
pusch_alpha
=
"AL1"
;
pusch_alpha
=
"AL1"
;
pucch_p0_Nominal
= -
10
0
;
pucch_p0_Nominal
= -
10
4
;
msg3_delta_Preamble
=
6
;
msg3_delta_Preamble
=
6
;
pucch_deltaF_Format1
=
"deltaF2"
;
pucch_deltaF_Format1
=
"deltaF2"
;
pucch_deltaF_Format1b
=
"deltaF3"
;
pucch_deltaF_Format1b
=
"deltaF3"
;
...
@@ -149,7 +149,7 @@ eNBs =
...
@@ -149,7 +149,7 @@ eNBs =
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"127.0.0.2/24"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"127.0.0.2/24"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"lo"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"lo"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"127.0.0.
4
/24"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"127.0.0.
5
/24"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
};
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
View file @
fda84d66
...
@@ -149,7 +149,7 @@ eNBs =
...
@@ -149,7 +149,7 @@ eNBs =
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"127.0.0.2/24"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"127.0.0.2/24"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"lo"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"lo"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"127.0.0.
4
/24"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"127.0.0.
5
/24"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
};
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf
View file @
fda84d66
...
@@ -39,7 +39,7 @@ eNBs =
...
@@ -39,7 +39,7 @@ eNBs =
nb_antennas_ports
=
1
;
nb_antennas_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
6
0
;
tx_gain
=
10
0
;
rx_gain
=
111
;
rx_gain
=
111
;
prach_root
=
0
;
prach_root
=
0
;
prach_config_index
=
0
;
prach_config_index
=
0
;
...
...
targets/RT/USER/lte-softmodem.c
View file @
fda84d66
...
@@ -1360,12 +1360,12 @@ void init_openair0() {
...
@@ -1360,12 +1360,12 @@ void init_openair0() {
openair0_cfg
[
card
].
rx_gain
[
i
]
=
PHY_vars_UE_g
[
0
][
0
]
->
rx_total_gain_dB
-
rx_gain_off
;
openair0_cfg
[
card
].
rx_gain
[
i
]
=
PHY_vars_UE_g
[
0
][
0
]
->
rx_total_gain_dB
-
rx_gain_off
;
}
}
openair0_cfg
[
card
].
configFilename
=
rf_config_file
;
printf
(
"Card %d, channel %d, Setting tx_gain %f, rx_gain %f, tx_freq %f, rx_freq %f
\n
"
,
printf
(
"Card %d, channel %d, Setting tx_gain %f, rx_gain %f, tx_freq %f, rx_freq %f
\n
"
,
card
,
i
,
openair0_cfg
[
card
].
tx_gain
[
i
],
card
,
i
,
openair0_cfg
[
card
].
tx_gain
[
i
],
openair0_cfg
[
card
].
rx_gain
[
i
],
openair0_cfg
[
card
].
rx_gain
[
i
],
openair0_cfg
[
card
].
tx_freq
[
i
],
openair0_cfg
[
card
].
tx_freq
[
i
],
openair0_cfg
[
card
].
rx_freq
[
i
]);
openair0_cfg
[
card
].
rx_freq
[
i
]);
openair0_cfg
[
card
].
configFilename
=
rf_config_file
;
}
}
}
}
}
}
...
...
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