📄 7.txt
字号:
发送码组A,在传输过程中有可能出现误码,这时接收端接收到的码组为B。则收发码组之差为 =E
其中,E称为错误图样。可见,若E=0,则B=A,传输无误码。令S= ,称为伴随式或校正子。则接收端利用接收到的码组B计算校正子S= ,因此,校正子S仅与E有关。若某一码组为许用码组,则它必然满足上式。利用这一关系,在接收端将接收到的码组B和事先在发送端约定好的监督矩阵 相乘,看是否为零,若为零,则认为接收正确;反之,则认为传输过程中发生了错误,进而设法确定错误的数目和位置。由此可见,伴随式S与错误图样E之间有确定的线性变换关系,与发送码组A无关。接收端译码器的任务就是从伴随式确定错误图样,然后从接收到的码字中减去错误图样。(7,4)线性分组码的伴随式S与错码图样E的对应关系如表3所示。
S1S2S3 错码位置
000 无
001 a0
010 a1
100 a2
011 a3
101 a4
110 a5
111 a6
表3
从以上分析可以得出线性分组码译码的基本步骤如下:
1) 计算接收码组B的伴随式S
2) 根据S从表中找出错误图样E,判定误码位置
3) 根据E纠正错误,得到正确的码组A=E+B(模2加)
library ieee;
use ieee.std_logic_1164.all;
entity bianma is
port(clk:in std_logic;
x:in std_logic_vector(3 downto 0);
p:out std_logic_vector(6 downto 0));
end entity;
architecture art of bianma is
begin
process(clk)
begin
if(clk'event and clk='1') then
p(0)<=x(3) xor x(1) xor x(0);
p(1)<=x(3) xor x(2) xor x(0);
p(2)<=x(3) xor x(2) xor x(1);
p(3)<=x(0);
p(4)<=x(1);
p(5)<=x(2);
p(6)<=x(3);
end if;
end process;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -