remove constructor key word
This commit is contained in:
@@ -1,23 +1,23 @@
|
|||||||
/*
|
/*
|
||||||
* 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 @@
|
|||||||
#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)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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,9 +50,7 @@ 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) {
|
||||||
@@ -64,43 +59,31 @@ void generate_qpsk_table(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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() */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @}*/
|
@}*/
|
||||||
|
|||||||
@@ -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) {
|
|||||||
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))];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user