教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

通信工程基于matlab的(7 - 4)循环码和(7 - 4)汉明码的编程设计(2)

来源:网络收集 时间:2026-09-17
导读: [Qx,Rx]=deconv(Data,Gx); e=Rx+Data; b(7*k-6:7*k)=e(1:7); c=b(1+(k-1)*7); b(1+(k-1)*7)=b(7+(k-1)*7); b(7+(k-1)*7)=c; c=b(2+(k-1)*7); b(2+(k-1)*7)=b(6+(k-1)*7); b(6+(k-1)*7)=c; c=b(3+(k-1)*7); b(3+(k-1

[Qx,Rx]=deconv(Data,Gx); e=Rx+Data;

b(7*k-6:7*k)=e(1:7); c=b(1+(k-1)*7);

b(1+(k-1)*7)=b(7+(k-1)*7); b(7+(k-1)*7)=c; c=b(2+(k-1)*7);

b(2+(k-1)*7)=b(6+(k-1)*7); b(6+(k-1)*7)=c; c=b(3+(k-1)*7);

b(3+(k-1)*7)=b(5+(k-1)*7); b(5+(k-1)*7)=c; end

for i=1:M*7

if rem(abs(b(i)),2)==0 b(i)=0;end end

for i=1:M*7

if rem(abs(b(i)),2)==1 b(i)=1;end end

disp('输入序列:'); a

disp('编码输出序列:'); b

程序运行结果如下:输入序列:a =

1 1 0 0 1 0 1 编码输出序列:b = Columns 1 through 13

1 0 1 1 1 0 0 1

Column 14 1

6.多位译码(7的倍数)纠错程序: clear; clc;

r=[1 0 0 1 1 0 0 1 0 0 1 0 0 1 ]; [X,N]=size(r);

%将接收到的码分为M帧,1帧7个信息位 M=ceil(N/7);

h=[1,0,0;1,1,0;1,1,1;0,1,1;1,0,1;0,1,0;0,0,1]; b=flipud(h); d=zeros(1,7); U=zeros(1,4*M);

1 0 0 1 0 1

Data1=zeros(1,7*M); Data=zeros(1,7*M); for i=1:M for j=1:7

d(j)=r(j+(i-1)*7);end s=d*b;

for k=1:3

if rem(abs(s(k)),2)==0 s(k)=0;end end for k=1:3

if rem(abs(s(k)),2)==1 s(k)=1;end end

if s==[0 0 0]

e=[0 0 0 0 0 0 0 ]; elseif s==[1 0 0]

e=[0 0 0 0 0 0 1]; elseif s==[1 1 0]

e=[0 0 0 0 0 1 0]; elseif s==[1 1 1]

e=[0 0 0 0 1 0 0]; elseif s==[0 1 1]

e=[0 0 0 1 0 0 0]; elseif s==[1 0 1]

e=[0 0 1 0 0 0 0]; elseif s==[0 1 0]

e=[0 1 0 0 0 0 0]; else s==[0 0 1]

e=[1 0 0 0 0 0 0]; end u=d+e; for k=1:7

if rem(abs(u(k)),2)==0 u(k)=0;end end for k=1:7

if rem(abs(u(k)),2)==1 u(k)=1;end end

Data(1+7*(i-1))=e(1); Data(2+7*(i-1))=e(2); Data(3+7*(i-1))=e(3);

Data(4+7*(i-1))=e(4); Data(5+7*(i-1))=e(5); Data(6+7*(i-1))=e(6); Data(7+7*(i-1))=e(7); U(1+(i-1)*4)=u(4); U(2+(i-1)*4)=u(5); U(3+(i-1)*4)=u(6); U(4+(i-1)*4)=u(7); end

if Data== Data1 disp('没有错误:') m=0,else

disp('第几位错误:') m=find(Data) ;end

disp('接收到的码字:'); r

disp('译码输出序列:'); U

运行结果:

第几位错误:m =3 13

接收到的码字:r =Columns 1 through 13

1 0 0 1 1 0 0 1 0 0 1 0 0

Column 14 1

译码输出序列:

U = 1 1 0 0 1 0 1 1

若把接受序列r改为r=[ 1 0 1 1 0 0 1],即1100的编码1011100的第5位和第7位同时该变,则运行结果为:第几位错误: m = 4

接收到的码字: r =

1 0 1 1 0 0 1 译码输出序列: U =

0 0 0 1 而0001的编码为1010001 分析总结:这两组实验基本上完成了循环码的编码和译码,但是该实验的缺点就是不能同时对7位信息码进行两位的纠错,即只能完成一位信息码的纠错。

实验二:(7,4)汉明码的编码与译码实现

1、实验目的

实现(7,4)汉明码的编码与译码,通过这次实验不但加深了对汉明码编码和译码原理了解,而且对线性分组码有所了解。

2、实验原理

线性分组码的构造方法比较简单、理论较为成熟,应用比较广泛。汉明码是一种能够纠正一个错码的效率比较高的线性分组码,下面以(7,4)码为例就汉明码的编码与译码分别进行介绍:

(1)编码原理

一般来说,若汉明码长为n,信息位数为k,则监督位数r=n-k。若希望用r个监督位构造出r个监督关系式来指示一位错码的n种可能位置,则要求

2r?1?n或2?1?k?r?1 (1)

设汉明码(n,k)中k=4,为了纠正一位错码,由式(1)可知,要求监督位数r≥3。若取r=3,则n=k+r=7。这样就构成了(7,4)码。用示这7个码元,用

a6a5a4a3a2a1a0r来表

s1s2s3的值表示3个监督关系式中的校正子,则

s1s2s3的值与

错误码元位置的对应关系可以规定如表1所列。

表2.1 校正子和错码位置的关系

s1s2s3 错码位置 a0a1a2a3 s1s2s3 错码位置 a4a5a6 001 101 010 100 011 110 111 000 无错码 则由表1可得监督关系式:

s1?a6?a5?a4?a2

?2? ?3? ?4?

s2?a6?a5?a3?a1s3?a6?a4?a3?a0a6a5a4a3在发送端编码时,信息位监督位

a2的值决定于输入信号,因此它们是随机的。

a1、

a0应根据信息位的取值按监督关系来确定,为使所编的码中无

错码,则S1,S2,S3等于0,即

?a6?a5?a4?a2?0??a6?a5?a3?a1?0?a?a?a?a?0430?6方程组(5)可等效成如下矩阵形式

?a6??a??5??1110100??a4??0??1101010??a???0????3?????1011001???a2???0?????a1??a??0?(5)

(6)

式(6)可简化为HAT?0T,H为监督矩阵,则由式(6)可得到监督矩阵

?1110100??=[P?I] H??1101010r????1011001??(7)

因为生成矩阵G=[IkQ]=[Ik?P'],所以由(7)得生成矩阵G如下:

?10001?01001G??IkQ??[IkP']???00101??0001011?10?? 01??11?然后利用信息位和生成矩阵G相乘产生整个码组,即有

A=?a6a5a4a3a2a1a0???a6a5a4a3?G其中A为整个码组矩阵,a6a5a4a3是信息位。 根据上述原理可以得到(7,4)汉明码的整个码组。

(8)

(2)译码与检错、纠错原理

当数字信号编码成汉明码后,由于信道噪声的存在,使得经过信道后的汉明码会发生差错,使得接收端接收到错码,因此需要多错码进行纠正,以提高通信系统的抗干扰能力及可靠性。下面分析纠错译码原理。

设B为接收码组,它是一行7列的矩阵,即B=[b1b2b3b4b5b6b7],B中可能含有错码,错误图样E?A?B=[e7e6e5e4e3e2e1],在E的表达式中,有

…… 此处隐藏:1496字,全部文档内容请下载后查看。喜欢就下载吧 ……
通信工程基于matlab的(7 - 4)循环码和(7 - 4)汉明码的编程设计(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/446008.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)