GNU Radio Manual and C++ API Reference 3.10.5.1
The Free & Open Software Radio Ecosystem
maxstar.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2015 Free Software Foundation, Inc.
4 *
5 * This file is part of GNU Radio
6 *
7 * SPDX-License-Identifier: GPL-3.0-or-later
8 *
9 */
10
11/* File maxstar.h
12
13 Description: Performs the max* operations (Jacobian logarithm) defined as:
14 max*( x, y ) = max( x,y) + log( 1 + exp( - |x-y| ) )
15
16 There are several versions of this function, max_starX, where "X":
17 X = 0 For linear approximation to log-MAP
18 = 1 For max-log-MAP algorithm (i.e. max*(x,y) = max(x,y) )
19 = 2 For Constant-log-MAP algorithm
20 = 3 For log-MAP, correction factor from small nonuniform table and
21 interpolation = 4 For log-MAP, correction factor uses C function calls
22
23 Calling syntax:
24 output = max_starX( delta1, delta2 )
25
26 Where:
27 output = The result of max*(x,y)
28
29 delta1 = T] he first argument (i.e. x) of max*(x,y)
30 delta2 = The second argument (i.e. y) of max*(x,y)
31
32 Functions max_star0, max_star1, max_star2, max_star3, and max_star4
33 are part of the Iterative Solutions Coded Modulation Library
34 The Iterative Solutions Coded Modulation Library is free software;
35 you can redistribute it and/or modify it under the terms of
36 the GNU Lesser General Public License as published by the
37 Free Software Foundation; either version 2.1 of the License,
38 or (at your option) any later version.
39
40*/
41
42#ifndef INCLUDED_FECAPI_MAXSTAR_H
43#define INCLUDED_FECAPI_MAXSTAR_H
44
45/* values for the jacobian logarithm table (DecoderType=4) */
46#define BOUNDARY0 0
47#define BOUNDARY1 0.4200
48#define BOUNDARY2 0.8500
49#define BOUNDARY3 1.3100
50#define BOUNDARY4 1.8300
51#define BOUNDARY5 2.4100
52#define BOUNDARY6 3.1300
53#define BOUNDARY7 4.0800
54#define BOUNDARY8 5.6000
55
56#define SLOPE0 -0.44788139700522
57#define SLOPE1 -0.34691145436176
58#define SLOPE2 -0.25432579542705
59#define SLOPE3 -0.17326680196715
60#define SLOPE4 -0.10822110027877
61#define SLOPE5 -0.06002650498009
62#define SLOPE6 -0.02739265095522
63#define SLOPE7 -0.00860202759280
64
65#define VALUE0 0.68954718055995
66#define VALUE1 0.50153699381775
67#define VALUE2 0.35256506844219
68#define VALUE3 0.23567520254575
69#define VALUE4 0.14607646552283
70#define VALUE5 0.08360822736113
71#define VALUE6 0.04088914377547
72#define VALUE7 0.01516612536801
73
74/* values for the constant log-MAP algorithm (DecoderType=3) */
75#define CVALUE 0.5
76#define TVALUE 1.5
77
78/* values for the linear approximation (DecoderType=1) */
79#define TTHRESH 2.508
80#define AVALUE -0.236
81#define BVALUE 0.592
82
83/* Values for linear approximation (DecoderType=5) */
84#define AJIAN -0.24904163195436
85#define TJIAN 2.50681740420944
86
87#endif