问题标签 [reed-solomon]
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.
javascript - 使用 ReedSolomon 库擦除文件的代码
使用 [ReedSolomon JavaScript Library][1] 擦除本地文件的代码,它给了我以下错误:
但是 Shard Size 是 5432。我不确定这里缺少什么并造成麻烦,请指导。
reed-solomon - 使用 Berlekamp-Massey 算法的错误检测能力
我RS( n=1023,k=995 )
在每个符号中实现了 10 位。为了找到误差多项式,我们使用 Berlekamp-Massey(BM) 算法。我们代码的错误检测能力应该是n-k = 1023-995 = 28
. 纠错能力为(n-k)/2 = 14
。BM 算法对于小于或等于 14 的错误非常有效。如果发生超过 14 个错误,如何确定错误的数量??(因为如果错误大于 14,则纠正将失败)。我想知道这个算法是否有任何限制来查找错误的数量。根据理论,RS 码应该能够正确识别出发生了 14 个以上的错误。
error-correction - 里德所罗门纠错和误报
我有一个 Reed-Solomon 编码器/解码器。在操作数据和评估结果后,我经历了以下3个案例:
- 解码器正确解码消息并且不抛出错误
- 解码器将消息解码为错误的结果,而不会抱怨 - 有效地产生误报。机会应该非常低,但可能会发生,即使操作数据的数量远低于纠错能力(即使在更改单个位之后......)
- 如果操作的数据多于其纠错能力所允许的数据,则解码器会失败(抛出错误)。
所有 3 种情况都对适当的 Reed-Solomon 解码器有效吗?我特别不确定情况 2,其中解码器会产生错误的结果(不会引发错误),即使错误比其纠正能力所允许的要少得多......?
checksum - 有没有人认出这些校验和/CRC/Reed-Solomon 等中的模式?
有没有人认识到这些校验/CRC 等中的模式?感兴趣的数据始终落在 ASCII 字符范围内,并且始终具有相同的长度:UD1809T6587300000YBT03/02/18 以下是完整消息的示例:
我有 3 条消息,其中只有一位序列号更改:
以下是此数据的主要和以下校验和:
前导组的最后一个字节总是 3A 或 3B。尾随组的最后一个字节总是 18、19 或 1A
谁能帮我缩小范围,看看这可能是哪种错误检查?以下是校验和的 50 个样本:
cd-rom - CIRC 编码器中的 CDROM、F2 Reed-Solomon PQ 码
我研究有关 CDROM 原则的信息。在标准http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-130.pdf 在第 35 页(pdf 中的 45)我看到 CIRC 编码器。并且他的有Q码和P码,都是用reed-solomon算法计算出来的。我尝试确认这一点并做一些示例音轨(音轨未使用扰码器作为数据轨道)一个填充 0x01 模式,一个填充 0xA5(数据包中的 CIRC 间隔字节不是位,我在 F3 帧中看到 Q 和 P) . 在我用逻辑分析仪从 CD(直接从激光输出)中读取这个扇区后,并通过脚本解密。我有这个数据用于跟踪模式 0x01
S1 01 01 01 01 01 01 01 01 01 01 01 01 e5 6e 4e c5 01 01 01 01 01 01 01 01 01 01 01 01 ff ff ff ff
S2 01 01 01 01 01 01 01 01 01 01 01 01 e5 6e 4e c5 01 01 01 01 01 01 01 01 01 01 01 01 ff ff ff ff
第一个字节是此示例 SYNC_1 和 SYNC_2 中的子代码 sumbol
对于模式为 0xA5 的轨道
S1 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 6b bc a5 72 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 ff ff ff ff
S1 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 6b bc a5 72 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 a5 ff ff ff ff
如果在 CIRC 上看到 12-15 字节它的倒置 Q 奇偶校验和 28-32 P 奇偶校验(第一个字节它的 sybcode 他在 F3 处添加)。
但我找不到计算这个字节的算法,我的数学技能很差。我尝试了 cdrecord 的计算器,他的 doit 另一个代码,尝试了另一个 Reed-Solomon emplemetation,但我无法从这个示例中获得相同的代码。我可以在哪里得到这个代码的工作实现。
verilog - 如何将乘法的值保持在有限域范围内?我正在实现 GF(8) 乘法
我正在实现 GF(8) 乘法。原始多项式是 x^3 + x + 1。我知道基础知识:如果乘法溢出,我可以用我的原始多项式对它进行异或运算,并将其带入有限域的范围内。
但是,当溢出发生多于一位时,就会出现问题。例如: 正确结果:二进制结果 12(1001) 中的 alpha^3(011) * alpha^2(100)。乘积溢出,因此与原始多项式进行 XOR 会给出正确的值,即 alpha^5(111)。 不正确的结果:二进制结果中的 alpha^5(111) * alpha^3(011) 21(10101)。这里结果溢出了两位,并且使用原始多项式进行 XOR 不会给出正确的结果。
我错过了什么?
qr-code - 用于 QR 码的 Reed Solomon 纠错
由于 QR 码使用 Reed-Solomon 进行纠错,我是对的,在一定程度的损坏情况下,QR 码阅读器理论上可能会返回错误的结果吗?
如果是,是否有其他级别的完整性检查(校验和等)可以防止这种情况发生?
python - 使用 reed-solomon 编码器对图像进行编码
我正在尝试使用 Reed-Solomon 编码器在 Python 应用程序中编码、发送和放置一些噪声,并解码图像
我已将图像从 PIL 转换为 numpy 数组。现在我正在尝试对这个数组进行编码,然后对其进行解码。但我对代码字有疑问。它太长了。有谁知道如何解决这个问题。先感谢您
错误消息:ValueError:消息长度最大为 223。消息为 226
python - Reed Solomon 错误检测能力不是 2T
我正在建立一个 Reed Solomon 库来纠正和检测进来的错误。为简单起见,让我们看一下 Reed Solomon 配置,其中
这可以纠正任何 1 个符号错误,并且,这篇文章的目的,它可以检测 2 个符号错误。关于 RS 错误检测的文献有限,但您可以查看Wikipedia 文章中的简介:
通过将 t 个校验符号添加到数据中,Reed-Solomon 码可以检测最多(包括)错误符号的任意组合,或者纠正最多(包括)⌊t/2⌋ 符号的任何组合。
然而,这似乎与我的观察不符。
我有一个库,主要是根据这篇文章构建的。
据我所知,效果很好。我围绕我们的实现设置了一个详尽的测试,发现有 2 个符号错误(据我理解应该是可检测的)但事实并非如此。据我了解,一个简单的检查来查看是否发生了通过正常检查的不可纠正的错误(即错误定位器是有效的,发现错误具有有效的错误计数,多项式次数是有效的)是重新计算的伴随式更正的消息。如果校正子不为零,那么我们仍然有错误。但是,当我这样做时,校正子全为 0,表明没有发现错误,并且我们在具有 1 个错误符号的错误向量和具有 2 个错误符号的错误向量之间存在冲突。
这是测试:
输出:
如果你还在阅读,谢谢。我知道我没有提供整个库,但我确实提供了输入、输出和关键变量值。我想知道的是我上面写的理解是否错误;我们可以检测 2T 符号错误,其中 2T 是添加符号的数量。因为从这个测试用例中似乎存在冲突,我通过计算以下错误向量中的伴随式来进一步测试这一点,这些错误向量进一步支持冲突,并且 Reed Solomon 不一定能检测到 2T 以内的所有错误。让我知道我是否错了。
和
有碰撞