交织技术详解

简介: 交织技术详解

本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:https://github.com/timerring/information-theory 】或者公众号【AIShareLab】回复 信息论 获取。

交织技术

1.突发错误

  • 干扰、衰落、均衡等等都会引入突发错。
  • 经过信道编译码后,其译码输出的错误也将呈现突发性,无论是分组码,还是卷积码都是如此。
    • 信道编译码的门限效应

卷积码抗突发错能力很差

  • 卷积码是靠相邻符号间的相关性提供保护的,而此相关性的维系时间一般较短
  • 分组码对突发错和随机错的纠错能力基本相当,但码长较短,稍长一些的突发也无能为力
  • 也有专门针对突发错设计的分组码,但纠随机错的能力相应降低

2.抗突发错的有效手段——交织

交织 (interleaving) 就是一种将数据序列的顺序进行变换的一种处理方法。又可称为置换(permutation)。

交织器的一般表示方法

  • 交织表: $\boldsymbol{j}=\boldsymbol{T}(i)$ , 表示输出序列的第 j 个符号取自输入序列的第 i 个符号。即当输入序列为 $x_{1}, x_{2}, \ldots$ , 输出 序列为 $y_{1}, y_{2}, \ldots$ 时, $ y_{j}=x_{T(i)}$ 。

3.交织器的三个重要参数

  • 交织延迟
  • 交织前相邻的符号在交织后的最小距离称为交织深度
  • 交织后相邻的符号在交织前的最小距离称为交织宽度

基本交织(块交织, block interleaver)

将数据流分成长度为 $\mathbf{W} * \mathbf{L}$ 的块, 将数据逐行写入一个 $\mathbf{L}$ 行 $\mathbf{W}$ 列的矩阵形缓冲区, 写满后再逐列读出。

深度为 $\mathbf{L}$ , 宽度为 $\mathbf{W}$ , 延时为 $\mathbf{W L}$ 。交织和解交织的延时总和为 2WL。

输入序列为 $x_{1}, x_{2}, \ldots, x_{R C}$ ; 输出序列为 $y_{1}, y_{2}, \ldots, y_{R C}$ 。

总结

  • 卷积码:概念,编码、连接矢量、状态图、网格图、维特比译码算法。
  • 交织技术:抵抗突发错误

信道编码总结:

  • 分组码(n,k)、循环码——无记忆编码
  • 卷积码(n,k,L)——有记忆编码

参考文献:

  1. Proakis, John G., et al. Communication systems engineering. Vol. 2. New Jersey: Prentice Hall, 1994.
  2. Proakis, John G., et al. SOLUTIONS MANUAL Communication Systems Engineering. Vol. 2. New Jersey: Prentice Hall, 1994.
  3. 周炯槃. 通信原理(第3版)[M]. 北京:北京邮电大学出版社, 2008.
  4. 樊昌信, 曹丽娜. 通信原理(第7版) [M]. 北京:国防工业出版社, 2012.
目录
相关文章
|
消息中间件 存储 缓存
深入了解队列数据结构:定义、特性和实际应用
深入了解队列数据结构:定义、特性和实际应用
|
Ubuntu
百度搜索:蓝易云【Ubuntu开机自启服务systemd.service配置教程】
现在,你的服务将在Ubuntu开机时自动启动,并在之后的启动中持续运行。记得根据你的实际需求修改 `your_service_name.service`文件中的相关信息。
800 2
|
8月前
|
5G
基于IEEE 802.11a标准的物理层MATLAB仿真
基于IEEE 802.11a标准的物理层MATLAB仿真
454 0
|
SQL JSON API
什么!我把SQL编辑器装进了大模型?
本文旨在通过约束解码技术,赋予大型语言模型在生成SQL等结构化内容时更高的准确性、可控性与可解释性,从而满足企业级场景对“精准生成”的严苛要求。
2106 125
什么!我把SQL编辑器装进了大模型?
|
安全 调度 C++
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)(二)
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)
1661 0
|
10月前
|
IDE API 开发工具
让 GitHub 个人主页更专业:用 WakaTime 实现动态代码统计
这篇文章介绍了如何使用 WakaTime 为 GitHub 个人主页添加动态代码统计,展示编码活跃度,提升专业性。通过注册账号、安装 IDE 插件、配置 GitHub 仓库和使用工作流自动更新 README 文件,实现对多种编程语言的详细统计。
961 1
让 GitHub 个人主页更专业:用 WakaTime 实现动态代码统计
|
存储 关系型数据库 MySQL
ES的全文索引和MySQL的全文索引有什么区别?如何选择?
【8月更文挑战第26天】ES的全文索引和MySQL的全文索引有什么区别?如何选择?
2608 5
|
开发工具 git iOS开发
|
调度 索引
NR PUCCH(一) PUCCH format 0/1
NR中PUCCH物理信道用来发送上行控制信息Uplink Control Information(UCI),当然UCI也可以在PUSCH上发送。UCI 内容包括:CSI,HARQ ACK/NACK ,SR 及上述三者的组合信息。
|
机器学习/深度学习 数据采集 存储
数据集
【7月更文挑战第10天】数据集
2467 1