海明不等式推导

2024-03-07 09:50
文章标签 不等式 推导 海明

本文主要是介绍海明不等式推导,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

根据教材:

假设传输的数据为:

1001011

在2^n位上不放信息位,放校验位 则

 

  1 000 011  

这样可能还有点难看出规律

但是当校验位达到6位时

dfe7cb5b34da49bba70712808ae9e211.png

 表格中n代表的就是校验位

此时校验位和其能校验的最大信息位为:

1->0

2->1

3->4

4->11

5->26

这样校验位和信息位的关系就能看出来了

设校验位的位数为n,其能表示的最大信息位为An

可以推断出An = (2^(n-1))-1+A(n-1)可能在此页面上还很难看出来

下面我将用笔算计算该数列的通项公式:

2b1ae06f2d53418eb28a72c710c12c02.png

 

 d0348b92962c4b218c063e41c225511a.png

 推导出结果与海明不等式相同

m<=2^k-k-1

至此 海明不等式推导完成 当然是站在先辈们的肩膀上计算的 

如有不对,欢迎评论纠正

 

关于校验码和信息码之间的计算,我还写了一段简单的代码

各位可以试一试:

//传入校验码的位数 返回其可以校验的信息位位数public static int hamming(int k) {int m = 1;if (k > 1) {for (int i = 0; i < k - 1; i++) {m *= 2;}return (m - 1) + hamming(k - 1);} else {return 0;}}
//传入信息位的位数 返回需要的校验位位数public static int reHamming(int m) {for (int i = 0; i < 100; i++) {if (m > hamming(i) && m <= hamming(i + 1)) {return i + 1;}}return 0;}

 

 

这篇关于海明不等式推导的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/783115

相关文章

uva 10014 Simple calculations(数学推导)

直接按照题意来推导最后的结果就行了。 开始的时候只做到了第一个推导,第二次没有继续下去。 代码: #include<stdio.h>int main(){int T, n, i;double a, aa, sum, temp, ans;scanf("%d", &T);while(T--){scanf("%d", &n);scanf("%lf", &first);scanf

校验码:奇偶校验,CRC循环冗余校验,海明校验码

文章目录 奇偶校验码CRC循环冗余校验码海明校验码 奇偶校验码 码距:任何一种编码都由许多码字构成,任意两个码字之间最少变化的二进制位数就称为数据检验码的码距。 奇偶校验码的编码方法是:由若干位有效信息(如一个字节),再加上一个二进制位(校验位)组成校验码。 奇校验:整个校验码中1的个数为奇数 偶校验:整个校验码中1的个数为偶数 奇偶校验,可检测1位(奇数位)的错误,不可纠错。

【无线通信发展史⑧】测量地球质量?重力加速度g的测量?如何推导单摆周期公式?地球半径R是怎么测量出来的?

前言:用这几个问答形式来解读下我这个系列的来龙去脉。如果大家觉得本篇文章不水的话希望帮忙点赞收藏加关注,你们的鼓舞是我继续更新的动力。 我为什么会写这个系列呢? 首先肯定是因为我本身就是一名从业通信者,想着更加了解自己专业的知识,所以更想着从头开始了解通信的来源以及在每一个时代的发展进程。 为什么会从头开始写通信? 我最早是学习了中华上下五千年,应该说朝代史,这个算个人兴趣,从夏

CF #278 (Div. 2) B.(暴力枚举+推导公式+数学构造)

B. Candy Boxes time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output 题目链接: http://codeforces.com/contest/488/problem/B There

HDU2524(规律推导)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2524 解题思路: 暴力推出矩阵,以n = 2 , m = 4为例: 1 3  6  10 3 9 18 30 可以发现第一行和第一列都是有规律的,彼此相差2、3、4·····,其他元素为相应行第一个元素乘以第一列元素的积。预处理之后,我们O(1)就可以输出g[n][m]的值。 另外,

Ural1209(数学推导)

题目链接:点击打开链接 解题思路: 此题甚好。推导公式,首先观察序列110100100010000·····,我们把为1的下标单独拿出来看。依次为1、2、4 、7、 11·····,可以分解为1+(0) 、1+(0+1)、1+(0+1+2)、1+(0+1+2+3)、1+(0+1+2+3+4),可以推导出规律1 + x * (x - 1) / 2。 那么对于每个n,我们只要判断是否存在x

Python中如何实现列表推导式(List Comprehension)

Python中的列表推导式(List Comprehension)是一种简洁且高效的方式来创建列表。它不仅让代码更加简洁,而且通常比使用循环和条件语句生成列表更快。列表推导式的基本形式允许你从现有的列表或其他可迭代对象中创建新的列表,同时应用过滤和转换操作。下面我将详细解释列表推导式的概念、基本语法、高级用法以及其在实际应用中的优势。 一、列表推导式的基本概念 列表推导式是Python中的一种

对极约束及其性质 —— 公式详细推导

Title: 对极约束及其性质 —— 公式详细推导 文章目录 前言1. 对极约束 (Epipolar Constraint)2. 坐标转换 (Coordinate Transformations)3. 像素坐标 (Pixel Coordinates)4. 像素坐标转换 (Transformations of Pixel Coordinates)5. 本质矩阵 (Essential Matr

【Python基础】Python推导式

本文收录于 《Python编程入门》专栏,从零基础开始,分享一些Python编程基础知识,欢迎关注,谢谢! 文章目录 一、前言二、列表推导式三、元组推导式(生成器表达式)四、字典推导式五、集合推导式六、总结 一、前言 Python推导式(Comprehensions)是Python语言中一种独特且强大的语法特性,用于从已有的可迭代对象(如列表、元组、字典、集合)快速创建

《机器学习》 基于SVD的矩阵分解 推导、案例实现

目录 一、SVD奇异值分解 1、什么是SVD 2、SVD的应用         1)数据降维         2)推荐算法         3)自然语言处理 3、核心         1)什么是酉矩阵         2)什么是对角矩阵 4、分解过程 二、推导 1、如何求解这三个矩阵         1)已知:          2)根据酉矩阵的特点即可得出: