GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
ion_gsms_stream_encodings.h File Reference

Implements look up tables for all encodings in the standard. More...

#include <string>

Go to the source code of this file.

Typedefs

using GnssMetadata::StreamEncoding = unsigned char

Functions

StreamEncoding GnssMetadata::encoding_from_string (const std::string &str)

Variables

constexpr unsigned char GnssMetadata::StreamEncodings::SIGN = 0
constexpr unsigned char GnssMetadata::StreamEncodings::OB = 1
constexpr unsigned char GnssMetadata::StreamEncodings::SM = 2
constexpr unsigned char GnssMetadata::StreamEncodings::MS = 3
constexpr unsigned char GnssMetadata::StreamEncodings::TC = 4
constexpr unsigned char GnssMetadata::StreamEncodings::OG = 5
constexpr unsigned char GnssMetadata::StreamEncodings::OBA = 6
constexpr unsigned char GnssMetadata::StreamEncodings::SMA = 7
constexpr unsigned char GnssMetadata::StreamEncodings::MSA = 8
constexpr unsigned char GnssMetadata::StreamEncodings::TCA = 9
constexpr unsigned char GnssMetadata::StreamEncodings::OGA = 10
constexpr unsigned char GnssMetadata::StreamEncodings::FP = 11
template<typename T>
GnssMetadata::two_bit_look_up [11][4]
template<typename T>
GnssMetadata::three_bit_look_up [11][8]
template<typename T>
GnssMetadata::four_bit_look_up [11][16]
template<typename T>
GnssMetadata::five_bit_look_up [11][32]

Detailed Description

Implements look up tables for all encodings in the standard.

Author
Víctor Castillo Agüero, 2024. victorcastilloaguero(at)gmail.com

These tables are taken from the stardard's official document.


GNSS-SDR is a Global Navigation Satellite System software-defined receiver. This file is part of GNSS-SDR.

Copyright (C) 2010-2024 (see AUTHORS file for a list of contributors) SPDX-License-Identifier: GPL-3.0-or-later


Definition in file ion_gsms_stream_encodings.h.

Typedef Documentation

◆ StreamEncoding

using GnssMetadata::StreamEncoding = unsigned char

Definition at line 32 of file ion_gsms_stream_encodings.h.

Function Documentation

◆ encoding_from_string()

StreamEncoding GnssMetadata::encoding_from_string ( const std::string & str)
inline

Definition at line 52 of file ion_gsms_stream_encodings.h.

Variable Documentation

◆ five_bit_look_up

template<typename T>
T GnssMetadata::five_bit_look_up[11][32]
inline
Initial value:
{
{},
{-16, -15, -14, -13, -12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15},
{0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1},
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, -16, -15, -14, -13, -12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1},
{-16, -15, -13, -14, -9, -10, -12, -11, -1, -2, -4, -3, -8, -7, -5, -6, 15, 14, 12, 13, 8, 9, 11, 10, 0, 1, 3, 2, 7, 6, 4, 5},
{-31, -29, -27, -25, -23, -21, -19, -17, -15, -13, -11, -9, -7, -5, -3, -1, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31},
{1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, -1, -3, -5, -7, -9, -11, -13, -15, -17, -19, -21, -23, -25, -27, -29, -31},
{1, -1, 3, -3, 5, -5, 7, -7, 9, -9, 11, -11, 13, -13, 15, -15, 17, -17, 19, -19, 21, -21, 23, -23, 25, -25, 27, -27, 29, -29, 31, -31},
{1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, -31, -29, -27, -25, -23, -21, -19, -17, -15, -13, -11, -9, -7, -5, -3, -1},
{-31, -29, -25, -27, -17, -19, -23, -21, -1, -3, -7, -5, -15, -13, -9, -11, 31, 29, 25, 27, 17, 19, 23, 21, 1, 3, 7, 5, 15, 13, 9, 11},
}

Definition at line 151 of file ion_gsms_stream_encodings.h.

◆ four_bit_look_up

