问题标签 [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.
algorithm - 汉明级数的生成
我一直在尝试解决一个编程问题,其中一个模块需要我生成汉明序列。该函数首先输入两个数字,一个是二进制数 N,另一个是十进制数 K。它现在应该生成所有可能的数字,其汉明距离从 N 到 K。
如果您向我提供有关如何解决此问题的算法,那将非常有帮助。
提前致谢。
matlab - Matlab中的汉明码
我想用奇偶校验位 (SECDED) 构建Hamming(15, 11)代码来纠正 1 位错误并检测 2 位错误。
是否有任何 Matlab 函数可以实现此类代码的编码和解码?
hamming-code - 汉明码混淆
我很难回答这个问题。这是原始问题:
使用校验位
0111
(c8、c4、c2 和 c1)对字进行编码。11101011
该字作为(数据)读回。原始数据字是什么?
我认为既然有 4 个校验位,那么这一定是一个 4 位的内存字,只有 16 个可能的字:0000, 1000, 0100, 1100, 0010, 1010, 0110, 1110, 0001, 1001, 0101, 1101, 0011, 1011, 0111, 1111
. 因此,每个码字有 8 位,校验位在 1、2、4、8 位。
- 位 1 检查位的奇偶性:1、3、5、7、9、11
- 位 2 检查位的奇偶性:2、3、6、7、10、11
- 位 4 检查位的奇偶性:4、5、6、7、12
- 位 8 检查位的奇偶性:8、9、10、11、12
我也知道,如果 1 的检查总数为奇数,则将奇偶校验位设置为 1,如果所有 1 的检查为偶数,则将奇偶校验位设置为 0。
我认为读回的字一定有错误,我必须纠正它,这样我才能找到原始数据字。
这是这个问题发生的事情吗?
hamming-code - 汉明码查找错误
一条 4 位消息已使用汉明码 H(7,4) 进行编码,并通过可能有噪声的信道传输,最多有一个错误。收到消息 0100101(二进制)。
你好,
我在 Parity 6 发现了一个错误,原来的 4 位消息是 0100111。我被告知我错了。有人可以帮忙解释一下原因吗?
谢谢
hamming-code - 双重纠错
有没有使用汉明码纠正双重错误的方法?
error-correction - 汉明码中的奇偶校验
如果已接收到一条消息,例如两个字节,并且已知已使用汉明码对其进行编码,但用于编码的奇偶校验位(偶数/奇数)未知,那么具有奇数奇偶校验和偶数奇偶校验的汉明码是否会应用?努力识别收到的消息中的错误?
networking - 如何计算以下位序列的奇偶校验位?
顺序是:
00111011
我如何计算上述序列的奇偶校验位?这个问题来自 Databases- Jeffery ullman 的完整书(练习 13.4.1 a)
我不确定这个问题的答案应该是什么。
是不是很简单:
i)偶校验:1 的数量是 5(奇数)所以只需附加一个 1,答案是:001110111
ii)奇偶校验:同样,只需附加 0: 001110110
或者:
我在这里走错了路吗?我在网上查了一下,但找不到任何具体的东西。另外,课本中上述问题的文字不清楚。
error-correction - 单字节纠错
200 字节的消息有一个随机字节损坏。
修复损坏字节的最有效方法是什么?
Hamming(255,247)码有 8 个字节的开销,但实现起来很简单。
Reed-Solomon 纠错有 2 个字节的开销,但实现起来很复杂。
有没有我忽略的更简单的方法?
error-correction - 汉明 SEC/DED 额外奇偶校验位
我在使用 SEC/DED 纠错码时遇到了一些问题。似乎我发现了一些解码器认为发生了双位翻转但真正发生的情况。我想我做错了什么,但我无法理解是什么。让我给你看一个例子。
假设我想1011
使用 (7,4) 代码加上执行两次错误检测所需的额外位对 4 位进行编码。编码的字应该是00110011
,其中最高位是额外的奇偶校验位,以下两个是 p0 和 p1 等等。
现在,让我们假设在传输过程中,较低的有效位被翻转;因此接收到的单词将是00110010
。接收器将从该代码中提取四个接收到的数据位 1010 并将构造一个新代码,该代码将产生01011010
. 最后,接收器将对获得的两个代码执行按位异或0111
。最后三位表示第 7 位已被翻转(这是正确的),但第一位是 0,据我所知,解码器应该将这种情况视为发生了不止一个位翻转。
我做错了什么?