19 #include "../../variables/common_structures/common_structures.h" 20 #include "../../asn1c/nr_rrc/BCCH-DL-SCH-Message.h" 25 namespace transport_channel {
29 void rate_recover(
int * input_bits,
int * output_bits,
int i_bil,
int E,
int N,
int K);
31 void polar_decode(
int * input_bits,
int * output_bits,
int N,
int K,
int nmax,
int i_il,
int n_pc,
int n_wm_pc,
int E);
33 void crc_validate(
int * input_bits,
int * crc_polynom,
int * remainder,
int length_input,
int length_crc);
35 void compute_crc(
int * input_bits,
int * crc_polynom,
int * remainder,
int length_input,
int length_crc);
45 void rate_recover_ldpc(
int *input_bits,
int N,
int i_lbrm,
int E,
int id_rv,
int mod_order,
int C,
int Zc,
int graph,
int K,
int K_p,
int *output_sequence);
47 void rate_recover_ldpc(
double *input_bits,
int N,
int i_lbrm,
int E,
int id_rv,
int mod_order,
int C,
int Zc,
int graph,
int K,
int K_p,
double *output_sequence);
53 void compute_H_matrix_ldpc(
int Zc,
int graph,
int i_ls, vector<vector<int>> &matrix,
int &size_i,
int &size_j);
55 void ldpc_decode(
double *input_bits,
int N,
int Zc,
int graph,
int K,
int i_ls,
int*output_sequence);
57 void decode_bch(
int *bch_bits,
bool &crc_validated,
int*mib_bits,
int pci);
59 void decode_dci(
int *dci_bits,
int E,
int K,
int *rnti,
bool &validated,
int * decoded_dci_bits);
void compute_H_matrix_ldpc(int Zc, int graph, int i_ls, vector< vector< int >> &matrix, int &size_i, int &size_j)
int compute_N_polar_code(int E, int K, int nmax)
void compute_circular_permutation_matrix(int size, int offset, int **matrix)
void rate_recover_ldpc(double *input_bits, int N, int i_lbrm, int E, int id_rv, int mod_order, int C, int Zc, int graph, int K, int K_p, double *output_sequence)
void ldpc_decode(double *input_bits, int N, int Zc, int graph, int K, int i_ls, int *output_sequence)
void compute_ldpc_base_graph(int A, float R, int &graph)
void compute_code_block_segmentation_info_ldpc(int graph, int B, int &Zc, int &K, int &i_ls, int &L, int &C, int &N, int &K_p)
vector< int > decode_dl_sch(double *dl_sch_bits, int n_re, float R, int nrb, int E, bool &validated, free5GRAN::dci_1_0_si_rnti dci_1_0_si_rnti)
void rate_recover(int *input_bits, int *output_bits, int i_bil, int E, int N, int K)
void polar_decode(int *input_bits, int *output_bits, int N, int K, int nmax, int i_il, int n_pc, int n_wm_pc, int E)
void crc_validate(int *input_bits, int *crc_polynom, int *remainder, int length_input, int length_crc)
void compute_transport_block_size(int n_re, float R, int mod_order, int num_layers, int nrb, int &tbs)
void decode_dci(int *dci_bits, int E, int K, int *rnti, bool &validated, int *decoded_dci_bits)
void compute_Zc_dl_sch(int kb, float k_p, int &Zc, int &i_ls)
void ldpc_decode_one_bit(vector< vector< int >> R, double *soft_bits, int i, double &new_bit)
void compute_crc(int *input_bits, int *crc_polynom, int *remainder, int length_input, int length_crc)
void decode_bch(int *bch_bits, bool &crc_validated, int *mib_bits, int pci)