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
alex037yang
OpenXG-RAN
Commits
8fb60cd5
Commit
8fb60cd5
authored
Jun 26, 2016
by
Rohit Gupta
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into bugfix-96-Fix-build-script-for-16.04-installation-v3
parents
ffebfac8
af1f9182
Changes
7
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
109 additions
and
98 deletions
+109
-98
cmake_targets/autotests/run_exec_lte-softmodem_tests.py
cmake_targets/autotests/run_exec_lte-softmodem_tests.py
+24
-11
cmake_targets/autotests/test_case_list.xml
cmake_targets/autotests/test_case_list.xml
+66
-66
cmake_targets/tools/build_helper
cmake_targets/tools/build_helper
+1
-1
openair1/PHY/LTE_REFSIG/lte_ul_ref.c
openair1/PHY/LTE_REFSIG/lte_ul_ref.c
+7
-7
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
+1
-2
openair2/RRC/LITE/L2_interface.c
openair2/RRC/LITE/L2_interface.c
+8
-11
openair2/UTIL/LOG/vcd_signal_dumper.h
openair2/UTIL/LOG/vcd_signal_dumper.h
+2
-0
No files found.
cmake_targets/autotests/run_exec_lte-softmodem_tests.py
View file @
8fb60cd5
...
@@ -312,13 +312,13 @@ def SSHSessionWrapper(machine, username, key_file, password, logdir_remote, logd
...
@@ -312,13 +312,13 @@ def SSHSessionWrapper(machine, username, key_file, password, logdir_remote, logd
# \parm programList list of programs that must be terminated before execution of any test case
# \parm programList list of programs that must be terminated before execution of any test case
# \param CleanUpAluLteBox program to terminate AlU Bell Labs LTE Box
# \param CleanUpAluLteBox program to terminate AlU Bell Labs LTE Box
# \param ExmimoRfStop String to stop EXMIMO card (specified in test_case_list.xml)
# \param ExmimoRfStop String to stop EXMIMO card (specified in test_case_list.xml)
def
cleanOldPrograms
(
oai
,
programList
,
CleanUpAluLteBox
,
ExmimoRfStop
):
def
cleanOldPrograms
(
oai
,
programList
,
CleanUpAluLteBox
,
ExmimoRfStop
,
logdir
,
logdirOAI5GRepo
):
cmd
=
'killall -9 -q -r '
+
programList
cmd
=
'killall -9 -q -r '
+
programList
result
=
oai
.
send
(
cmd
,
True
)
result
=
oai
.
send
(
cmd
,
True
)
print
"Killing old programs..."
+
result
print
"Killing old programs..."
+
result
programArray
=
programList
.
split
()
programArray
=
programList
.
split
()
programListJoin
=
'|'
.
join
(
programArray
)
programListJoin
=
'|'
.
join
(
programArray
)
cmd
=
" ( date ;echo
\"
Starting cleaning old programs..
\"
; dmesg|tail ; echo
\"
Current disk space..
\"
; df -h )>&
$HOME/.
oai_test_setup_cleanup.log.`hostname` 2>&1 ; sync"
cmd
=
" ( date ;echo
\"
Starting cleaning old programs..
\"
; dmesg|tail ; echo
\"
Current disk space..
\"
; df -h )>&
"
+
logdir
+
"/
oai_test_setup_cleanup.log.`hostname` 2>&1 ; sync"
result
=
oai
.
send_recv
(
cmd
)
result
=
oai
.
send_recv
(
cmd
)
cmd
=
cleanupOldProgramsScript
+
' '
+
'
\'
'
+
programListJoin
+
'
\'
'
cmd
=
cleanupOldProgramsScript
+
' '
+
'
\'
'
+
programListJoin
+
'
\'
'
#result = oai.send_recv(cmd)
#result = oai.send_recv(cmd)
...
@@ -326,8 +326,14 @@ def cleanOldPrograms(oai, programList, CleanUpAluLteBox, ExmimoRfStop):
...
@@ -326,8 +326,14 @@ def cleanOldPrograms(oai, programList, CleanUpAluLteBox, ExmimoRfStop):
result
=
oai
.
send_expect_false
(
cmd
,
'Match found'
,
False
)
result
=
oai
.
send_expect_false
(
cmd
,
'Match found'
,
False
)
print
"Looking for old programs..."
+
result
print
"Looking for old programs..."
+
result
res
=
oai
.
send_recv
(
CleanUpAluLteBox
,
True
)
res
=
oai
.
send_recv
(
CleanUpAluLteBox
,
True
)
cmd
=
"( "
+
ExmimoRfStop
+
" ) >> $HOME/.oai_test_setup_cleanup.log.`hostname` ; sync "
cmd
=
" echo
\"
Starting EXmimoRF Stop...
\"
>> "
+
logdir
+
"/oai_test_setup_cleanup.log.`hostname` 2>&1 ; sync "
;
oai
.
send_recv
(
cmd
)
cmd
=
"( "
+
"cd "
+
logdirOAI5GRepo
+
" ; source oaienv ; "
+
ExmimoRfStop
+
" ) >> "
+
logdir
+
"/oai_test_setup_cleanup.log.`hostname` 2>&1 ; sync "
print
"cleanoldprograms cmd = "
+
cmd
res
=
oai
.
send_recv
(
cmd
,
False
,
timeout
=
600
)
res
=
oai
.
send_recv
(
cmd
,
False
,
timeout
=
600
)
cmd
=
" echo
\"
Stopping EXmimoRF Stop...
\"
>> "
+
logdir
+
"/oai_test_setup_cleanup.log.`hostname` 2>&1 ; sync "
;
oai
.
send_recv
(
cmd
)
#res = oai.send_recv(ExmimoRfStop, False)
#res = oai.send_recv(ExmimoRfStop, False)
cmd
=
" ( date ;echo
\"
Finished cleaning old programs..
\"
; dmesg | tail)>> $HOME/.oai_test_setup_cleanup.log.`hostname` 2>&1 ; sync"
cmd
=
" ( date ;echo
\"
Finished cleaning old programs..
\"
; dmesg | tail)>> $HOME/.oai_test_setup_cleanup.log.`hostname` 2>&1 ; sync"
res
=
oai
.
send_recv
(
cmd
)
res
=
oai
.
send_recv
(
cmd
)
...
@@ -934,9 +940,9 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo ,
...
@@ -934,9 +940,9 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo ,
t
.
join
()
t
.
join
()
#Now we get the log files from remote machines on the local machine
#Now we get the log files from remote machines on the local machine
if
RRHMachine
!=
''
:
if
RRHMachine
!=
''
:
cleanOldProgramsAllMachines
([
oai_eNB
,
oai_UE
,
oai_EPC
,
oai_RRH
]
,
oldprogramList
,
CleanUpAluLteBox
,
ExmimoRfStop
)
cleanOldProgramsAllMachines
([
oai_eNB
,
oai_UE
,
oai_EPC
,
oai_RRH
]
,
oldprogramList
,
CleanUpAluLteBox
,
ExmimoRfStop
,
[
logdir_eNB
,
logdir_UE
,
logdir_EPC
,
logdir_RRH
],
logdirOAI5GRepo
)
else
:
else
:
cleanOldProgramsAllMachines
([
oai_eNB
,
oai_UE
,
oai_EPC
]
,
oldprogramList
,
CleanUpAluLteBox
,
ExmimoRfStop
)
cleanOldProgramsAllMachines
([
oai_eNB
,
oai_UE
,
oai_EPC
]
,
oldprogramList
,
CleanUpAluLteBox
,
ExmimoRfStop
,
[
logdir_eNB
,
logdir_UE
,
logdir_EPC
],
logdirOAI5GRepo
)
logfile_UE_stop_script_out
=
logdir_UE
+
'/UE_stop_script_out'
+
'_'
+
str
(
run
)
+
'_.log'
logfile_UE_stop_script_out
=
logdir_UE
+
'/UE_stop_script_out'
+
'_'
+
str
(
run
)
+
'_.log'
logfile_UE_stop_script
=
logdir_local_testcase
+
'/UE_stop_script'
+
'_'
+
str
(
run
)
+
'_.log'
logfile_UE_stop_script
=
logdir_local_testcase
+
'/UE_stop_script'
+
'_'
+
str
(
run
)
+
'_.log'
...
@@ -1065,7 +1071,7 @@ def search_test_case_group(testcasename, testcasegroup, test_case_exclude):
...
@@ -1065,7 +1071,7 @@ def search_test_case_group(testcasename, testcasegroup, test_case_exclude):
# \param CleanupAluLteBox string that contains commands to stop ALU Bell Labs LTEBox (specified in test_case_list.xml)
# \param CleanupAluLteBox string that contains commands to stop ALU Bell Labs LTEBox (specified in test_case_list.xml)
# \param ExmimoRfStop command to stop EXMIMO Card
# \param ExmimoRfStop command to stop EXMIMO Card
class
oaiCleanOldProgramThread
(
threading
.
Thread
):
class
oaiCleanOldProgramThread
(
threading
.
Thread
):
def
__init__
(
self
,
threadID
,
threadname
,
oai
,
CleanUpOldProgs
,
CleanUpAluLteBox
,
ExmimoRfStop
):
def
__init__
(
self
,
threadID
,
threadname
,
oai
,
CleanUpOldProgs
,
CleanUpAluLteBox
,
ExmimoRfStop
,
logdir
,
logdirOAI5GRepo
):
threading
.
Thread
.
__init__
(
self
)
threading
.
Thread
.
__init__
(
self
)
self
.
threadID
=
threadID
self
.
threadID
=
threadID
self
.
threadname
=
threadname
self
.
threadname
=
threadname
...
@@ -1073,9 +1079,11 @@ class oaiCleanOldProgramThread (threading.Thread):
...
@@ -1073,9 +1079,11 @@ class oaiCleanOldProgramThread (threading.Thread):
self
.
CleanUpOldProgs
=
CleanUpOldProgs
self
.
CleanUpOldProgs
=
CleanUpOldProgs
self
.
CleanUpAluLteBox
=
CleanUpAluLteBox
self
.
CleanUpAluLteBox
=
CleanUpAluLteBox
self
.
ExmimoRfStop
=
ExmimoRfStop
self
.
ExmimoRfStop
=
ExmimoRfStop
self
.
logdir
=
logdir
self
.
logdirOAI5GRepo
=
logdirOAI5GRepo
def
run
(
self
):
def
run
(
self
):
try
:
try
:
cleanOldPrograms
(
self
.
oai
,
self
.
CleanUpOldProgs
,
self
.
CleanUpAluLteBox
,
self
.
ExmimoRfStop
)
cleanOldPrograms
(
self
.
oai
,
self
.
CleanUpOldProgs
,
self
.
CleanUpAluLteBox
,
self
.
ExmimoRfStop
,
self
.
logdir
,
self
.
logdirOAI5GRepo
)
except
Exception
,
e
:
except
Exception
,
e
:
error
=
''
error
=
''
error
=
error
+
' In class oaiCleanOldProgramThread, function: '
+
sys
.
_getframe
().
f_code
.
co_name
+
': *** Caught exception: '
+
str
(
e
.
__class__
)
+
" : "
+
str
(
e
)
error
=
error
+
' In class oaiCleanOldProgramThread, function: '
+
sys
.
_getframe
().
f_code
.
co_name
+
': *** Caught exception: '
+
str
(
e
.
__class__
)
+
" : "
+
str
(
e
)
...
@@ -1090,15 +1098,20 @@ class oaiCleanOldProgramThread (threading.Thread):
...
@@ -1090,15 +1098,20 @@ class oaiCleanOldProgramThread (threading.Thread):
# \param CleanUpOldProgs list of programs which must be terminated before running a test case (specified in test_case_list.xml)
# \param CleanUpOldProgs list of programs which must be terminated before running a test case (specified in test_case_list.xml)
# \param CleanupAluLteBox string that contains commands to stop ALU Bell Labs LTEBox (specified in test_case_list.xml)
# \param CleanupAluLteBox string that contains commands to stop ALU Bell Labs LTEBox (specified in test_case_list.xml)
# \param ExmimoRfStop command to stop EXMIMO Card
# \param ExmimoRfStop command to stop EXMIMO Card
def
cleanOldProgramsAllMachines
(
oai_list
,
CleanOldProgs
,
CleanUpAluLteBox
,
ExmimoRfStop
):
def
cleanOldProgramsAllMachines
(
oai_list
,
CleanOldProgs
,
CleanUpAluLteBox
,
ExmimoRfStop
,
logdir_list
,
logdirOAI5GRepo
):
threadId
=
0
threadId
=
0
threadList
=
[]
threadList
=
[]
index
=
0
if
len
(
oai_list
)
!=
len
(
logdir_list
)
:
logdir_list
=
[
logdir
[
0
]]
*
len
(
oai_list
)
for
oai
in
oai_list
:
for
oai
in
oai_list
:
threadName
=
"cleanup_thread_"
+
str
(
threadId
)
threadName
=
"cleanup_thread_"
+
str
(
threadId
)
thread
=
oaiCleanOldProgramThread
(
threadId
,
threadName
,
oai
,
CleanUpOldProgs
,
CleanUpAluLteBox
,
ExmimoRfStop
)
thread
=
oaiCleanOldProgramThread
(
threadId
,
threadName
,
oai
,
CleanUpOldProgs
,
CleanUpAluLteBox
,
ExmimoRfStop
,
logdir_list
[
index
],
logdirOAI5GRepo
)
threadList
.
append
(
thread
)
threadList
.
append
(
thread
)
thread
.
start
()
thread
.
start
()
threadId
=
threadId
+
1
threadId
=
threadId
+
1
index
=
index
+
1
for
t
in
threadList
:
for
t
in
threadList
:
t
.
join
()
t
.
join
()
...
@@ -1360,7 +1373,7 @@ if localshell == 0:
...
@@ -1360,7 +1373,7 @@ if localshell == 0:
print
"Sudo permissions..."
+
result
print
"Sudo permissions..."
+
result
print
'
\n
Cleaning Older running programs : '
+
CleanUpOldProgs
print
'
\n
Cleaning Older running programs : '
+
CleanUpOldProgs
cleanOldPrograms
(
oai_list
[
index
],
CleanUpOldProgs
,
CleanUpAluLteBox
,
ExmimoRfStop
)
cleanOldPrograms
(
oai_list
[
index
],
CleanUpOldProgs
,
CleanUpAluLteBox
,
ExmimoRfStop
,
'$HOME'
,
'/tmp'
)
#result = oai_list[index].send('mount ' + NFSResultsDir, True)
#result = oai_list[index].send('mount ' + NFSResultsDir, True)
#print "Mounting NFS Share " + NFSResultsDir + "..." + result
#print "Mounting NFS Share " + NFSResultsDir + "..." + result
...
@@ -1489,7 +1502,7 @@ if (out != '') :
...
@@ -1489,7 +1502,7 @@ if (out != '') :
print
"Exiting now..."
print
"Exiting now..."
sys
.
exit
(
1
)
sys
.
exit
(
1
)
cleanOldProgramsAllMachines
(
oai_list
,
CleanUpOldProgs
,
CleanUpAluLteBox
,
ExmimoRfStop
)
cleanOldProgramsAllMachines
(
oai_list
,
CleanUpOldProgs
,
CleanUpAluLteBox
,
ExmimoRfStop
,
'$HOME'
,
logdirOAI5GRepo
)
if
cleanUpRemoteMachines
==
True
:
if
cleanUpRemoteMachines
==
True
:
sys
.
exit
(
0
)
sys
.
exit
(
0
)
...
...
cmake_targets/autotests/test_case_list.xml
View file @
8fb60cd5
This diff is collapsed.
Click to expand it.
cmake_targets/tools/build_helper
View file @
8fb60cd5
...
@@ -291,7 +291,7 @@ check_install_additional_tools (){
...
@@ -291,7 +291,7 @@ check_install_additional_tools (){
$SUDO pip install paramiko
$SUDO pip install paramiko
$SUDO pip install pyroute2
$SUDO pip install pyroute2
$SUDO rm -fr /opt/ssh
$SUDO rm -fr /opt/ssh
$SUDO git clone https://gist.github.com/2190472.git /opt/ssh
$SUDO
GIT_SSL_NO_VERIFY=true
git clone https://gist.github.com/2190472.git /opt/ssh
log_netiface=$OPENAIR_DIR/cmake_targets/log/netiface_install_log.txt
log_netiface=$OPENAIR_DIR/cmake_targets/log/netiface_install_log.txt
echo_info "Installing Netinterfaces package. The logfile for installation is in $log_netiface"
echo_info "Installing Netinterfaces package. The logfile for installation is in $log_netiface"
...
...
openair1/PHY/LTE_REFSIG/lte_ul_ref.c
View file @
8fb60cd5
...
@@ -35,16 +35,18 @@
...
@@ -35,16 +35,18 @@
uint16_t
dftsizes
[
33
]
=
{
12
,
24
,
36
,
48
,
60
,
72
,
96
,
108
,
120
,
144
,
180
,
192
,
216
,
240
,
288
,
300
,
324
,
360
,
384
,
432
,
480
,
540
,
576
,
600
,
648
,
720
,
864
,
900
,
960
,
972
,
1080
,
1152
,
1200
};
uint16_t
dftsizes
[
33
]
=
{
12
,
24
,
36
,
48
,
60
,
72
,
96
,
108
,
120
,
144
,
180
,
192
,
216
,
240
,
288
,
300
,
324
,
360
,
384
,
432
,
480
,
540
,
576
,
600
,
648
,
720
,
864
,
900
,
960
,
972
,
1080
,
1152
,
1200
};
uint16_t
ref_primes
[
33
]
=
{
11
,
23
,
31
,
47
,
5
0
,
71
,
89
,
107
,
113
,
139
,
179
,
191
,
211
,
239
,
283
,
293
,
317
,
359
,
383
,
431
,
479
,
523
,
571
,
599
,
647
,
719
,
863
,
887
,
953
,
971
,
1069
,
1151
,
1193
};
uint16_t
ref_primes
[
33
]
=
{
11
,
23
,
31
,
47
,
5
9
,
71
,
89
,
107
,
113
,
139
,
179
,
191
,
211
,
239
,
283
,
293
,
317
,
359
,
383
,
431
,
479
,
523
,
571
,
599
,
647
,
719
,
863
,
887
,
953
,
971
,
1069
,
1151
,
1193
};
int16_t
*
ul_ref_sigs
[
30
][
2
][
33
];
int16_t
*
ul_ref_sigs
[
30
][
2
][
33
];
int16_t
*
ul_ref_sigs_rx
[
30
][
2
][
33
];
//these contain the sequences in repeated format and quantized to QPSK ifdef IFFT_FPGA
int16_t
*
ul_ref_sigs_rx
[
30
][
2
][
33
];
//these contain the sequences in repeated format and quantized to QPSK ifdef IFFT_FPGA
/* 36.211 table 5.5.1.2-1 */
char
ref12
[
360
]
=
{
-
1
,
1
,
3
,
-
3
,
3
,
3
,
1
,
1
,
3
,
1
,
-
3
,
3
,
1
,
1
,
3
,
3
,
3
,
-
1
,
1
,
-
3
,
-
3
,
1
,
-
3
,
3
,
1
,
1
,
-
3
,
-
3
,
-
3
,
-
1
,
-
3
,
-
3
,
1
,
-
3
,
1
,
-
1
,
-
1
,
1
,
1
,
1
,
1
,
-
1
,
-
3
,
-
3
,
1
,
-
3
,
3
,
-
1
,
-
1
,
3
,
1
,
-
1
,
1
,
-
1
,
-
3
,
-
1
,
1
,
-
1
,
1
,
3
,
1
,
-
3
,
3
,
-
1
,
-
1
,
1
,
1
,
-
1
,
-
1
,
3
,
-
3
,
1
,
-
1
,
3
,
-
3
,
-
3
,
-
3
,
3
,
1
,
-
1
,
3
,
3
,
-
3
,
1
,
-
3
,
-
1
,
-
1
,
-
1
,
1
,
-
3
,
3
,
-
1
,
1
,
-
3
,
3
,
1
,
1
,
-
3
,
3
,
1
,
-
1
,
-
1
,
-
1
,
1
,
1
,
3
,
-
1
,
1
,
1
,
-
3
,
-
1
,
3
,
3
,
-
1
,
-
3
,
1
,
1
,
1
,
1
,
1
,
-
1
,
3
,
-
1
,
1
,
1
,
-
3
,
-
3
,
-
1
,
-
3
,
-
3
,
3
,
-
1
,
3
,
1
,
-
1
,
-
1
,
3
,
3
,
-
3
,
1
,
3
,
1
,
3
,
3
,
1
,
-
3
,
1
,
1
,
-
3
,
1
,
1
,
1
,
-
3
,
-
3
,
-
3
,
1
,
3
,
3
,
-
3
,
3
,
-
3
,
1
,
1
,
3
,
-
1
,
-
3
,
3
,
3
,
-
3
,
1
,
-
1
,
-
3
,
-
1
,
3
,
1
,
3
,
3
,
3
,
-
1
,
1
,
3
,
-
1
,
1
,
-
3
,
-
1
,
-
1
,
1
,
1
,
3
,
1
,
-
1
,
-
3
,
1
,
3
,
1
,
-
1
,
1
,
3
,
3
,
3
,
-
1
,
-
1
,
3
,
-
1
,
-
3
,
1
,
1
,
3
,
-
3
,
3
,
-
3
,
-
3
,
3
,
1
,
3
,
-
1
,
-
3
,
3
,
1
,
1
,
-
3
,
1
,
-
3
,
-
3
,
-
1
,
-
1
,
1
,
-
3
,
-
1
,
3
,
1
,
3
,
1
,
-
1
,
-
1
,
3
,
-
3
,
-
1
,
-
3
,
-
1
,
-
1
,
-
3
,
1
,
1
,
1
,
1
,
3
,
1
,
-
1
,
1
,
-
3
,
-
1
,
-
1
,
3
,
-
1
,
1
,
-
3
,
-
3
,
-
3
,
-
3
,
-
3
,
1
,
-
1
,
-
3
,
1
,
1
,
-
3
,
-
3
,
-
3
,
-
3
,
-
1
,
3
,
-
3
,
1
,
-
3
,
3
,
1
,
1
,
-
1
,
-
3
,
-
1
,
-
3
,
1
,
-
1
,
1
,
3
,
-
1
,
1
,
1
,
1
,
3
,
1
,
3
,
3
,
-
1
,
1
,
-
1
,
-
3
,
-
3
,
1
,
1
,
-
3
,
3
,
3
,
1
,
3
,
3
,
1
,
-
3
,
-
1
,
-
1
,
3
,
1
,
3
,
-
3
,
-
3
,
3
,
-
3
,
1
,
-
1
,
-
1
,
3
,
-
1
,
-
3
,
-
3
,
-
1
,
-
3
,
-
1
,
-
3
,
3
,
1
,
-
1
,
1
,
3
,
-
3
,
-
3
,
-
1
,
3
,
-
3
,
3
,
-
1
,
3
,
3
,
-
3
,
3
,
3
,
-
1
,
-
1
,
3
,
-
3
,
-
3
,
-
1
,
-
1
,
-
3
,
-
1
,
3
,
-
3
,
3
,
1
,
-
1
};
char
ref12
[
360
]
=
{
-
1
,
1
,
3
,
-
3
,
3
,
3
,
1
,
1
,
3
,
1
,
-
3
,
3
,
1
,
1
,
3
,
3
,
3
,
-
1
,
1
,
-
3
,
-
3
,
1
,
-
3
,
3
,
1
,
1
,
-
3
,
-
3
,
-
3
,
-
1
,
-
3
,
-
3
,
1
,
-
3
,
1
,
-
1
,
-
1
,
1
,
1
,
1
,
1
,
-
1
,
-
3
,
-
3
,
1
,
-
3
,
3
,
-
1
,
-
1
,
3
,
1
,
-
1
,
1
,
-
1
,
-
3
,
-
1
,
1
,
-
1
,
1
,
3
,
1
,
-
3
,
3
,
-
1
,
-
1
,
1
,
1
,
-
1
,
-
1
,
3
,
-
3
,
1
,
-
1
,
3
,
-
3
,
-
3
,
-
3
,
3
,
1
,
-
1
,
3
,
3
,
-
3
,
1
,
-
3
,
-
1
,
-
1
,
-
1
,
1
,
-
3
,
3
,
-
1
,
1
,
-
3
,
3
,
1
,
1
,
-
3
,
3
,
1
,
-
1
,
-
1
,
-
1
,
1
,
1
,
3
,
-
1
,
1
,
1
,
-
3
,
-
1
,
3
,
3
,
-
1
,
-
3
,
1
,
1
,
1
,
1
,
1
,
-
1
,
3
,
-
1
,
1
,
1
,
-
3
,
-
3
,
-
1
,
-
3
,
-
3
,
3
,
-
1
,
3
,
1
,
-
1
,
-
1
,
3
,
3
,
-
3
,
1
,
3
,
1
,
3
,
3
,
1
,
-
3
,
1
,
1
,
-
3
,
1
,
1
,
1
,
-
3
,
-
3
,
-
3
,
1
,
3
,
3
,
-
3
,
3
,
-
3
,
1
,
1
,
3
,
-
1
,
-
3
,
3
,
3
,
-
3
,
1
,
-
1
,
-
3
,
-
1
,
3
,
1
,
3
,
3
,
3
,
-
1
,
1
,
3
,
-
1
,
1
,
-
3
,
-
1
,
-
1
,
1
,
1
,
3
,
1
,
-
1
,
-
3
,
1
,
3
,
1
,
-
1
,
1
,
3
,
3
,
3
,
-
1
,
-
1
,
3
,
-
1
,
-
3
,
1
,
1
,
3
,
-
3
,
3
,
-
3
,
-
3
,
3
,
1
,
3
,
-
1
,
-
3
,
3
,
1
,
1
,
-
3
,
1
,
-
3
,
-
3
,
-
1
,
-
1
,
1
,
-
3
,
-
1
,
3
,
1
,
3
,
1
,
-
1
,
-
1
,
3
,
-
3
,
-
1
,
-
3
,
-
1
,
-
1
,
-
3
,
1
,
1
,
1
,
1
,
3
,
1
,
-
1
,
1
,
-
3
,
-
1
,
-
1
,
3
,
-
1
,
1
,
-
3
,
-
3
,
-
3
,
-
3
,
-
3
,
1
,
-
1
,
-
3
,
1
,
1
,
-
3
,
-
3
,
-
3
,
-
3
,
-
1
,
3
,
-
3
,
1
,
-
3
,
3
,
1
,
1
,
-
1
,
-
3
,
-
1
,
-
3
,
1
,
-
1
,
1
,
3
,
-
1
,
1
,
1
,
1
,
3
,
1
,
3
,
3
,
-
1
,
1
,
-
1
,
-
3
,
-
3
,
1
,
1
,
-
3
,
3
,
3
,
1
,
3
,
3
,
1
,
-
3
,
-
1
,
-
1
,
3
,
1
,
3
,
-
3
,
-
3
,
3
,
-
3
,
1
,
-
1
,
-
1
,
3
,
-
1
,
-
3
,
-
3
,
-
1
,
-
3
,
-
1
,
-
3
,
3
,
1
,
-
1
,
1
,
3
,
-
3
,
-
3
,
-
1
,
3
,
-
3
,
3
,
-
1
,
3
,
3
,
-
3
,
3
,
3
,
-
1
,
-
1
,
3
,
-
3
,
-
3
,
-
1
,
-
1
,
-
3
,
-
1
,
3
,
-
3
,
3
,
1
,
-
1
};
/* 36.211 table 5.5.1.2-2 */
char
ref24
[
720
]
=
{
char
ref24
[
720
]
=
{
-
1
,
3
,
1
,
-
3
,
3
,
-
1
,
1
,
3
,
-
3
,
3
,
1
,
3
,
-
3
,
3
,
1
,
1
,
-
1
,
1
,
3
,
-
3
,
3
,
-
3
,
-
1
,
-
3
,
-
3
,
3
,
-
3
,
-
3
,
-
3
,
1
,
-
3
,
-
3
,
3
,
-
1
,
1
,
1
,
1
,
3
,
1
,
-
1
,
3
,
-
3
,
-
3
,
1
,
3
,
1
,
1
,
-
3
,
3
,
-
1
,
3
,
3
,
1
,
1
,
-
3
,
3
,
3
,
3
,
3
,
1
,
-
1
,
3
,
-
1
,
1
,
1
,
-
1
,
-
3
,
-
1
,
-
1
,
1
,
3
,
3
,
-
1
,
-
3
,
1
,
1
,
3
,
-
3
,
1
,
1
,
-
3
,
-
1
,
-
1
,
1
,
3
,
1
,
3
,
1
,
-
1
,
3
,
1
,
1
,
-
3
,
-
1
,
-
3
,
-
1
,
-
1
,
-
1
,
-
1
,
-
3
,
-
3
,
-
1
,
1
,
1
,
3
,
3
,
-
1
,
3
,
-
1
,
1
,
-
1
,
-
3
,
1
,
-
1
,
-
3
,
-
3
,
1
,
-
3
,
-
1
,
-
1
,
-
3
,
1
,
1
,
3
,
-
1
,
1
,
3
,
1
,
-
3
,
1
,
-
3
,
1
,
1
,
-
1
,
-
1
,
3
,
-
1
,
-
3
,
3
,
-
3
,
-
3
,
-
3
,
1
,
1
,
1
,
1
,
-
1
,
-
1
,
3
,
-
3
,
-
3
,
3
,
-
3
,
1
,
-
1
,
-
1
,
1
,
-
1
,
1
,
1
,
-
1
,
-
3
,
-
1
,
1
,
-
1
,
3
,
-
1
,
-
3
,
-
3
,
3
,
3
,
-
1
,
-
1
,
-
3
,
-
1
,
3
,
1
,
3
,
1
,
3
,
1
,
1
,
-
1
,
3
,
1
,
-
1
,
1
,
3
,
-
3
,
-
1
,
-
1
,
1
,
-
3
,
1
,
3
,
-
3
,
1
,
-
1
,
-
3
,
3
,
-
3
,
3
,
-
1
,
-
1
,
-
1
,
-
1
,
1
,
-
3
,
-
3
,
-
3
,
1
,
-
3
,
-
3
,
-
3
,
1
,
-
3
,
1
,
1
,
-
3
,
3
,
3
,
-
1
,
-
3
,
-
1
,
3
,
-
3
,
3
,
3
,
3
,
-
1
,
1
,
1
,
-
3
,
1
,
-
1
,
1
,
1
,
-
3
,
1
,
1
,
-
1
,
1
,
-
3
,
-
3
,
3
,
-
1
,
3
,
-
1
,
-
1
,
-
3
,
-
3
,
-
3
,
-
1
,
-
3
,
-
3
,
1
,
-
1
,
1
,
3
,
3
,
-
1
,
1
,
-
1
,
3
,
1
,
3
,
3
,
-
3
,
-
3
,
1
,
3
,
1
,
-
1
,
-
3
,
-
3
,
-
3
,
3
,
3
,
-
3
,
3
,
3
,
-
1
,
-
3
,
3
,
-
1
,
1
,
-
3
,
1
,
1
,
3
,
3
,
1
,
1
,
1
,
-
1
,
-
1
,
1
,
-
3
,
3
,
-
1
,
1
,
1
,
-
3
,
3
,
3
,
-
1
,
-
3
,
3
,
-
3
,
-
1
,
-
3
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
3
,
-
1
,
3
,
3
,
1
,
-
1
,
1
,
3
,
3
,
3
,
-
1
,
1
,
1
,
-
3
,
1
,
3
,
-
1
,
-
3
,
3
,
-
3
,
-
3
,
3
,
1
,
3
,
1
,
-
3
,
3
,
1
,
3
,
1
,
1
,
3
,
3
,
-
1
,
-
1
,
-
3
,
1
,
-
3
,
-
1
,
3
,
1
,
1
,
3
,
-
1
,
-
1
,
1
,
-
3
,
1
,
3
,
-
3
,
1
,
-
1
,
-
3
,
-
1
,
3
,
1
,
3
,
1
,
-
1
,
-
3
,
-
3
,
-
1
,
-
1
,
-
3
,
-
3
,
-
3
,
-
1
,
-
1
,
-
3
,
3
,
-
1
,
-
1
,
-
1
,
-
1
,
1
,
1
,
-
3
,
3
,
1
,
3
,
3
,
1
,
-
1
,
1
,
-
3
,
1
,
-
3
,
1
,
1
,
-
3
,
-
1
,
1
,
3
,
-
1
,
3
,
3
,
-
1
,
-
3
,
1
,
-
1
,
-
3
,
3
,
3
,
3
,
-
1
,
1
,
1
,
3
,
-
1
,
-
3
,
-
1
,
3
,
-
1
,
-
1
,
-
1
,
1
,
1
,
1
,
1
,
1
,
-
1
,
3
,
-
1
,
-
3
,
1
,
1
,
3
,
-
3
,
1
,
-
3
,
-
1
,
1
,
1
,
-
3
,
-
3
,
3
,
1
,
1
,
-
3
,
1
,
3
,
3
,
1
,
-
1
,
-
3
,
3
,
-
1
,
3
,
3
,
3
,
-
3
,
1
,
-
1
,
1
,
-
1
,
-
3
,
-
1
,
1
,
3
,
-
1
,
3
,
-
3
,
-
3
,
-
1
,
-
3
,
3
,
-
3
,
-
3
,
-
3
,
-
1
,
-
1
,
-
3
,
-
1
,
-
3
,
3
,
1
,
3
,
-
3
,
-
1
,
3
,
-
1
,
1
,
-
1
,
3
,
-
3
,
1
,
-
1
,
-
3
,
-
3
,
1
,
1
,
-
1
,
1
,
-
1
,
1
,
-
1
,
3
,
1
,
-
3
,
-
1
,
1
,
-
1
,
1
,
-
1
,
-
1
,
3
,
3
,
-
3
,
-
1
,
1
,
-
3
,
-
3
,
-
1
,
-
3
,
3
,
1
,
-
1
,
-
3
,
-
1
,
-
3
,
-
3
,
3
,
-
3
,
3
,
-
3
,
-
1
,
1
,
3
,
1
,
-
3
,
1
,
3
,
3
,
-
1
,
-
3
,
-
1
,
-
1
,
-
1
,
-
1
,
3
,
3
,
3
,
1
,
3
,
3
,
-
3
,
1
,
3
,
-
1
,
3
,
-
1
,
3
,
3
,
-
3
,
3
,
1
,
-
1
,
3
,
3
,
1
,
-
1
,
3
,
3
,
-
1
,
-
3
,
3
,
-
3
,
-
1
,
-
1
,
3
,
-
1
,
3
,
-
1
,
-
1
,
1
,
1
,
1
,
1
,
-
1
,
-
1
,
-
3
,
-
1
,
3
,
1
,
-
1
,
1
,
-
1
,
3
,
-
1
,
3
,
1
,
1
,
-
1
,
-
1
,
-
3
,
1
,
1
,
-
3
,
1
,
3
,
-
3
,
1
,
1
,
-
3
,
-
3
,
-
1
,
-
1
,
-
3
,
-
1
,
1
,
3
,
1
,
1
,
-
3
,
-
1
,
-
1
,
-
3
,
3
,
-
3
,
3
,
1
,
-
3
,
3
,
-
3
,
1
,
-
1
,
1
,
-
3
,
1
,
1
,
1
,
-
1
,
-
3
,
3
,
3
,
1
,
1
,
3
,
-
1
,
-
3
,
-
1
,
-
1
,
-
1
,
3
,
1
,
-
3
,
-
3
,
-
1
,
3
,
-
3
,
-
1
,
-
3
,
-
1
,
-
3
,
-
1
,
-
1
,
-
3
,
-
1
,
-
1
,
1
,
-
3
,
-
1
,
-
1
,
1
,
-
1
,
-
3
,
1
,
1
,
-
3
,
1
,
-
3
,
-
3
,
3
,
1
,
1
,
-
1
,
3
,
-
1
,
-
1
,
1
,
1
,
-
1
,
-
1
,
-
3
,
-
1
,
3
,
-
1
,
3
,
-
1
,
1
,
3
,
1
,
-
1
,
3
,
1
,
3
,
-
3
,
-
3
,
1
,
-
1
,
-
1
,
1
,
3
-
1
,
3
,
1
,
-
3
,
3
,
-
1
,
1
,
3
,
-
3
,
3
,
1
,
3
,
-
3
,
3
,
1
,
1
,
-
1
,
1
,
3
,
-
3
,
3
,
-
3
,
-
1
,
-
3
,
-
3
,
3
,
-
3
,
-
3
,
-
3
,
1
,
-
3
,
-
3
,
3
,
-
1
,
1
,
1
,
1
,
3
,
1
,
-
1
,
3
,
-
3
,
-
3
,
1
,
3
,
1
,
1
,
-
3
,
3
,
-
1
,
3
,
3
,
1
,
1
,
-
3
,
3
,
3
,
3
,
3
,
1
,
-
1
,
3
,
-
1
,
1
,
1
,
-
1
,
-
3
,
-
1
,
-
1
,
1
,
3
,
3
,
-
1
,
-
3
,
1
,
1
,
3
,
-
3
,
1
,
1
,
-
3
,
-
1
,
-
1
,
1
,
3
,
1
,
3
,
1
,
-
1
,
3
,
1
,
1
,
-
3
,
-
1
,
-
3
,
-
1
,
-
1
,
-
1
,
-
1
,
-
3
,
-
3
,
-
1
,
1
,
1
,
3
,
3
,
-
1
,
3
,
-
1
,
1
,
-
1
,
-
3
,
1
,
-
1
,
-
3
,
-
3
,
1
,
-
3
,
-
1
,
-
1
,
-
3
,
1
,
1
,
3
,
-
1
,
1
,
3
,
1
,
-
3
,
1
,
-
3
,
1
,
1
,
-
1
,
-
1
,
3
,
-
1
,
-
3
,
3
,
-
3
,
-
3
,
-
3
,
1
,
1
,
1
,
1
,
-
1
,
-
1
,
3
,
-
3
,
-
3
,
3
,
-
3
,
1
,
-
1
,
-
1
,
1
,
-
1
,
1
,
1
,
-
1
,
-
3
,
-
1
,
1
,
-
1
,
3
,
-
1
,
-
3
,
-
3
,
3
,
3
,
-
1
,
-
1
,
-
3
,
-
1
,
3
,
1
,
3
,
1
,
3
,
1
,
1
,
-
1
,
3
,
1
,
-
1
,
1
,
3
,
-
3
,
-
1
,
-
1
,
1
,
-
3
,
1
,
3
,
-
3
,
1
,
-
1
,
-
3
,
3
,
-
3
,
3
,
-
1
,
-
1
,
-
1
,
-
1
,
1
,
-
3
,
-
3
,
-
3
,
1
,
-
3
,
-
3
,
-
3
,
1
,
-
3
,
1
,
1
,
-
3
,
3
,
3
,
-
1
,
-
3
,
-
1
,
3
,
-
3
,
3
,
3
,
3
,
-
1
,
1
,
1
,
-
3
,
1
,
-
1
,
1
,
1
,
-
3
,
1
,
1
,
-
1
,
1
,
-
3
,
-
3
,
3
,
-
1
,
3
,
-
1
,
-
1
,
-
3
,
-
3
,
-
3
,
-
1
,
-
3
,
-
3
,
1
,
-
1
,
1
,
3
,
3
,
-
1
,
1
,
-
1
,
3
,
1
,
3
,
3
,
-
3
,
-
3
,
1
,
3
,
1
,
-
1
,
-
3
,
-
3
,
-
3
,
3
,
3
,
-
3
,
3
,
3
,
-
1
,
-
3
,
3
,
-
1
,
1
,
-
3
,
1
,
1
,
3
,
3
,
1
,
1
,
1
,
-
1
,
-
1
,
1
,
-
3
,
3
,
-
1
,
1
,
1
,
-
3
,
3
,
3
,
-
1
,
-
3
,
3
,
-
3
,
-
1
,
-
3
,
-
1
,
3
,
-
1
,
-
1
,
-
1
,
-
1
,
-
3
,
-
1
,
3
,
3
,
1
,
-
1
,
1
,
3
,
3
,
3
,
-
1
,
1
,
1
,
-
3
,
1
,
3
,
-
1
,
-
3
,
3
,
-
3
,
-
3
,
3
,
1
,
3
,
1
,
-
3
,
3
,
1
,
3
,
1
,
1
,
3
,
3
,
-
1
,
-
1
,
-
3
,
1
,
-
3
,
-
1
,
3
,
1
,
1
,
3
,
-
1
,
-
1
,
1
,
-
3
,
1
,
3
,
-
3
,
1
,
-
1
,
-
3
,
-
1
,
3
,
1
,
3
,
1
,
-
1
,
-
3
,
-
3
,
-
1
,
-
1
,
-
3
,
-
3
,
-
3
,
-
1
,
-
1
,
-
3
,
3
,
-
1
,
-
1
,
-
1
,
-
1
,
1
,
1
,
-
3
,
3
,
1
,
3
,
3
,
1
,
-
1
,
1
,
-
3
,
1
,
-
3
,
1
,
1
,
-
3
,
-
1
,
1
,
3
,
-
1
,
3
,
3
,
-
1
,
-
3
,
1
,
-
1
,
-
3
,
3
,
3
,
3
,
-
1
,
1
,
1
,
3
,
-
1
,
-
3
,
-
1
,
3
,
-
1
,
-
1
,
-
1
,
1
,
1
,
1
,
1
,
1
,
-
1
,
3
,
-
1
,
-
3
,
1
,
1
,
3
,
-
3
,
1
,
-
3
,
-
1
,
1
,
1
,
-
3
,
-
3
,
3
,
1
,
1
,
-
3
,
1
,
3
,
3
,
1
,
-
1
,
-
3
,
3
,
-
1
,
3
,
3
,
3
,
-
3
,
1
,
-
1
,
1
,
-
1
,
-
3
,
-
1
,
1
,
3
,
-
1
,
3
,
-
3
,
-
3
,
-
1
,
-
3
,
3
,
-
3
,
-
3
,
-
3
,
-
1
,
-
1
,
-
3
,
-
1
,
-
3
,
3
,
1
,
3
,
-
3
,
-
1
,
3
,
-
1
,
1
,
-
1
,
3
,
-
3
,
1
,
-
1
,
-
3
,
-
3
,
1
,
1
,
-
1
,
1
,
-
1
,
1
,
-
1
,
3
,
1
,
-
3
,
-
1
,
1
,
-
1
,
1
,
-
1
,
-
1
,
3
,
3
,
-
3
,
-
1
,
1
,
-
3
,
-
3
,
-
1
,
-
3
,
3
,
1
,
-
1
,
-
3
,
-
1
,
-
3
,
-
3
,
3
,
-
3
,
3
,
-
3
,
-
1
,
1
,
3
,
1
,
-
3
,
1
,
3
,
3
,
-
1
,
-
3
,
-
1
,
-
1
,
-
1
,
-
1
,
3
,
3
,
3
,
1
,
3
,
3
,
-
3
,
1
,
3
,
-
1
,
3
,
-
1
,
3
,
3
,
-
3
,
3
,
1
,
-
1
,
3
,
3
,
1
,
-
1
,
3
,
3
,
-
1
,
-
3
,
3
,
-
3
,
-
1
,
-
1
,
3
,
-
1
,
3
,
-
1
,
-
1
,
1
,
1
,
1
,
1
,
-
1
,
-
1
,
-
3
,
-
1
,
3
,
1
,
-
1
,
1
,
-
1
,
3
,
-
1
,
3
,
1
,
1
,
-
1
,
-
1
,
-
3
,
1
,
1
,
-
3
,
1
,
3
,
-
3
,
1
,
1
,
-
3
,
-
3
,
-
1
,
-
1
,
-
3
,
-
1
,
1
,
3
,
1
,
1
,
-
3
,
-
1
,
-
1
,
-
3
,
3
,
-
3
,
3
,
1
,
-
3
,
3
,
-
3
,
1
,
-
1
,
1
,
-
3
,
1
,
1
,
1
,
-
1
,
-
3
,
3
,
3
,
1
,
1
,
3
,
-
1
,
-
3
,
-
1
,
-
1
,
-
1
,
3
,
1
,
-
3
,
-
3
,
-
1
,
3
,
-
3
,
-
1
,
-
3
,
-
1
,
-
3
,
-
1
,
-
1
,
-
3
,
-
1
,
-
1
,
1
,
-
3
,
-
1
,
-
1
,
1
,
-
1
,
-
3
,
1
,
1
,
-
3
,
1
,
-
3
,
-
3
,
3
,
1
,
1
,
-
1
,
3
,
-
1
,
-
1
,
1
,
1
,
-
1
,
-
1
,
-
3
,
-
1
,
3
,
-
1
,
3
,
-
1
,
1
,
3
,
1
,
-
1
,
3
,
1
,
3
,
-
3
,
-
3
,
1
,
-
1
,
-
1
,
1
,
3
};
};
void
generate_ul_ref_sigs
(
void
)
void
generate_ul_ref_sigs
(
void
)
...
@@ -127,7 +129,7 @@ void generate_ul_ref_sigs_rx(void)
...
@@ -127,7 +129,7 @@ void generate_ul_ref_sigs_rx(void)
for
(
u
=
0
;
u
<
30
;
u
++
)
{
for
(
u
=
0
;
u
<
30
;
u
++
)
{
for
(
v
=
0
;
v
<
2
;
v
++
)
{
for
(
v
=
0
;
v
<
2
;
v
++
)
{
qbar
=
ref_primes
[
Msc_RS
]
*
(
u
+
1
)
/
(
double
)
31
;
qbar
=
ref_primes
[
Msc_RS
]
*
(
u
+
1
)
/
(
double
)
31
;
ul_ref_sigs_rx
[
u
][
v
][
Msc_RS
]
=
(
int16_t
*
)
malloc16
(
4
*
sizeof
(
int16_t
)
*
dftsizes
[
Msc_RS
]);
ul_ref_sigs_rx
[
u
][
v
][
Msc_RS
]
=
(
int16_t
*
)
malloc16
(
2
*
sizeof
(
int16_t
)
*
dftsizes
[
Msc_RS
]);
if
((((
int
)
floor
(
2
*
qbar
))
&
1
)
==
0
)
if
((((
int
)
floor
(
2
*
qbar
))
&
1
)
==
0
)
q
=
(
int
)(
floor
(
qbar
+
.
5
))
-
v
;
q
=
(
int
)(
floor
(
qbar
+
.
5
))
-
v
;
...
@@ -163,7 +165,7 @@ void generate_ul_ref_sigs_rx(void)
...
@@ -163,7 +165,7 @@ void generate_ul_ref_sigs_rx(void)
// These are the sequences for RB 1
// These are the sequences for RB 1
for
(
u
=
0
;
u
<
30
;
u
++
)
{
for
(
u
=
0
;
u
<
30
;
u
++
)
{
ul_ref_sigs_rx
[
u
][
0
][
0
]
=
(
int16_t
*
)
malloc16
(
4
*
sizeof
(
int16_t
)
*
dftsizes
[
0
]);
ul_ref_sigs_rx
[
u
][
0
][
0
]
=
(
int16_t
*
)
malloc16
(
2
*
sizeof
(
int16_t
)
*
dftsizes
[
0
]);
for
(
n
=
0
;
n
<
dftsizes
[
0
];
n
++
)
{
for
(
n
=
0
;
n
<
dftsizes
[
0
];
n
++
)
{
ul_ref_sigs_rx
[
u
][
0
][
0
][
n
<<
1
]
=
(
int16_t
)(
floor
(
32767
*
cos
(
M_PI
*
ref12
[(
u
*
12
)
+
n
]
/
4
)));
ul_ref_sigs_rx
[
u
][
0
][
0
][
n
<<
1
]
=
(
int16_t
)(
floor
(
32767
*
cos
(
M_PI
*
ref12
[(
u
*
12
)
+
n
]
/
4
)));
...
@@ -173,13 +175,11 @@ void generate_ul_ref_sigs_rx(void)
...
@@ -173,13 +175,11 @@ void generate_ul_ref_sigs_rx(void)
// These are the sequences for RB 2
// These are the sequences for RB 2
for
(
u
=
0
;
u
<
30
;
u
++
)
{
for
(
u
=
0
;
u
<
30
;
u
++
)
{
ul_ref_sigs_rx
[
u
][
0
][
1
]
=
(
int16_t
*
)
malloc16
(
4
*
sizeof
(
int16_t
)
*
dftsizes
[
1
]);
ul_ref_sigs_rx
[
u
][
0
][
1
]
=
(
int16_t
*
)
malloc16
(
2
*
sizeof
(
int16_t
)
*
dftsizes
[
1
]);
for
(
n
=
0
;
n
<
dftsizes
[
1
];
n
++
)
{
for
(
n
=
0
;
n
<
dftsizes
[
1
];
n
++
)
{
ul_ref_sigs_rx
[
u
][
0
][
1
][
n
<<
1
]
=
(
int16_t
)(
floor
(
32767
*
cos
(
M_PI
*
ref24
[(
u
*
24
)
+
n
]
/
4
)));
ul_ref_sigs_rx
[
u
][
0
][
1
][
n
<<
1
]
=
(
int16_t
)(
floor
(
32767
*
cos
(
M_PI
*
ref24
[(
u
*
24
)
+
n
]
/
4
)));
ul_ref_sigs_rx
[
u
][
0
][
1
][
1
+
(
n
<<
1
)]
=
(
int16_t
)(
floor
(
32767
*
sin
(
M_PI
*
ref24
[(
u
*
24
)
+
n
]
/
4
)));
ul_ref_sigs_rx
[
u
][
0
][
1
][
1
+
(
n
<<
1
)]
=
(
int16_t
)(
floor
(
32767
*
sin
(
M_PI
*
ref24
[(
u
*
24
)
+
n
]
/
4
)));
ul_ref_sigs_rx
[
u
][
0
][
1
][
2
+
(
n
<<
2
)]
=-
(
int16_t
)(
floor
(
32767
*
sin
(
M_PI
*
ref24
[(
u
*
24
)
+
n
]
/
4
)));
ul_ref_sigs_rx
[
u
][
0
][
1
][
3
+
(
n
<<
2
)]
=
(
int16_t
)(
floor
(
32767
*
cos
(
M_PI
*
ref24
[(
u
*
24
)
+
n
]
/
4
)));
}
}
}
}
...
...
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
View file @
8fb60cd5
...
@@ -320,7 +320,6 @@ int rrc_mac_remove_ue(module_id_t mod_idP,rnti_t rntiP)
...
@@ -320,7 +320,6 @@ int rrc_mac_remove_ue(module_id_t mod_idP,rnti_t rntiP)
for
(
i
=
UE_list
->
head
;
i
>=
0
;
i
=
UE_list
->
next
[
i
])
{
for
(
i
=
UE_list
->
head
;
i
>=
0
;
i
=
UE_list
->
next
[
i
])
{
if
(
i
==
UE_id
)
{
if
(
i
==
UE_id
)
{
// link prev to next in Active list
// link prev to next in Active list
//if (prev==UE_list->head)
if
(
i
==
UE_list
->
head
)
{
if
(
i
==
UE_list
->
head
)
{
UE_list
->
head
=
UE_list
->
next
[
i
];
UE_list
->
head
=
UE_list
->
next
[
i
];
}
else
{
}
else
{
...
@@ -345,7 +344,7 @@ int rrc_mac_remove_ue(module_id_t mod_idP,rnti_t rntiP)
...
@@ -345,7 +344,7 @@ int rrc_mac_remove_ue(module_id_t mod_idP,rnti_t rntiP)
for
(
i
=
UE_list
->
head_ul
;
i
>=
0
;
i
=
UE_list
->
next_ul
[
i
])
{
for
(
i
=
UE_list
->
head_ul
;
i
>=
0
;
i
=
UE_list
->
next_ul
[
i
])
{
if
(
i
==
UE_id
)
{
if
(
i
==
UE_id
)
{
// link prev to next in Active list
// link prev to next in Active list
if
(
prev
==
UE_list
->
head_ul
)
{
if
(
i
==
UE_list
->
head_ul
)
{
UE_list
->
head_ul
=
UE_list
->
next_ul
[
i
];
UE_list
->
head_ul
=
UE_list
->
next_ul
[
i
];
}
else
{
}
else
{
UE_list
->
next_ul
[
prev
]
=
UE_list
->
next_ul
[
i
];
UE_list
->
next_ul
[
prev
]
=
UE_list
->
next_ul
[
i
];
...
...
openair2/RRC/LITE/L2_interface.c
View file @
8fb60cd5
...
@@ -745,24 +745,21 @@ void mac_eNB_rrc_ul_in_sync(const module_id_t Mod_instP,
...
@@ -745,24 +745,21 @@ void mac_eNB_rrc_ul_in_sync(const module_id_t Mod_instP,
const
int
CC_idP
,
const
int
CC_idP
,
const
frame_t
frameP
,
const
frame_t
frameP
,
const
sub_frame_t
subframeP
,
const
sub_frame_t
subframeP
,
const
rnti_t
rntiP
)
{
const
rnti_t
rntiP
)
{
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
ue_context_p
=
rrc_eNB_get_ue_context
(
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
Mod_instP
],
&
eNB_rrc_inst
[
Mod_instP
],
rntiP
);
rntiP
);
if
(
ue_context_p
!=
NULL
)
{
if
(
ue_context_p
!=
NULL
)
{
LOG_I
(
RRC
,
"Frame %d, Subframe %d: UE %x to UL in synch
\n
"
,
rntiP
);
LOG_I
(
RRC
,
"Frame %d, Subframe %d: UE %x to UL in synch
\n
"
,
ue_context_p
->
ue_context
.
ul_failure_timer
=
0
;
frameP
,
subframeP
,
rntiP
);
}
ue_context_p
->
ue_context
.
ul_failure_timer
=
0
;
else
{
}
else
{
LOG_E
(
RRC
,
"Frame %d, Subframe %d: UE %x unknown
\n
"
,
rntiP
);
LOG_E
(
RRC
,
"Frame %d, Subframe %d: UE %x unknown
\n
"
,
frameP
,
subframeP
,
rntiP
);
}
}
return
;
}
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
int
int
...
...
openair2/UTIL/LOG/vcd_signal_dumper.h
View file @
8fb60cd5
...
@@ -377,6 +377,8 @@ extern int ouput_vcd;
...
@@ -377,6 +377,8 @@ extern int ouput_vcd;
#if T_TRACER
#if T_TRACER
#include "T.h"
#define VCD_SIGNAL_DUMPER_INIT(x)
/* nothing */
#define VCD_SIGNAL_DUMPER_INIT(x)
/* nothing */
#define VCD_SIGNAL_DUMPER_CLOSE()
/* nothing */
#define VCD_SIGNAL_DUMPER_CLOSE()
/* nothing */
#define VCD_SIGNAL_DUMPER_CREATE_HEADER()
/* nothing */
#define VCD_SIGNAL_DUMPER_CREATE_HEADER()
/* nothing */
...
...
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