汉明码仿真

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要

汉明码(Hamming Code)是一种能够自动检测并纠正一位错码的线性纠错码,即SEC(Single Error Correcting)码,用于信道编码与译码中,提高通信系统抗干扰的能力。本文主要利用MATLAB中SIMULINK通信系统仿真模型库进行汉明码建模仿真,并调用通信系统功能函数进行编程,对汉明码的性能进行分析。

关键词:MATLAB 汉明码 SIMULINK 性能

I

目录

1 课程设计目的 (1)

2 课程设计要求 (1)

3 相关知识 (1)

4 课程设计分析 (8)

5 仿真 (11)

6结果分析 (13)

7 参考文献 (13)

II

汉明码仿真程序设计

1.课程设计目的

(1)加深汉明码(Hamming Code)基本理论知识的理解。

(2)培养独立开展科研的能力和编程能力。

(3)掌握用MATLAB实现信号的PM调制。

(4)掌握MATLAB软件的使用。

2.课程设计要求

(1)掌握汉明码(Hamming Code)的相关知识、概念清晰。

(2)掌握MATLAB使用方法,利用软件绘制图像。

(3)程序设计合理、能够正确运行。

3.相关知识

3.1 MATLAB简介

MATLAB(Matrix Laboratory,矩阵实验室)是Mathwork公司推出的一套高效率的数值计算和可视化软件。其中,MATLAB通信工具箱是一套用于在通信领域进行理论研究、系统开发、分析设计和仿真的专业化工具软件包。MATIAB通信工具箱由两大部分组成:通信系统功能函数库和SIMULINK通信系统仿真模型库。

MATLAB通信系统功能函数库由七十多个函数组成,每个函数有多种选择参数、函数功能覆盖了现代通信系统的各个方面。这些函数包括:信号源产生函数、信源编码/解码函数、纠错控制编码/解码函数、调制/解调函数(基带和通带)、滤波器函数、传输信道模型函数(基带和通带)、TDMA、FDMA、CDMA函数、同步函数、工具函数等。以纠错控制编解码函数为例:函数库提供了线性分组码、

1

2

汉明码、循环码、BCH 码、里德一索洛蒙码(REED —SOLOMON )、卷积码等6种纠错控制编码,每种编码又有编码、解码、矢量输入输出、序列输入输出等四种形式的函数表达。

在SIMULINK 通信系统仿真模型库中,整个通信系统的流程图被概括为:信号的产生与输出、编码与解码、调制与解调。在SIMULINK 中,通信系统仿真的一般模型如图3.1所示。

图3.1 通信系统仿真模型

3.2设计原理

3.2.1汉明码编码原理

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

21r

n -≥或211r

k r -≥++ (1)

下面以(7,4)汉明码为例说明原理:

设汉明码(n,k )中k=4,为了纠正一位错码,由式(1)可知,要求监督位

数r ≥3。若取r=3,则n=k+r=7。我们用6543210a a a a a a a

来表示这7个码元,用123s s s 的值表示3个监督关系式中的校正子,则123

s s s 的值与错误码元位置的对应关系

可以规定如表1所列。

3

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

则由表1可得监督关系式: 16542

s a a a a =⊕⊕⊕ ()2

26531

s a a a a =⊕⊕⊕

()3 36430

s a a a a =⊕⊕⊕

()4

在发送端编码时,信息位6543a a a a

的值决定于输入信号,因此它们是随机的。监督位2a 、1a 、0a

应根据信息位的取值按监督关系来确定,即监督位应使式(2)

~式(4)中1s 、2s 、3s

的值为0(表示编成的码组中应无错码)

654265316

430000

a a a a a a a a a a a a ⊕⊕⊕=⎧⎪

⊕⊕⊕=⎨⎪⊕⊕⊕=⎩ (5)

式(5)经过移项运算,接触监督位

2654

16530

643a a a a a a a a a a a a

=⊕⊕⎧⎪

=⊕⊕⎨⎪=⊕⊕⎩ (6)

式(5)其等价形式为:

6543210111010001101010010110010a a a a a a a ⎡⎤

⎢⎥⎢⎥

⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦

⎢⎥⎢⎥⎢⎥⎣⎦

(7)

式(6)还可以简记为

0T T H A ∙=或0T

A H ∙= (8)

4

其中

111010011010101011001H ⎡⎤

⎢⎥=⎢⎥

⎢⎥⎣⎦

[]654321

0A a a a a a a a =

[]00

0=

111011011011P ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦ 1

0001000

1r I ⎡⎤

⎢⎥=⎢

⎥⎢⎥⎣⎦

所以有

[]

r H PI = (9)

式(6)等价于

[][][]2

1

06

54

3654

3111110101011a a a a a a a a a a a Q

⎡⎤

⎢⎥

⎥==⎢⎥⎢⎥⎣⎦

(10)

其中Q 为P 的转置,即

T Q P = (11)

式(10)表示,信息位给定后,用信息位的行矩阵乘矩阵Q 就产生出监督位。 我们将Q 的左边加上一个k ×k 阶单位方阵,就构成一个矩阵G

10001

11010011000101

0100010

11k G I Q ⎡⎤⎢⎥⎢⎥⎡⎤==⎣⎦⎢⎥

⎥⎣⎦

(12)

G 称为生成矩阵,因为由它可以产生整个码组,即有

[][]65432106543a a a a a a a a a a a G =∙ (13)

或者

[]6

5

4

3A a a a a G

=∙ (14)

式(13)即汉明码的编码原理

相关文档
最新文档