template<typename T>
T GnssMetadata::four_bit_look_up[11][16]
inline
Initial value:
{
{},
{-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7},
{0, 1, 2, 3, 4, 5, 6, 7, 0, -1, -2, -3, -4, -5, -6, -7},
{0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1, 0, 0, 1, -1},
{0, 1, 2, 3, 4, 5, 6, 7, -8, -7, -6, -5, -4, -3, -2, -1},
{-8, -7, -5, -6, -1, -2, -4, -3, 7, 6, 4, 5, 0, 1, 3, 2},
{-15, -13, -11, -9, -7, -5, -3, -1, 1, 3, 5, 7, 9, 11, 13, 15},
{1, 3, 5, 7, 9, 11, 13, 15, -1, -3, -5, -7, -9, -11, -13, -15},
{1, -1, 3, -3, 5, -5, 7, -7, 9, -9, 11, -11, 13, -13, 15, -15},
{1, 3, 5, 7, 9, 11, 13, 15, -15, -13, -11, -9, -7, -5, -3, -1},
{-15, -13, -9, -11, -1, -3, -7, -5, 15, 13, 9, 11, 1, 3, 7, 5},
}

Definition at line 136 of file ion_gsms_stream_encodings.h.

◆ FP

unsigned char GnssMetadata::StreamEncodings::FP = 11
constexpr

Definition at line 48 of file ion_gsms_stream_encodings.h.

◆ MS

unsigned char GnssMetadata::StreamEncodings::MS = 3
constexpr

Definition at line 40 of file ion_gsms_stream_encodings.h.

◆ MSA

unsigned char GnssMetadata::StreamEncodings::MSA = 8
constexpr

Definition at line 45 of file ion_gsms_stream_encodings.h.

◆ OB

unsigned char GnssMetadata::StreamEncodings::OB = 1
constexpr

Definition at line 38 of file ion_gsms_stream_encodings.h.

◆ OBA

unsigned char GnssMetadata::StreamEncodings::OBA = 6
constexpr

Definition at line 43 of file ion_gsms_stream_encodings.h.

◆ OG

unsigned char GnssMetadata::StreamEncodings::OG = 5
constexpr

Definition at line 42 of file ion_gsms_stream_encodings.h.

◆ OGA

unsigned char GnssMetadata::StreamEncodings::OGA = 10
constexpr

Definition at line 47 of file ion_gsms_stream_encodings.h.

◆ SIGN

unsigned char GnssMetadata::StreamEncodings::SIGN = 0
constexpr

Definition at line 37 of file ion_gsms_stream_encodings.h.

◆ SM

unsigned char GnssMetadata::StreamEncodings::SM = 2
constexpr

Definition at line 39 of file ion_gsms_stream_encodings.h.

◆ SMA

unsigned char GnssMetadata::StreamEncodings::SMA = 7
constexpr

Definition at line 44 of file ion_gsms_stream_encodings.h.

◆ TC

unsigned char GnssMetadata::StreamEncodings::TC = 4
constexpr

Definition at line 41 of file ion_gsms_stream_encodings.h.

◆ TCA

unsigned char GnssMetadata::StreamEncodings::TCA = 9
constexpr

Definition at line 46 of file ion_gsms_stream_encodings.h.

◆ three_bit_look_up

template<typename T>
T GnssMetadata::three_bit_look_up[11][8]
inline
Initial value:
{
{},
{-4, -3, -2, -1, 0, 1, 2, 3},
{0, 1, 2, 3, 0, -1, -2, -3},
{0, 0, 1, -1, 0, 0, 1, -1},
{0, 1, 2, 3, -4, -3, -2, -1},
{-4, -3, -1, -2, 3, 2, 0, 1},
{-7, -5, -3, -1, 1, 3, 5, 7},
{1, 3, 5, 7, -1, -3, -5, -7},
{1, -1, 3, -3, 5, -5, 7, -7},
{1, 3, 5, 7, -7, -5, -3, -1},
{-7, -5, -1, -3, 7, 5, 1, 3},
}

Definition at line 121 of file ion_gsms_stream_encodings.h.

◆ two_bit_look_up

template<typename T>
T GnssMetadata::two_bit_look_up[11][4]
inline
Initial value:
{
{},
{-2, -1, 0, 1},
{0, 1, 0, -1},
{0, 0, 1, -1},
{0, 1, -2, -1},
{-2, -1, 1, 0},
{-3, -1, 1, 3},
{1, 3, -1, -3},
{1, -1, 3, -3},
{1, 3, -3, -1},
{-3, -1, 3, 1},
}

Definition at line 106 of file ion_gsms_stream_encodings.h.