跳到主要内容

4.2. Using Transition Mappings to De-Skew (使用转换映射去偏斜)

4.2. Using Transition Mappings to De-Skew (使用转换映射去偏斜)

另一种技术最初由von Neumann [VON_NEUMANN]提出, 是将比特流检查为不重叠对的序列。然后可以丢弃找到的任何00或11对, 将01解释为0, 将10解释为1。假设1的概率为0.5+E, 0的概率为0.5-E, 其中E是前一节中描述的源的偏心度。那么每对的概率如下表所示:

        +------+-----------------------------------------+
| pair | probability |
+------+-----------------------------------------+
| 00 | (0.5 - E)^2 = 0.25 - E + E^2 |
| 01 | (0.5 - E)*(0.5 + E) = 0.25 - E^2 |
| 10 | (0.5 + E)*(0.5 - E) = 0.25 - E^2 |
| 11 | (0.5 + E)^2 = 0.25 + E + E^2 |
+------+-----------------------------------------+

这种技术将完全消除任何偏差, 但对于任何特定的期望输出比特数需要不确定数量的输入比特。丢弃任何特定对的概率为0.5 + 2E^2, 因此产生X个输出比特所需的预期输入比特数为X/(0.25 - E^2)。

这种技术假设比特来自一个流, 其中每个比特具有与流中任何其他比特相同的0或1概率, 并且比特是不相关的, 即比特来自相同的独立分布。例如, 如果交替的比特来自两个相关的源, 上述分析就会崩溃。

上述技术还提供了另一个例证, 说明如果不始终警惕可能被对手利用的模式, 简单的统计分析如何误导。如果算法被略微误读, 使得使用重叠的连续比特对而不是非重叠对, 给出的统计分析将是相同的。然而, 它不会提供无偏的、不相关的随机1和0系列, 而是会产生完全可预测的精确交替1和0序列。