无线通信与网络实验报告

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

实验报告课程名称:无线通信与网络

实验项目:matlab仿真实验

实验地点:

专业班级:学号:

学生姓名:

指导教师:

2013年4月12日

实验1 卷积编码和译码的matlab仿真实现

一、实验目的

了解掌握如何使用matlab来进行卷积编码和译码的仿真。

二、实验内容

1、SIMULINK仿真模块的参数设置以及重要参数的意义

2、不同回溯长度对卷积码性能的影响

3、不同码率对卷积码误码性能的影响

4、不同约束长度对卷积码的误码性能影响

三、基本原理

本实验分为卷积编码和卷积译码两部分:

卷积编码的最佳译码准则为:在给定已知编码结构、信道特性和接收序列的情况下,译码器将把与已经发送的序列最相似的序列作为传送的码字序列的估值。对于二进制对称信道,最相似传送序列就是在汉明距离上与接收序列最近的序列。

卷积码的译码方法有两大类:一类是大数逻辑译码,又称门限译码(硬判决);另一种是概率译码(软判决),概率译码又分为维特比译码和序列译码两种。门限译码方法是以分组码理论为基础的,其译码设备简单,速度快,但其误码性能要比概率译码法差[2]。

当卷积码的约束长度不太大时,与序列译码相比,维特比译码器比较简单,计算速度快。维特比译码算法是1967年由Viterbi提出,近年来有大的发展。目前在数字通信的前向纠错系统中用的较多,而且在卫星深空通信中应用更多,该算法在卫星通信中已被采用作为标准技术。

采用概率译码的基本思想是:把已接收序列与所有可能的发送序列做比较,选择其中码距最小的一个序列作为发送序列。如果发送L组信息比特,那么对

于(n,k)卷积码来说,可能发送的序列有2kL个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列。当传信率和信息组数L较大时,使

得译码器难以实现。维特比算法则对上述概率译码做了简化,以至成为了一种实

用化的概率算法。它并不是在网格图上一次比较所有可能的2kL 条路径(序列),而是接收一段,计算和比较一段,选择一段最大似然可能的码段,从而达到整个码序列是一个最大似然值得序列。

下面以图2.1的(2,1,3)卷积码编码器所编出的码为例,来说明维特比解码的方法和运作过程。为了能说明解码过程,这里给出该码的状态图,如图2.2所

图2.1 (2,1,3)卷积码编码器图2.2 (2,1,3)卷积码状态图

示。维特比译码需要利用图来说明移码过程。根据卷积码画网格的方法,我们可以画出该码的网格图,如图2.3所示。该图设输入信息数目L=5,所以画L+N=8个时间单位,图中分别标以0至7。这里设编码器从a 状态开始运作。该网格图的每一条路径都对应着不同的输入信息序列。由于所有可能输入信息序列共有2kL 个,因而网格图中所有可能的路径也为2kL 条。这里节点a=00,b=01,c=10,d=11。

b

a b

c d

节点号

1

2

3

4

5

6

7

图2.3 (2,1,3)卷积码网格图

设输入编码器的信息序列为(11011000),则由编码器对应输出的序列为Y=(1101010001011100),编码器的状态转移路线为abdcbdca 。若收到的序列R=(0101011001011100),对照网格图来说明维特比译码的方法。

由于该卷积码的约束长度为6位,因此先选择接收序列的前6位序列R 1=(010101)同到达第3时刻的可能的8个码序列(即8条路径)进行比较,并计算出码距。该例中到达第3时刻a 点的路径序列是(000000)和(111011),他们与R 1的距离分别为3和4;到达第3时刻b 点的路径序列是(000011)和(111000),他们与R 1的距离分别为3和4;到达第3时刻b 点的路径序列是(000011)和(111000),他们与R 1的距离分别为3和4;到达第3时刻c 点的路径序列是(001110)和(110101),他们与R 1的距离分别为4和1;到达第3时刻d 点的路径序列是(001101)和(110110),他们与R 1的距离分别为2和3。上述每个节点都保留码距较小的路径作为幸存路径,所以幸存路径码序列是(000000)、(000011)、(1101001)和(001101),如图2.4所示。用于上面类似的方法可以得到第4、5、6、7时刻的幸存路径。

需要指出的是,对于某个节点,如果比较两条路径与接收序列的累计码距值

相等时,则可以任意选者一条路径作为幸存路径,吃时不会影响最终的译码结果。在码的终了时刻a 状态,得到一条幸存路径。如果2.5所示。由此可看到译码器

a b c d

节点号

1

2

3

图2.4 维特比译码第3时刻幸存路径

输出是R ’=(1101010001011100),即可变换成序列(11011000),恢复了发端原始信息。比较R ’和R 序列,可以看到在译码过程中已纠正了在码序列第1和第7位上的差错。当然如果差错出现太频繁,以致超出卷积码的纠错能力,还是会发生纠误的。

四、实验步骤

4.1 卷积码的仿真

本文通过MATLAB 下的SIMULINK 仿真。首先建立卷积码的仿真模块并组合起来。

图4-1卷积码的编码译码框图

如上图4-1的信号流程可以表示为先由Bernoulli Binary Generator (贝努利二进制序列产生器)产生一个0,1等概序列,经过Convolutional Encoder (卷积编码器)对输入的二进制序列进行卷积编码,并用BPSK 调制方式调制信号。加入信道噪声(高斯白噪声)后再经过BPSK 解调制后送入Viterbi Decoder (Viterbi

a b c d

节点号 0

1 2 3

4 5 6 7 8

图2.5 第8时刻幸存路径

相关文档
最新文档