信息论实验报告(2)

2019-04-09 14:17

器存入整个码字,除法电路[S(x)?E(x)/g(x),E(x)?x6]得到校验子

S0?[s2,s1,s0]。这时门关上,进行译码。

如果S0(x)?x6?x2?1[modg(x)],这时[101]识别电路输出为1,表明

r6位有错。这时译码器继续移位,通过[101]识别电路可以将r6位的错

误纠正。在纠错的同时,[101]识别电路的输出又反馈到除法电路的输入端,以消除错误码元对除法电路的下一个校验子计算的影响。本电路中,第7次移位后产生了校验子S0,第8次移位时对r6进行纠正,同时将[101]识别电路的输出的1输入到输入端,结果使除法电路的寄存器状态为[000],消除了e6的影响。

由于循环闭合性,对于其它错误图样,该电路同样可以纠正。

图3-4 梅吉特译码器原理图

3.3.2梅吉特译码流程

5

输入接收码字Ri=0i=i+1i<=6否m=0m<=6是是校验子是否为101否是移位寄存器移位寄存,各寄存器更新状态校验子标志位s=1校验子标志位s=0否输入码字的第i位与s模2加得到输出码字的第i位; 寄存器D0、D1、D2相应更新m=m+1输出译码码字C

图3-5 梅吉特译码流程图

6

3.4程序整体流程图

图3-6 程序总体流程图

四、程序代码及注释

4.1编码程序

function C=Encode(M)

7

gx=[1,0,1,1]; %生成多项式x^3+x+1 xr=[1,0,0,0]; %x^r=x^3

xrmx=mod(conv(M,xr),2); %信息码字与x^r相乘 [q,r]=deconv(xrmx,gx); %模g(x) q=mod(q,2); r=mod(r,2); C=xrmx+r;

4.2检查输入是否合法程序

function M=Check(m,number)

if number==4 %检测输入码字的位数,若为4,则合法 %将输入的数据的单独位提取出来 m3=uint8(mod(m,10000)/1000); m2=uint8(mod(m,1000)/100); m1=uint8(mod(m,100)/10); m0=uint8(mod(m,10)/1); M=[m3 m2 m1 m0];

%判断输入的数据是否合法,即是否只有0和1

if((m0==0|m0==1)&(m1==0|m1==1)&(m2==0|m2==1)&(m3==0|m3==1))

m4=0; %m4为附加位,用来表示输入的数据是否合法,0表示合法 else

M=zeros(1,4);

m4=1; %m4=1,表示码字不是由0,1组成的四位码字 end else

M=zeros(1,4);

m4=2; %m4=2,表示输入的不是四位码字 end

M=[M m4];

4.3产生错误图样接收程序

function R=Recieve(C) E=[0 0 0 0 0 0 0; 1 0 0 0 0 0 0; 0 1 0 0 0 0 0; 0 0 1 0 0 0 0; 0 0 0 1 0 0 0; 0 0 0 0 1 0 0; 0 0 0 0 0 1 0;

0 0 0 0 0 0 1]; %错误图样矩阵 i=unidrnd(8); %随机生成整数1~8

8

E1=E(i,:); %取出一个错误图样 R=mod((C+E1),2);

4.4 校验子译码程序

function C=Decode1(R) %校验子译码程序

gx=[1,0,1,1]; %生成多项式x^3+x+1 [q,s]=deconv(R,gx); %模g(x)

q=mod(q,2); s=mod(s,2);

s=[s(5) s(6) s(7)]; %校验子 if s==[0,0,0]

E=[0,0,0,0,0,0,0]; elseif s==[0,0,1]

E=[0,0,0,0,0,0,1]; elseif s==[0,1,0]

E=[0,0,0,0,0,1,0]; elseif s==[1,0,0]

E=[0,0,0,0,1,0,0]; elseif s==[0,1,1]

E=[0,0,0,1,0,0,0]; elseif s==[1,1,0]

E=[0,0,1,0,0,0,0]; elseif s==[1,1,1,]

E=[0,1,0,0,0,0,0]; elseif s==[1,0,1]

E=[1,0,0,0,0,0,0]; end

C=mod((R+E),2);

4.5 梅吉特译码程序

function C=Decode(R) C=zeros(1,7);

D00=0;D10=0;D20=0; for i=1:14

if i<=7 D01=xor(D20,R(i)); D11=xor(D00,D20); D21=D10;

S1=D01&(~D11)&D21; else

D01=xor(D20,S0);

%梅吉特译码程序 %初始化寄存器的状态 %接收码字依次输入寄存器

%当前寄存器的状态,xor异或,相当于模2加法 1检测电路的输出 9


信息论实验报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大学物理化学实验报告-络合物的磁化率的测定

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: