Commit 0b1fe048 authored by Stefan Westerfeld's avatar Stefan Westerfeld

Switch to 2 frames per bit, and use a rate 1/6 convolutional code.

This increases reliability with the same amount of frames.
Signed-off-by: Stefan Westerfeld's avatarStefan Westerfeld <stefan@space.twc.de>
parent 7cf88a76
...@@ -21,7 +21,7 @@ using std::min; ...@@ -21,7 +21,7 @@ using std::min;
namespace Params namespace Params
{ {
static size_t frame_size = 1024; static size_t frame_size = 1024;
static int frames_per_bit = 4; static int frames_per_bit = 2;
static size_t bands_per_frame = 30; static size_t bands_per_frame = 30;
static int max_band = 100; static int max_band = 100;
static int min_band = 20; static int min_band = 20;
......
...@@ -21,14 +21,19 @@ parity (unsigned int v) ...@@ -21,14 +21,19 @@ parity (unsigned int v)
return p; return p;
} }
constexpr unsigned int rate = 3; // rate 1/6 code generator poynomial from "In search of a 2dB Coding Gain", Yuen and Vo
// minimum free distance 56
constexpr unsigned int rate = 6;
constexpr unsigned int order = 15;
constexpr auto generators = std::array<unsigned,6> { 046321, 051271, 070535, 063667, 073277, 076531 };
/* /*
constexpr unsigned int order = 9; constexpr unsigned int order = 9;
constexpr auto generators = std::array<unsigned,3> { 0557, 0663, 0711 }; constexpr auto generators = std::array<unsigned,3> { 0557, 0663, 0711 };
*/
constexpr unsigned int order = 14; constexpr unsigned int order = 14;
constexpr auto generators = std::array<unsigned,3> { 021645, 035661, 037133 }; constexpr auto generators = std::array<unsigned,3> { 021645, 035661, 037133 };
/*
constexpr unsigned int order = 18; constexpr unsigned int order = 18;
constexpr auto generators = std::array<unsigned,3> { 0552137, 0614671, 0772233 }; constexpr auto generators = std::array<unsigned,3> { 0552137, 0614671, 0772233 };
*/ */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment