GNSS-SDR  0.0.14
An Open Source GNSS Software Defined Receiver
Functions | Variables
convolutional.h File Reference

General functions used to implement convolutional encoding. More...

#include <volk_gnsssdr/volk_gnsssdr.h>
#include <vector>

Go to the source code of this file.

Functions

int parity_counter (int symbol, int length)
 Determines if a symbol has odd (1) or even (0) parity Output parameters: More...
 
int nsc_enc_bit (int state_out_p[], int input, int state_in, const int g[], int KK, int nn)
 Convolutionally encodes a single bit using a rate 1/n encoder. Takes in one input bit at a time, and produces a n-bit output. More...
 
void nsc_transit (int output_p[], int trans_p[], int input, int g[], int KK, int nn)
 Function that creates the transit and output vectors. More...
 
float Gamma (const float rec_array[], int symbol, int nn)
 Computes the branch metric used for decoding. More...
 
void Viterbi (int output_u_int[], const int out0[], const int state0[], const int out1[], const int state1[], const float input_c[], int KK, int nn, int LL)
 Uses the Viterbi algorithm to perform hard-decision decoding of a convolutional code. More...
 

Variables

const float MAXLOG = 1e7
 

Detailed Description

General functions used to implement convolutional encoding.

Author
Matthew C. Valenti, 2006-2008.
C. Fernandez-Prades, 2019.

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

Copyright (C) 2006-2008 Matthew C. Valenti Copyright (C) 2019 C. Fernandez-Prades SPDX-License-Identifier: GPL-3.0-or-later

This file is a derived work of the original file, which had this note:

The functions in this file are part of the Iterative Solutions Coded Modulation Library. The Iterative Solutions Coded Modulation Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Definition in file convolutional.h.