|
|
|
@@ -40,9 +40,9 @@
|
|
|
|
|
|
|
|
|
|
std::deque<bool> l5i_xa_shift(std::deque<bool> xa)
|
|
|
|
|
{
|
|
|
|
|
if (xa == std::deque<bool>{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1})
|
|
|
|
|
if (xa == std::deque<bool>{true, true, true, true, true, true, true, true, true, true, true, false, true})
|
|
|
|
|
{
|
|
|
|
|
return std::deque<bool>{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
|
|
|
|
|
return std::deque<bool>{true, true, true, true, true, true, true, true, true, true, true, true, true};
|
|
|
|
|
}
|
|
|
|
|
std::deque<bool> out(xa.begin(), xa.end() - 1);
|
|
|
|
|
out.push_front(xa[12] xor xa[11] xor xa[9] xor xa[8]);
|
|
|
|
@@ -52,9 +52,9 @@ std::deque<bool> l5i_xa_shift(std::deque<bool> xa)
|
|
|
|
|
|
|
|
|
|
std::deque<bool> l5q_xa_shift(std::deque<bool> xa)
|
|
|
|
|
{
|
|
|
|
|
if (xa == std::deque<bool>{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1})
|
|
|
|
|
if (xa == std::deque<bool>{true, true, true, true, true, true, true, true, true, true, true, false, true})
|
|
|
|
|
{
|
|
|
|
|
return std::deque<bool>{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
|
|
|
|
|
return std::deque<bool>{true, true, true, true, true, true, true, true, true, true, true, true, true};
|
|
|
|
|
}
|
|
|
|
|
std::deque<bool> out(xa.begin(), xa.end() - 1);
|
|
|
|
|
out.push_front(xa[12] xor xa[11] xor xa[9] xor xa[8]);
|
|
|
|
@@ -80,8 +80,8 @@ std::deque<bool> l5q_xb_shift(std::deque<bool> xb)
|
|
|
|
|
|
|
|
|
|
std::deque<bool> make_l5i_xa()
|
|
|
|
|
{
|
|
|
|
|
std::deque<bool> xa = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
|
|
|
|
|
std::deque<bool> y(GPS_L5i_CODE_LENGTH_CHIPS, 0);
|
|
|
|
|
std::deque<bool> xa = {true, true, true, true, true, true, true, true, true, true, true, true, true};
|
|
|
|
|
std::deque<bool> y(GPS_L5i_CODE_LENGTH_CHIPS, false);
|
|
|
|
|
|
|
|
|
|
for (int32_t i = 0; i < GPS_L5i_CODE_LENGTH_CHIPS; i++)
|
|
|
|
|
{
|
|
|
|
@@ -94,8 +94,8 @@ std::deque<bool> make_l5i_xa()
|
|
|
|
|
|
|
|
|
|
std::deque<bool> make_l5i_xb()
|
|
|
|
|
{
|
|
|
|
|
std::deque<bool> xb = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
|
|
|
|
|
std::deque<bool> y(GPS_L5i_CODE_LENGTH_CHIPS, 0);
|
|
|
|
|
std::deque<bool> xb = {true, true, true, true, true, true, true, true, true, true, true, true, true};
|
|
|
|
|
std::deque<bool> y(GPS_L5i_CODE_LENGTH_CHIPS, false);
|
|
|
|
|
|
|
|
|
|
for (int32_t i = 0; i < GPS_L5i_CODE_LENGTH_CHIPS; i++)
|
|
|
|
|
{
|
|
|
|
@@ -108,8 +108,8 @@ std::deque<bool> make_l5i_xb()
|
|
|
|
|
|
|
|
|
|
std::deque<bool> make_l5q_xa()
|
|
|
|
|
{
|
|
|
|
|
std::deque<bool> xa = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
|
|
|
|
|
std::deque<bool> y(GPS_L5q_CODE_LENGTH_CHIPS, 0);
|
|
|
|
|
std::deque<bool> xa = {true, true, true, true, true, true, true, true, true, true, true, true, true};
|
|
|
|
|
std::deque<bool> y(GPS_L5q_CODE_LENGTH_CHIPS, false);
|
|
|
|
|
|
|
|
|
|
for (int32_t i = 0; i < GPS_L5q_CODE_LENGTH_CHIPS; i++)
|
|
|
|
|
{
|
|
|
|
@@ -122,8 +122,8 @@ std::deque<bool> make_l5q_xa()
|
|
|
|
|
|
|
|
|
|
std::deque<bool> make_l5q_xb()
|
|
|
|
|
{
|
|
|
|
|
std::deque<bool> xb = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
|
|
|
|
|
std::deque<bool> y(GPS_L5q_CODE_LENGTH_CHIPS, 0);
|
|
|
|
|
std::deque<bool> xb = {true, true, true, true, true, true, true, true, true, true, true, true, true};
|
|
|
|
|
std::deque<bool> y(GPS_L5q_CODE_LENGTH_CHIPS, false);
|
|
|
|
|
|
|
|
|
|
for (int32_t i = 0; i < GPS_L5q_CODE_LENGTH_CHIPS; i++)
|
|
|
|
|
{
|
|
|
|
@@ -140,13 +140,13 @@ void make_l5i(int32_t* _dest, int32_t prn)
|
|
|
|
|
|
|
|
|
|
std::deque<bool> xb = make_l5i_xb();
|
|
|
|
|
std::deque<bool> xa = make_l5i_xa();
|
|
|
|
|
std::deque<bool> xb_shift(GPS_L5i_CODE_LENGTH_CHIPS, 0);
|
|
|
|
|
std::deque<bool> xb_shift(GPS_L5i_CODE_LENGTH_CHIPS, false);
|
|
|
|
|
|
|
|
|
|
for (int32_t n = 0; n < GPS_L5i_CODE_LENGTH_CHIPS; n++)
|
|
|
|
|
{
|
|
|
|
|
xb_shift[n] = xb[(xb_offset + n) % GPS_L5i_CODE_LENGTH_CHIPS];
|
|
|
|
|
}
|
|
|
|
|
std::deque<bool> out_code(GPS_L5i_CODE_LENGTH_CHIPS, 0);
|
|
|
|
|
std::deque<bool> out_code(GPS_L5i_CODE_LENGTH_CHIPS, false);
|
|
|
|
|
for (int32_t n = 0; n < GPS_L5i_CODE_LENGTH_CHIPS; n++)
|
|
|
|
|
{
|
|
|
|
|
_dest[n] = xa[n] xor xb_shift[n];
|
|
|
|
@@ -160,13 +160,13 @@ void make_l5q(int32_t* _dest, int32_t prn)
|
|
|
|
|
|
|
|
|
|
std::deque<bool> xb = make_l5q_xb();
|
|
|
|
|
std::deque<bool> xa = make_l5q_xa();
|
|
|
|
|
std::deque<bool> xb_shift(GPS_L5q_CODE_LENGTH_CHIPS, 0);
|
|
|
|
|
std::deque<bool> xb_shift(GPS_L5q_CODE_LENGTH_CHIPS, false);
|
|
|
|
|
|
|
|
|
|
for (int32_t n = 0; n < GPS_L5q_CODE_LENGTH_CHIPS; n++)
|
|
|
|
|
{
|
|
|
|
|
xb_shift[n] = xb[(xb_offset + n) % GPS_L5q_CODE_LENGTH_CHIPS];
|
|
|
|
|
}
|
|
|
|
|
std::deque<bool> out_code(GPS_L5q_CODE_LENGTH_CHIPS, 0);
|
|
|
|
|
std::deque<bool> out_code(GPS_L5q_CODE_LENGTH_CHIPS, false);
|
|
|
|
|
for (int32_t n = 0; n < GPS_L5q_CODE_LENGTH_CHIPS; n++)
|
|
|
|
|
{
|
|
|
|
|
_dest[n] = xa[n] xor xb_shift[n];
|
|
|
|
|