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
OpenXG
OpenXG UE
Commits
1c6c2900
Commit
1c6c2900
authored
Oct 27, 2021
by
Melissa
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update README.txt for LTE L2 Emulator
parent
11722739
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
17 deletions
+17
-17
doc/episys/lte_mode_l2_emulator/README.txt
doc/episys/lte_mode_l2_emulator/README.txt
+17
-17
No files found.
doc/episys/lte_mode_l2_emulator/README.txt
View file @
1c6c2900
There are fundamental changes to the L2 emulation mechanism; these changes allow the
user to run multiple UEs in separate Linux processes/machines/VMs/etc. They use a separate
entity between the UE(s) and eNB
; where t
he UEs use nFAPI to communicate with the eNB. The
nFAPI interface allows us to run in an emulated
L
2 mode, meaning that we are bypassing
the layer 1 (PHY)
layer functionality. Becasue we are bypassing the PHY layer, special
channel model
ling capabilty has
been added in the LTE UE phy_stub_ue.c file. To understand
entity between the UE(s) and eNB
. T
he UEs use nFAPI to communicate with the eNB. The
nFAPI interface allows us to run in an emulated
layer
2 mode, meaning that we are bypassing
the layer 1 (PHY)
functionality. Because we are bypassing the PHY layer,
channel model
ing capabilties have
been added in the LTE UE phy_stub_ue.c file. To understand
the interfaces between the different components associated with LTE mode, the image
functional_diagram_proxy_lte.png has been provided.
This functionality allows the user to plug in their own channel model and emulat
or
the packet dropping procedure
in real time. The channel model
l
ing has not been provided by EpiSci, but the OAI code
base already has some BLER curves available for use. The chann
le model
ling functionality
that is included in the phy_stub_ue.c file only includes the downlink channel model
l
ing.
Any uplink channel model
l
ing must be conducted in some sort of proxy, which would sit
between the UEs and eNB. (A description of the downlink channel model
l
ing is shown in the
This functionality allows the user to plug in their own channel model and emulat
e
the packet dropping procedure
in real time. The channel modeling has not been provided by EpiSci, but the OAI code
base already has some BLER curves available for use. The chann
el mode
ling functionality
that is included in the phy_stub_ue.c file only includes the downlink channel modeling.
Any uplink channel modeling must be conducted in some sort of proxy, which would sit
between the UEs and eNB. (A description of the downlink channel modeling is shown in the
Channel_Abstraction_UE_Handling_LTE.PNG image).
The updates to the OAI code base removed some latent bugs, added multi-UE scalability,
and were tested with a standard bypass proxy between the UE(s) and eNB. The bypass proxy is
publicly available on GitHub. With this package,
publicly available on GitHub
(https://github.com/EpiSci/oai-lte-multi-ue-proxy)
. With this package,
various multi-UE scenarios can be tested without the overhead of PHY-layer features
of underlying radios.
of underlying radios.
The features added in the L2 Emulator Mode for LTE are:
- Ease of use of gprof and address sanitizer for debugging purposes
- Updated json files to allow for GDB, real-time debugging capabilities
- Updated logging features to minimally log only key connection milestones. This improves scalability of multiple UEs.
The logging mechanism described here is located in the log.c and log.h files. The LOG_MINIMAL
function allows us to remove
all OAI logging and only include LOG_A(...) logs
. The LOG_A
function allows us to remove
most OAI logging and includes LOG_A(...) logs and above
. The LOG_A
logs were chosen as analysis logs to meet EpiSci's internal testing procedure. The LOG_As
only include logs that are considered to be
critical milestones in a particular procedure. (i.e.
a
log indicating that the RACH procedure has been completed for LTE.
) To revert to the original logging
mechanism, simply
set LOG_MINIMAL = 0 in the log.h file.
only include logs that are considered to be
milestones in a given test. For example,
a
log indicating that the RACH procedure has been completed for LTE.
To select full logging,
set LOG_MINIMAL = 0 in the log.h file.
- Updated logging to include time stamp for timing analysis
- Updated memory allocation procedures to correct size requirements
- Added debugging features to handle signal terminations
...
...
@@ -46,4 +46,4 @@ mechanism, simply set LOG_MINIMAL = 0 in the log.h file.
- Incorporated semaphores to control timing of incoming downlink packets
- Implemented new queuing system to handle message exchange from UE to eNB and vice versa
- Updated global value in nFAPI for size of subframe
- Updated global value to increase scalability in system
\ No newline at end of file
- Updated global value to increase scalability in system
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