一些实用的编码/解码问题
是有用的,每一个编码必须有一个独特的解码。考虑到编码表所示一个更有用的编码。虽然每条消息可以使用这个编码方案,有些会重复编码。例如,消息AA和消息C编码00。因此,当解码器接收到00,没有明显的方式告诉AA或C是否预期的消息。出于这个原因,这个表所示的编码必须描述为“那么有用。”
米 | → | 年代 |
---|---|---|
一个 | 0 | |
B | 1 | |
C | 00 | |
D | 11 |
编码产生一个不同的信号为每个不同的消息被称为“独特依稀可见。“最真实的应用程序需要独特的可解释的代码。
另一个有用的特性是易于解码。例如,使用第一个编码计划,一个接收信号可以分为两个字符组,然后解码用表编码的第1米使用年代。因此,解码信号11010111001010,第一次把它分成11 01 01 11 00 10 10,这表明DBBDACC原始消息。
表中所示的方案编码的第2米使用年代必须使用不同的技巧,因为破译不同长度是用来表示字符的字符串米。这里的技巧是阅读一个数字直到找到一个匹配的角色在这个表。例如,假设01001100111010收到的字符串。阅读这个字符串从左边第一个0匹配字符a .因此,字符串1001100111010现在仍然存在。因为1,下一个数字,不匹配任何条目在表中,下一个数字现在必须附加。这个两位数组合10 B匹配字符。
表编码与解码消息编码2显示了每个独特的解码阶段这个字符串。而第二个编码可能出现复杂的解码,这是逻辑上简单、易于自动化。同样的技术也可以用于第一编码解码。
解码到目前为止 | 信号的剩余部分字符串 |
---|---|
01001100111010 | |
一个 | 1001100111010 |
一个B | 01100111010 |
一个B | 1100111010 |
B C | 0111010 |
A B C | 111010年 |
A B C A D | 010年 |
A B C A D | 10 |
B C A D B |
表一个不切实际的编码,另一方面,显示了一个代码,涉及一些并发症的解码。编码的美德是唯一可解释的,但理解它之所以“不切实际,”考虑以下字符串:011111111111111和011111111111111。第一个是一个编码BDDDD CDDDD,第二个的。不幸的是,决定是否第一个字符是一个B或C需要查看整个字符串,然后回去工作。不必等待整个信号到达之前消息的一部分解码可能导致重大延误。
米 | → | 年代 |
---|---|---|
一个 | 0 | |
B | 01 | |
C | 011年 | |
D | 111年 |
相比之下,编码表编码的第1米使用年代和表编码的第2米使用年代允许消息解码收到的信号,或“。“表另一个比较的编码米来年代比较前两个编码。
字符 | 病例数 | 编码长度1 | 编码长度2 |
---|---|---|---|
一个 | 30. | 60 | 30. |
B | 30. | 60 | 60 |
C | 30. | 60 | 90年 |
D | 30. | 60 | 90年 |
总数 | 120年 | 240年 | 270年 |
编码,可以在飞行中被称为前缀编码或解码瞬时代码。前缀码总是独特可解释的,他们通常优于nonprefix编码沟通因为他们的简单性。此外,它已被证明,必须始终存在前缀代码的传输速率是一样好,任何独特的可解释的代码,当概率分布字符的信息,进一步提高传输速率可以通过变长码的使用,如使用的编码表编码的第2米使用年代。(霍夫曼编码美国D.A.霍夫曼在1952年发明的,产生的最小平均编码长度在所有独特的可解释的变长编码对于一个给定的符号集和一个给定的概率分布)。