(10) 高斯近似与design-SNR:工程构造如何落地

高斯近似与 design-SNR:工程构造如何落地

第 9 篇说明了严格密度进化(DE)为什么必须追踪完整的 L-density:加号分支是 LLR 相加,减号分支是 box-plus 非线性映射。严格 DE 的信息最完整,但离散化、卷积和二维映射会带来较高计算代价。

本篇讨论工程中更常用的高斯近似(Gaussian Approximation,GA)。GA 不再保存每个子信道的一整条密度,而是假设它可以用一个 LLR 均值描述,再通过 \phi 函数近似减号分支。这样既保留了 Polar 递归的结构,又把构造计算压缩到一组标量递推。

本文继续采用 0-based 索引。码长为 N=2^n,信息长度为 K,码率为 R=K/N。接收观测写作 \underline{y},原始信道 LLR 写作 \underline{\lambda},可靠性排序序列写作 \boldsymbol{\pi}

为什么要把 L-density 压缩成均值

严格 DE 为每个子信道保存概率密度 a_i^{(N)}(\ell)。这能保留正负尾部、集中程度和非线性变换后的形状,但网格桶数一多,内存和运算量都会迅速增长。构造器真正需要的结果却通常只是一个排序:哪个索引更可靠。

GA 的出发点是:在对称二元输入信道、全零码字参考和前面比特均判决正确的条件下,用一个对称高斯分布来表示每条 Polar LLR 消息:

L\sim\mathcal{N}(\mu,2\mu)

这里的 \sim 表示“按照这个高斯模型服从该分布”。它不是说真实 LLR 在任何信道上都严格高斯;真实 L-density 仍可能偏离这个模型,这正是 GA 的近似来源。参数 \mu=\mathbb{E}[L] 是模型中的均值,方差被对称性约束为 2\mu,因此在这个高斯族中只需保存一个非负数 \mu

为什么这个均值可以用来衡量可靠性?在全零参考下,正确判决对应正 LLR,错误判决对应负 LLR。若 L\sim\mathcal{N}(\mu,2\mu),则单次硬判决出错的概率为:

\Pr(L<0)=Q\left(\frac{\mu}{\sqrt{2\mu}}\right)=Q\left(\sqrt{\frac{\mu}{2}}\right)

其中 Q(\cdot) 是标准高斯右尾概率。随着 \mu 增大,Q(\sqrt{\mu/2}) 单调减小,所以均值越大,错误概率越低。与此同时,模型的方差也随 \mu 一起确定,不能出现“均值相同但方差任意不同”的情况。因此,在对称高斯假设成立时,\mu 能完整确定这条近似 LLR 分布,并可以作为可靠性指标。

这句话有一个重要边界:对于任意真实 L-density,均值一般不能完整代表可靠性。两个非高斯分布可能均值相同,但负 LLR 尾部不同,错误概率也不同。DE 之所以保留完整密度,正是为了保留这类信息;GA 则主动接受这种信息损失,以换取较低的构造复杂度。

这个假设的好处是加号分支在高斯模型内立即闭合。若 L_0\sim\mathcal{N}(\mu_0,2\mu_0)L_1\sim\mathcal{N}(\mu_1,2\mu_1) 且相互独立,则:

L^+=L_0+L_1\sim\mathcal{N}(\mu_0+\mu_1,2(\mu_0+\mu_1))

因此,加号分支在“输入服从对称高斯分布”的假设内仍然是高斯分布,均值递推没有额外的 GA 近似:

\mu^+=\mu_0+\mu_1

困难只剩减号分支。box-plus 变换不会把两个高斯变量变成高斯变量,所以需要一个能描述“可靠性损失”的标量函数。

对称高斯假设从哪里来

对称 L-density 满足 a(\ell)=e^{\ell}a(-\ell)。GA 用 L\sim\mathcal{N}(\mu,\sigma_L^2) 近似它;将高斯密度比代入这一对称性,比较 a(\ell)/a(-\ell) 的指数项可得:

\ln\frac{a(\ell)}{a(-\ell)}=\frac{2\mu}{\sigma_L^2}\ell

要使右侧等于 \ell,就需要 \sigma_L^2=2\mu。这解释了为什么 GA 使用 \mathcal{N}(\mu,2\mu):它不是任意选择的方差,而是满足对称 LLR 关系的高斯特例。

