卷积码(convolutional code)

这篇具有很好参考价值的文章主要介绍了卷积码(convolutional code)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Convolutional Code

分块码(block code):数据流(datastream)被切分为包含 k k k个数据符号(data symbol)的块,叫做数据字(dataword),然后将它们分别编码为包含 n n n个码符号(code symbol)的块,叫做码字(codeword),拼接成码流(codestream)。单个码字仅仅依赖于单个数据字。

Hamming码、BCH码,都是分块码。

格码(trellis code): q q q元( q − a r y q-ary qary)数据流(datastream)被切分为包含 k k k个数据符号(data symbol)的块,叫做数据帧(dataframe),然后将它们分别编码为包含 n n n个码符号(code symbol)的块,叫做码帧(codeframe),拼接成码流(codestream)。单个码帧要依赖于多个数据帧。

格码往往被描述为移位寄存器编码器(shift-register encoder)。编码器中可以存储 m m m个大小为 k k k的数据帧,这里 m m m叫做帧内存(frame memory)。

卷积码(convolutional code)

从零时刻开始,数据流按帧不间断地移位进编码器;每一跳(each clock time),一个新的数据帧移入寄存器,同时最旧的数据帧移出寄存器被丢弃;此时,寄存器中包含 m k mk mk个数据符号,编码器根据它们计算单个长度为 n n n的码帧。这是一个 ( n , k ) (n,k) (n,k)格码,码率 R = k / n R=k/n R=k/n

如果每一时刻, n n n长码帧的前 k k k个位置就是数据帧的内容,那么我们称它为系统编码的(systematically encoded)。

最小编码器中 q q q元内存元胞的数量,叫做约束长度(constraint length),记做 v v v,且明显 v ≤ m k v \le mk vmk

注意,虽然格码被描述为移位寄存器编码器,但同一个格码有很多不同的编码器,编码器不是描述格码所必须的。

一种重要的格码是卷积码(convolutional code),它满足:

  1. 加法线性(additional linearity):两个数据流的任意线性组合的码流,等于码流的线性组合,
    G ( β a 1 + γ a 2 ) = β G ( a 1 ) + γ G ( a 2 ) G(\beta a_1 + \gamma a_2) = \beta G(a_1) + \gamma G(a_2) G(βa1+γa2)=βG(a1)+γG(a2)
    这里的 a 1 , a 2 a_1,a_2 a1,a2是无限长数据流, β , γ ∈ G F ( q ) \beta,\gamma \in GF(q) β,γGF(q) G ( ⋅ ) G(\cdot) G()是无限长的码流。

  2. 时不变性(time-invariance):数据流通过填充全零的前导数据帧(a leading dataframe of zeros)来延迟单个数据帧(delayed by a single dataframe),那么码流会延迟单个码帧,它的前导码帧是全零的(a leading codeframe of zeros),
    G ( 0 ∥ a ) = 0 ∥ G ( a ) G(\pmb 0\|a) = \pmb 0 \| G(a) G(000a)=000G(a)
    左边的 0 \pmb 0 000 k k k长的单个全零数据帧,右边的 0 \pmb 0 000 n n n长的单个全零码帧。

一般卷积码的 k k k都很小,甚至是 k = 1 k=1 k=1。因此,它们的码率都远远达不到 1 1 1,这不像分组码可以达到 R = 1 R=1 R=1

只有很少的卷积码构造类已知,大多数卷积码都是计算机搜索的。没有拥有令人满意的代数结构的一类卷积码已知,也没有令人满意的长约束长度的一类卷积码的构造方法已知。

Trellis description

网格图(trellis):一个有向图,每个节点上都有关于起始节点的良定义的深度(即从起始节点到达它的所有路径的长度相同)。

我们考虑向右半无限的(semi-infinite to the right)网格图,它的每一列包含 q v q^v qv个点,对应编码器的 q v q^v qv种状态,这一列点的深度相同。每个节点上都有 q k q^k qk个有向分支。相邻两列节点之间的连接方式是相同的。每一列都被用整数 l l l标记,它叫做时刻(time)。时刻 l l l上的节点表示编码器当前状态 s l s_l sl,再根据最新的数据帧来选择一条分支,到达 l + 1 l+1 l+1时刻的一个节点 s l + 1 s_{l+1} sl+1

对于的 ( 2 , 1 ) 2 (2,1)_2 (2,1)2卷积码,网格图为:

卷积码(convolutional code)

对应的编码器为:

卷积码(convolutional code)

我们利用网格图来描述卷积码,而不必使用编码器。

我们可以构造一个系统编码的 ( 2 , 1 ) 2 (2,1)_2 (2,1)2卷积码,

卷积码(convolutional code)

卷积码(convolutional code)

可以看出,任意的 ( n , k ) q (n,k)_q (n,k)q卷积码,都可以被 n n n组有限脉冲响应滤波器(finite-impulse-response filter)所编码,每个滤波器由 k k k个前反馈移位寄存器(feedforward shift registers)所组成。

Polynomial description

我们可以用生成器多项式(generator polynomials)来表示卷积码的一个编码器。对于 ( n , k ) q (n,k)_q (n,k)q卷积码的帧内存 m m m的编码器(注意,描述的不是code,而是encoder),定义多项式生成矩阵(polynomial generator matrix):
G ( x ) = [ g i j ( x ) ] ∈ ( G F ( q ) [ x ] ) k × n G(x) = [g_{ij}(x)] \in (GF(q)[x])^{k \times n} G(x)=[gij(x)](GF(q)[x])k×n
包含 n k nk nk个多项式,它们的度数不超过 m m m。并且需要至少有一个多项式不以 x x x为因式。如果 G ( x ) G(x) G(x)中所有多项式都以 x x x为根,那么就可以同时提取出 x x x来,从而使得码流延迟单个码帧。

例如,非系统的 ( 2 , 1 ) 2 (2,1)_2 (2,1)2卷积码,
G ( x ) = [ x 2 + 1 x 2 + x + 1 ] G(x) = \begin{bmatrix} x^2+1 & x^2+x+1 \end{bmatrix} G(x)=[x2+1x2+x+1]
令数据多项式为:
a ( x ) = [ a 00 , a 01 , ⋯   , a 0 , k − 1 ] + [ a 10 , a 11 , ⋯   , a 1 , k − 1 ] x + ⋯ a(x) = [a_{00},a_{01},\cdots,a_{0,k-1}] + [a_{10},a_{11},\cdots,a_{1,k-1}] x + \cdots a(x)=[a00,a01,,a0,k1]+[a10,a11,,a1,k1]x+
每一个系数都是一个数据帧的向量,它本身是 k k k个无限长多项式所组成的行向量。

编码过程为:
c ( x ) = a ( x ) G ( x ) c(x) = a(x)G(x) c(x)=a(x)G(x)
令码多项式为:
c ( x ) = [ c 00 , c 01 , ⋯   , c 0 , n − 1 ] + [ c 10 , c 11 , ⋯   , c 1 , n − 1 ] x + ⋯ c(x) = [c_{00},c_{01},\cdots,c_{0,n-1}] + [c_{10},c_{11},\cdots,c_{1,n-1}] x + \cdots c(x)=[c00,c01,,c0,n1]+[c10,c11,,c1,n1]x+
每一个系数都是一个码帧的向量,它本身是 n n n个无限长多项式所组成的行向量。

截断卷积码(truncated convolutional code):对于无限长的 a ( x ) a(x) a(x),我们丢弃 c ( x ) c(x) c(x)后面的无限个系数。这是分块码。

终止卷积码(terminated convolutional code):限制 a ( x ) a(x) a(x)为有限长多项式,计算得到有限长的 c ( x ) c(x) c(x)。这是分块码。

生成矩阵可以通过列置换以及初等行变换,得到等价生成矩阵(equivalent generator matrices),它们生成相同的卷积码,仅仅是数据符号的对应方式不同。系统的生成矩阵:
G ( x ) = [ I P ( x ) ] G(x) = \begin{bmatrix} I & P(x) \end{bmatrix} G(x)=[IP(x)]
一般地,由于多项式环 G F ( q ) [ x ] GF(q)[x] GF(q)[x]上的元素不可逆,从而无法化作系统编码的。如果我们做分式域(包含整环的最小域):
G F ( q ) ( x ) = { a ( x ) / b ( x ) :    a ( x ) , b ( x ) ∈ G F ( q ) [ x ] ,    b ( x ) ≠ 0 } GF(q)(x) = \{a(x)/b(x):\,\, a(x),b(x) \in GF(q)[x],\,\, b(x) \neq 0 \} GF(q)(x)={a(x)/b(x):a(x),b(x)GF(q)[x],b(x)=0}
注意这里的 a ( x ) / b ( x ) a(x)/b(x) a(x)/b(x)就是一个有序二元组,不要试图做除法。

让矩阵 G ( x ) G(x) G(x)里的多项式取自这个分式域,叫做实矩阵(rational matrix)。如果 x ∤ b ( x ) x \nmid b(x) xb(x),我们说元素 a ( x ) / b ( x ) a(x)/b(x) a(x)/b(x)​是可实数化的(realizable)。如果一个实的生成矩阵的每个元素都是可实数化的,我们说它是可实数化生成矩阵(realizable generator matrix)

例如,将非系统的 ( 2 , 1 ) 2 (2,1)_2 (2,1)2卷积码转换成系统的,
G ′ ( x ) = [ x 2 + 1 x 2 + 1 x 2 + x + 1 x 2 + 1 ] = [ 1 1 + x x 2 + 1 ] \begin{aligned} G'(x) &= \begin{bmatrix} \dfrac{x^2+1}{x^2+1} & \dfrac{x^2+x+1}{x^2+1} \end{bmatrix}\\ &= \begin{bmatrix} 1 & 1 + \dfrac{x}{x^2+1} \end{bmatrix}\\ \end{aligned} G(x)=[x2+1x2+1x2+1x2+x+1]=[11+x2+1x]
这里的分母 x 2 + 1 x^2+1 x2+1导致了编码器电路中包含反馈(feedback)。

明显, G ( x ) = T ( x ) G ′ ( x ) G(x) = T(x)G'(x) G(x)=T(x)G(x),这里 T ( x ) T(x) T(x)是分式域 G F ( q ) ( x ) GF(q)(x) GF(q)(x)上的 k × k k \times k k×k非奇异矩阵。

k × n k \times n k×n G ( x ) G(x) G(x)上, k × k k \times k k×k的子矩阵的行列式叫做主行列式(principal determinant)。定义内度(internal degree)
deg ⁡ i n t G ( x ) = max ⁡ l ∈ [ ( n k ) ] [ deg ⁡ det ⁡ G l ( x ) ] \deg_{int} G(x) = \max_{l \in [{n \choose k}]} [\deg \det G_l (x)] degintG(x)=l[(kn)]max[degdetGl(x)]
定义外度(external degree)
deg ⁡ e x t G ( x ) = ∑ i = 0 k − 1 max ⁡ j [ deg ⁡ g i j ( x ) ] \deg_{ext} G(x) = \sum_{i=0}^{k-1} \max_j [\deg g_{ij}(x)] degextG(x)=i=0k1jmax[deggij(x)]
容易看出, deg ⁡ i n t G ( x ) ≤ deg ⁡ e x t G ( x ) \deg_{int} G(x) \le \deg_{ext} G(x) degintG(x)degextG(x)

如果生成矩阵 G ( x ) G(x) G(x)无法从更小内度的生成矩阵乘以 T ( x ) T(x) T(x)得到,那么称它为基生成矩阵(basic generator matrix),令它的内度为 v v v,它就是约束长度。由于根据 G ( x ) G(x) G(x)的定义 m = max ⁡ i max ⁡ j [ deg ⁡ g i j ( x ) ] m = \max_i \max_j [\deg g_{ij}(x)] m=maximaxj[deggij(x)],因此有
v ≤ k m v \le km vkm
它测量了编码器的帧内存大小。

输入跨度(input span):
K = k max ⁡ i , j [ deg ⁡ g i j ( x ) + 1 ] K = k \max_{i,j} [\deg g_{ij}(x) + 1] K=ki,jmax[deggij(x)+1]
它测量了能够影响单个码符号的数据符号序列的长度。

输出跨度(output span):
N = n max ⁡ i , j [ deg ⁡ g i j ( x ) + 1 ] N = n \max_{i,j} [\deg g_{ij}(x) + 1] N=ni,jmax[deggij(x)+1]
它测量了单个数据符号能够影响的码符号序列的长度。

Matrix description

卷积码是包含无限个无限长的码字的线性码,从而可以用 G F ( q ) GF(q) GF(q)上的无限大的生成矩阵来表示。

对于 k × n k \times n k×n个生成器多项式:
g i j ( x ) = ∑ l = 0 m g i j l x l g_{ij}(x) = \sum_{l=0}^m g_{ijl} x^l gij(x)=l=0mgijlxl
我们将它们的系数重新排列,令 G l = [ g i j l ] ∈ G F ( q ) k × n G_l = [g_{ijl}] \in GF(q)^{k \times n} Gl=[gijl]GF(q)k×n,那么生成矩阵为:
G = [ G 0 G 1 ⋯ G m 0 0 ⋯ 0 G 0 ⋯ G m − 1 G m 0 ⋯ ⋮ ] G = \begin{bmatrix} G_0 & G_1 & \cdots & G_m & 0 & 0 & \cdots\\ 0 & G_0 & \cdots & G_{m-1} & G_{m} & 0 & \cdots\\ \vdots\\ \end{bmatrix} G=G00G1G0GmGm10Gm00
其中的 0 \pmb 0 000表示 k × n k \times n k×n的零矩阵, G G G是向下向右无限延伸的。

