想象一下,你有一个沟通渠道,这是 本质上有损 和一种方式。也就是说,有一些固有的噪音,是不可能消除,原因,说的,随机的位要栓牢。也可以想象,这是一个办法-你不能要求重发。

但你需要传送的数据超过它。什么样的技术可以用来发送 号码文本 通过该频道吗?

  1. 是否有可能编码的数目,因此,甚至随意点摆弄他们仍然可以被解释为价值接近原始(有损失的 发货)?

  2. 有一种方式来发送一个字符串(ASCII,说)中的一个 无损 时尚?

这只是为了好玩。我知道你可以利用莫尔斯电码或任何非常低频率的二进制通信。我知道奇偶校验位和校验和检测错误和重试.我知道你可能也用模拟信号。我只是好奇如果有任何有趣的计算机sciency技术发送这些东西在一个有损道。

有帮助吗?

解决方案

根据一些细节,不提供对你有损道,我会建议,第一次使用 灰色代码 确保单位的误差导致在微小差异(复盖你的愿望为减轻损失在有损传输),然后可能还编码的所得的流与一些"无损"(==尝试 要损失-少;-)的编码。

Reed-Solomon 和其变是特别好,如果你的噪声的情节很容易发生小爆发(几位错误内,也就是说,一个字节),其中应相互操作以及与灰色编码(由于多位的错误是杀手的"减轻损失"方面的灰色,旨在以适度地降低单位的误差在线)。这是因为,R-S在本质上是一块的方案,和多个错误内的一块基本上是同样作为一个单一的错误,从R-S的观点;-).

R-S是特别令人敬畏,如果许多错误 擦除 --简单地说,消除是一个符号,已经最有可能被错位于传输,但你知道的至关重要的事实,它已经损坏。物理层,取决于它是如何设计,可以常常具有提示关于这一事实,并且如果有一个方法对它告知高层,可以是至关重要的帮助。让我解释一下涂改有点...:

说对一个简化例子,一个0是作为一个水平-1伏和1个是发作的水平+1伏的(应用程序的某些参考波),但是有噪音(物理的噪音往往可以良好的模型,要求任何主管通信工程师;-);根据噪音模型的解码可能是任何东西-0.7V下被认为是一个0点,任何+0.7V被认为是一个1位,任何在两者之间的被认为是一个删除,即,较高层告诉那位问题可能是错的传输,因此应当不予考虑。(我有时会把这个作为一个例子我的论文,有的时候抽象应该"泄漏"--在一个控制和架构的方式:the Martelli的必然结果Spolsky的 法律漏水的抽象!-).

一个R-S码与任何特定的冗余比率可约为两次作为有效的纠正疑(错误的解码器是告诉约),因为它可以在纠正,否则-未知的错误--这也有可能混合这两个方面,纠正一些疑和一些其他未知的错误。

作为樱桃在上面,定制的R-S码可以是(合理地)设计和定制,以降低概率的纠正错误以下的任何所需的阈值θ给出一个精确的模式的实物通道的特点在这两个方面的涂改并未被发现的错误(包括两者的概率并不高).

我不会把这整个地区的一个"计算机sciency"一,实际上:当我毕业(美国,30年前),我主要是想要避免的"C"的东西有利于芯片设计、系统设计、先进的无线电系统,&c-但我被教导这些东西(良好,该子集,已经在该领域的实际工程中使用;-)。

而且,只是为了确认,事情并没有改变所有这么多的一代:我女儿刚刚找到她MS在电信工程(严格专注于先进的无线电系统)--她不可能设计有关的任何严重的程序的算法或数据结构(虽然她没有,只是现在的强制性课程,在C和爪哇,是绝对没有CS深在这些课程,也没有在其他地方,在她的课程-她的每日工作语言是 matlab...!-) -但她知道更多关于信息和编码的理论比我学会了,这是 之前 任何博士级的研究(她住她的博士学位,但是尚未开始).

因此,我要求这些领域更e-E-y于CS-y(虽然边界曾经是模糊的--证人的事实,几年之后芯片设计我结束作为一个SW人或多或少由事故,所以没有我的许多同时代的人;-).

其他提示

这个问题的主题 编码原理.

可能一个更好的知的方法是使用 汉明代码.它可能不是最好的方式纠正错误,在大尺度,但它非常简单的理解。

要么 涡轮码低密度奇偶校验码的检查 对于一般的数据,因为这些最接近接近Shannon的限制--见。

你可以使用 Reed-Solomon 代码。

也见 滑动窗口协议 (这是由TCP)。

虽然这包括处理分组正在重新排序或完全失去了,这不是你的问题的定义。

作为亚历克斯马特利说,有很多编码理论在世界各地,但是Reed-Solomon码肯定是一个甜蜜点。如果你真的想要建立的东西, 吉姆的木板 写了一个 好的教程励所罗门编码.木板有一个专业的兴趣中的编码与很多实际专门知识。

我会去对于其中的一些建议,随后由多个送数相同的数据。所以这样,你可以希望为不同的错误要介绍了在不同点在流中,你可能是能够推断所需的数量的一种容易得多。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top