对底层 BI-AWGN 信道,BPSK 映射为 x=1-2c,观测为 y=x+z,其中 z\sim\mathcal{N}(0,\sigma^2)。原始 LLR 为:

\lambda=\ln\frac{W(y\mid0)}{W(y\mid1)}=\frac{2y}{\sigma^2}

在全零参考下 y=1+z,所以:

\lambda\sim\mathcal{N}\left(\frac{2}{\sigma^2},\frac{4}{\sigma^2}\right)=\mathcal{N}(\mu_0,2\mu_0),\qquad \mu_0=\frac{2}{\sigma^2}

因此,在 BI-AWGN 信道上,初始 LLR 本身就严格服从一个满足该形式的高斯分布;经过 Polar 递归后,才需要用 GA 继续近似。后续递归只保存均值,不再显式保存整条密度。

\phi(x) 函数保存了什么

对称高斯模型中的变量 L\sim\mathcal{N}(x,2x) 有一个适合描述 LLR 可靠性的统计量:

\phi(x)=1-\mathbb{E}\left[\tanh\left(\frac{L}{2}\right)\right]

把高斯密度写开,可以得到常用积分形式(x>0):

\phi(x)=1-\frac{1}{\sqrt{4\pi x}}\int_{-\infty}^{+\infty}\tanh\left(\frac{u}{2}\right)\exp\left(-\frac{(u-x)^2}{4x}\right)\,\mathrm{d}u

<span class="katex-eq" data-katex-display="false">\phi(x)曲线</span>

并约定 \phi(0)=1。当 x 增大时,LLR 更集中在正方向,\mathbb{E}[\tanh(L/2)] 增大,因此 \phi(x) 单调下降;x=0 对应完全没有方向信息,\phi=1,而 x\to+\infty\phi\to0

所以 \phi 把“均值参数”映射成一个类似不可靠度的量。由于 \mu 已经确定了对称高斯模型,\phi(\mu) 也只是均值的函数。它的作用不是重新定义 Bhattacharyya 参数,而是把 box-plus 中的双曲正切乘积转换成可以递推的标量。

从 box-plus 推导 GA 的递推

这里要区分精确公式和近似步骤。Arıkan 2009 给出了减号分支的精确 box-plus LLR 关系;下面的 \phi 递推则是高斯近似构造中使用的参数化方法,见 Trifonov 2012。推导中的“精确”只指 box-plus 变换和独立性带来的期望分解;把输出重新表示成对称高斯分布,是 GA 的近似步骤。

减号分支的精确 box-plus LLR 关系为:

L^-_{\mathrm{box}}=2\operatorname{atanh}\left(\tanh\frac{L_0}{2}\tanh\frac{L_1}{2}\right)

两边除以 2 后取双曲正切:

\tanh\left(\frac{L^-_{\mathrm{box}}}{2}\right)=\tanh\left(\frac{L_0}{2}\right)\tanh\left(\frac{L_1}{2}\right)

在独立性条件下取期望:

\mathbb{E}\left[\tanh\left(\frac{L^-_{\mathrm{box}}}{2}\right)\right]=\mathbb{E}\left[\tanh\left(\frac{L_0}{2}\right)\right]\mathbb{E}\left[\tanh\left(\frac{L_1}{2}\right)\right]

这里的期望是对随机 LLR L_0,L_1 的联合分布取的;由于两路观测来自独立的物理信道,两路 LLR 独立,所以乘积的期望可以拆成两个期望。输入 LLR 按 GA 假设分别服从 \mathcal{N}(\mu_j,2\mu_j),因此根据 \phi 的定义:

\mathbb{E}\left[\tanh\left(\frac{L^-_{\mathrm{box}}}{2}\right)\right]=\left(1-\phi(\mu_0)\right)\left(1-\phi(\mu_1)\right)

但是,L^-_{\mathrm{box}} 一般不再严格服从高斯分布。GA 接下来用一个新的对称高斯变量表示它:

L^-_{\mathrm{GA}}\sim\mathcal{N}(\mu^-,2\mu^-)

并要求这个新高斯变量保留刚才得到的双曲正切期望:

\mathbb{E}\left[\tanh\left(\frac{L^-_{\mathrm{GA}}}{2}\right)\right]=\mathbb{E}\left[\tanh\left(\frac{L^-_{\mathrm{box}}}{2}\right)\right]

由于 L^-_{\mathrm{GA}}\sim\mathcal{N}(\mu^-,2\mu^-),左边按 \phi 的定义等于 1-\phi(\mu^-)。于是才得到:

