通信原理相关博文目录:目录

我们常在移动通信中遇到的卷积码就是一种非分组码,卷积码和信号处理中的卷积运算有关系吗?

是不是就是信号处理中的卷积运算,先看看编码器的编码原理再说:

下面是一个比较实用的卷积码编码器:

它有三个移位寄存器D0,D1,D2和三个模2加法器,以及一个旋转开关组成,编码前,先将各级移位寄存器清零:

现在假设输入的信息码元是1101:

当输入的第一个码元为1时,三个模2加法器计算的结果都为1:

旋转开关在这个间隙内依次接到c1,c2,c3:

因此编码输出为111:

输入第二个码元1时,之前的码元右移一位,输出为110:

以此类推,输入码元0时,输出010:

输入最后一个码元1时,输出100:

因此输入1101,编码输出为:

111 110 010 100。

其中每一码组的监督码元都和本码组的信息码元,以及前两组的信息码元有关,也就是说本码组的监督码不仅监督本码组,而且对前面两个码组也有监督作用,这是和分组码特别不同的地方,分组码的监督码仅监督本码组的信息,所以把分组码表示成(n,k),而把卷积码表示为(n,k,m),其中n为分组长度,k为分组中的信息码元数目,m为本信息段之前的相关信息段数目,显然一个码组的监督码元监督着m+1个信息段,因此也将N=m+1称为码组的约束长度,在本例中,相关数值如下:

编码效率:

既然卷积码也有码组,为什么说它不是分组码呢?

真正的分组应该是独立的,但卷积码的码组之间是有着约束关系的,另外,分组码有着严格的代数结构,而卷积码至今尚未找到如此严谨的数学手段,因此不能简单的应用代数译码,实际上大多数译码器采用的是概率译码,这其中最流行的当属维特比译码了。

维特比译码,现在不说。

现在可以回答一开始的那个问题了,卷积编码和卷积运算有什么关系呢?

自然是有关系的,直观上,卷积编码过程具有翻转、右移、叠加和相关等特征,这个咱们在信号中演示的卷积运算何其相似啊。

实际上,在数学推算中,每输入一个信息码组,所获得的输出码组,的确可以看做由卷积运算得来的,这也是卷积码名称的由来。

下面介绍Turbo码:

所谓最大似然,就是最像的意思。

因为编码是随机的,没有严格的代数运算,所以译码就只能看收到的码组最像哪个许用码组,就判为哪个码组。

既要码组很长,又要最大似然译码,听说这是左右为难的事情?

因为码组加长,译码难度就会成指数增长,所以长期以来,人们都认为,随机编译码仅仅是香农为证明定理的存在而引入的理论方法,实际上是不可能实现的,但是Turbo码的出现,显然改变了这一人们固有的观念。

Turbo码的思想是利用短码来构造长码,通过对长码的伪随机交织,实现大约束长度的随机编码。

而在译码时,则使用迭代译码,将长码化成短码,从而以较小复杂度来获得接近最大似然译码的性能。

编码器结构:

由两个递归系统卷积编码器通过交织器并行级联而成,所以Turbo码也被称为并行级联卷积码。

这个所谓的递归系统卷积编码器,简称RSC编码器。

RSC编码器和前面讨论的卷积编码器主要的区别是每一个移位寄存器的输出,都有反馈回信息的输入端,

这就是所谓的递归的意思:

交织器的基本原理:

将输入序列按行写入,

按列读出,

目的是将突发的错码分散开,变成随机错码,使两个RSC编码器趋近独立,同时可以变短码为长码,使之接近香农定理的条件,也就是码组足够长,并且是随机的。

然后删余,是为了提高编码效率,周期删除一些多余的校验位,

复用则是一种并串转换,将信息位和校验位合并输出,

Turbo码译码原理:

这是Turbo码译码器的基本结构,编码器用了两个RSC编码器,译码时相应用了连个译码器,

收到编码器发来的编码序列后,

首先要进行串并转换,分离出信息序列,和两个校验序列,对于那些要删余的地方要补0,

译码器1并没有对信息序列作判决,而是产生一个被称为外信,1的可信度译码信息,这个信息可以帮组译码器2对信息序列作更精确的判断,这里的交织器的作用是使译码器2的输入信息,在所有时刻上都是相对应的,译码器2用与译码器1同样的方法,再次产生一个外信息2,这个外信息2经过去交织后,反馈回译码器1,作为译码器1的输入,这一过程就称为循环迭代。

经过多次循环迭代后,译码器2对信息序列的判断会更为精确,最后对译码器2输出的似然序列去交织后,再进行一次硬判决,就得到了最终的输出信息。

综上,编码用递归,译码用迭代。

分组码,卷积码,Turbo码的优缺点?

分组码是在严密的代数理论上建立的,因而它的编译码电路都比较简单,应用较为广泛,适合于发现和纠正突发错误,所谓突发错误,即错误突然集中发生;

卷积码可以纠正随机错码,而且在码率和复杂性相同的情况下,卷积码的性能优于分组码;

Turbo码的编码性能无疑是这几种码中最好的,但大家都看到了,编译码较为复杂,相比之下有较大的延迟,所以通常只应用在对延迟不太敏感的数据通信中。

