汉明重量汉明距离译码与纠错

目录

  • 汉明重量
  • 汉明距离
  • 汉明重量与校验矩阵的关系
  • 错误图样&最小距离译码规则
  • 检错纠错能力与最小汉明重量

汉明重量

定义14 设 G G G 不是零矩阵,则称非零码字中非零元的数量为该码字的汉明重。一个编码中所有非零码字的汉明重的最小值称为 G G G的最小汉明重。



汉明距离

定义15 设 x = ( x 1 , ⋯ , x n ) , y = ( y 1 , ⋯ , y n ) x=(x_1,\cdots,x_n),y=(y_1,\cdots,y_n) x=(x1,,xn),y=(y1,,yn)是两码字。则定义
d ( x , y ) : = ∑ i = 1 n ( x i ⊕ y i ) d(x,y):=\sum_{i=1}^n\left(x_i\oplus y_i\right) d(x,y):=i=1n(xiyi)

为它们的汉明距离。

求和号表示的是普通的加法,而求和号里面是二元域的加法。

可以证明,汉明距离确实是一个距离,即满足严格正定性、对称性和三角不等式。

由上述定义可知,一个线性码的最小汉明重等于码字集中的最小汉明距离。



汉明重量与校验矩阵的关系

定理9 设 H H H G G G的校验矩阵,则 H H H的任意 t t t列线性无关且存在 t + 1 t+1 t+1列线性相关当且仅当 G G G的最小汉明重为 t + 1 t+1 t+1

证明 G G G的最小汉明重为 t + 1 t+1 t+1 ,当且仅当线性方程组 H X = 0 HX=0 HX=0的任意解的非零分量数不低于 t + 1 t+1 t+1 ,并且可以取到 t + 1 t+1 t+1 。而这就当且仅当 H H H的任意 t t t列线性无关,且存在 t + 1 t+1 t+1 列线性相关。



错误图样&最小距离译码规则

设输入 x n = ( x 1 , ⋯ , x n ) x^n=(x_1,\cdots,x_n) xn=(x1,,xn),输出 y n = ( y 1 , ⋯ , y n ) y^n=(y_1,\cdots,y_n) yn=(y1,,yn) 。如果 y n y^{n} yn 适合 y n k H ′ = 0 y^{n_k}H^{\prime}=0 ynkH=0 ,那么我们就认为输入的码字就是 y n k y^{n_k} ynk (当然这其实也不一定,但是信道恰好把一个码字变为另一个码字的概率也不是很大);而如果 y n H ′ ≠ 0 y^nH^{\prime}\neq0 ynH=0 ,那说明传输一定发生了错误。

定义一个向量 E : = ( e 1 , ⋯ , e n ) E:=(e_1,\cdots,e_n) E:=(e1,,en) ,其中如果第官位发生错误,就令 e i i = 1 e_{i_i}=1 eii=1,否则令 e i = 0 e_i=0 ei=0 。于是有 y n = x n + E y^n=x^n+E yn=xn+E (时刻不要忘记我们是在二元域上讨论的,这也是二元域加法定义的好处)。记 S = y r k H ′ S=y^{r_k}H^{\prime} S=yrkH,则 S = ( x n + E ) H ′ = E H ′ S=(x^n+E)H^{\prime}=EH^{\prime} S=(xn+E)H=EH ,即 S S S是一个只与发生错误的位置有关的向量,称为监督子,校验子或伴随式, E E E称为错误图样。

不过即使如此,不同的错误图样仍然有可能诱导出不同的伴随子,究其原因, S = E H ′ S=EH^{\prime} S=EH式取转置即得 H E ′ = S HE^{\prime}=S HE=S ,而 H H H的列数肯定大于行数,因此解必不唯一。

于是需要给出一种译码规则,把 y x k y^{x_k} yxk映到一个码字。这就是最小距离译码规则:我们选择使得 d ( x n , y n ) d(x^n,y^n) d(xn,yn)达到最小的那个 x n ∈ x^n\in xnIm G ′ G^{\prime } G作为 y n y^{n} yn的译码。这是为什么呢?
因为假设每个字母翻译错的概率为 p p p ,那么结合实际来看, p p p是个很小的数。计算可知,恰好传输错 t t t位的概率为 p t ( 1 − p ) n − t p^t(1-p)^{n-t} pt(1p)nt ,有
p 1 ( 1 − p ) n − 1 > > p 2 ( 1 − p ) n − 2 > > ⋯ > > p t ( 1 − p ) n − t > > ⋯ p^1(1-p)^{n-1}>>p^2(1-p)^{n-2}>>\cdots>>p^t(1-p)^{n-t}>>\cdots p1(1p)n1>>p2(1p)n2>>>>pt(1p)nt>>

所以传输过程中错的位数应该很少,错得越少的概率越大。因此我们就选那个与 y n y^{n} yn相差位数最少的码字作为译码结果。


检错纠错能力与最小汉明重量

对于最小汉明重为 d d d ( n , k ) (n,k) (n,k)线性码,
(1)若 d = 2 e + 1 d=2e+1 d=2e+1 ,则该码能纠正 e e e个错误;
(2)若 d = l + 1 d=l+1 d=l+1 ,则该码能检测 l l l个错误;
(3)若 d = e + l + 1 ( e < l ) d=e+l+1(e<l) d=e+l+1(e<l) ,则该码能在纠正 e e e个错误的同时检测 l l l个错误。

证明
(1)设输入 x n = ( x 1 , ⋯ , x n ) x^n=(x_1,\cdots,x_n) xn=(x1,,xn),输出 y n = ( y 1 , ⋯ , y n ) y^n=(y_1,\cdots,y_n) yn=(y1,,yn),假设发生了 e e e 个错误,即 d ( x n , y n ) = e d(x^n,y^n)=e d(xn,yn)=e ,又对任意其他码字 z z z , d ( x , z ) ≥ d = 2 e + 1 d(x,z)\geq d=2e+1 d(x,z)d=2e+1 。从而由三角不等式得: d ( y n , z n ) ≥ e + 1 > e = d ( x n , y n ) d(y^n,z^n)\geq e+1>e=d(x^n,y^n) d(yn,zn)e+1>e=d(xn,yn) ,从而根据最小距离译码规则必把 y n y^{n} yn译为 x n x^n xn

(2)假设发生了 l l l个错误,则 d ( x n , y n ) = l d(x^n,y^n)=l d(xn,yn)=l 。而对任意码字 z z z , d ( x n , z ) ≥ l + 1 d(x^n,z)\geq l+1 d(xn,z)l+1 ,于是立即知道 y n y^{n} yn不是码字,这就发现了错误。

(3)结合(1)(2)即得。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/5878.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

模块化开发 webpack

模块化开发 & webpack 1、模块化开发 & webpack1.1 webpack 执行过程1.1.1 初始化1.1.2 编译1.1.3 输出 2.1 webpack 基础配置2.1.1 Entry2.1.1.1 context2.1.1.2 Entry类型 2.1.2 output2.1.2.1 filename2.1.2.2 publicPath2.1.2.3 path2.1.2.4 libraryTarget 和 libr…

OpenEuler 使用ffmpeg x11grab捕获屏幕流,rtsp推流,并用vlc播放

环境准备 安装x11grab(用于捕获屏幕流)和libx264(用于编码) # 基础开发环境&x11grab sudo dnf install -y \autoconf \automake \bzip2 \bzip2-devel \cmake \freetype-devel \gcc \gcc-c \git \libtool \make \mercurial \pkgconfig \zlib-devel \libX11-devel \libXext…

uni-app 图标库整合最佳实践:使用 iconfont 构建属于自己的图标库

一. 前言 在前端开发中&#xff0c;图标已经成为页面设计中不可或缺的一部分。图标可以使界面更加美观、清晰&#xff0c;并且能够提升用户体验。而使用图标库来管理和引用图标资源&#xff0c;可以带来更多的便利和效率。 而在众多的图标库中&#xff0c;iconfont 独树一帜。…

刷题强训 (day1) -- 数字统计

1、数字统计 1.1题目 1.2 思路 根据题目得知我们要统计2出现的次数&#xff0c;那么这就是一个枚举 数字拆分的过程&#xff0c;先设一个变量count统计2出现的次数&#xff0c;那么count怎么变化呢&#xff1f; 当然了出现一个2&#xff0c;count就1&#xff0c;重点在于如何…

AI-基本概念-向量、矩阵、张量

1 需求 需求&#xff1a;Tensor、NumPy 区别 需求&#xff1a;向量、矩阵、张量 区别 2 接口 3 示例 4 参考资料 【PyTorch】PyTorch基础知识——张量_pytorch张量-CSDN博客

Halcon区域分割之分水岭分割法

现实中我们见到过有山有湖的景象&#xff0c;那么一定是水绕山、山围水的情形。当然可在需要的时候人工构筑分水岭&#xff0c;以防集水盆之间的互相穿透。而区分高山与水的界线以及湖与湖之间的间隔&#xff0c;就是分水岭。 分水岭分割法是一种基于拓扑理论的数学形态…

数据结构与算法——图

图 1.图的定义和表示 图的定义 图G由集合V和集合E组成&#xff0c;记作G(V,E),其中&#xff1a; 1、V是顶点元素的有限集合&#xff1b; 2、E是顶点间关系——边的有限集合。 3、边是顶点的无序对或有序对。 无向图和有向图&#xff1a; 无向图 由没有方向的边构成的图…

FebHost:法国.FR域名的市场前景和挑战

.FR域名的未来前景如何&#xff1f; .fr域名在2023年经历了显著增长&#xff0c;新注册量大幅增加。这一积极趋势凸显了法国 VSE&#xff08;极小型企业&#xff09;和 SME&#xff08;中小型企业&#xff09;数字化转型的持久影响&#xff0c;这一转变早在 2022 年就已开始。…

