问题标签 [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.
crc32 - 循环码是什么意思?CRC 和 Reed-Solomon 循环码是什么?
我们有一个任务,我们必须在 python 中编写一个程序,用 LZ-78 压缩一个 txt 文件,然后用“循环代码”对压缩文件进行编码,然后将其作为 json 文件发送给接收者。我找不到确切的说明,教授所说的循环代码是什么意思。
我在网上搜索并找到了关于 CRC 和 Reed-Solomon 的信息,但我不确定这两个代码是否正确使用,所以请您向我解释一下这些代码是否适合我使用或者我需要不同的代码.
我不确定这是否有帮助,但对于某些团队,他明确表示希望他们使用 Reed-Muller。
algorithm - 二维码生成算法实现案例分析
我正在实施thonky.com上解释的 QR 码生成算法,我试图了解其中一种情况:
如本页和本页所述,我可以推断,如果代码受 M 纠错级别保护,并且选择的掩码为 0 号,则格式字符串的前 5 位(非异或)为 '00000',因此,整个 15 位字符串为零。
下一步是删除所有前导零,这也是所有前导零。这意味着没有什么可以对生成多项式字符串(10100110111)进行异或,因此给了我们一个由 15 个零组成的最终字符串,这意味着最终(异或)字符串将只是掩码字符串(101010000010010)。我正在寻求确认我的逻辑是正确的。
非常感谢大家的帮助。
reed-solomon - reed-solomon 纠错扩展 Euclid 算法
我不懂研发白皮书 WHP 031(第 26 页)
http://downloads.bbc.co.uk/rd/pubs/whp/whp-pdf-files/WHP031.pdf
为什么常数因子 r=9。我的计算是因子 r=7
两个多项式低于 7*(x^2)+ 7*(x^1)+9 , 3*(x^1)+14
您能解释一下如何提取 9 吗?
我尝试使用 GF 乘法表和扩展欧几里得算法来解决。
python - Reed-Solomon: encoding and decoding string has different length, any workaround for this?
I'm trying to transfer data between two processes. Problem is while transmitting the data, sometimes the receiver received more and sometimes fewer bits than the actual sending bits. Is there any workaround for this? or Is there any mechanism to which can handle adding or deletion bits from a bit string?
As there is a chance that multiple bits might flip while transmitting, I use the Reed-Solomon library, reedsolo for encoding the data before sending it. As my sending bit string and receiving bit string length doesn't match reed-Solomon throw error while I try to decode.
For example, I'm sending 143 bit as: 11010000110100100100111011101100101010101110001011111011100000010101010100001100011111111011010
and I'm receiving 142 bit as: 1101000011010010010011101110110010101010111000101111101110000001010101010000110001111111101101
and I'm receiving an error message as
c++ - Reed-Solomon 纠错码的 Schifra 库中生成多项式索引的理想值是多少?
我正在尝试在项目中使用Schifra Reed-Solomon 纠错代码库。我没有关于 Reed-Solomon 代码和 Galois 场如何工作的背景。我无法确定 16 位符号(字段描述符)的 generator_polynomial_index 的理想值。
我的代码适用于索引 0 和许多其他索引。我已经尝试了所有索引值。该代码适用于很多人(准确地说是 0-32724 和 32779-65485)但是
问题
- 什么是最理想的值?
- 如果我切换到另一个索引值(这也有效但不理想),会有什么变化?
我的其他发现:
field_descriptor = 符号大小(位/符号)
code_length(符号总数(数据符号+纠错码符号)) = 2^symbol_size - 1 (库只支持这个码长值)
generator_polynomial_root_count = fec_length(冗余或纠错符号数)
错误以符号而不是位来衡量,即特定符号中的 1 个不正确位被计为 1 个错误。但即使所有 16 位都不正确;它将计为 1 个错误(不是 16 个)。
可以纠正的最大错误和擦除数应遵循以下不等式:2*num_errors + num_erasures < fec_length
如果我在任何地方弄错了,请纠正我
math - 你能解释一下里德所罗门编码部分的身份矩阵吗?
我正在做一个对象存储项目,我需要了解Reed Solomon纠错算法,我已经通过这个Doc作为初学者和一些论文。
1. content.sakai.rutgers.edu
2. theseus.fi
但我似乎无法理解单位矩阵的下部(红色框),它来自哪里。这个计算是如何进行的?
谁能解释一下。
algorithm - Reed-Solomon 错误算法是否仅在输入数据部分发生错误时才允许更正?
Reed-Solomon 算法正在向输入中添加额外的数据,因此可以将此类损坏输入上的潜在错误(特定大小/数量)纠正回原始状态。正确的?这个算法是否也保护了这些不是输入的一部分但被算法使用的附加数据?如果不是,如果错误发生在这样的非输入数据部分会发生什么?
algorithm - Reed-Solomon 纠错算法与 4 态条码的使用
我有一个至少需要35 位的组合数据信息。
使用4 状态条码,每个条形代表2 位,因此上述信息可以转换为 18 个条形。
我想为这个条形码添加一些强大的纠错功能,所以如果它被某种方式损坏,它可以被纠正。其中一种方法是Reed-Solomon 纠错。
我的目标是添加尽可能强的纠错功能,但另一方面我对条形码有大小限制。如果我正确理解了Reed-Solomon 算法, m∙k 必须至少是我的消息的大小,在我的例子中是 35。
基于Reed-Solomon Interactive Demo,我可以使用(m, n, t, k)为(4, 15, 3, 9),这将允许我对最多4∙9 = 36位的消息进行编码。这将导致码字大小为4∙15 = 60位或30 条,但纠错率t/n仅为20.0%。
下一个选项是使用(m, n, t, k)为(5, 31, 12, 7),这将允许我对最多5∙7 = 35位的消息进行编码。这将导致大小为5∙31 = 155位或78 个条的码字,纠错率t / n约为38.7%。
第一种情况需要使用 30 条的条形码,这很好,但 20.0% 的纠错率不如预期的那么好。第二种情况提供了 38.7% 的出色纠错率,但条码必须有 78 条,这太多了。
是否有其他方法或不同的方法可以提供很好的纠错和合理的条形码长度?
error-correction - 为什么 RS(255,233) 有 32 个冗余符号?
里德所罗门码(255,233)是如何形成的?
我了解 RS(255,223) 是如何形成的,因为 n=2^8-1=255 r=32, k=nr=223
但是 RS(255,233) 怎么样?我在互联网上的某个地方读到,它说 RS(255,233) 有 32 个冗余符号,但为什么呢?它不应该是22个冗余符号吗?
我可以参考的任何链接将不胜感激。谢谢你。
detection - Reed Solomon的构建——检测与校正
我如何构建可以检测和纠正错误的 RS 代码。
例如,我想构造 RS(76,64,8),其中
- 8 : GF(2 8 ) 字段,符号大小
- 64:信息符号
- 76:信息(64)+检查符号(12)
我可以使用 pyfinite python 库(https://pypi.org/project/pyfinite/)轻松构建 6 个符号校正代码。
我还对构建一个不同的变体感兴趣,它可以使用 12 个校验符号提供 8 个符号检测或 4 个符号校正。