18 #include "../../variables/common_variables/common_variables.h" 37 x_seq[i] = (x_seq[i - 3] + x_seq[i - 7]) % 2;
41 int m = (n + 43 * n_id_2) % free5GRAN::SIZE_PSS_SSS_SIGNAL;
42 output_sequence[n] = 1 - 2 * x_seq[m];
65 x0_seq[i] = (x0_seq[i - 3] + x0_seq[i - 7]) % 2;
66 x1_seq[i] = (x1_seq[i - 6] + x1_seq[i - 7]) % 2;
69 m0 = 15 * (n_id_1 / 112) + 5 * n_id_2;
72 output_sequence[n] = (1 - 2 * x0_seq[(n + m0) % free5GRAN::SIZE_PSS_SSS_SIGNAL]) * (1 - 2 * x1_seq[(n + m1) % free5GRAN::SIZE_PSS_SSS_SIGNAL]);
86 int c_init = pow(2,11) * (i_bar_ssb + 1) * (pci / 4 + 1) + pow(2,6) * (i_bar_ssb + 1) + (pci % 4);
90 output_sequence[m] = (float) (1 / sqrt(2)) * complex<float>(1 - 2 * seq[2 * m], 1 - 2 * seq[2 * m + 1]);
106 int x1[1600 + length], x2[1600 + length], base_x2[32];
108 for (
int j = 0; j < 31; j ++){
109 base_x2[j] = ((int) c_init / (
int) pow(2,j)) % 2;
111 for (
int n = 0; n < 1600 + length; n ++){
116 x1[n] = (x1[n - 28] + x1[n - 31]) % 2;
117 x2[n] = (x2[n - 28] + x2[n - 29] + x2[n - 30] + x2[n - 31]) % 2;
120 for (
int j = 0; j < length; j ++){
121 output_sequence[j] = (x1[j + 1600] + x2[j + 1600]) % 2;
122 if (demod_type == 1){
123 output_sequence[j] = (output_sequence[j]==0) ? 1 : -1;
141 long c_init = (long)(pow(2, 17) * (14 * slot_number + symbol_number + 1) * (2 * nid + 1) + 2 * nid) % (
long)pow(2,31);
144 for (
int m = 0; m < size; m++){
145 output_sequence[m] = (float) (1 / sqrt(2)) * complex<float>(1 - 2 * seq[2 * m], 1 - 2 * seq[2 * m + 1]);
162 long c_init = (long)(pow(2, 17) * (14 * slot_number + symbol_number + 1) * (2 * nid + 1) + 2 * nid) % (
long)pow(2,31);
165 for (
int m = 0; m < size; m++){
166 output_sequence[m] = (float) (1 / sqrt(2)) * complex<float>(1 - 2 * seq[2 * m], 1 - 2 * seq[2 * m + 1]);
184 long c_init = (long)(pow(2, 17) * (n_symb_slot * slot_number + symbol_number + 1) * (2 * n_id_scid + 1) + 2 * n_id_scid + n_scid) % (
long)pow(2,31);
187 for (
int m = 0; m < size; m++){
188 output_sequence[m] = (float) (1 / sqrt(2)) * complex<float>(1 - 2 * seq[2 * m], 1 - 2 * seq[2 * m + 1]);
int SSS_BASE_X1_SEQUENCE[7]
int SIZE_SSB_DMRS_SYMBOLS
int DMRS_BASE_X1_SEQUENCE[32]
void generate_sss_sequence(int n_id_1, int n_id_2, int *output_sequence)
void generate_pbch_dmrs_sequence(int pci, int i_bar_ssb, complex< float > *output_sequence)
void generate_pdsch_dmrs_sequence(int n_symb_slot, int slot_number, int symbol_number, int n_scid, int n_id_scid, complex< float > *output_sequence, int size)
int SSS_BASE_X0_SEQUENCE[7]
void generate_pdcch_dmrs_sequence(int nid, int slot_number, int symbol_number, complex< float > *output_sequence, int size)
void generate_pss_sequence(int n_id_2, int *output_sequence)
void generate_c_sequence(long c_init, int length, int *output_sequence, int demod_type)