Files
arphy/arphy_interleaver.h
2022-10-24 19:13:54 +02:00

26 lines
859 B
C

/*
* File: interleaver.h
*/
#ifndef INTERLEAVER_H
#define INTERLEAVER_H
#define ARPHY_INTERLEAVER_TYPE_NONE 0
#define ARPHY_INTERLEAVER_TYPE_HELIX 1
#define ARPHY_INTERLEAVER_TYPE_MAX 1
typedef struct {
uint8_t type;
uint8_t net_bit_size; // dati contenuti in un blocco di interleaver al netto del FEC
uint8_t fec_blocks_size; // blocchi FEC contenuti in un blocco di interleaver
uint16_t symbols_size; // simboli contenuti in un blocco di interleaver
uint16_t size; // dimensione del blocco di interleaving
} interleaver_params;
extern interleaver_params interleaver;
void arphy_set_up_interleaver(interleaver_params* interleaver_parameters);
uint16_t arphy_index_interleave(uint16_t in, uint8_t x, uint16_t y);
uint16_t arphy_index_deinterleave(uint16_t in, uint8_t x, uint16_t y);
#endif /* INTERLEAVER_H */