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
wangjie
OpenXG-RAN
Commits
5d658c5e
Commit
5d658c5e
authored
Aug 31, 2018
by
laurent
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
remove constructor key word
parent
20300131
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
40 additions
and
57 deletions
+40
-57
openair1/PHY/INIT/init_top.c
openair1/PHY/INIT/init_top.c
+28
-45
openair1/PHY/LTE_TRANSPORT/sss_gen.c
openair1/PHY/LTE_TRANSPORT/sss_gen.c
+12
-12
No files found.
openair1/PHY/INIT/init_top.c
View file @
5d658c5e
/*
/*
*
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
*
contributor license agreements. See the NOTICE file distributed with
contributor license agreements. See the NOTICE file distributed with
*
this work for additional information regarding copyright ownership.
this work for additional information regarding copyright ownership.
*
The OpenAirInterface Software Alliance licenses this file to You under
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
the OAI Public License, Version 1.1 (the "License"); you may not use this file
*
except in compliance with the License.
except in compliance with the License.
*
You may obtain a copy of the License at
You may obtain a copy of the License at
*
*
http://www.openairinterface.org/?page_id=698
http://www.openairinterface.org/?page_id=698
*
*
Unless required by applicable law or agreed to in writing, software
Unless required by applicable law or agreed to in writing, software
*
distributed under the License is distributed on an "AS IS" BASIS,
distributed under the License is distributed on an "AS IS" BASIS,
*
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*
See the License for the specific language governing permissions and
See the License for the specific language governing permissions and
*
limitations under the License.
limitations under the License.
*
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
*
For more information about the OpenAirInterface (OAI) Software Alliance:
For more information about the OpenAirInterface (OAI) Software Alliance:
*
contact@openairinterface.org
contact@openairinterface.org
*/
*/
/*!\brief Initilization and reconfiguration routines for LTE PHY */
/*!\brief Initilization and reconfiguration routines for LTE PHY */
#include "phy_init.h"
#include "phy_init.h"
...
@@ -27,12 +27,11 @@
...
@@ -27,12 +27,11 @@
#include "PHY/LTE_REFSIG/lte_refsig.h"
#include "PHY/LTE_REFSIG/lte_refsig.h"
#include "PHY/LTE_TRANSPORT/transport_common_proto.h"
#include "PHY/LTE_TRANSPORT/transport_common_proto.h"
void
generate_64qam_table
(
void
)
void
init_sss
(
void
);
{
void
generate_64qam_table
(
void
)
{
int
a
,
b
,
c
,
index
;
int
a
,
b
,
c
,
index
;
for
(
a
=-
1
;
a
<=
1
;
a
+=
2
)
for
(
a
=-
1
;
a
<=
1
;
a
+=
2
)
for
(
b
=-
1
;
b
<=
1
;
b
+=
2
)
for
(
b
=-
1
;
b
<=
1
;
b
+=
2
)
for
(
c
=-
1
;
c
<=
1
;
c
+=
2
)
{
for
(
c
=-
1
;
c
<=
1
;
c
+=
2
)
{
...
@@ -41,9 +40,7 @@ void generate_64qam_table(void)
...
@@ -41,9 +40,7 @@ void generate_64qam_table(void)
}
}
}
}
void
generate_16qam_table
(
void
)
void
generate_16qam_table
(
void
)
{
{
int
a
,
b
,
index
;
int
a
,
b
,
index
;
for
(
a
=-
1
;
a
<=
1
;
a
+=
2
)
for
(
a
=-
1
;
a
<=
1
;
a
+=
2
)
...
@@ -53,54 +50,40 @@ void generate_16qam_table(void)
...
@@ -53,54 +50,40 @@ void generate_16qam_table(void)
}
}
}
}
void
generate_qpsk_table
(
void
)
void
generate_qpsk_table
(
void
)
{
{
int
a
,
index
;
int
a
,
index
;
for
(
a
=-
1
;
a
<=
1
;
a
+=
2
)
{
for
(
a
=-
1
;
a
<=
1
;
a
+=
2
)
{
index
=
(
1
+
a
)
/
2
;
index
=
(
1
+
a
)
/
2
;
qpsk_table
[
index
]
=
-
a
*
QPSK
;
qpsk_table
[
index
]
=
-
a
*
QPSK
;
}
}
}
}
void
init_lte_top
(
LTE_DL_FRAME_PARMS
*
frame_parms
)
void
init_lte_top
(
LTE_DL_FRAME_PARMS
*
frame_parms
)
{
{
ccodelte_init
();
ccodelte_init
();
ccodelte_init_inv
();
ccodelte_init_inv
();
init_dfts
();
init_dfts
();
phy_generate_viterbi_tables_lte
();
phy_generate_viterbi_tables_lte
();
load_codinglib
();
load_codinglib
();
lte_sync_time_init
(
frame_parms
);
lte_sync_time_init
(
frame_parms
);
generate_ul_ref_sigs
();
generate_ul_ref_sigs
();
generate_ul_ref_sigs_rx
();
generate_ul_ref_sigs_rx
();
generate_64qam_table
();
generate_64qam_table
();
generate_16qam_table
();
generate_16qam_table
();
generate_qpsk_table
();
generate_qpsk_table
();
generate_RIV_tables
();
generate_RIV_tables
();
init_unscrambling_lut
();
init_unscrambling_lut
();
init_scrambling_lut
();
init_scrambling_lut
();
//set_taus_seed(1328);
//set_taus_seed(1328);
init_sss
();
}
}
void
free_lte_top
(
void
)
void
free_lte_top
(
void
)
{
{
free_codinglib
();
free_codinglib
();
lte_sync_time_free
();
lte_sync_time_free
();
/* free_ul_ref_sigs() is called in phy_free_lte_eNB() */
/* free_ul_ref_sigs() is called in phy_free_lte_eNB() */
}
}
/*
/*
*
@}*/
@}*/
openair1/PHY/LTE_TRANSPORT/sss_gen.c
View file @
5d658c5e
...
@@ -9,19 +9,19 @@ int16_t *d0_sss;
...
@@ -9,19 +9,19 @@ int16_t *d0_sss;
int16_t
*
d5_sss
;
int16_t
*
d5_sss
;
#define MyAssert(x) { if(!(x)) { printf("Error in table intialization: %s:%d\n",__FILE__,__LINE__); exit(1);}}
#define MyAssert(x) { if(!(x)) { printf("Error in table intialization: %s:%d\n",__FILE__,__LINE__); exit(1);}}
#define gen(table, formula) {
\
#define gen(table, formula) {
\
int x[31]= {0};
\
int x[31]= {0};
\
x[4]=1;
\
x[4]=1;
\
for(int i=0; i<26; i++)
\
for(int i=0; i<26; i++)
\
x[i+5]=formula;
\
x[i+5]=formula;
\
for (int i=0; i<31; i++)
\
for (int i=0; i<31; i++)
\
table[i]=1-2*x[i];
\
table[i]=1-2*x[i];
\
}
}
#define mod31(a) (a)%31
#define mod31(a) (a)%31
#define mod2(a) (a)%2
#define mod2(a) (a)%2
#define mod8(a) (a)%8
#define mod8(a) (a)%8
__attribute__
((
constructor
))
static
void
init_sss
(
void
)
{
void
init_sss
(
void
)
{
MyAssert
(
0
==
posix_memalign
((
void
**
)
&
d0_sss
,
16
,
504
*
31
*
2
*
sizeof
(
*
d0_sss
)));
MyAssert
(
0
==
posix_memalign
((
void
**
)
&
d0_sss
,
16
,
504
*
31
*
2
*
sizeof
(
*
d0_sss
)));
MyAssert
(
0
==
posix_memalign
((
void
**
)
&
d5_sss
,
16
,
504
*
31
*
2
*
sizeof
(
*
d5_sss
)));
MyAssert
(
0
==
posix_memalign
((
void
**
)
&
d5_sss
,
16
,
504
*
31
*
2
*
sizeof
(
*
d5_sss
)));
int
s
[
31
];
int
s
[
31
];
...
@@ -39,11 +39,12 @@ __attribute__((constructor)) static void init_sss(void) {
...
@@ -39,11 +39,12 @@ __attribute__((constructor)) static void init_sss(void) {
int
m0
=
mprime
%
31
;
int
m0
=
mprime
%
31
;
int
m1
=
(
m0
+
mprime
/
31
+
1
)
%
31
;
int
m1
=
(
m0
+
mprime
/
31
+
1
)
%
31
;
int
rowIndex
=
(
Nid2
+
3
*
Nid1
)
*
31
*
2
;
int
rowIndex
=
(
Nid2
+
3
*
Nid1
)
*
31
*
2
;
for
(
int
i
=
0
;
i
<
31
;
i
++
)
{
for
(
int
i
=
0
;
i
<
31
;
i
++
)
{
d0_sss
[
rowIndex
+
i
*
2
]
=
s
[
mod31
(
i
+
m0
)]
*
c
[
mod31
(
i
+
Nid2
)];
d0_sss
[
rowIndex
+
i
*
2
]
=
s
[
mod31
(
i
+
m0
)]
*
c
[
mod31
(
i
+
Nid2
)];
d5_sss
[
rowIndex
+
i
*
2
]
=
s
[
mod31
(
i
+
m1
)]
*
c
[
mod31
(
i
+
Nid2
)];
d5_sss
[
rowIndex
+
i
*
2
]
=
s
[
mod31
(
i
+
m1
)]
*
c
[
mod31
(
i
+
Nid2
)];
d0_sss
[
rowIndex
+
i
*
2
+
1
]
=
s
[
mod31
(
i
+
m1
)]
*
c
[
mod31
(
i
+
Nid2
+
3
)]
*
z
[
mod31
(
i
+
mod8
(
m0
))];
d0_sss
[
rowIndex
+
i
*
2
+
1
]
=
s
[
mod31
(
i
+
m1
)]
*
c
[
mod31
(
i
+
Nid2
+
3
)]
*
z
[
mod31
(
i
+
mod8
(
m0
))];
d5_sss
[
rowIndex
+
i
*
2
+
1
]
=
s
[
mod31
(
i
+
m0
)]
*
c
[
mod31
(
i
+
Nid2
+
3
)]
*
z
[
mod31
(
i
+
mod8
(
m1
))];
d5_sss
[
rowIndex
+
i
*
2
+
1
]
=
s
[
mod31
(
i
+
m0
)]
*
c
[
mod31
(
i
+
Nid2
+
3
)]
*
z
[
mod31
(
i
+
mod8
(
m1
))];
}
}
}
}
}
}
...
@@ -52,7 +53,7 @@ __attribute__((constructor)) static void init_sss(void) {
...
@@ -52,7 +53,7 @@ __attribute__((constructor)) static void init_sss(void) {
#ifdef SSS_TABLES_TEST
#ifdef SSS_TABLES_TEST
void
main
()
{
void
main
()
{
printf
(
"int16_t d0_sss[504*62] = {"
);
printf
(
"int16_t d0_sss[504*62] = {"
);
for
(
int
i
=
0
;
i
<
504
*
62
;
i
++
)
for
(
int
i
=
0
;
i
<
504
*
62
;
i
++
)
printf
(
"%d,
\n
"
,
d0_sss
[
i
]);
printf
(
"%d,
\n
"
,
d0_sss
[
i
]);
...
@@ -63,6 +64,5 @@ void main () {
...
@@ -63,6 +64,5 @@ void main () {
printf
(
"%d,
\n
"
,
d5_sss
[
i
]);
printf
(
"%d,
\n
"
,
d5_sss
[
i
]);
printf
(
"};
\n\n
"
);
printf
(
"};
\n\n
"
);
}
}
#endif
#endif
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