#include #include #include #include #include #include #include #include #include using namespace std; extern "C" { void gen_sig(int RB, int len, double ratio, int16_t *table_n, int16_t *table_e ) { double samplerate = 30.72e6*ratio; double ofdm_size = 2048*ratio; double PI = std::acos(-1); std::complex tt; complex t[len]; int index=0; double cp0 = 160*ratio; double cp = 144*ratio; for (int i=-cp0; i tables_7_5KHz= {{6,1.0/16},{15,1.0/8},{25,1.0/4},{50,1.0/2},{75,3.0/4},{100,1.0}}; int tables_idx=0; for (auto it=tables_7_5KHz.begin(); it!=tables_7_5KHz.end(); ++it) { int len=15360*it->second; tables_size_bytes[tables_idx]=sizeof(int16_t)*2*len; tables_size_bytes[tables_idx+1]=sizeof(int16_t)*2*len; MyAssert(0==posix_memalign((void **)tables[tables_idx], 16,tables_size_bytes[tables_idx])); MyAssert(0==posix_memalign((void **)tables[tables_idx+1], 16,tables_size_bytes[tables_idx+1])); gen_sig(it->first, len, it->second, *tables[tables_idx], *tables[tables_idx+1]); tables_idx+=2; } } }