问题标签 [hamming-code]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
467 浏览

matlab - 错误控制编码 - 汉明软解码

我想使用欧几里德距离(使用函数 repmat)创建汉明软解码器。我尝试编程,但它没有按我的意愿工作,我没有找到正确的 BER。

有人在我的解码器中检测到错误吗?

% 软解码

MATLAB代码:

0 投票
0 回答
153 浏览

matlab - 置换映射:二进制汉明码

我有一个带有生成矩阵的二进制汉明码

是一个接收到u的向量 u = [0.5 0.3 1.3 -0.1 0.7 0.6 1.5]

基于递减值的置换接收向量是:

v = p(u) = [1.5 1.3 0.7 0.6 0.5 0.3 -0.1]p = (5 6 2 7 3 4 1).

置换生成矩阵为:

我试图编写这个例子,但我没有找到完全相同的答案,我发现p不同但相同vG1

我的代码:

我得到:

我的代码有什么问题?我希望得到与示例中相同的结果。

谢谢!

0 投票
0 回答
254 浏览

bit - 如何计算 10 位的汉明码?

我见过 8 位或 12 位的汉明码检测和校正示例。假设我有位串:1101 0110 11它包含 10 位。

我是否需要在该位串中添加两个额外的位来完成半字节?如果是我要添加0s or 1s吗?

我已经寻找了其他示例,但似乎无法找到那些带有部分半字节的示例来确定程序。谢谢你。

0 投票
1 回答
74 浏览

php - 如何生成这个系列?

它是什么类型的系列以及如何通过 php 程序生成它?

0 1 3 2 6 7 5 4 12 13 15 14 ...

观察:实体的连续差为1

例子:

0和1的差是1

3 和 2 的差为 1

6 和 7 的差为 1

5 和 4 的差为 1

12 和 13 的差为 1

15 和 14 的差为 1

请帮忙 ...

0 投票
2 回答
3202 浏览

python - 汉明窗口,python 2.7

嗨,我有一个非常嘈杂的 FFT。如何应用到我的代码汉明窗口以减少噪音。看我的代码:

plt.show() 是什么 在此处输入图像描述

我需要的是: 在此处输入图像描述

我见过(https://docs.scipy.org/doc/scipy-0.13.0/reference/generated/scipy.signal.hamming.html)和这个(https://docs.scipy.org/doc/numpy -1.13.0/reference/generated/numpy.hamming.html)但仍然不知道如何将其应用于我的代码。有任何想法吗?正如我所说,您在第二张图片中看到了我需要的东西。也许布莱克曼窗口也可以很好地应用,但仍然不知道如何添加它。

应用这个:

给我那个,它看起来不像我想要的图表。

在此处输入图像描述

0 投票
1 回答
120 浏览

python - Python - 需要 Numpy 加速

我想知道我是否可以使用numpy加速此代码...

代码实际上正在运行,但我知道使用 np.where 可以做得更好,我尝试过但没有成功:)

对于每个同步位置,我想将第一个位置('000','001'...)上的字符串与变量综合症(强制转换为字符串)进行比较,并在匹配时获得第二个位置的 int

就像如果我有一个综合症'100'我会得到 4 所以我知道我必须翻转 8 位代码字中的第 4 位

0 投票
0 回答
205 浏览

python - 如何在 Python 枚举中更改您想要的索引号?

我正在尝试用 Python 编写汉明码编码,但我被困在必须计算奇偶校验位索引的部分。

汉明码是使用额外的奇偶校验位来识别单个错误。创建代码字如下:

将所有为 2 的幂的位位置标记为奇偶校验位。(位置 1、2、4、8、16、32、64 等)所有其他位位置用于要编码的数据。(位置 3、5、6、7、9、10、11、12、13、14、15、17 等)每个奇偶校验位计算代码字中某些位的奇偶校验。奇偶校验位的位置决定了它交替检查和跳过的位序列。

位置 1:检查 1 位、跳过 1 位、检查 1 位、跳过 1 位等(1、3、5、7、9、11、13、15、...)

位置2:校验2位、跳过2位、校验2位、跳过2位等(2,3,6,7,10,11,14,15,...)

位置4:校验4位、跳过4位、校验4位、跳过4位等(4,5,6,7,12,13,14,15,20,21,22,23,...)

位置8:校验8位、跳过8位、校验8位、跳过8位等(8-15,24-31,40-47,...)

16位:校验16位、跳过16位、校验16位、跳过16位等(16-31,48-63,80-95,...)

位置 32:检查 32 位、跳过 32 位、检查 32 位、跳过 32 位等(32-63,96-127,160-191,...)等。

如果它检查的位置中的总个数是奇数,则将奇偶校验位设置为 1。如果它检查的位置中的总个数是偶数,则将奇偶校验位设置为 0。

本质上,我需要在索引处生成奇偶校验位:

P1 = [1,3,5,7,9,11 等]

P2 = [2,3,6,7,10,11 等]

P3 = [4,5,6,7,12,13 等]

P4 = [8,9,10,11,12,13,14,15,24 等]

找到这些后,我需要将这些位相加,以 2 为模,然后插入正确的位置。

我的代码查找插入位置

输入:

hamming("10101010")

电流输出:

现在我需要找到正确的奇偶校验索引(如上的 P1、P2、P3)。

最初,我试图用 while 循环生成索引。这一直有效,直到我得到一个列表超出范围错误。另外,它几乎不可读。

现在我正在尝试使用 enumerate 函数来获取所需索引的列表。就像是:

期望的输出是:

P1= 1 P P2= 2 P 3 1 3 1 5 0 6 1 7 1 7 1

然后,我可以将这些位添加到一个字符串中。任何人都可以帮忙吗?

我希望这是有道理的。我对编码很陌生,所以请不要判断。

0 投票
1 回答
791 浏览

matlab - 误码率计算 15,11 汉明码图

下面,在我的代码中是假设找到模拟 BER。但是我在这段代码中遇到错误,其中nErrors = biterr(dataIn,dataDec2)这条线给出了矩阵尺寸不匹配。

有没有人可以帮助我?

0 投票
1 回答
46 浏览

hamming-code - 整个互联网上是否有任何地方可以从中复制/粘贴 Hamming(8,4) 表?

我为这个互联网支付了很多钱,我不需要输入所有这些位。

说真的,我们说的是总共 128 位。你真的希望我自己输入这些吗?

0 投票
1 回答
889 浏览

c - 汉明码 (255 247) 可以检测和纠正多少位?

我正在寻找一个简单问题的简单答案,但我还没有找到一个直截了当的答案。

对于汉明码序列(7 4),它既可以进行1位检测和纠正,也可以进行2位错误检测。

我想知道 (255 247) 汉明序列的同样的事情。如果有一种算法可以解决这个问题,我将非常感激,因为我有兴趣了解其他汉明序列的这些信息。

是否还有专门用于 (255 247) 编码的 C 代码示例?