1-\phi(\mu^-)=\left(1-\phi(\mu_0)\right)\left(1-\phi(\mu_1)\right)

因此,GA 的减号均值递推为:

\mu^-=\phi^{-1}\left(1-\left(1-\phi(\mu_0)\right)\left(1-\phi(\mu_1)\right)\right)

这不是把两个高斯变量经过 box-plus 后仍然“证明成高斯”,而是先计算精确 box-plus 输出的一个统计量,再寻找具有相同统计量的对称高斯均值。这个“重新用高斯表示”的步骤正是 GA 的近似所在。

加号和减号合在一起就是:

\boxed{\mu^+=\mu_0+\mu_1},\qquad\boxed{\mu^-=\phi^{-1}\left(1-\left(1-\phi(\mu_0)\right)\left(1-\phi(\mu_1)\right)\right)}

当两个输入来自同一个节点、均值都为 \mu 时,减号公式简化为:

\mu^-=\phi^{-1}\left(2\phi(\mu)-\phi(\mu)^2\right),\qquad \mu^+=2\mu

由于 \phi 单调下降,括号中的值越小,对应的 \mu^- 越大;但与加号相比,减号均值通常显著更小。这正是 GA 对极化“分化”过程的标量描述。

工程实现中的 \mu^- 近似

上面的递推把 \phi^{-1} 当作一个一维反函数,但实际程序通常不会在每个节点上做数值积分。常用做法是用 Chung 型分段式近似替代 \phi

\widehat{\phi}(x)= \begin{cases} \exp\left(-0.4527x^{0.86}+0.0218\right), & 0<x<10,\\ \sqrt{\frac{\pi}{x}}\exp\left(-\frac{x}{4}\right)\left(1-\frac{10}{7x}\right), & x\ge 10. \end{cases}

实际代码通常令 \widehat{\phi}(0)=1,并把分段式输出截断到 [0,1],以免小 x 区域的拟合值略高于 1

在第一段的有效范围内,反函数可以直接写成:

\widehat{\phi}^{-1}(q)\approx\left(\frac{-\ln q+0.0218}{0.4527}\right)^{1/0.86},\qquad 0.0394\lesssim q<1.

其中 0.0394\approx\widehat{\phi}(10) 是两段近似的切换附近。由于第一段在 x\to0^+ 时的拟合值略高于 1,工程实现应先处理边界:q\ge1 返回 0q\le0 返回一个表示 +\infty 的饱和值;对中间的 q 先截断到 [0,1]。当 q<0.0394 时,可以在第二段 x\ge10 上用单调二分或 Newton 迭代求解 \widehat{\phi}(x)=q。这样只需指数、对数和一次一维求根,不必计算原始积分。

于是\widehat{\mu^-}可以写成:

\widehat{\mu^-}=\widehat{\phi}^{-1}\left(1-\left(1-\widehat{\phi}(\mu_0)\right)\left(1-\widehat{\phi}(\mu_1)\right)\right).

如果只关心极低复杂度的初步排序,还可以使用更粗的 min-sum 代理:

\mu^-_{\mathrm{MS}}\approx\min(\mu_0,\mu_1).

它对应“减号分支由较弱输入主导”的直觉,不再是 GA 的 \phi 近似;在可靠性接近的索引之间可能改变排序,正式构造仍建议使用分段 \widehat{\phi} 或查表结果。

N=4 的 GA 构造小例子

N=4,基础 BI-AWGN 信道噪声方差 \sigma^2=1。于是底层均值为:

\mu_0=\frac{2}{1}=2

第一层两个节点分别是:

\mu_-=\phi^{-1}\left(2\phi(2)-\phi(2)^2\right),\qquad \mu_+=4

为了突出递推过程,记 a=\mu_-。第二层四个子信道按路径得到(以下 m_i 是第二层的四个均值,避免与底层 \mu_0 混用):

\begin{aligned} m_0&=\phi^{-1}\left(2\phi(a)-\phi(a)^2\right),\\ m_1&=2a,\\ m_2&=\phi^{-1}\left(2\phi(4)-\phi(4)^2\right),\\ m_3&=8. \end{aligned}

这里下标 0、1、2、3 对应路径 ---++-++。即使不手工求出 \phi^{-1},也能由单调性得到:

m_0<m_1<m_2<m_3

