您的当前位置:首页正文

信息编码实验报告4-线性码

2024-07-31 来源:易榕旅网


《信息与编码》课内实验报

学生姓名: 及 学 号: 学 院: 班 级: 课程名称: 实验题目: 指导教师 姓名及职称: 理学院

信息与编码 线性码的编码与译码

副教授 讲师 实验师

2013年4月17日

目 录

一、实验目的............................................................................................. 1 二、实验内容............................................................................................. 1 三、实验要点及说明 ................................................................................ 1 四、实现方法............................................................................................. 1 五、实验结果............................................................................................. 2 六、源程序清单 ........................................................................................ 2 七、思考及总结 ........................................................................................ 3

一、实验目的

1. 掌握线性码的编码方法;

2.掌握线性码的标准阵和伴随式译码方法;

3. 深入理解线性码的生成矩阵、校验矩阵、码的最小距离、纠错、检错等。

二、实验内容

对任意给定的向量进行线性码编码;对任意收到的字进行线性码译码。实验具体要求如下:

1. 独立构造一个q元[n, k]线性码,要求q>=2,n>=4,k>=2; 2. 输出线性码的生成矩阵、校验矩阵; 3. 至少输出对两个向量线性码的编码结果; 至少输出对两个码字进行线性码的译码结果;

三、实验要点及说明

准确理解线性码编码译码方法,并能通过matlab编程对已知发送信息或接收字进行译码;

通过实验验证纠错能力。

四、实现方法

以matlab软件为基础,通过编程,实现:

1)对给定编码方法,如生成矩阵,计算所有码字。 2)对给定接收码,进行译码。并得到相关信息。

- 1 -

五、实验结果

运行结果:

>> bm52([1 0 1])

??? Error using ==> bm52 at 5 码长必须为2!

>> bm52([1 0])

ans =

1 0 1 0

>> jm52([1 1 1 1 1]) 第5位错!

ans =

1 1 1 1

>> jm52([1 0 1 0 1]) 码字正确!

ans =

1 0 1 0 六、源程序清单

编码函数:

function y=bm52(x) G=[1 0 1 0 1;0 1 0 1 1];

H=[1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]'; if length(x)~=2 error('Â볤±ØÐëΪ2£¡'); return end;

y=mod(x*G,2);

译码函数:

1 0 1

- 2 -

function y=jm52(x) y=[];

if length(x)~=5 error('Â볤³ö´í£¡Ó¦Îª5'); return end;

H=[1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]'; bss=mod(x*H',2); if ~any(bss) disp('Âë×ÖÕýÈ·£¡'); y=x; else

for i=1:5

if sum(mod(H(:,i)'-bss,2))==0 disp(strcat('µÚ',num2str(i),'λ´í£¡')); y=x;

y(i)=mod(x(i)+1,2); end end

if isempty(y) disp('´íÎóλÊý³¬¹ýÁ½Î»£¡²»ÄܾÀ´í£¡'); end; end; end

七、思考及总结

通过本次课内实验,我掌握了线性码的编码方法以及线性码的标准阵和伴随式译码方法,并对线性码的生成矩阵、校验矩阵、码的最小距离、纠错、检错等有了较深入的理解。在课内实验中,准确理解线性码编码译码方法,并通过matlab编程对已知发送信息或接收字进行译码,通过对比验证了程序的纠错能力。

- 3 -

因篇幅问题不能全部显示,请点此查看更多更全内容