当前位置: 首页 > news >正文

NR 物理层编码 - slide4 循环码Cyclic Code

前言:

      线性码,循环码系列一般参考国内的教材都差不多.这边以海外的一个

知名博主,eigen chris的《Cyclic codes-Polynomial Properties》,一种非常

新颖的视角去阐述码多项式,我们也可以通过它去深刻理解我们的编码本质

低纬度的空间到高纬度空间的映射,这个跟机器学习分类原理非常相似。

 vaild codeword(蓝色点,前面许可集概念一样)

参考:  

    eigen chris的《Cyclic codes-Polynomial Properties》

   10.循环码-系统结构循环码_哔哩哔哩_bilibili

目录 

  1.     系统结构循环码和循环码
  2.     循环码生成和监督矩阵
  3.     多项式

一   系统结构循环码和循环码

      给定生成多项式g(x),循环码有两种形式:系统结构和非系统结构

    1: 非系统结构

             c(x)=u(x)g(x)

    2:    系统结构

            c_s(x)=x^{n-k}u(x)+p(x)

           其中

           p(x)=mod:\frac{x^{n-k}u(x)}{g(x)}    

    例 (7,4)循环码 ,g(x)=x^3+x^2+1,u=[1100]

    求循环码,系统结构循环码

     解: u(x)=x^3+x^2

      循环码:

      c(x)=u(x)g(x)=(x^3+x^2)(x^3+x^2+1)

                                   =x^6+x^4+x^3+x^2

       系统结构循环码

       n=7,k=4,n-k=3

       I(x)=x^{n-k}u(x)=x^6+x^5

       p(x)=\frac{x^6+x^5}{x^3+x^2+1}

                    =x^2+1

         c_s(x)=I(x)+p(x)=x^6+x^5+x^2+1


二   循环码生成和监督矩阵

      循环码生成矩阵形式如下:

      G(x)=\begin{bmatrix} x^{n-1}+p_{k-1}(x)\\ x^{n-2}+p_{k-2}(x) \\ .... \\ x^{n-k+1}+p_{1}(x) \\ x^{n-k}+p_{0}(x) \end{bmatrix}

其中最重要的是求P_i(x)

  \frac{x^{n-k}A_i(x)}{g(x)}=Q_i(x)+\frac{P_i(x)}{g(x)}

i=[k-1,k-2,...0]

 A_i(x)=x^i

   系统生成矩阵

 H=[P_{k,n-k}^T|I_{n-k}]

证明:

  前面知道

   c_s(x)=u(x)x^{n-k}+p(x)

   p(x)=\frac{u(x)x^{n-k}}{g(x)}余数  保证任何时候生成的循环码码对生成多项式的余数为0)

A_i(x)=x^{i}

 u(x)=\sum\begin{bmatrix} a_{k-1}A_{k-1}(x)\\ a_{k-2}A^{k-2}(x) \\ ... \\ a_{0}A_{0}(x) \end{bmatrix}=[a_{k-1},a_{k-2},...a_0]\begin{bmatrix} A_{k-1}(x)\\ A_{k-2}(x) \\ ... \\ A_0(x) \end{bmatrix}

         因为     \frac{x^{n-k}A_i(x)}{g(x)}=Q_i(x)+\frac{P_i(x)}{g(x)}  i\in[k-1,k-2,..0]

         其中      x^{n-k}A_{i}(x)=x^{j}, j\in\begin{bmatrix} n-1 &.... & n-k \end{bmatrix}

c_s(x)=a_{k-1}[x^{n-k}A_{k-1}+p_{k-1}(x)]+a_{k-2}[x^{n-k}A_{k-2}+p_{k-2}(x)]+..+a_0[x^{n-k}A_{0}(x)+P_{0}(x)]