数值实现通常用查表或一维二分搜索计算 \phi^{-1}。例如在一个固定网格上预先保存 (x,\phi(x)),给定目标值后在单调表中插值;也可以直接用二分法寻找满足 \phi(x)=qx

因此可靠性排序序列按 m_i 从大到小为:

\boldsymbol{\pi}=(3,2,1,0)

K=2,先取排序序列前两个索引,再把它们视为无序集合:

\mathcal{A}=\{2,3\},\qquad \mathcal{A}^c=[0,3]\setminus\mathcal{A}=\{0,1\}

这个结果与 BEC 小码长中观察到的“右侧路径更可靠”一致,但数值来源不同:BEC 使用擦除率递推,GA 使用 AWGN 的 LLR 均值递推。

design-SNR 如何进入初始均值

构造时不能只写一个模糊的“信噪比”。GA 需要一个固定的设计点,记作 \rho_{\mathrm{des}}。先约定 BPSK 符号能量 E_s=1,噪声双边功率谱密度满足 N_0=2\sigma^2。因为每个信息比特平均占用 1/R 个发送符号,所以 E_b=E_s/R=1/R。在线性域中:

\rho_{\mathrm{des}}=\left(E_b/N_0\right)_{\mathrm{des}}=\frac{1}{2R\sigma_{\mathrm{des}}^2}

代回 \mu_0=2/\sigma^2,得到常用的初始均值表达式:

\mu_0=4R\rho_{\mathrm{des,lin}}

如果设计点用 dB 表示,必须先转换:

\rho_{\mathrm{des,lin}}=10^{\rho_{\mathrm{des,dB}}/10}

例如 R=1/2\rho_{\mathrm{des}}=2\,\mathrm{dB} 时:

\mu_0=4\times\frac12\times10^{2/10}=2\times10^{0.2}\\approx3.1698

上式容易混淆,正确计算是 4R=2,因此 \mu_0=2\times10^{0.2}\approx3.1698。这里特意展开单位换算,是为了避免把 dB 数值 2 直接代入线性公式。

不同文献可能采用 E_s/N_0、复 AWGN 或不同 BPSK 能量归一化;使用 GA 前必须先写清楚噪声方差约定,再推导对应的 \mu_0,不能机械套用某个常数。

\rho_{\mathrm{des}}\rho_{\mathrm{sim}} 为什么必须分开

\rho_{\mathrm{des}} 只用于构造:它决定 GA 从哪个噪声水平开始递推,从而决定排序 \boldsymbol{\pi}。实际仿真信噪比记作 \rho_{\mathrm{sim}},它决定发送端加入多少噪声以及最终 BER、BLER 曲线的横坐标。两者可以相同,也可以有意不同。

常见实验流程是:

  1. 固定 N,K\rho_{\mathrm{des}},运行 GA 得到一次 \boldsymbol{\pi}
  2. 取排序序列中排在前面的 K 个索引,得到 \mathcal{A}\mathcal{A}^c
  3. 固定这组位置,在多个 \rho_{\mathrm{sim}} 上重复编码、加噪和译码。
  4. 记录 BER、BLER;必要时再改变 \rho_{\mathrm{des}} 做构造敏感性比较。

如果每个仿真 SNR 点都重新构造一次,就无法判断“同一套码在不同信道条件下”的曲线;如果永远令两者相等,又无法观察设计点偏移带来的鲁棒性。两种实验都可以做,但变量含义必须明确。

四类构造方法如何放在同一张地图上

方法传播对象主要参数优点局限
BEC/Bhattacharyya擦除率或 Z\epsilon公式简单、便于手算不能直接描述 AWGN
DE完整 L-density网格、截断区间精度高,可作基准计算和内存开销大
GALLR 均值 \mu_i\rho_{\mathrm{des}}快,适合 AWGN 构造依赖高斯近似
RM/PW索引结构或权重PW 参数等不必追踪信道分布可能偏离特定信道最优排序

GA 的定位不是取代 DE 的理论价值,而是用可控的近似换取构造速度。实际工程中常见做法是用 DE 或文献可靠性序列做少量基准,再用 GA 批量生成不同 N,K 和设计点的构造结果。

构造器接口和数值实现

一个清晰的构造器可以把“信道参数”“递推方法”和“选位”拆开。伪接口如下:

