Simple rate 3/4 data decoder.

This commit is contained in:
Jonathan Naylor
2016-07-12 20:35:03 +01:00
parent 36e2f202c3
commit 83e65173a9
2 changed files with 195 additions and 59 deletions

View File

@@ -19,14 +19,16 @@ public:
CDMRTrellis();
~CDMRTrellis();
void decode(const unsigned char* data, unsigned char* payload);
bool decode(const unsigned char* data, unsigned char* payload);
void encode(const unsigned char* payload, unsigned char* data);
private:
void deinterleave(const unsigned char* in, unsigned char* points) const;
void interleave(const unsigned char* points, unsigned char* out) const;
void totribits(const unsigned char* payload, unsigned char* tribits) const;
void fromtribits(const unsigned char* tribits, unsigned char* payload) const;
void deinterleave(const unsigned char* in, signed char* dibits) const;
void interleave(const signed char* dibits, unsigned char* out) const;
void dibitsToPoints(const signed char* dibits, unsigned char* points) const;
void pointsToDibits(const unsigned char* points, signed char* dibits) const;
void bitsToTribits(const unsigned char* payload, unsigned char* tribits) const;
void tribitsToBits(const unsigned char* tribits, unsigned char* payload) const;
};
#endif