=[a_{k-1},a_{k-2},...a_0]\begin{bmatrix} x^{n-k}A_{k-1}(x)+p_{k-1}\\ x^{n-k}A_{k-2}(x)+p_{k-2} \\ .... \\ x^{n-k}A_{0}(x)+p_{0} \end{bmatrix}

 =[a_{k-1},a_{k-2},...a_0]\begin{bmatrix} x^{n-1}+p_{k-1}\\ x^{n-k}+p_{k-2} \\ .... \\ x^{n-k}+p_{0} \end{bmatrix}

 例: g(x)=x^3+x^2+1的系统循环码(7,4)生成矩阵和监督矩阵H

解:

      n=7,k=4,n-k=3

     \frac{x^{n-k}A_i(x)}{g(x)}=Q(x)+\frac{p_i(x)}{g(x)} i \in [k-1,k-2,..0]

     \left\{\begin{matrix} p_0(x)\equiv \frac{x^3}{g(x)}=x^2+1\\ p_1(x)\equiv \frac{x^4}{g(x)}=x^2+x+1\\ p_2(x)\equiv \frac{x^5}{g(x)}=x+1 \\ p_3(x)\equiv \frac{x^6}{g(x)}=x^2+x \end{matrix}\right. (除号结果为取模运算)

    

  P=\begin{bmatrix} 110\\ 011 \\ 111 \\ 101 \end{bmatrix}

 G=[I_k,P]

 

  H=[P^T,I__{n-k}]

 =\begin{bmatrix} 1 & 0 &1 & 1& 1 & & \\ 1 & 1& 1& 0 & & 1& \\ 0 & 1 & 1& 1& & & 1 \end{bmatrix}


三 多项式

  eigen chris 有篇关于多项式的文章,写得非常新颖。

编码的本质是低维空间到高维空间的映射,在高维空间

码集分为vaild, not valid两类

 循环码也是一样,如下是多项式的形式

比如k=1的bit,经过repetion 码

如左图,收到10,01那肯定就发生错误了。

右图 通过生成多项式g(x)=1+x ,可以认为在维度[1,x]上面的投影

发现收到的码字为x,1肯定发送了错误.

 余数的解释

相关文章:

  • 内网渗透-内网信息收集
  • 新学期、新目标、迎接新的自己
  • 2022年重庆自考如何报名,有哪些条件和要求?
  • 70 QDateTime时间戳转换有误
  • 中科大给师生们发了一封钓鱼邮件 结果3000多人上当了
  • ROS之rviz文件的加载和保存
  • ESP8266-Arduino编程实例-VCNL4040趋近传感器
  • 机器学习模型1——线性回归和逻辑回归
  • 基于WEB在线音乐工厂的设计与实现
  • 基于 CoreDNS 和 K8s 构建云原生场景下的企业级 DNS
  • 快速学习MyBatis|实战项目详解
  • 戴尔笔记本重装系统硬盘加密怎么解除
  • 美团MTCTF 2022 smtp pwn解
  • 【linux操作系统】xshell原理及Linux权限深度理解(入门必备)
  • 机器学习概述、特征工程、机器学习算法基础
  • 分享一款快速APP功能测试工具
  • 【node学习】协程
  • docker-consul
  • EventListener原理
  • github指令
  • linux安装openssl、swoole等扩展的具体步骤
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • OSS Web直传 (文件图片)
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Swoft 源码剖析 - 代码自动更新机制
  • Vim Clutch | 面向脚踏板编程……
  • 创建一种深思熟虑的文化
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 批量截取pdf文件
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • #Ubuntu(修改root信息)
  • #图像处理
  • (02)Hive SQL编译成MapReduce任务的过程
  • (1)(1.13) SiK无线电高级配置(五)
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (九)c52学习之旅-定时器
  • (九)信息融合方式简介
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (四) Graphivz 颜色选择
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (原)Matlab的svmtrain和svmclassify
  • (转)http-server应用
  • (转)大型网站的系统架构
  • .dwp和.webpart的区别
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .net CHARTING图表控件下载地址
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET Core中的去虚
  • .Net 代码性能 - (1)
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)