下载

2下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 CDMA通信系统中的接入信道部分进行仿真与分析

CDMA通信系统中的接入信道部分进行仿真与分析.doc

CDMA通信系统中的接入信道部分进行仿真与分析

江山依旧
2018-09-06 0人阅读 举报 0 0 暂无简介

简介:本文档为《CDMA通信系统中的接入信道部分进行仿真与分析doc》,可适用于工程科技领域

更多资料wwwsfmcucomwwwsfeducn盛方第页共页摘要CDMA技术是当前无线电通信尤其是移动通信的主要技术不论是在中国已经建立的IS规范的中国联通CDMA网、各大移动通信运营商正准备实验及建立第三代(G)系统还是大设备研发商已经在开发的三代以后(也称为G)更宽带宽的移动通信系统CDMA都是主要的选择。CDMA概念可以简单地解释为基于扩频通信的调制和多址接入方案。其反向链路有接入信道和反向业务信道组成。接入信道用于短信令消息交换、能提供呼叫来源、寻呼响应、指令和注册。本设计选取CDMA通信系统中的接入信道部分进行仿真与分析。首先通过学习相应的理论知识熟悉接入信道实现的过程对每一步的原理有了较深的理解同时也对MATALB软件进行熟悉和了解对MATLAB软件中的SIMULINK部分及其内部的CDMA模块用法和参数设置进行熟悉然后运用MATLAB软件对接入信道部分进行设计并逐步地对各个模块进行分析、仿真与验证。目的是通过毕业设计工作熟悉现代无线通信系统的基本构成与基本工作原理重点掌握卷积编码、块交织和码扩展等相关编码技术并能将这些技术应用实际系统设计提高自己对CDMA通信系统知识的认识。关键字:CRC卷积编码块重复交织长码沃尔什PN序列AbstractCDMAisthemajortechnologyusedinthewirelesscommunication,especiallyinthemobilecommunicationFollowingtheISstandardsetupinChina,CDMAisthemostlychoicewhetherinChinaUninetnet,inthethirdsystem(G)thatallkindsofmobilebusinessmenaretobuildorinthewidersystemthanthethirdone(namedG)thatthelargeequipmentsresearchingbusinessmenhavebeenresearchingTheconceptofCDMAmaybeinterpretedasthesimulationthatbaseonfrequencyspreadingandthemultiplyaddressaccessprojectItsreversechanneliscoeCDMAcommunicationsystemKeywords:CRCConvolutionalEnconderBlockRepeatInterleaverLongcodeWalshPNsequence目录中文摘要关键字…………………………………………………………英文摘要关键字…………………………………………………………目录……………………………………………………………………前言……………………………………………………………………设计总体框架…………………………………………………………设计各个部分原理知识介绍…………………………………………卷积编码………………………………………………………………交织技术介绍……………………………………………………………沃尔什函数说明…………………………………………………………沃尔什函数特性说明…………………………………………………沃尔什函数的产生方法介绍……………………………………………长码的实现………………………………………………………………PSK和OQPSK调制…………………………………………………………短码的实现………………………………………………………………MTALAB软件中的SIMULINK的简介……………………………………设计仿真、分析与验证………………………………………………设计总体模块构造………………………………………………………对各个模块进行分析与验证………………………………………………源中部分(subsystem)设置、说明与分析……………………………对卷积编码器和重复模块的设置、说明与分析…………………………对子系统Subsystem(块交织器)模块的设置、说明与分析……………沃尔什调制器输出与长码输出及其异或验证……………………………I路和Q路的输出验证与分析……………………………………………经验总结…………………………………………………………………谢辞………………………………………………………………………参考文献……………………………………………………………………引言众所周知自从世纪年代出现蜂窝网通信以来世界各地移动通信行业得到了迅猛的发展而蜂窝网的技术本身也得到了长足的进步。就多址接入方式而言世纪年代出现了时分多址(TDMA)数字蜂窝网以GSM为代表的数字蜂窝移动通信系统在国内外已获得了广泛应用。世纪年代又出现了码分多址(CDMA)蜂窝网移动通信系统。由于它通信容量大、质量好因此立即引起了人们广泛的关注其优势已被人们所共认其发展前景十分良好。不少专家预言世纪将是CDMA通信广泛应用的时代。CDMA蜂窝网移动通信是在频分多址(FDMA)模拟蜂窝网和时分多址(TDMA)数字蜂窝网基础上发展起来的既有共同点也有很多独特的地方:从技术角度来看.CDMA蜂窝网技术是最先进的同时又是最复杂的。可以说在一定范围内它反映了现代通信的技术水平。本次课题选择的是反向链路的接入信道部分进行软件的仿真所运用的软件是MATLAB。运用MATALAB软件中的模块进行接入信道的构建并对信道的原理进行分析和验证。本论文是按照从理论到仿真分析与验证的步骤顺序来的最后进行全面的总结。对毕业设计总体实现框架进行初要说明图设计总体框图接入信道数据以每毫秒比特的速率产生因为卷积编码器在每帧后复位所以每帧的数据都加上比特的尾。故数据进入编码器的速率是()=bits,如图所示。这些数据进行码率约束长度为的卷积编码。编码器中出来的数据率是×=ksps。为了使接入信道和反向业务信道有相同的块交织方案接入信道的符号进行了重复使进入交织器的为×=×=ksps和反向业务信道达最高数据率bits的数据进入交织器时的速率一样。交织方案是读入一帧的数据(×=符号)按列写入列×行的矩阵然后以某种顺序按行读出以使数据符号在时间上分开。交织后的符号送到一个()的沃尔什编码器。沃尔什编码是用每组个编码符号(c、……c)来选择^=阶沃尔什序列Hi中的一个。选择时要按下列准则来计算序号i:这里的i是×哈达码矩阵的行号,而{cj}是经过编码的二进制(,)符号因此符号速率的增长比率为,从sps增加到cps,单位是”沃尔什编码”每秒这个步骤可以看作是一个(n=,k=)的纠错编码它也可以解释为一种用二进制信道符号进行进制正交调制的形式接入信道符号进一步用一个特定的相位偏置是靠移位积存器的输出与一个随用户不同而不同的比特模板序列进行内积来产生的对于接入信道,模板是用伪随机产生的接入信道和相应的寻呼信道编号以及基站辩识参数构成的在脉冲成型与发送之前,长PN码扩谱后的基带数据流分别与I路Q路正交短PN码相乘,Q路相乘后延时了半个码片形成OQPSK调制和正交分集。注意:这个操作中,符号没有被扩谱,因为短PN码的速率也是Mcps还要注意到,图表明所有小区中的所有移动台都采用零偏置的短PN码不同用户的信号只用它们唯一的长PN码相位加以区别下表总结了接入信道的调制参数。接入信道调制参数参数数值单位数据速率bitsPN码片速率Mcps代码速率Bit码符号码符号重复符号码符号发端占空比码符号速率sps调制码符号模符号调制速率sps沃尔什码片速率kcps模符号间隔µsPN码片码符号PN码片模符号PN码片沃尔什码片特定移动台的接入信道传送只能在指定的接入信道时隙中进行,接入信道时隙事实毫秒帧长的睁倍数接入信道时隙的每一次传送开始都有一随机短延时,以分散不同的移动台的起始传送时间,这些移动台可能在同一时隙内在不同的信道中传送接入信道有个数据零作报头,以帮助基站捕获信号移动台第一次使用接入信道时,只能发送按某种程序形成的试探”消息”,直到决定了该移动台的适当功率水平为止对各个模块所对应的原理进行详细的说明CDMA(码分多址)是一种利用惟一码序列进行扩频多址接人数字通信的技术。CDMA信道包括基站和移动台之间的前向CDMA信道和反向CDMA信道。前者是从基站到移动台的信道后者是从移动台到基站的信道。反向CDMA信道被移动台用来和基站通信同时在发送之前通过直接序列扩频共享相同的CDMA频率分配。反向CDMA信道是从移动台到基站的反向链路。在反向CDMA信道发送的数据被封装成ms帧。反向CDMA信道包括接人信道和反向业务信道。接人信道用于短信令消息交换提供呼叫发起、寻呼响应、指令和注册。反向业务信道用于从单个移动台向单个或多个基站传输用户数据和信令业务。前向CDMA信道包含导信倍道、同步信道、寻呼信道和前向业务信道。这些信道每路都经过适当的Wash函数正文扩展然后以Mcs固定速率由正交相位导频PN序列扩展。反向CDMA信道由接人信道和反向业务信道组成。反向信道上发送的所有数据都经过卷积编码、块交织、阶正交调制和长码直接序列扩展再发送。下文介绍CDMA信道操作的几个最基本的组成部分。卷积编码现代数字通信系统常常设计成以非常高的速率传输。卷积码已应用于很多个同系统例如不仅在CDMA移动通信系统种应用卷积编码/译码而且在空间和卫星也应用。为了防止系统出错,经常会使用卷积码。信息数据序列划分成许多长度为k的小块每段小块被编码长度为n的码字符号。卷积码(n,k,m)由k个输入、具有m阶存储的n个输出线性时序电路实现。通常n和k是较小的整数且k<n但m相当大。特别地当k=时信息序列不再分成小块以便可以连续处理因此卷积码的发展产生了很多有线和无线通信信道数字传输的实际应用。卷积码(nk,m)指定的码率为:R=kn,编码器级数为m=K其中K是码的约束长度。编码器存储阶数等于数据序列时延。m级n维生成序列集通常可以按如下方式描述:其中j=…k表示输入端数,j=…n表示模加法器数(输出端)。方程()也可以以多项式形式表达为:其中D是时延操作符每一项D的幂对应于该项的单位时延数。每个生成序列直接由从编码器级到各自模加法器的连接序列确定表示连接表示断开。每个生成序列包含m位二进制数。如果每次信息序列输入编码器比特那么编码器输出序列可以通过合并离散卷积得到即:其中基站对前向CDMA信道如同步、寻呼和业务信道上发送的数据进行卷积编码。前向CDMA信道使用码率R=、约束长度为的(,,)卷积码。该卷积码的生成序列为:由于码率为,所以每次编码器输入一位数据,编码器输出就产生两位编码符号。初始化后第一个输出符号是由生成序列编码的符号第二个输出符号是由生成序列编码的符号如图所示卷积编码包含连续时延数据序列选定抽头的模加。图位输入的()卷积编码器例如,以kbs速率传输的前向业务信道帧结构包含比特(ms)。这比持由位信息比特和位编码器尾比特组成如图所示。最后位编码尾比特全部设成。如果信息序列表示成d=()相应的多项式为。由于位信息比特后面有位编码器比特则前向业务信道帧表示为M=()或者写成多项式形式:图发送速率为bs的前向业务信道帧图显示了用于该信道的()卷积码。由于m=n=因此该编码器包含一个具有个模加法器的级移位寄存器和用于编码器连续输出的转向器。对图的卷积编码器两个生成序列分别为:和利用方程()对于i=和j=有:利用生成序列编码器每个模加法器的输出分别为:输出符号()连接成单个序列即发送到块交织器的编码符号序列:=对于前向和反向的CDMA信道每当信息速率小于bs时每个卷积编码的符号重复k次后再发送到块交织器。k的大小随着信息速率的不同而不同。交织技术介绍直接扩频CDMA支持同时在数量很大的用户群体而不光是单个用户之间的数字通信服务。这将反映在如何利用额外的维数和冗余来提高性能。使用了两种处理技术:用于提高额外冗余的交织技术和用于前向纠错的编码技术。交织是排列符号序列的过程。这种为获得时间分集的重排过程称为交织可以以两种方法考虑:块交织和卷积交织。交织常重复或编码相结合,是一种防止突发错误的时间分集形式符号在进入突发信道传送之前被改变顺序或进行交织如果传送时发生突法错误,恢复原来顺序就可以在时间上分散错误如果交织器设计良好,那么错误将会随机地分布,用编码技术几容易纠正最常见的交织技术的两种中最常见的类型是块交织这种方式常在数据分块分帧的情况下使用,入IS系统另一方面,卷积交织对连续少数据流来说是比较实用的类型块交织很容易实现,尔卷积交织有很好的性能连续操作使得卷积交织的初始开销变得不重要IS用了以类似块交织技术为基础的交织形式,将在下面进一步讨论有几个描叙交织器性能的参数重要的参数之一是最小间隔S,指突发连续错误分布的最小距离一般来说这个参数依赖于突发长度,突发长度增加则S变小极端情况下,突变长度与序列长度一样,则最小间隔是,因为不论如何排列,错误之间总是相互挨着的交织时,读取一部分符号同时需要存储另一些符号,因此就带来了延时一般来说,这种延时也出现在解交织时延时D表示交织和解交织时带来的额外读写操作量而刚提到,处理过程需要一些存储单元,用M来表示为了达到较好的交织器性能,最小间隔越大越好,延时和存储容量越小越好所以性能通常可用最小间隔与延时的比SD以及最小间隔和存储容量的比SM来描述一个(I,J)的块交织器可以看成是一个J行I列的存储矩阵数据按列写入,按行读出如图()所示。符号从矩阵的左上角开始写入,从右下角开始读出连续的数据处理要求有两个矩阵一个用于数据写入,另一个用于数据的读出解交织过程也要求有两个矩阵,用于反转交织过程图块交织器特性很容易通过观察矩阵得到假使突发错误的长度为B两个错误之间的最小间隔可以由下式给出:交织延时在发端是IJ,在接收端是IJ因此总延时是D=IJ为了连续的操作,需要两个矩阵,存储的要求就是M=IJ交织器的最小间隔可以通过改变读出的行顺序来改变,延时和存储要求在这个操作种不变B≤I情况下,最大的最小间隔由上面所说的读出方法得到然而,这种方法使得B>I时S=其他的方法可以减小B≤I时的最小间隔而增加B>I时的最小间隔IS就用了这样的技术除非仔细观察考虑读出的方法,否则一般最小间隔都是减少的IS系统交织一帧之内的数据,除了同步信道之外,其他信道都是毫秒,同步信道的一帧周期上毫秒因此,所有的IS的交织器在块数据上操作严格地说,并没有用块交织,但是交织的类型设计要依赖于信道和原始数据率例如,反向链路通过矩阵之中以非传统的方法读出各行数据以改变最小间隔特性沃尔什函数说明沃尔什函数是正交的、归一化的和完备的。“正交”是指两个不同的函数相乘并在给定区间上积分其结果为。“归一化”的意思是如果两个函数相同那么它们乘积的积分为。最后“完备”大致可理解为:在给定的区间内可使用这个正交函数集中函数的线性组合来逼近任意给定的函数在正交函数的个数趋于无限的条件下均方误差在“均值意义上”趋近于。沃尔什函数特性说明我们将N阶的沃尔豕函数定义为N段函数的集合记为{Wj(t)t∈(,T),j=,,…,N},定义如下:除了在一些跳变点上取值外Wj(t)仅在集合{}中取值。对于所有的j有Wj()=在区间(T)内Wj(t)精确地有j次符号变化(穿越零点)。关于区域的中点每一个函数Wj(t)不是奇函数就是偶函数。一个沃尔什函数集由N个函数构成并按照穿越零点(符号改变)的次数来定义它们的阶数。用函数集表示如下:第一个函数W(t)在整个()区间上没有过零点而W(t)在整个定义区域上有一个过零点。考虑图所示的定义在(T)将沃尔什函数的幅值图转化为二值逻辑{}表示即l“”“”并将图中的所有阶沃尔什函数的整个下标集j=…用二进制表示出来于是我们可以写出个沃尔什序列如图所示。当考虑一个阶的沃尔什函数集(序列)时可以注意到序列关于K轴上的点K=T…具有对称性其中T是沃尔什函数的周期。沃尔什函数关于这些点要么奇对称要么偶对称。这些点位j=KK…亦即。考虑任意一个N=阶的沃尔什函数如:W=OO图序列关于处奇对称:关于T处奇对称:关于T处偶对称:关于T处奇对称:将沃尔什函数的下标j用k位二进制数表示出来即j=(j,j,jk)。如果jk=则函数关于轴处偶对称k=,…k如果jk=l那么函数关于这个轴处奇对称。在沃尔什序列中与沃尔什函数中的定义相同第一个值总是即研Wj()=而Wj=。对沃尔什序列w,可以分析如下:在W中(j,j,j,j)=(l)因此可以判断:j=表示序列关于T处奇对称j=表示序列关于T处奇对称j=O表示序列关于T处偶对称j=表示序列关于T处奇对称于是以打头按照对称的要求可以写出如下序列:W=O这个序列与前面一开始给出的一样。同样根据观察可以得出沃尔什函数关于对称轴(中点)的位置的特性如下:·沃尔什函数关于(T)的中点也即在T处的对称轴ax上奇对称或偶对称。·沃尔什函数关于子区间(O,T)和(TT)的中点T/T处具有同样的对称性将这些中点对称轴定义为ak。·同样的处理过程重复k次直到子区间的中点为TNTN,…(N)N这里。这些中点对称轴称为a,这些轴具有同样的对称性。沃尔什函数的产生方法介绍沃尔什函数的产生方法有多种可以使用莱德马契函数,也可以使用哈达玛短阵还可以利用沃尔什函数自身的对称特性。下面仅以用哈达玛矩阵产生方式来介绍。哈达码矩阵是一个方阵方阵的每一个元素为或列与列之间是正交的。如果一个矩阵的第列的元素都是那么我们说这个矩阵是规范。可以使用代替而使用代替即使用逻辑值{}来表示哈达码矩阵那么×的阶哈达码矩阵可以表示为:如果HN是一个N×N的哈达码矩阵于是有:这里IN是一个N×N的单位。如果规定N≥为哈达码矩阵的阶数,那么N可取值为,,或t(t为整数)设和分别为a阶和b阶的哈达码矩阵,那么×=的阶数为ab,运算规则如下:如果矩阵中一个元素为(或逻辑值),那么用来代入,如果该元素为(或为逻辑值)则用Hb(或Hb的补)代入。如果N为的幂并规定H==于是可以由下式求得:这里规定为取负(为其补值)。的哈达码矩阵可以由N=阶的哈达码矩阵的规范形式连乘得到。如果则所有的哈达玛矩阵的行序列和列序列都是沃尔什序列。然而用沃尔什函数表示和哈达玛函数表示之间存在一些差别即哈达玛函数的行序号和列序号都与符号改变(过零点)的次数没有关系而沃尔什函数却具有这种关系。显然由哈达玛函数生成的沃尔什函数不是按照符号改变的次数排序的因而需要一种方法对这两种排序进行相互转换。直接序列扩展反向CDMA信道中反向业务信道相接人信道将由长码直接序列扩展以提供有限的保密性。对反向业务信道直接序列(DS)扩展操作包含对数据脉冲随机发生器输出数据和长码模加。数据脉冲随机发生器产生掩码符号和随机地掩蔽由于码重复产生的冗余数据。掩码符号由帧数据率和长码的最后比特位确定。对于接人信道DS扩展操作包含阶正交调制器输出和长码的模加。设d(t)为Walsh码片调制的数据序列Tb为数据比特时间间隔。Walsh调制的数据序列被长码c(t)的扩展则码片模加。每个c(t)脉冲称为码片Tc表示码片时间间隔Tb=Tc。扩展PN码片序列速率固定在Mcs。由于个编码符号由个时间正交Walsh函数之一调制调制符号发送速率固定在=kss。因此每个Walsh码片由个PN码片扩展即。由Mcs长码PN码片相乘的直接序列d(t)如图所示。图QPSK和OQPSK调制为了使频带效率最大高频谱效率的CDMA信道调制技术要求在相位正交的两个载波同时发送。正交调制在扩频中极为重要它对某些类型的干扰不敏感。令为原始数据流为双极性脉冲代表二进制ll代表二进制.如图所示。该脉冲数据流分成同相流(偶数比特)和正交相位流(奇数比特),如图和图所示。注意和分别具有d(t)的一半速率。原始数据d(t)同相流dI(t)正交流的dQ(t)将每个和幅度调制到载波的余弦和正弦函数上可以得到QPSK波形如图所示。图QPSK扩频调制器其中同相流以(二进制)或l(二进制)对余弦函数进行幅度调制产生一个BPSK波形。同样地正交相位流对余弦函数进行调制产生另个与前面余弦函数产生波形正交的BPSK波形。这样载波的这两个正交分量就产生QRK波形。图QPSK的信号空间持续时间为Ts的原始数据流可以通过串并转换器将持续时间Tb划分为同相流和正交相位流(参见图)。QPK调制时同相和正交相位数据流都以Tbs速率发送并同步对齐以便发送时间一致非偏移QRK调制时。两种脉冲流和发送时间一致如图所示。由于和一致对齐所以载波相位每Tb秒变化一次相位导致了图所示的四种相位之。图和一致对齐的QPSK波形S(t)s(t)的方程也用于偏移QPSK(OQPSK)信令。OQRK和标准的非偏移QPSK在两个基带波形对齐方面不同。两种脉冲流和相互交错因此个是同时地改变状态。这两种调制方案的不同在于脉冲流和定时移位了以至于两种数据流差Tb对齐如图和所示。载波相位每Tb秒可能的变化限制在和。然而在作偏移QPSK下两种脉冲流和时间一致载波相位每Tb秒变化一次如图和所示。对应于QPSK数据流的典型OPSK波形如图所示。分开的数据流偏移的QPSK波形长码的产生长码提供了限的保密性。长码是的PN序列用于前向CDMA信道的扰码和反向CDMA信道的扩领。长码在前向业务信道和反问业务俏道惟一标识移动台。长码的特点是使用长码掩码来形成公用长码或私有长码。长码还用在相同CDMA信道上区分多重接人信道。当在当在接入信道上传输时先进行长码直接序列扩展然后发送。扩展操作包括阶正交调制器输出序列和长码的模加如图所示。CAN:接入信道编号PCN:寻呼信道编号BASEID:基站标识PLLOTPN:前向CDMA信道PN偏移:长码掩码头图长码周期为个码片由码发生器的LFSR抽头多项式P(x)指定:对所有位掩码和LFSR级输出的“与”结果进行“异或”操作可以得到长码的每个PN码片如图所示。图长码发生器长码掩码包括位二进制序列它是长码的惟一标识。长码掩码根据移动台传输的信道类型而不问。图显示了长码发生器产生的PN码片(kcs)它由长码掩码激活。短码的产生直接序列扩展之后反向业务伯道和接人信道进行正交相位扩展。另外前向CDMA信道正交扩展之后每个码道(导频、同步、寻呼或前向业务信道)进行正交相位扩展。扩展序列是长度为或个PN码片的正交相位序列。该正交相位序列称为导频PN序列.分别基于下列抽头多项式对于相同I序列:对于正交相位Q序列:MTALAB软件中的SIMULINK的简介MATLAB通信工具箱(communicationToolbox)中提供了许多MATLAB函数和SIMULINK仿真模块可以用来对通信系统进行仿真和分析。这些函数和模块涉及通信系统的各个部分用户可以根据自己的需要进行选择从而构筑自己的通信系统模型。SIMULINK仿真工具包是MATLAB的工具包之一是实现动态系统建摸、仿真和分析的一个集成环境。它可以仿真线形或非线形系统、连续时间系统、离散时间系统或两者混合系统也可以仿真多速率系统。SIMULINK提供了一个用于建摸的图形用户界面主要实用于构造比较复杂的动态系统模型。它的主要特点在于使用户可以通过简单的鼠标操作和拷贝等命令建立起直观的系统框图模型并进行交互性的动态仿真。所谓交互性指的是用户可以在仿真的同时修改系统参数仿真输出结果随着参数的改变而改变。SIMULINK的特性使它同以往的仿真工具有了较大的改进用户可以脱离复杂的基于微分方程的计算方法转而使用简单直观的框图式构造方法。SIMULINK有一个重要特征它是构造于MATLAB的之上的。因此SIMULINK用户可以直接使用基于MATLAB的工具对模型进行构造、优化和仿真。这里所说的基于MATLAB的工具指的是MATLAB应用于工具箱和专门用于某些领域的特定M文件的集合。通信工具箱就是MATLAB应用工具箱的一种。由于应用工具箱均由MATLAB的原代码编写而成用户可以在SIMULINK的工作平台上方便地调用工具箱中的各种工具从而实现了各类工具箱之间的无缝连接。SIMULINK的应用包括建摸和仿真两部分。所谓建摸指的是从SIMULINK的七个标准模块子库或MATLAB其他工具包模块库中选择所需的模块并拷贝到用户的模型窗口中经过连线和设置模块参数等构筑起用户自己的仿真模型的过程。SIMULINK完全采用“抓取”来构造动态系统系统的创建过程就是绘制框图的过程。而通信模块的创建和仿真一般是在SIMULINK工作窗口内利用COMMLIB库中通信模块构筑用户设计的通信模型然后再利用SIMULINK工作窗口中特有的菜单选项进行仿真。在打开SIMULINK之前首先要运行MATLAB。打开SIMULINK主工作界面的方式有两种:()在MATLAB的工作窗口中键入“simulink”指令。()在MATLAB窗口的状态栏中点击SIMULINK图标。需要注意的是SIMULINK对模块或模型文件的操作一般都有两种方式:()菜单操作方式在被操作模型的SIMULINK窗口下进行。()命令操作方式在MTALAB的工作窗口中通过一些固定调用格式的指令对模块或模型文件进行调用、仿真等操作。按照上述的方式打开的SIMULINK工作窗口就是SIMULINK的标准模块库的窗口同时被打开的还有一个新的模型文件窗口(标记为untitled)SIMULINK窗口见下:SIMULINK模型具有层级结构非常有利于建造和管理一个大型系统。为便于实现分层设计在SIMULINK模块库的费线形子库(Nonlinear)中含有一种专用模块子系统(Subsystem)模块同时SIMULINK还为子系统提供了封装(MASK)功能。子系统模块(SubsystemBlock)当一个动态模型包含许多环节时往往把系统功能分块每一块建立一个子系统。在设计中使用子系统可以降低模型的复杂度减少窗口的数目并易于对模型进行扩充和修改。设计一个SIMULINK框图可以采用“自顶向下”的设计方式下构造处总体模型再分别建立各个子系统也可以采用“自顶向下”的设计方式先完成每个部分底层设计封装为子系统后再用其搭建一个总体框图。下面简要给出采用“自顶向下”模式设计子系统的主要步骤:()在MATLAB工作窗口中键入sinmulink指令打开SIMULINK标准模块库。从它的File菜单中选取New命令创建新的方框图窗口。()用鼠标双击SIMULINK模块库中Connections图表打开下一级子模块库将其中的子系统模块(Subsystem)用鼠标拖至用户新建的文件窗口中。()双击子系统模块打开一个空白的子系统窗口按照功能要求添加模块并用输入端口代表送入子系统的信号输出端口代表输出信号。封装功能具有封装功能是SIMULINK模块一个非常有用的特点。通过封装可以为子系统建立用户自定义的对话筐和图标可以在当前图形窗口中隐藏子系统的设计内容用简单的图标来代替子系统。另一方面由于子系统中每个模块都有一个对话筐进行仿真的时候必须打开每个对话筐分别定义参数值应用起来比较麻烦。而封装功能可以将子系统中的多个对话筐合并为一个单独的对话筐封装对话筐封装对话筐中的参数在仿真时被直接送入子系统的各个模块中从而简化了用户定义仿真参数过程。同时通过在封装对话筐中自定义的模块参数域、模块描述信息和模块帮助信息等可以使仿真模型有一个更友好的用户界面。设计仿真、分析与验证根据前面所述的原理与总体框图在此我们对接入信道进行完全的仿真、分析与验证如下:设计总体模块构造图仿真总体构图subsystem内部结构图subsystem内部结构对各个模块进行分析与验证源中部分(subsystem)设置、说明与分析:在源这部分里面我们用贝努力二进制产生器产生所需的二进制代码所产生的码序列是服从贝努力概率分布的。为了满足设计的需要我们同时将贝努力产生器的输出值设为×且基于帧格式的输出方式也即:基于帧格式输出的行和列的矩阵。再利用CRC产生位循环冗余检验(CRC)码在数据尾部加入CRC码的作用有两点:第一可以在接收时确定帧(包)是否发生了错误第二可以辅助确定接收的帧的数据速率最终对数据速率的确定则是卷积译码器。另外利用ZeroPad(零填充模块)模块在数据帧末端加入个比特的其作用在于在每帧卷积编码结束后对卷积编码其中的移位积存器复位。由于MATLAB中的卷积编码器具有自动复位功能因此这个零填充模块并不是必须的。但在此我们仍然将此模块设置为插入个尾比特零可以使数据的速率达到我们最终的要求。模块的参数设置见下面的各图形。模块设置如下:Bernoulli模块设置Bernoulli模块参数设置说明:()Probabilityofazero:表示的是以概率取值为以的概率取值为()Sampletime:表示的是毫秒设置为ms的原因在于bits的速率的帧长为ms是指每帧中含有个比特数据对于bits的速率而言应该每帧的比特数为个之所以在这里设置为是因为在后面的CRC产生器和ZeroPad分别产生了个冗余循环码和个尾比特码。因此在这里每个比特的抽样时间为s()将输出数据设置为基于帧结构的方式也即:选择Framebasedoutputs的选项原因在于CRC码产生模块的输入必须基于帧数据结构的。()每帧的数据为比特所以将每帧的抽样次数设置为也即:Samplesperframe设置为。CRC模块设置CRC模块参数设置说明:对于反向信道的HalfRate(半速率也即为bits)而言GeneratalCRCGenerator的生成多项式为:所以对应的Generatorpolynomial的设置就应为:图ZeroPad模块的的设置ZeroPad模块参数设置说明:()在这里将Padsignalat设置为End是因为我们期望在数据末尾插入个尾比特。()由于我们在CRC的输出为×的比特数据也即一列的数据所以为了在同一的数据后面添加个数据我们在这里就将Padalong设置为:Columns()在该模块的输出端我们要求帧数据的比特数为也即为了在帧数据后面加入个因而将Specifiednumberofoutputrows设置为。综合上面所述我们将上三个模块构建为一个“源(source)”子系统简单的封装后的图形为:图源子系统模块对该源内各个模块间的数据变化情况验证如下图中的波形所示:源内部各模块的输出波形其中依上至下的波形分别是Bernoulli模块、CRC模块、ZeroPad模块的输出波形。从图中我们可以清晰的看见第二各波形相对于第一个波形而言增加的比特数分别为:也即刚好个比特数与理论中的在帧数据后面插入个CRC冗余循环码完全的在第三个波形中我们同样可以看出它相对于第二个波形而言在末尾刚好加入了个比特即:。对卷积编码器和重复模块的设置、说明与分析:仿真连接方法见下面图形:图仿真连接图其中使用Buffer的原因在于:由于Subsystem模块、卷积编码器模块、重复模块输出的数据都是基于帧的数据而Scope示波不能观察基于帧的数据所以我们需要将基于帧的数据转换为适合示波器的数据来观测。通过转换我们可以将Subsystem模块、卷积编码器模块、重复模块的原来每次每帧同时输出分别为×、×、×的数据都改变为输出均为每次个的数据。这样我们就可以用示波器来观察并验证我们的设置。卷积编码器参数设置说明:图卷积编码器模块参数设置Trellisstructure的设置说明:该项指的示卷积编码器的生成多项式。其中是指卷积编码器的约束长度也即在卷积编码器中使用了个移位寄存器是指卷积编码器的生成多项式该多项式可以说明:这个卷积编码器有一个输入端有三个输出端也即在卷积编码器利有三个模判决电路。三个模判决器与个(其中第一个往往被省略所以往往只说个)移位寄存器的关系分别位:“”表示与移位相应的寄存器相关“”表示不相关。重复模块参数的设置重复模块的参数设置说明:()Repeatitioncount是指重复次数为了使后面块交织器的输入端输入的数据每帧大小是个符号而重复模块前的数据已经是每帧个符号所以我们在这个地方将重复设置为次。()为了使重复模块输出的数据达到要求我们在这个模块将Framebasedmode设置为Maitaininputframerate对两个模块验证如图所示:图卷积编码器和重复模块输出数据源模块输出的数据序列为:卷积编码器输出的数据序列为:重复模块输出数据序列为:现在对图的数据进行理论计算分析。由卷积编码器的生成多项式可以得出下列式子:对应于也即:的多项式为:对应于也即:的多项式为:对应于也即:的生成多项式为:我们设输入的数据多项式为:(i和n均为非负整数)由源模块的输出我们取前三个数据来验证也即:它对应的u(x)为:卷积编码器输出的多项式v(x)为:由v(x)的表达式可以得出卷积编码器的理论输出码序列为:由于display只能显示前位比特对照观察我们可以得出前位数据理论输出与仿真完全吻合。对子系统Subsystem(块交织器)模块的设置、说明与分析:子系统Subsystem的构成如下图:图块交织器的子系统图子系统Subsystem参数设置框图参数设置说明:()在该子系统内我们运用的是一个×的矩阵所以将设置框图中的行和列分别设置为、。()由于子系统内部的BittoIntegerConverter模块和IntegertoBitConverter模块分别将每行的个比特符号转换为一个整数、将一个整数转换为比特因而将Numberofbitsperinteger设置为。()Elments是指子系统内部的通用块交织器符号的输出顺序也即:'其中的数字均指行号。子系统的内部结构为:图块交织器的子系统图Matrix模块的设置图BittoIntegerConverter模块设置图GeneralBlockInterleaver模块设置图IntegertoBitConverter模块设置子系统内部各个模块的说明、分析与验证:()对于矩阵交织器其作用是把输入的信号按照某种顺序写入一个矩阵中待完成整个矩阵的填充后按照另外一种顺序从矩阵中读出数据。它的数据操作顺序是:先把输入信号按行写入矩阵然后按照列从在、矩阵中读出来。()对于BittoIntegerConverter模块和IntegertoBitConverter模块其作用不言而喻分别是将每行的比特数据转化为一个十进制的整数、将一个十进制的整数转化为一行比特序列。()对于GeneralBlockInterleaver模块其作用是:把输入信号按照自己的设定顺序进行置换产生交织信号的过程。通用块交织保证每个输入的数据能够在输出信号中且每个输出信号只能出现一次,也即说明通用块交织器可以将帧数据序列中的重复的比特符号给除去。下面是各个模块的仿真输出数据理论与仿真的验证。读数据的方式是采用Toworkspace模块来读出并显示数据的。仿真连接图见下:图仿真连接图图ToWorkspace模块设置(此图仅是显示Repeat模块数据输出的设置其他模块输出的ToWorkspace模块设置仅仅是Variablename改变而已)Repeat模块的输出数据如下:图Repeat模块数据输出数据说明:本来重复模块的输出数据是×的基于帧结构的数据形式但是为了与后面的交织器的输出数据相比较我们将×的数据转化为×的数据形式个数据比特是按照行的顺序写入矩阵的。从这个矩阵数据中我们可以看出由于重复次的原因相临的数据比特数都至少是的倍数也即说明每个比特符号至少重复了一次从而也再次验证了重复模块设置与仿真的正确性。Matrix交织器输出的也是×的基于帧的数据形式为了明显地更容易的比较与验证我们将该数据转化为×的矩阵形式它的数据形式应该是上面Repeat模块输出数据×的转置形式也即数据应该完全成转置形式对应。因为它是重复模块输出后个数据按照行的顺序写入再按照列的顺序读出的。这里我们将×表示成下面它的转置矩阵形式也即:的形式因此读出的顺序按行。Matrix交织器输出数据(位)图Matrix交织器输出数据对照上叙两组数据我们根据理论分析知如果将repeat模块的输出数据连成个比特符号同时也将Matrix模块的输出数据按列的形式读出(也即上叙数据按照行顺序读出)并连成个比特符号那么我们得到的数据应该均是个比特符号而且他们的排列顺序也应该完全一致。基于此分析我们再对上面的两组数据进行比较我们可以得出上叙两组数据完全符合而且两矩阵数据完全成转置形式对应。因此我们的验证也成功。BittoIntegerConverter模块的作用是将Matrix交织器输出的个比特符号写入×的矩阵并将矩阵的每一行转化为一个十进制的数据输出。下面将Matrix交织器的输出数据按照行的顺序写入×的矩阵中去表示如下:图对于第一行数据我们将其转换为十进制的数据计算方法如下:=其中表示第一行转化为进制的数据符号。同样可以计算出、……的十进制数据分别为:、……。下面是BittoIntegerConverter模块仿真输出的十进制数据。对比我们可以发现数据是完全吻合的。BittoIntegerConverter模块仿真输出GeneralBlockInterleaver模块仿真输出图图通用块交织器的输出数据见图。它是BittoIntegerConverter模块仿真输出按照'的行顺序输出对比于图BittoIntegerConverter模块的数据我们可以验证我们的仿真过程正确。IntegertoBitConverter模块的数据输出(个比特符号)图IntegertoBitConverter模块输出数据每一行的二进制比特数据即是将GeneralBlockInterleaver模块每个十进制数变换为二进制数而已。其计算方法从略。利用scope模块来观察的各个模块的输出波形见下图:波形的输出顺序为从上至下:Repeat模块输出数据、Matrix交织器输出数据、BittoIntegerConverter模块输出数据、GeneralBlockInterleaver模块输出数据、IntegertoBitConverter模块输出数据图图沃尔什调制器输出与长码输出及其异或验证模块参数设置及参数设置说明如下:图Walsh正交编码调制器设置Walshorder:是指沃尔什调制器的输入,用每个比特的二进制数据来选取Walsh正交符号集中的某一行符号,且任何一行的数据符号的个数均为个。其简单计算公式为具体原理见沃尔什函数部分。Inputvectorlength:是指输入的数据长度。从块交织器输出的数据长度为个二进制比特所以这里的设置为×=。双极性向单极性转换模块设置Marynumber:是指数据序列的进制数由于在本仿真的过程中我们所用的数据均为二进制数据序列故将此设置为。Polarity:由于Walsh调制器输出的数据是双极性的二进制序列而长码产生的码序列是单极性的为了两者匹配我们就用极性变换来使达到目的。在极性变换中“”=>“”,””=>””所以将这里的参数设置为Negative图Buffer模块设置Outputbuffersize(perchannel):为了使异或模块前Walsh调制器的输出码序列大小和长码产生器输出码序列大小相同我们同时将两出的模块输出码序列大小设置为。图长码产生器设置Outputframesize:同设置说明。Sampletime:为了保持帧在整个仿真中的大小不变和满足设计的需要我们这里也继承前面的模块设置将抽样时间设置为。图异或模块参数设置仿真数据验证:参考前面的块交织器输出的前位比特数据可以知道前位比特数据为:。运用公式计算可得i=,也即Walsh调制器输出的码序列为Walsh正交符号集中的第行数据码序列。查表知该行码序列为:。对照仿真输出数据见图和图所示。图所示的是Walsh调制器输出的双极性码图所示的是双极性码变换后的单极性码。由两图可以知道我们的仿真与理论完全吻合。当然这里只是验证了块交织器输出的前位码序列其他码序列的验证方法同这里一样这里不再重复。Walsh调制器输出数据BipolartoUnipolarConverter的输出数据图图长码异或处验证:图Buffer模块的输出(双极性)BipolartoUnipolarConverter的输出数据图图长码产生器输出异或输出图图由于buffer模块输出的数据是双极性的经过映射后我们得到单极性的数据映射方法是:“”=>“”,“”=>“”由于buffer模块输出的数据为全“”所以经过极性变换后的数据应该为全“”。对图和图的读值可以知道数据符合理论。BipolartoUnipolarConverter的输出数据和长码产生器输出经过异或输出即得异或模块输出数据分析知道数据正确。通过对上面的每个模块的输出数据进行对比分析可以知道我们的设置与仿真是正确的。I路和Q路的输出验证与分析仿真连接图:图仿真连接其中Subsystem模块是由前面所有的模块构成的。模块的设置:图I路短码产生模块设置图Q路短码产生模块设置I路短码产生模块设置说明:根据部分的I路短码生成多项式我们可以得到I路的Generatorpolynomial的值为:。为了保持帧的大小和每帧的抽样数相同我们将Sampletime和Samplesperframe的值设置与前面的一样即:分别为s和。Q路短码产生模块设置模块说明:同样根据部分的Q路生成多项式我们可以得到Q路的Generatorpolynomial的值为。其他设置说明同I路模块。图延时模块的设置设置说明:该模块的目的是将Q路的信号延时个码片形成OQPSK调制和正交分集。码片大小计算方式为:由于Q路的数据速率为Mcps所以整个码片的时长为,码片长为也ns。仿真数据验证:Subsystem的输出数据I路短码产生器输出I路异或输出图Subsystem读值图iPN读值图iXOR读值Q路短码产生器输出Q路异或输出延时模块输出图qPN读值图qXOR读值图delay读值I路Double输出Q路Double输出图iDouble读值图qDouble读值I路输出Q路输出图iOUT图qOUT读值分析说明:由于我们设置的数据均是每个二进制数据输出所以这里观察到的数据均是个二进制形式的。I路异或输出的值是Subsystem的输出数据和I路短码产生器输出的异或对图Subsystem读值、图iPN读值和图iXOR读值的数据分析我们可以发现数据符合。同理可以验证Q路异或输出数据是正确的。Q路延时模块输出的数据是Q路异或输出数据经过延时半个短码片而得到的所以数据变换为半个码片后的数据。使用Double模块的目的是为了使UnipolartoBipolarConverter模块的输入数据按照该模块的要求达到匹配即:数据类型为“unit”而Double模块的作用正是使输入信号转换为符合要求的数据类型。最后为了使输出数据映射为双极性类型的数据我们将这里的数据经过极性变换而得到。经验总结在这个学期里通过对CDMA通信系统相关知识和MATLAB中的SIMULINK部分的学习使我在通信知识方面和MATLAB的软件应用方面有了很大的提高对处理事情的方法也有所提高。由于本次的设计是选择CDMA通信的反向接入信道作为课题的该信道涉及到新的知识点很多都需要自己去学习。刚开始的时候感觉是无从下手原因在于:自己对基本理论和MATLAB软件的不熟悉所思考的处理方式方向根本就不对导致白白地浪费了很长的一段时间什么结果也没有出来。不过在老师和同学的帮助下我还是及时地确定了正确的学习方向。所以我认为在做自己不是很了解的方向的课题时最好还是先花一定的时间来确定处理事件的方法和方向还是必要的。这次课题是用软件来对接入信道进行仿真方法在该软件里有三种我选择的是是用里面的模块库中的模块来构建、分析和仿真的。软件的仿真尤其是使用里面的模块来构建我们首先应该对该模块很熟悉这样才能很好的对模块予以运用但对我们刚刚接触该知识的人来说这一点我们是缺乏的。因此我们就需要充分利用软件本身的帮助优势来解决问题。同时我们在遇到问题时我们应该从该问题的入口处切入“顺藤摸瓜”的形式来使问题的来源更清晰从而更容易解决问题。例如:在这次仿真中一开始我们就不懂得运用Buffer模块也不懂得从问题处切入导致在长码和Walsh码异或时出现数据宽度不匹配的问题使用了很多的模块也解决不了最后在偶尔的机会时才用这个模块解决了问题。在后面I路和Q路的数据输出前极性转换处也出现了问题不过我们利用前面的经验很快就解决了问题。因此这次的毕业设计课题不仅使我学到了更多的知识也使我学会更好地处理遇到的问题。参考文献:VijayKGarg(美)第三代移动通信系统原理与工程设计(于鹏等译)M北京:电子工业出版社:~ManYoungRhee(韩)CDMA蜂窝移动通信系统与网络安全(袁超伟等译)M北京:电子工业出版社:~TheodoreSRappaport(美)无线通信原理与应用(蔡涛等译)M北京:电子工业出版社:~王兴亮数字通信原理与技术M西安:西安电子科技大学出版社:~LeeJS、MillerLE(美)CDMA系统工程手册(许希彬)M北京:电子工业出版社:~邬国扬CDMA数字蜂窝网M西安:西安电子科技大学出版社:~王立宁乐光新詹菲MATLAB与通信仿真M北京:人民邮电出版社:~张森张正亮MATLAB仿真技术与实例应用教程M北京:机械工业出版社:~韩利竹王华MATLAB电子仿真与应用M北京:国防工业出版社:~邱晓琳李天柁弟宇鸣基于MATLAB的动态仿真模型与系统仿真工具SimulinkxM西安:西安交通大学出版社:~�EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT����EMBEDEquationDSMT���unknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknow

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/45

CDMA通信系统中的接入信道部分进行仿真与分析

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利