对于系统的生成矩阵和校验矩阵,写作:

卷积码(convolutional code)
卷积码(convolutional code)文章来源地址https://www.toymoban.com/news/detail-411715.html

到了这里,关于卷积码(convolutional code)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 卷积神经网络CNN(Convolutional Neural Network)

    一、CNN与NN的区别 卷积神经网络与传统神经网络的区别: 二、CNN的整体架构 1.输入层;2.卷积层;3.池化层;4.全连接层 三、卷积层做了什么 首先将图形分割成一个个小区域,对于每一个区域特征不同;接下来选择一种特征计算的方法,为每一个区域计算特征值,得到特征图

    2024年02月04日
    浏览(69)
  • AIGC实战——卷积神经网络(Convolutional Neural Network, CNN)

    在深度学习一节中,我们使用 Keras

    2024年02月04日
    浏览(50)
  • CBAM(Convolutional Block Attention Module)卷积注意力模块用法及代码实现

    CBAM( Convolutional Block Attention Module )是一种轻量级注意力模块的提出于2018年。CBAM包含CAM(Channel Attention Module)和SAM(Spartial Attention Module)两个子模块,分别在通道上和空间上添加注意力机制。这样不仅可以节约参数和计算力,而且保证了其能够做为即插即用的模块集成到现

    2024年02月11日
    浏览(33)
  • 论文阅读:RFAConv: Innovating Spatial Attention andStandard Convolutional Operatio|RFAConv:创新空间注意力和标准卷积操作

      摘要 一、简介 3研究方法 3.1标准卷积操作回顾 3.2空间注意力回顾 3.3 空间注意与标准卷积运算 3.4创新空间注意力和标准卷积操作 入数据 总结 空间注意力被广泛用于提高卷积神经网络的性能。但是,它也有一定的局 限性。 本文提出了空间注意有效性的新视角,即空间注意

    2024年02月04日
    浏览(46)
  • ImageNet Classification with Deep Convolutional 论文笔记

    ✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 ImageNet Classification with Deep Convolutional Neural N

    2024年01月18日
    浏览(42)
  • 论文笔记:Multiplex Heterogeneous Graph Convolutional Network

    导致很难捕获到跨不同关系的异构结构信号 什么是多类型节点之间多重网络的关系异质性? 首先要知道什么是多重网络(multiplex network),在一个网络中,用户可能会对一个商品有多种交互,比如点击、购买、评论,这些交互都形成了用户节点与商品节点交互的边,但这些边的

    2024年02月05日
    浏览(40)
  • Visualizing and Understanding Convolutional Networks阅读笔记

       CNN模型已经取得了非常好的效果,但是在大多数人眼中,只是一个“黑盒”模型,目前还不清楚 为什么它们表现得如此好,也不清楚如何改进 。在本文中,我们探讨了这两个问题。我们介绍了一种新的可视化技术,可以深入了解中间特征层的功能和分类器的操作。通过

    2024年02月12日
    浏览(35)
  • 【论文解读】2017 STGCN: Spatio-Temporal Graph Convolutional Networks

    使用历史速度数据预测未来时间的速度。同时用于序列学习的RNN(GRU、LSTM等)网络需要迭代训练,它引入了逐步累积的误差,并且RNN模型较难训练。为了解决以上问题,我们提出了新颖的深度学习框架 STGCN ,用于交通预测。 符号 含义 M 历史时间序列长度 n 节点数 C i C_i C i ​

    2024年02月16日
    浏览(39)
  • (CVPR 2018) 3D Semantic Segmentation with Submanifold Sparse Convolutional Networks

    卷积网络是分析图像、视频和3D形状等时空数据的事实标准。虽然其中一些数据自然密集(例如照片),但许多其他数据源本质上是稀疏的。示例包括使用LiDAR扫描仪或RGB-D相机获得的3D点云。当应用于此类稀疏数据时,卷积网络的标准“密集”实现非常低效。我们引入了新的

    2023年04月08日
    浏览(45)
  • 论文阅读《EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks》

    就上一篇博客如何写论文、读(分享汇报)论文,在《EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks》进行实践。 《EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks》是一篇由Mingxing Tan和Quoc V. Le等人于2019年提出的论文,主要关注卷积神经网络(CNN)的模型缩

    2024年02月03日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包