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;
namespace Params
{
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 int max_band = 100;
static int min_band = 20;
......
......@@ -21,14 +21,19 @@ parity (unsigned int v)
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 auto generators = std::array<unsigned,3> { 0557, 0663, 0711 };
*/
constexpr unsigned int order = 14;
constexpr auto generators = std::array<unsigned,3> { 021645, 035661, 037133 };
/*
constexpr unsigned int order = 18;
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