\boldsymbol{\pi}=\mathrm{GAReliabilityRanking}(N,R,\rho_{\mathrm{des}}) \mathcal{A}=\mathrm{SelectInformationSet}(\boldsymbol{\pi},K),\qquad\mathcal{A}^c=[0,N-1]\setminus\mathcal{A}

实现 \phi\phi^{-1} 时需要注意三点:

  • \phi(0)=1 要单独处理,避免积分式中的除零。
  • 浮点误差可能让目标值略微超出 [0,1],调用反函数前应截断到该区间。
  • \phi 单调下降,查表必须按自变量升序保存,并在相邻区间内插值或二分。

下面给出一个可以直接接入仿真的 GA 构造函数。函数输入为母码长 N、码率 R 和构造用 \rho_{\mathrm{des}}(dB),输出按“最可靠到最不可靠”排列的索引序列 \boldsymbol{\pi}。为了让示例自洽,代码采用本文前面约定的 E_s=1N_0=2\sigma^2,因此底层 LLR 均值为 \mu_0=4R\rho_{\mathrm{des,lin}}

#include <algorithm>
#include <cmath>
#include <cstddef>
#include <numeric>
#include <stdexcept>
#include <utility>
#include <vector>

namespace polar_ga {

constexpr double kPi = 3.14159265358979323846;

// Chung 型分段近似:输入是 LLR 均值,输出是 phi(x) 的近似值。
double phi(double x) {
    if (x <= 0.0) {
        // x=0 表示没有可靠性,按定义 phi(0)=1。
        return 1.0;
    }
    double value;
    if (x < 10.0) {
        // 小均值区间使用幂函数和指数的拟合式。
        value = std::exp(-0.4527 * std::pow(x, 0.86) + 0.0218);
    } else {
        // 大均值区间使用渐近形式,避免直接积分高斯密度。
        value = std::sqrt(kPi / x) * (1.0 - 10.0 / (7.0 * x))
              * std::exp(-x / 4.0);
    }
    // 拟合式在边界附近可能有极小的越界,先裁剪到合法范围。
    return std::clamp(value, 0.0, 1.0);
}

// phi 单调下降,因此可以用二分搜索求 phi^{-1}(target)。
double phiInverse(double target) {
    target = std::clamp(target, 0.0, 1.0);
    if (target >= 1.0) {
        // phi(0)=1,对应的反函数值是 0。
        return 0.0;
    }
    if (target <= 0.0) {
        // 这里只需一个足够大的有限值表示 phi^{-1}(0)=+infinity。
        return 1.0e3;
    }

    double low = 0.0;
    double high = 1.0;
    // 先扩展上界,直到 phi(high) 不大于目标值。
    while (phi(high) > target && high < 1.0e3) {
        high *= 2.0;
    }
    // 二分 80 次已经远超 double 在本问题中的实际需求。
    for (int iteration = 0; iteration < 80; ++iteration) {
        const double mid = 0.5 * (low + high);
        if (phi(mid) > target) {
            low = mid;   // phi 仍然太大,需要增大 x。
        } else {
            high = mid;  // phi 太小,需要减小 x。
        }
    }
    return 0.5 * (low + high);
}

// 返回按可靠性从高到低排列的 Polar 子信道索引;结果就是 pi。
std::vector<std::size_t> constructPolarGA(
    std::size_t N, double rate, double designSnrDb) {
    if (N == 0 || (N & (N - 1)) != 0) {
        throw std::invalid_argument("N must be a positive power of two");
    }
    if (!(rate > 0.0 && rate <= 1.0)) {
        throw std::invalid_argument("rate must be in (0, 1]");
    }

    unsigned n = 0;
    while ((std::size_t{1} << n) < N) {
        ++n;
    }

    // dB 必须先转为线性值,再代入 LLR 均值公式。
    const double designSnrLinear = std::pow(10.0, designSnrDb / 10.0);
    const double initialMean = 4.0 * rate * designSnrLinear;
    std::vector<double> mean{initialMean};

    // 每轮把每个父节点展开成 [减号, 加号] 两个子节点。
    // 这样得到的叶子顺序正好是 --、-+、+-、++,与本文的 W_N^(i)
    // 路径约定一致,因此这里不再额外套用 bit-reversal。
    for (unsigned lev = 1; lev <= n; ++lev) {
        std::vector<double> next;
        next.reserve(mean.size() * 2);
        for (const double parent : mean) {
            const double target = 1.0
                - (1.0 - phi(parent)) * (1.0 - phi(parent));
            next.push_back(phiInverse(target)); // 当前父节点的 W^- 分支
            next.push_back(2.0 * parent);        // 当前父节点的 W^+ 分支
        }
        mean = std::move(next);
    }

    std::vector<std::size_t> order(N);
    std::iota(order.begin(), order.end(), 0);
    std::sort(order.begin(), order.end(), [&](std::size_t a, std::size_t b) {
        const double meanA = mean[a];
        const double meanB = mean[b];
        // 均值越大越可靠;索引作为次关键字保证结果可复现。
        if (meanA != meanB) {
            return meanA > meanB;
        }
        return a < b;
    });
    return order;
}

}

