SDRAngel  4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
Public Types | Public Member Functions | Private Attributes | List of all members
leansdr::convol_poly2< Thist, POLY1, POLY2 > Struct Template Reference

#include <convolutional.h>

Public Types

typedef u8 uncoded_byte
 
typedef u8 hardsymbol
 

Public Member Functions

 convol_poly2 ()
 
void run (const uncoded_byte *pin, const u8 remap[], hardsymbol *pout, int count)
 

Private Attributes

Thist hist
 

Detailed Description

template<typename Thist, uint64_t POLY1, uint64_t POLY2>
struct leansdr::convol_poly2< Thist, POLY1, POLY2 >

Definition at line 249 of file convolutional.h.

Member Typedef Documentation

◆ hardsymbol

template<typename Thist , uint64_t POLY1, uint64_t POLY2>
typedef u8 leansdr::convol_poly2< Thist, POLY1, POLY2 >::hardsymbol

Definition at line 252 of file convolutional.h.

◆ uncoded_byte

template<typename Thist , uint64_t POLY1, uint64_t POLY2>
typedef u8 leansdr::convol_poly2< Thist, POLY1, POLY2 >::uncoded_byte

Definition at line 251 of file convolutional.h.

Constructor & Destructor Documentation

◆ convol_poly2()

template<typename Thist , uint64_t POLY1, uint64_t POLY2>
leansdr::convol_poly2< Thist, POLY1, POLY2 >::convol_poly2 ( )
inline

Definition at line 254 of file convolutional.h.

254 : hist(0) {}

Member Function Documentation

◆ run()

template<typename Thist , uint64_t POLY1, uint64_t POLY2>
void leansdr::convol_poly2< Thist, POLY1, POLY2 >::run ( const uncoded_byte pin,
const u8  remap[],
hardsymbol pout,
int  count 
)
inline

Definition at line 258 of file convolutional.h.

References leansdr::deconvol_poly< Tin, Thist, POLY_DECONVOL, POLY_ERRORS >::hist, and leansdr::parity().

260  {
261  for (; count--; ++pin)
262  {
263  uncoded_byte b = *pin;
264 
265  for (int bit = 8; bit--; ++pout)
266  {
267  hist = (hist >> 1) | (((b >> bit) & 1) << 6);
268  u8 s = (parity(hist & POLY1) << 1) | parity(hist & POLY2);
269  *pout = remap[s];
270  }
271  }
272  }
unsigned char u8
Definition: framework.h:453
unsigned char parity(uint8_t x)
Definition: math.cpp:27
+ Here is the call graph for this function:

Member Data Documentation

◆ hist

template<typename Thist , uint64_t POLY1, uint64_t POLY2>
Thist leansdr::convol_poly2< Thist, POLY1, POLY2 >::hist
private

Definition at line 275 of file convolutional.h.


The documentation for this struct was generated from the following file: