移动通信.docx

上传人:b****5 文档编号:15203967 上传时间:2023-07-02 格式:DOCX 页数:15 大小:218.74KB
下载 相关 举报
移动通信.docx_第1页
第1页 / 共15页
移动通信.docx_第2页
第2页 / 共15页
移动通信.docx_第3页
第3页 / 共15页
移动通信.docx_第4页
第4页 / 共15页
移动通信.docx_第5页
第5页 / 共15页
移动通信.docx_第6页
第6页 / 共15页
移动通信.docx_第7页
第7页 / 共15页
移动通信.docx_第8页
第8页 / 共15页
移动通信.docx_第9页
第9页 / 共15页
移动通信.docx_第10页
第10页 / 共15页
移动通信.docx_第11页
第11页 / 共15页
移动通信.docx_第12页
第12页 / 共15页
移动通信.docx_第13页
第13页 / 共15页
移动通信.docx_第14页
第14页 / 共15页
移动通信.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

移动通信.docx

《移动通信.docx》由会员分享,可在线阅读,更多相关《移动通信.docx(15页珍藏版)》请在冰点文库上搜索。

移动通信.docx

移动通信

 

《移动通信》课程设计报告

 

课题名称:

卷积码差错控制的系统仿真

班级:

姓名:

学号:

指导老师:

马英辉

 

2011-6-20

 

卷积码差错控制系统的仿真

一、设计任务

本课程设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出,并通过Matlab软件进行设计与仿真,并进行误码率分析。

1)用子系统来实现,系统包括:

信源部分、信道部分、新宿部分。

2)信源部分的数据源采用随机二进制序列,并对其进行卷积码调制。

3)信道部分对调制后的信号加译。

4)信宿部分对信号调制及维比特译码。

5)编程实现波形,实现误码分析。

二、设计目的

移动通信也是一门实践性非常强的课程,实验教学在整个课程的教学中占据了非常重要的地位。

在学生学习了现代通信原理、数字信号处理(DSP技术)等课程后,学生已经具有了一定的理论基础和实验技能,在此基础上本实验课程开设的主要作用和目的在于:

1. 帮助学生更好地理解移动通信系统,掌握各种移动通信系统的模型

2. 帮助学生熟悉常用的通信系统仿真平台,学习仿真模型的设计,掌握通信系统的仿真方法,学会利用仿真软件对系统性能进行评价;

三、设计原理

3.1、卷积码的概念

卷积码,又称连环码,是由伊莱亚斯(P.elias)于1955年提出来的一种非分组码。

卷积编码的最佳译码准则为:

在给定已知编码结构、信道特性和接收序列的情况下,译码器将把与已经发送的序列最相似的序列作为传送的码字序列的估值。

对于二进制对称信道,最相似传送序列就是在汉明距离上与接收序列最近的序列。

卷积码的译码方法有两大类:

一类是大数逻辑译码,又称门限译码(硬判决,编者注);另一种是概率译码(软判决,编者注),概率译码又分为维特比译码和序列译码两种。

门限译码方法是以分组码理论为基础的,其译码设备简单,速度快,但其误码性能要比概率译码法差[2]。

当卷积码的约束长度不太大时,与序列译码相比,维特比译码器比较简单,计算速度快。

维特比译码算法是1967年由Viterbi提出,近年来有大的发展。

目前在数字通信的前向纠错系统中用的较多,而且在卫星深空通信中应用更多,该算法在卫星通信中已被采用作为标准技术。

3.2、维特比译码原理

采用概率译码的基本思想是:

把已接收序列与所有可能的发送序列做比较,选择其中码距最小的一个序列作为发送序列。

如果发送L组信息比特,那么对于(n,k)卷积码来说,可能发送的序列有2kL个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列。

当传信率和信息组数L较大时,使得译码器难以实现。

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

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

下面以图3.1的(2,1,3)卷积码编码器所编出的码为例,来说明维特比解码的方法和运作过程。

为了能说明解码过程,这里给出该码的状态图,如图3.2所

图3.2(2,1,3)卷积码状态图

图3.1(2,1,3)卷积码编码器

示。

维特比译码需要利用图来说明移码过程。

根据卷积码画网格的方法,我们可以画出该码的网格图,如图3.3所示。

该图设输入信息数目L=5,所以画L+N=8个时间单位,图中分别标以0至7。

这里设编码器从a状态开始运作。

该网格图的每一条路径都对应着不同的输入信息序列。

由于所有可能输入信息序列共有2kL个,因而网格图中所有可能的路径也为2kL条。

这里节点a=00,b=01,c=10,d=11。

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

设输入编码器的信息序列为(11011000),则由编码器对应输出的序列为Y=(1101010001011100),编码器的状态转移路线为abdcbdca。

若收到的序列R=(0101011001011100),对照网格图来说明维特比译码的方法。

由于该卷积码的约束长度为6位,因此先选择接收序列的前6位序列R1=(010101)同到达第3时刻的可能的8个码序列(即8条路径)进行比较,并计算出码距。

该例中到达第3时刻a点的路径序列是(000000)和(111011),他们与R1的距离分别为3和4;到达第3时刻b点的路径序列是(000011)和(111000),他们与R1的距离分别为3和4;到达第3时刻c点的路径序列是(001110)和(110101),他们与R1的距离分别为4和1;到达第3时刻d点的路径序列是(001101)和(110110),他们与R1的距离分别为2和3。

上述每个节点都保留码距较小的路径作为幸存路径,所以幸存路径码序列是(000000)、(000011)、(1101001)和(001101),如图3.4所示。

用于上面类似的方法可以得到第4、5、6、7时刻的幸存路径。

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

需要指出的是,对于某个节点,如果比较两条路径与接收序列的累计码距值相等时,则可以任意选者一条路径作为幸存路径,吃时不会影响最终的译码结果。

在码的终了时刻a状态,得到一条幸存路径。

如果3.5所示。

由此可看到译码器

图3.5第8时刻幸存路径

输出是R’=(1101010001011100),即可变换成序列(11011000),恢复了发端原始信息。

比较R’和R序列,可以看到在译码过程中已纠正了在码序列第1和第7位上的差错。

当然如果差错出现太频繁,以致超出卷积码的纠错能力,还是会发生纠误的。

四、Matlab卷积码的设计过程

4.1Matlab维特比译码器模块介绍

在Matlab软件的Simulink组件库中包含有的两种卷积码译码模块,即后验概率卷积译码器和维特比译码器。

如果卷积编码器的输入长度为k,输出信号的长度为n,则维特比译码器的输入好输出信号长度分别是n和k的整数倍[1]。

维特比译码器模块主要有以下几个参数:

1)Trellisstructure(Trellis结构)

与维特比一冒起相对应的卷积编码器的Trellis结构。

它既可以是Matlab工作区中的一个Trellis变量,也可以是通过poly2trellis()函数产生的Trellis结构。

2)DecisionType(判决类型)

维特比译码器德判决类型有3种:

Unquantized(非量化)、HardDecision(硬判决)和SoftDecision(软判决)。

ision(软判决),如表4.1所示。

表4.1维特比译码器的判决类型

判决类型

解码器的输出类型

说明

Unquantized

实数

+1表示逻辑0;-1表示逻辑1

HardDecision

1,1

0表示逻辑0;1表示逻辑1

SoftDecision

介于0和2b-1之间的整数,其中b是软判决位的个数

0表示具有取值为0的最大概率;2b-1表示具有取值为1的最大概率;介于两者之间的数表示取0和1的相对概率。

3)Numberofsoftdecisionbits(软判决的个数)

当Decisiontype设置为SoftDecision时,本参数有效,并且当它的取值为b时,维特比译码器的输出是介于0和2b-1之间的一个整数。

4)Tracebackdepth(反馈深度)

反馈深度D影响着维特比译码的精度,同时也影响着解码的时延(即在输出第一个解码数据之前输出的0的个数)。

5)Operationmode(操作模式)

维特比译码器有3种操作模式:

Continuous、Terminated或Truncated。

如果维特比译码器德输出信号是抽样信号,则应该把本参数设置为Continuous模式;当输入信号时帧数据时,操作模式可以是Continuous、Terminated或Truncated。

对于Continuous模式,维特比译码器在每帧数据结束时保存译码器的内部状态,用于对下一帧实施解码;在Truncated模式下,解码器在每帧数据结束的时候总能恢复到全零状态,它对应于卷积编码器的Oneachframe复位方式;Terminated模式适用于卷积编码器的每帧输入信号的末尾有足够多的零,能够把卷积编码器在完成一帧数据的编码之后把内部状态恢复为0[2]。

6)Enablerestinputport(启用复位信号端口)

当Operationmode参数设置为Continuous并且选中了本选项前面的复选框之后,维特比译码器增加一个输出信号端口Rst。

同时当Rst的输入信号不等于0时,维特比译码器复位到初始状态[3]。

4.2Matlab中卷积码维特比译码器的设计

1)仿真系统通信模型

图4.1仿真通信系统模型

其中,信源为随机输入的10000个二进制码元,信道为简单的加性高斯白噪声信道,调制方式为BPSK调制啪,译码方式采用了Viterbi硬判决译码。

适用于二进制对称信道(BSC)。

可见,本设计由3个子系统组成:

 

图4.2整体设计结构模块框图

 

图4.3总电路仿真

2)信源模块:

信源模块由贝努利二进制序列产生器、卷积码编码器以及二进制相位调制3个模块组成,如图4.4所示

图4.4信源模块

各个模块的参数设置分别如表4.2~表4.4所示。

表4.2BernoulliBinaryGenerator(贝努利二进制序列产生器)的参数设置[4]

参数名称

参数值

模块类型

BernoulliBinaryGenerator

Probabilityofzero

0.7

Initialseed

25700

Sampletime

0.001

Frame-basedoutput

Checked

Samplesperframe

1000

表4.3ConvolutionalEncoder(卷积码编码器)的参数设置

参数名称

参数值

模块类型

ConvolutionalEncoder

Trellisstructure

STRUCTURE

Reset

Oneachframe

表4.4BPSKModulatorBaseband(二进制相位调制模块)的参数设置

参数名称

参数值

模块类型

BPSKModulatorBaseband

Phaseoffset(rad)

0

Samplespersymbol

1

3)信道模块:

本设计使用相对较简单的一个加性高斯白噪声信道作为噪声信道,它在二进制相位调制信号中叠加高斯白噪声。

加性高斯白噪声模块的参数设置如表4.5[5]。

图4.5信道模块

表4.5AWGNChannel(加性高斯白噪声模块)的参数设置

参数名称

参数值

模块类型

AWGNChannel

Initialseed

1230

Mode

Signaltonoiseratio(SNR)

SNR(dB)

SNR

Inputsignalpower(watts)

1

4)信宿模块:

信宿模块在接收到二进制相位调制信号后,首先由BPSKDemodulatorBaseband(二进制相位解调模块)对信号进行量化,得到硬判决量化信号,然后通过ViterbiDecoder(维特比译码器)对软判决信号实施译码。

译码输出信号和信源模块产生的原始信号输入到ErrorRateCalculator(误比特率统计模块)中,统计得到的数据一方面通过Display(显示模块)显示出来,另一方面通过一个Selector(选择器)把其中的第一个元素(即编码信号的误比特率)保存到工作区变量BitErrorRate中。

信宿模块如下图4.6所示。

图4.6信宿模块

各关键模块参数设置如表4.6~表4.8所示。

表4.6BPSKDemodulatorBaseband(二进制相位解调模块)的参数设置

参数名称

参数值

模块类型

BPSKDemodulatorBaseband

Phaseoffset(rad)

0

表4.7ViterbiDecoder(维特比译码器)的参数设置

参数名称

参数值

模块类型

ViterbiDecoder

Trellisstructure

STRUCTURE

Decisiontype

Harddecision

Trecebackdepth

1000

Operationmode

Truncated

表4.8ErrorBateCalculation的参数设置

参数名称

参数值

模块类型

ErrorBateCalculation

Receivedelay

0

Computationdelay

0

Computationmode

Entireframe

Outputdata

Port

表4.9Display(数值显示器)的参数设置

参数名称

参数值

模块类型

Display

Format

short

Decimation

1

Sampletime

1

表4.10Selector(选择器)的参数设置

参数名称

参数值

模块类型

Selector

Inputtype

Vector

Indexmode

one-based

Sourceofelementindices

Internal

Elements(-1forallelements)

2

Inputportwidth

3

表4.11Toworkspace的参数设置

参数名称

参数值

模块类型

Toworkspace

Variablename

Wjj

Limitdatapointtolast

inf

Decimation

1

Sampletime

-1

Saveformat

Array

将此完整设计保存,命名为untitled1.mdl。

5)Matlab中卷积码译码器的误码率分析

编制M文件convolutionh.m,使untitled.mdl在不同的信噪比条件下重复执行前面建立的项目untitled1.mdl。

然后绘制信道的信噪比与编码信号误比特率之间的关系曲线图。

M文件代码如下:

x=-10:

5;

%y表示信号的误比特率

y=x;

%准备一个空白图形

holdoff;

%重复运行d.mdl,检验不同条件下硬判决译码的性能

fori=1:

length(x)

%信道的信噪比依次取x中的元素

SNR=x(i);

%运行仿真程序,得到的误比特率保存在工作区变量BitErrorRate中

sim('untitled1');

%计算BitErrorRate的均值作为本次仿真的误比特率

y(i)=mean(zyw);

end

%绘制x和y的关系曲线图,纵坐标采用对数坐标

semilogy(x,y);

%保持已经绘制的图形

holdon

图4.7convolutionh.m运行结果

执行此M文件,得到如4.7所示的关系曲线图,由此图可见,随着信道信噪比的提升,维特比译码所得结果的误比特率越低,信道的可信度越高,信噪比在大于-2时信道的误码率开始明显降低。

四、心得体会

经过一个星期的课程设计,对于这个课题,刚拿到手的时候觉得无从下手。

不知道从哪里开始。

通过老师所提供的资料和自己在网上搜到的资料之后,我才开始下手。

课程设计的第一次课,主要是按照课程设计的指导书中的步骤,先熟悉Simulink软件的使用和绘制电路图的基本使用。

熟悉了软件的使用之后便开始绘制电路图。

首先画出信源、信道、信宿的分模块电路图,根据找到的资料对各元件进行配置,然后根据总的电路图绘制出整个电路的模拟仿真图。

通过这次的卷积码差错控制的系统仿真设计与制作,让我了解了Matlab软件,了解了移动通信理念。

但是最后的成品却不一定与理想的不太一样,因为,在实际有着各种各样的条件制约着。

所以,在设计时应考虑两者的差异,从中找出最适合的设计方法。

      在做课程设计的过程中,我深深地感受到了自己所学到知识的有限,明白了只学好课本上的知识是不够的,要通过图书馆和互联网等各种渠道来扩充自己的知识。

在实验过程中遇到很多问题。

但是我并没有沮丧。

通过和同学的谈论之后问题最终得到了解决。

在实验的过程中我们互相讨论互相合作,使得我们的实验得以顺利完成,体会到了合作的力量。

总之,本次课程设计我受益匪浅。

同时也感受到了经过自己的努力而成功的喜悦。

五、参考文献

[1]RodgerE.Ziemer,RogerL.Peterson著.尹长川,郝建军,罗涛等译.数字通信基础(IntroductiontoDigitalCommunication).原书第2版.北京:

机械工业出版社,2005.1

[2]樊昌信,张甫翊,徐炳祥,吴成柯.通信原理.第5版.北京:

国防工业出版社,2007.1

[3]邓华.Matlab通信仿真及应用实例详解.北京:

人民邮电出版社,2003.9

[4]陈国通.数字通信.哈尔滨:

哈尔滨工业大学出版社,2002.4

[5]孙祥,徐流美,吴清.Matlab7.0基础教程.北京:

清华大学出版社,2005.5

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2