SQL进阶技巧:如何计算复合增长率?

目录 0 场景描述 1 数据准备 2 问题分析 3 小结 0 场景描述 复合增长率是第N期的数据除以第一期的基准数据&#xff0c;然后开N-1次方再减去1得到的结果。假如2018年的产品销售额为10000&#xff0c;2019年的产品销售额为12500&#xff0c;2020年的产品销售额为15000&…

开源的 API 学习平台「GitHub 热点速览」

前有 5 万颗星标的开源项目 HTTPie 因误操作导致 Star 清零&#xff08;2022 年&#xff09;&#xff0c;上周知名开源项目 Elasticsearch 也经历了 Star 一夜清零的事件。这些事故的原因均是管理员误将开源项目从公开状态转为私有状态所导致。为避免类似事件再次发生&#xff…

华为HD集群重启NAMENODE实例操作步骤

华为HD集群重启NAMENODE实例操作步骤 管理员账号进入FI——服务——HDFS&#xff0c;选择角色&#xff1a;namenode重启namenode&#xff08;备&#xff09; 如下图&#xff1a;点击【实例】–角色选择【Namenode】–选择备节点&#xff08;自己记录一下当前备节点的IP&…

LoRA:大型语言模型(LLMs)的低秩适应;低秩调整、矩阵的低秩与高秩

目录 LoRA:大型语言模型(LLMs)的低秩适应 一、LoRA的基本原理 二、LoRA的举例说明 三、LoRA的优势 低秩调整、矩阵的低秩与高秩 一、低秩调整(LoRA) 二、矩阵的低秩 三、矩阵的高秩 LoRA:大型语言模型(LLMs)的低秩适应 LoRA(Low-Rank Adaptation of LLMs),…

CST参数扫描设置细节

cst参数扫描的细节 点开参数扫描对话框&#xff0c;新建扫描参数&#xff0c; 例如参数a进行扫描1-2&#xff0c;0.5的步长&#xff0c;这样最后会出现3个参数的仿真结果。 这时如果增加参数b的扫描&#xff0c;在同一sequence下&#xff0c;同样1-2&#xff0c;0.5的步长&…

最高降本90%!它究竟是如何实现的?

第一、云在未来“优先”&#xff0c;病毒攻击和人为错误将成主要威胁 根据Gartner预测&#xff0c;到2025年&#xff0c;超过95%的新数字工作负载将被部署在云原生平台上&#xff0c;超过85%的企业机构将接受云优先原则。 在这一背景下&#xff0c;勒索病毒攻击和人为错误成为…

OpenCV—calcHist()函数

void calcHist( const Mat* images, int nimages,const int* channels, InputArray mask,SparseMat& hist, int dims,const int* histSize, const float** ranges,bool uniform true, bool accumulate false ); images 输入的数据指针&#xff0c;要具备相同的尺寸和数…

用例怎么链接到其他地方的序列图

龙勤思(2018年1月22日)&#xff1a; 潘老师&#xff0c;你在PPT里说分析序列图的位置在用例下面。但是你上课时给的EA模板里需求和分析是分成两个包的&#xff0c;所以分析序列图没办法直接加为系统用例的下级元素 潘加宇: 这页幻灯片有点老了&#xff0c;回头我更新。严格来…

Java | Leetcode Java题解之第540题有序数组中的单一元素

题目&#xff1a; 题解&#xff1a; class Solution {public int singleNonDuplicate(int[] nums) {int low 0, high nums.length - 1;while (low < high) {int mid (high - low) / 2 low;mid - mid & 1;if (nums[mid] nums[mid 1]) {low mid 2;} else {high …

利用游戏引擎的优势

大家好&#xff0c;我是小蜗牛。 在当今快速发展的游戏产业中&#xff0c;选择合适的游戏引擎对开发者来说至关重要。Cocos Creator作为一款功能强大且灵活的游戏引擎&#xff0c;为开发者提供了丰富的工具和资源&#xff0c;使他们能够高效地开发出优秀的游戏。本文将探讨如何…

python怎样嵌入c

用c语言编写一个动态库&#xff0c;提供两个函数&#xff0c;两个数的整形求和&#xff0c;两个浮点数的求和。取名为mylib.c。 将c函数文件编译成so动态库。运行gcc mylib.c -fPIC -shared -o libtest.so命令&#xff0c;在目录下可以看到生成的库文件libtest.so。 Python调用…

ML 系列:机器学习和深度学习的深层次总结( 19)— PMF、PDF、平均值、方差、标准差

一、说明 在概率和统计学中&#xff0c;了解结果是如何量化的至关重要。概率质量函数 &#xff08;PMF&#xff09; 和概率密度函数 &#xff08;PDF&#xff09; 是实现此目的的基本工具&#xff0c;每个函数都提供不同类型的数据&#xff1a;离散和连续数据。 二、PMF 的定义…