/* Table generator for frozen bits Copyright 2021 Ahmet Inan */ #include #include #include #include #include #include "polar_freezer.hh" template void code(int N, int K) { long double erasure_probability = (long double)(N - K) / N; double design_SNR = 10 * std::log10(-std::log(erasure_probability)); std::cerr << "design SNR: " << design_SNR << std::endl; auto freeze = new CODE::PolarCodeConst0; double better_SNR = design_SNR + 1.59175; std::cerr << "better SNR: " << better_SNR << std::endl; long double better_probability = std::exp(-pow(10.0, better_SNR / 10)); auto frozen = new uint32_t[1<<(M-5)]; (*freeze)(frozen, M, K+(1<(4096, 2048+32); return 0; }