Skip to content

Struct ccsds_tm_rand_t

ClassList > ccsds_tm_rand_t

A pseudo-randomiser: a maximal-length generator and its preset. More...

  • #include <ccsds_tm.h>

Public Attributes

Type Name
size_t period
uint32_t seed
unsigned stages
uint32_t taps

Detailed Description

131.0-B-6 section 10.4 specifies two, and which one a mission uses is a choice rather than a property of the coding — so it is a configuration, exactly as the inner code and the outer code are. One implementation serves both; only the table changes.

taps is a mask over the register: bit i set means stage i feeds back. The mask is DERIVED from the characteristic polynomial rather than transcribed from its exponents, and the difference is not cosmetic — rand.c records that writing the exponents produced a generator which walked to the all-zero fixed point and passed every structural check except the published prefix.

Public Attributes Documentation

variable period

size_t ccsds_tm_rand_t::period;

2^stages - 1, since both are maximal


variable seed

uint32_t ccsds_tm_rand_t::seed;

preset, loaded at the start of every run


variable stages

unsigned ccsds_tm_rand_t::stages;

register width


variable taps

uint32_t ccsds_tm_rand_t::taps;

feedback mask over stages bits



The documentation for this class was generated from the following file native/inc/ccsds_tm/ccsds_tm.h