卷积码和Turbo码相关推荐

  1. 信息论-Turbo码学习

    文章目录 1.Turbo码: 2.Turbo码理解: 将两个简单分量码通过**伪随机交织器**并行级联来构造具有**伪随机特性**的长码,并通过在两个**软入/软出(SISO)译码器**之间进行多次迭 ...

  2. Turbo码:3GPP TS 36.212

    Table of Contents [百度百科] [Turbo码] [LTETurbo编码迭代对比:误码率] [3GPP TS 的Turbo内部交错器TS 36.212 v10.1.0 5.1.3-3 ...

  3. erfc函数、persistent、turbo码

    1. erfc函数 erf是误差函数,erfc是误差互补函数,在计算通信系统中的ber时用到erfc函数. BER=12erfcEbN0BER = \frac{1}{2} erfc\sqrt{\fra ...

  4. CRC辅助的Turbo码增强译码算法(PLVA)

    为了提高传统迭代译码的Turbo译码算法,本文把Turbo码和CRC看成一个级联码,研究利用CRC的冗余来增强Turbo译码性能.由于Turbo码的分量码是卷积码,所以采用基于List Viterbi ...

  5. 通信系统未编码、卷积码与格雷码的仿真性能比较

    通信系统未编码.卷积码与格雷码的仿真性能比较 论文+代码+仿真结果:下载地址 以上仿真结果可知: 1.未编码.卷积编码和格雷码三种编码,经PSK调制后加AWGN(高斯白噪声),在经过解调和解码得出来的 ...

  6. VC++实现Turbo码

    Turbo码的概述如下, Turbo码的设计和分析 主要包括交织器的设计.码的级联方式.译码算法.Turbo码的性能分析等.在性能分析中,主要对码重分布及距离谱进行分析,但由于没有相应的理论支持,这种 ...

  7. 基于MATLAB的turbo码代码,一种基于Simulink的Turbo码仿真实现

    一种基于Simulink的Turbo码仿真实现 Implementation of Turbo Code Simulation Based on Simulink DOI: 10.12677/HJWC ...

  8. 基于(7, 5)归零非删余Turbo码的参数识别与分析

    关注公众号[逆向通信猿]试读更多内容!!! 本文主要来源于复现文献的部分内容,有一定的参考价值: [1] 钟兆根, 吴昭军, 刘杰, 张立民. 高误码率下归零Turbo帧结构识别[J]. 电子学报. ...

  9. 信道编码-卷积码、QC-LDPC码

    转载为下次阅读方便,若有侵权立删. 目录 1.卷积码(Convolutional Code) 1.1 卷积码简介 1.2 卷积码表示方法 1.2.1 生成多项式 1.2.2 状态图 1.2.3 网格图 ...

  10. BPSK调制下(2,1,3)、(2,1,6)卷积码与QC-LDPC码译码性能和抑制突发噪声性能对比(MATLAB实现)

    欢迎同步关注公众号[逆向通信猿] QC-LDPC码的原理及构造 通过准循环码方式构造低密度校验矩阵 H ⁡ \operatorname{H} H,基础校验矩阵采用 H b = [ 0 1

最新文章

  1. 那些年php编程犯过的错(1) -- 字符串相等
  2. win7怎么启动对远程服务器的登陆,深度Win7旗舰版如何开启telnet服务使用远程登录...
  3. 如何建立一个数据分析团队?
  4. windows环境下安装nodeJS和express,一直提示command not found-配置环境变量
  5. Linux 系统常用命令汇总(二) vi 文本编辑
  6. QT动态连接库的编写
  7. 织梦重置mysql数据库密码忘记_织梦cms管理员密码忘记了怎么重置找回?
  8. 【bzoj3991】[SDOI2015]寻宝游戏 树链的并+STL-set
  9. RDD和DataFrame和DataSet三者间的区别
  10. 关于使用DFS,BFS的一些思考总结
  11. 正在经历变革的 Linux 系统管理员技能
  12. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_7_练习_对文本的内容进行排序...
  13. 1818 绝对差值和
  14. 微信 网页授权/第三方平台账户绑定/微信openid获取
  15. 如何修改织梦后台登陆界面
  16. 毕业设计 单片机遥控小车设计与实现
  17. 雅睿生物在创业板IPO终止:安信证券为保荐人,曾计划募资7.5亿元
  18. 首次申请测绘资质需要提交哪些材料?
  19. 在window上提交spark代码到远程测试环境上运行
  20. 由于不可抗力 /(ㄒoㄒ)/~~国庆学习了 GitLab CI 简单来聊一聊

热门文章

  1. [线程安全问题] 多线程到底可能会带来哪些风险?
  2. MATLAB2016b 下载和安装(亲测)
  3. MTK平台手机刷机工具分享
  4. 爬虫练习--爬取CNNVD相关漏洞
  5. Idea快捷键大全(比较全的)
  6. 从googleDriver下载大数据集
  7. 网易云linux版本如何安装包,网易云音乐Linux版提供64位和32位ubuntu16.04安装包
  8. Axure RPO_ 8 下载安装教程
  9. python点云数据处理_python处理点云数据并生成三维点云模型
  10. 高等数学(第七版)同济大学 习题2-5 个人解答