Overview
encode given data for POLAR code
Dispatcher Prototype
void volk_8u_x3_encodepolar_8u(unsigned char* frame, const unsigned char*
frozen_bit_mask, const unsigned char* frozen_bits, const unsigned char* info_bits,
unsigned int frame_size, unsigned int info_bit_size)
Inputs
- frame: buffer for encoded frame
- frozen_bit_mask: bytes with 0xFF for frozen bit positions or 0x00 otherwise.
- frozen_bits: values of frozen bits, 1 bit per byte
- info_bits: info bit values, 1 bit per byte
- frame_size: power of 2 value for frame size.
- info_bit_size: number of info bits in a frame
Outputs
- frame: polar encoded frame.
Example
int frame_exp = 10;
int frame_size = 0x01 << frame_exp;
int num_info_bits = frame_size;
int num_frozen_bits = frame_size - num_info_bits;
unsigned char* frozen_bit_mask = get_frozen_bit_mask(frame_size, num_frozen_bits);
unsigned char* frozen_bits = (
unsigned char)
volk_malloc(
sizeof(
unsigned char) *
unsigned char* frame = (
unsigned char)
volk_malloc(
sizeof(
unsigned char) * frame_size,
unsigned char* info_bits = get_info_bits_to_encode(num_info_bits);
info_bits, frame_size);
size_t volk_get_alignment(void)
Get the machine alignment in bytes.
Definition: volk.tmpl.c:90
static void volk_8u_x3_encodepolar_8u_x2_generic(unsigned char *frame, unsigned char *temp, const unsigned char *frozen_bit_mask, const unsigned char *frozen_bits, const unsigned char *info_bits, unsigned int frame_size)
Definition: volk_8u_x3_encodepolar_8u_x2.h:85
__VOLK_DECL_BEGIN VOLK_API void * volk_malloc(size_t size, size_t alignment)
Allocate size bytes of data aligned to alignment.
Definition: volk_malloc.c:38
VOLK_API void volk_free(void *aptr)
Free's memory allocated by volk_malloc.
Definition: volk_malloc.c:80