调用 constructPolarGA(N, R, rhoDesDb) 得到的向量就是 \boldsymbol{\pi}。例如 constructPolarGA(1024, 0.5, 2.0) 表示用 N=1024R=0.5\rho_{\mathrm{des}}=2 dB 构造可靠性序列;随后取返回序列的前 K 个索引形成信息集合 \mathcal{A}。代码只负责构造和排序,不会把 \rho_{\mathrm{sim}} 的噪声加入过程混进来。

常见误区

第一,把 GA 说成严格 DE。GA 只保留均值并假设对称高斯,减号分支是近似;严格 DE 才追踪完整密度。

第二,把 \phi 当成 Bhattacharyya 参数本身。两者都能表达不可靠度,但定义、取值和递推来源不同,不能不加说明地互换。

第三,把 \rho_{\mathrm{des}}\rho_{\mathrm{sim}} 写成同一个变量。前者决定构造,后者决定测试条件。

第四,忘记 dB 到线性域的转换。2\,\mathrm{dB} 不是公式中的数值 2,而是 10^{2/10} 的线性倍数。

第五,只按路径中加号数量排序。-++- 的递推顺序不同,非线性 \phi^{-1} 会使最终均值不同,必须实际计算。

第六,把设计点改动后仍沿用旧排序。只要 N、码率、信道模型或 \rho_{\mathrm{des}} 改变,就应重新计算或明确说明沿用的可靠性序列来源。

小结

GA 用对称高斯假设把一条 L-density 压缩为均值:

L_i\sim\mathcal{N}(\mu_i,2\mu_i)

加号分支的均值直接相加:

\mu^+=\mu_0+\mu_1

减号分支利用 \phi 函数闭合:

\mu^-=\phi^{-1}\left(1-\left(1-\phi(\mu_0)\right)\left(1-\phi(\mu_1)\right)\right)

BI-AWGN、BPSK 和噪声方差约定给出初始均值 \mu_0=2/\sigma^2。在 E_s=1N_0=2\sigma^2 的约定下,还可以写成:

\mu_0=4R\rho_{\mathrm{des,lin}}

递推得到的均值按从大到小形成 \boldsymbol{\pi},再取排序序列中排在前面的 K 个索引作为 \mathcal{A}。构造信噪比 \rho_{\mathrm{des}} 和仿真信噪比 \rho_{\mathrm{sim}} 负责不同阶段,必须分开记录。

下一篇将从“为什么 SC 可以逐位判决”开始,把构造完成后的 Polar 码送入第一个译码器。

参考

  • E. Arıkan, “Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels,” IEEE Transactions on Information Theory, vol. 55, no. 7, pp. 3051–3073, Jul. 2009, doi: 10.1109/TIT.2009.2021379.
  • D. Trifonov, “Efficient design and decoding of polar codes,” IEEE Transactions on Communications, vol. 60, no. 11, pp. 3221–3227, Nov. 2012, doi: 10.1109/TCOMM.2012.090512.110070.
  • R. Mori and T. Tanaka, “Performance and construction of polar codes on symmetric binary-input memoryless channels,” IEEE Transactions on Information Theory, vol. 59, no. 5, pp. 2883–2901, May 2013, doi: 10.1109/TIT.2013.2248212.
  • I. Tal and A. Vardy, “How to construct polar codes,” IEEE Transactions on Information Theory, vol. 59, no. 10, pp. 6562–6582, Oct. 2013, doi: 10.1109/TIT.2013.2272694.
  • S. B. Korada, E. Şaşoğlu, and R. Urbanke, “Polar Codes: Characterization of Exponent, Bounds, and Constructions,” IEEE Transactions on Information Theory, vol. 56, no. 12, pp. 6253–6264, Dec. 2010, doi: 10.1109/TIT.2010.2080990.
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