水平垂直奇偶校验的原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
水平垂直奇偶校验的原理
水平奇偶校验和垂直奇偶校验是在通信中常用的纠错方式,其原理如下:
1. 奇偶校验:
假设要传输一个字节的数据,使用奇偶校验就是在数据的最后添加一位校验位,使得整个数据中包含的1的个数为偶数或奇数,具体有以下两种方式:
1.1. 奇校验:使得整个数据中包含的1的个数为奇数,校验位是检验数据中1的个数,如果数据中1的个数是奇数,则校验位为0,否则为1。
例如,对ASCII码为1011 0001的字符'B'进行奇校验,则在其最后添加一个校验位1,使得整个数据中包含的1的个数为奇数,即1011 0001 1。
1.2. 偶校验:使得整个数据中包含的1的个数为偶数,校验位是检验数据中1的个数,如果数据中1的个数是奇数,则校验位为1,否则为0。
例如,对ASCII码为1011 0001的字符'B'进行偶校验,则在其最后添加一个校验位0,使得整个数据中包含的1的个数为偶数,即1011 0001 0。
2. 水平奇偶校验和垂直奇偶校验:
假设要传输的数据是一个矩阵,水平奇偶校验和垂直奇偶校验分别对每一行和每一列进行奇偶校验,将校验结果添加到该行或该列的末尾。
例如,对以下4\times4 的矩阵进行水平和垂直奇偶校验:
\begin{matrix}1 & 0 & 0 & 1\\ 0 & 1 & 1 & 0\\ 0 & 1 & 1 & 0\\ 1 & 0 & 0 & 1\end{matrix}
水平奇偶校验:对每一行进行奇偶校验,得到校验结果为1、0、1、1,将它们分别添加到末尾得到:
\begin{matrix}1 & 0 & 0 & 1 & 1\\ 0 & 1 & 1 & 0 & 0\\ 0 & 1 & 1 & 0 & 1\\ 1 & 0 & 0 & 1 & 1\end{matrix}
垂直奇偶校验:对每一列进行奇偶校验,得到校验结果为0、0、1、0、1,将它们分别添加到末尾得到:
\begin{matrix}1 & 0 & 0 & 1 & 1 & 0\\ 0 & 1 & 1 & 0 & 0 & 0\\ 0 & 1 & 1 & 0 & 1 & 1\\ 1 & 0 & 0 & 1 & 1 & 0\\ 0 & 0 & 1 & 0 & 1 & 1\end{matrix}
在接收端,对每一行和每一列重新进行奇偶校验,如果出现错误的位,则根据奇偶校验位进行纠正。