CDMA通信系统中的接入信道部分进行仿真与分析-毕业设计论文

xiaoxiao 2月前 24

  
摘  要 
 
CDMA技术是当前无线电通信,尤其是移动通信的主要技术,不论是在中国已经建立的IS-95规范的中国联通CDMA网、各大移动通信运营商正准备实验及建立第三代(3G)系统还是大设备研发商已经在开发的三代以后(也称为4G)更宽带宽的移动通信系统,CDMA都是主要的选择。CDMA概念可以简单地解释为基于扩频通信的调制和多址接入方案。其反向链路有接入信道和反向业务信道组成。接入信道用于短信令消息交换、能提供呼叫来源、寻呼响应、指令和注册。 
本设计选取CDMA通信系统中的接入信道部分进行仿真与分析。首先,通过学习相应的理论知识,熟悉接入信道实现的过程,对每一步的原理有了较深的理解,同时,也对MATALB软件进行熟悉和了解,对MATLAB软件中的SIMULINK部分及其内部的CDMA模块用法和参数设置进行熟悉,然后运用MATLAB软件对接入信道部分进行设计,并逐步地对各个模块进行分析、仿真与验证。目的是通过毕业设计工作熟悉现代无线通信系统的基本构成与基本工作原理,重点掌握卷积编码、块交织和码扩展等相关编码技术,并能将这些技术应用实际系统设计,提高自己对CDMA通信系统知识的认识。  
关键字:CRC;卷积编码;块重复;交织;长码;沃尔什;PN序列 
                  
  
Abstract 
 
CDMA is the major technology used in the wireless communication , especially in the mobile communication. Following the IS-95 standard set up in China ,CDMA is the mostly choice whether in China Uninet net ,in the third system (3G) that all kinds of mobile businessmen are to build or in the wider system than the third one(named 4G)that the large equipments researching businessmen have been researching.The concept of CDMA may be interpreted as the simulation that base on frequency spreading and the multiply address access project.Its reverse channel is composed of access channel and traffic channel.The access channel is used for brief information exchanging 、providing the source about the calling、the call responding 、the instruction and the enrollment. 
This design choose the part of connect channel to simulate and analyse. First,we can familiar with the process of connect channel ,understand the principleof every step of the procedure about thre channel,after studying the relating knowledge .At the same time ,we an also have some acquaintance with the software about MATLAB and the part of SIMULINK and how to set the parameter of every klock in the soft.Then we can use the MATLAB software to design the part of the connect channel, to analyse , to simulate and to validate the design of every block gradually. This purpose is to be familiar with the basic structure and basic principle of the morden wireless communication system, to mastery the technology about the Convolutional Encoder,Interleaver ,Coder spread and so forth, then use those technology to design system in practice,so that to improve our knowledge about the CDMA communication system.  
 
Key words:CRC;Convolutional Enconder;Block Repeat;Interleaver;Long code;Walsh; 
PN sequence 
        
 
  
目   录  
中文摘要 关键字 …………………………………………………….……1 英文摘要 关键字 ………………………………………………….………2 目 录  ……………………………………………………………….……...3 前 言  ………………………………………………………………..……..4 1  设计总体框架 ……………………………………………………..……5 2  设计各个部分原理知识介绍 ………………………………………..…6  2.1 卷积编码……………………..………………………………………..…..7 2.2 交织技术介绍………………………..………….…………………………9 2.3 沃尔什函数说明………………………………..….………………………11 2.3.1 沃尔什函数特性说明………………………….…………………...……11 
2.3.2 沃尔什函数的产生方法介绍……………………………………………..13 2.4 长码的实现……………………………………………………………….15 2.6 PSK和OQPSK调制…………………………………………………………18 2.7 短码的实现……………………………………………………….……….20 
3  MTALAB软件中的SIMULINK的简介…………………………….………20 4  设计仿真、分析与验证……………..………………………….……….22 4.1 设计总体模块构造…………………………..…………………….……….22 4.2 对各个模块进行分析与验证 ………………………………….……………23 4.2.1 源中部分(subsystem1)设置、说明与分析……………………………...24 4.2.2 对卷积编码器和重复模块的设置、说明与分析  …………………………27 4.2.3 对子系统Subsystem2(块交织器)模块的设置、说明与分析 ……………30 4.2.4 沃尔什调制器输出与长码输出及其异或验证…..………………….………40 4.2.5 I路和Q路的输出验证与分析……………………………………………46 5.经验总结…………………………………………………………………..49 谢  辞………………………………………………………………………..50 参考文献……………………………………………………………………..51 
      
  
引言 
    众所周知,自从20世纪70年代出现蜂窝网通信以来,世界各地移动通信行业得到了迅猛的发展,而蜂窝网的技术本身也得到了长足的进步。就多址接入方式而言,20世纪80年代出现了时分多址(TDMA)数字蜂窝网,以GSM为代表的数字蜂窝移动通信系统在国内外已获得了广泛应用。20世纪90年代又出现了码分多址(CDMA)蜂窝网移动通信系统。由于它通信容量大、质量好,因此立即引起了人们广泛的关注,其优势已被人们所共认,其发展前景十分良好。不少专家预言,21世纪将是CDMA通信广泛应用的时代。 
CDMA蜂窝网移动通信是在频分多址(FDMA)模拟蜂窝网和时分多址(TDMA)数字蜂窝网基础上发展起来的,既有共同点,也有很多独特的地方:从技术角度来看.CDMA蜂窝网技术是最先进的,同时又是最复杂的。可以说,在一定范围内,它反映了现代通信的技术水平。 
本次课题选择的是反向链路的接入信道部分进行软件的仿真,所运用的软件是MATLAB。运用MATALAB软件中的模块进行接入信道的构建,并对信道的原理进行分析和验证。本论文是按照从理论到仿真分析与验证的步骤顺序来的,最后进行全面的总结。 
                    
  
1  对毕业设计总体实现框架进行初要说明 
            
图1.1设计总体框图  
接入信道数据以每
20
毫秒
88
卷积编码器在每帧后复位,所以每帧的数据都加上8比特的尾。故数据进入编码器的速率是(88 8)/0.02=4800bit/s,如图所示。这些数据进行码率1/3,约束长度为9的卷积编码。编码器中出来的数据率是3×4.8=14.4ksps。 
为了使接入信道和反向业务信道有相同的块交织方案,接入信道的符号进行了重复,使进入交织器的为2×14.4=3×9.6=28.8ksps,和反向业务信道达最高数据率9600bit/s的数据进入交织器时的速率一样。交织方案是读入一帧的数据(28.8×20=576符号),按列写入18列×32行的矩阵,然后以某种顺序按行读出,以使数据符号在时间上分开。 
    交织后的符号送到一个(64,6)的沃尔什编码器。沃尔什编码是用每组6个编码符号(c0、??c5)来选择2^6=64阶沃尔什序列Hi中的一个。选择时要按下列准则来计算序号i: 
            i?c0?2c1?4c2?8c3?16c4?32c5 
这里的i是64×64哈达码矩阵的行号,而{cj}是经过编码的二进制(0,1)符号.因此符号速率的增长比率为64/6,从28800sps增加到307200cps,单位是”沃尔什编码”每秒.这个步骤可以看作是一个(n=64,k=6)的纠错编码.它也可以解释为一种用二进制信道符号进行64进制正交调制的形式. 
 接入信道符号进一步用一个特定的相位偏置是靠移位积存器的输出与一个随用户不同而不同的42比特模板序列进行内积来产生的.对于接入信道,模板是用伪随机产生的接入信道和相应的寻呼信道编号以及基站辩识参数构成的. 
在脉冲成型与发送之前,长PN码扩谱后的基带数据流分别与I路Q路正交短PN码相乘,Q路相乘后延时了半个码片,形成OQPSK调制和正交分集。注意:这个操作中,符号没有被扩谱,因为短PN码的速率也是102288Mcps.还要注意到,图4021表明所有小区中的所有移动台都采用零偏置的短PN码,不同用户的信号只用它们唯一的长PN码相位加以区别.下表总结了接入信道的调制参数。 
                接入信道调制参数 
       参数              数值                单位     数据速率              4800               bit/s     PN码片速率          1.2288              Mcps     代码速率             1/3                 Bit/码符号     码符号重复            2                  符号/码符号 
比特的速率产生,因为            

1234>>910
  
    发端占空比            100                % 
码符号速率           28800               sps 
调制                 6                   码符号/模符号 调制速率             4800                sps 沃尔什码片速率       307.2                kcps      
        模符号间隔           208.33               μs          PN码片/码符号       42.67         PN码片/模符号       256 
PN码片/沃尔什码片    4      
特定移动台的接入信道传送只能在指定的接入信道时隙中进行,接入信道时隙事实20毫秒帧长的睁倍数.接入信道时隙的每一次传送开始都有一随机短延时,以分散不同的移动台的起始传送时间,这些移动台可能在同一时隙内在不同的信道中传送.接入信道有96个数据零作报头,以帮助基站捕获信号.移动台第一次使用接入信道时,只能发送按某种程序形成的试探”消息”,直到决定了该移动台的适当功率水平为止.   
2  对各个模块所对应的原理进行详细的说明     
 
CDMA(码分多址)是一种利用惟一码序列进行扩频多址接人数字通信的技术。CDMA信道包括基站和移动台之间的前向CDMA信道和反向CDMA信道。前者是从基站到移动台的信道,后者是从移动台到基站的信道。 
反向CDMA信道被移动台用来和基站通信,同时在发送之前通过直接序列扩频共享相同的CDMA频率分配。反向CDMA信道是从移动台到基站的反向链路。在反向CDMA信道发送的数据被封装成20ms帧。反向CDMA信道包括接人信道和反向业务信道。接人信道用于短信令消息交换,提供呼叫发起、寻呼响应、指令和注册。反向业务信道用于从单个移动台向单个或多个基站传输用户数据和信令业务。 
前向CDMA信道包含导信倍道、同步信道、寻呼信道和前向业务信道。这些信道每路都经过适当的Wash函数正文扩展,然后以1.2288Mc/s固定速率由正交相位导频PN序列扩展。 
反向CDMA信道由接人信道和反向业务信道组成。反向信道上发送的所有数据都经过卷积编码、块交织、64阶正交调制和长码直接序列扩展再发送。 
下文介绍CDMA信道操作的几个最基本的组成部分。  2.1 卷积编码 
现代数字通信系统常常设计成以非常高的速率传输。卷积码已应用于很多个同系
  
统,例如,不仅在CDMA移动通信系统种应用卷积编码/译码,而且在空间和卫星也应用。为了防止系统出错,经常会使用卷积码。信息数据序列划分成许多长度为k的小块,每段小块被编码长度为n的码字符号。卷积码(n,k,m)由k个输入、具有m阶存储的n个输出线性时序电路实现。通常,n和k是较小的整数,且kI时S=1.其他的方法可以减小B≤I时的最小间隔而增加B>I时的最小间隔.IS-95就用了这样的技术.除非仔细观察考虑读出的方法,否则一般最小间隔 都是减少的. 
IS-95系统交织一帧之内的数据,除了同步信道之外,其他信道都是20毫秒,同步信道的一帧周期上26.66毫秒.因此,所有的IS-95的交织器在块数据上操作.严格地说,并没有用块交织,但是交织的类型设计要依赖于信道和原始数据率.例如,反向链路通过矩阵之中以非传统的方法读出各行数据以改变最小间隔特性. 
 
2.3  沃尔什函数说明 
沃尔什函数是正交的、归一化的和完备的。“正交”是指两个不同的函数相乘,并在给定区间上积分,其结果为0。“归一化”的意思是如果两个函数相同,那么它们乘积的积分为1。最后,“完备”大致可理解为:在给定的区间内,可使用这个正交函数集中函数的线性组合来逼近任意给定的函数,在正交函数的个数趋于无限的条件下,均方误差在“均值意义上”趋近于0。 2.3.1 沃尔什函数特性说明 
我们将N阶的沃尔豕函数定义为N段函数的集合,记为{Wj(t);t∈(0,T),j=0,1,?,N-1},定义如下: 
1. 除了在一些跳变点上取值0外,Wj(t)仅在集合{ 1,-1}中取值。 2. 对于所有的j,有Wj(0)=1. 
3. 在区间(0,T)内,Wj(t)精确地有j次符号变化(穿越零点)。 
T4. ?Wj(t)Wk(t)dt??j?k?0?T,j?k 
5.关于区域的中点,每一个函数Wj(t)不是奇函数就是偶函数。 
一个沃尔什函数集由N个函数构成,并按照穿越零点(符号改变)的次数来定义它们的阶数。用函数集表示如下:         
        ?W0(t),W1(t),...,Wj(t),...,WN?1(t)? 

12345>>910
  
第一个函数W0(t)在整个(0,1)区间上没有过零点,而W1(t)在整个定义区域上有一个过零点。考虑图3.1所示的定义在(0,T),将沃尔什函数的幅值           
图2.3.1 
转化为二值逻辑{0,1}表示,即 l “0”,-1 “1”, 并将图5.1中的所有8阶沃尔什函数的整个下标集j=0,1,?,7用二进制表示出来,于是我们可以写出8个沃尔什序列,如图3.2所示。 
    当考虑一个 阶的沃尔什函数集(序列)时,可以注意到序列关于K轴上的点K=T/2,,?,具有对称性,其中T是沃尔什函数的周期。沃尔什函数关于这些点要么奇对称,要么偶对称。这些点位j=K,K—1,?,1,亦即。考虑任意一个N=16阶的沃尔什函数,如: 
W13=O  1  0  1  1  0  1  0  1  0  1  O  0  1  0  1   
         
                     图 2.3.2    序列关于T/2K?T/24?T/16处奇对称:                     
  
  
关于T/8处奇对称:  
            
关于T/4处偶对称:            
关于T/2处奇对称:    
          
将沃尔什函数的下标j用k位二进制数表示出来,即j=(j1,j2,..jk)。如果jk=0,则函数关于T/2K?k?1轴处偶对称,k=1,2,?,k;如果jk=l,那么函数关于这个轴处奇对称。在沃尔什序列中,与沃尔什函数中的定义相同,第一个值总是0,即研Wj(0)=1,而Wj0=0。 
对沃尔什序列w13,可以分析如下:在W13中,(j1,j2,j3,j4)=(1,l,0,1),因此可以判断: 
j1/2=1,表示序列关于T/16处奇对称 j2=1,表示序列关于T/8处奇对称 j3=O,表示序列关于T/4处偶对称 j4=1,表示序列关于T/2处奇对称 
于是,以0打头按照对称的要求,可以写出如下序列:     W13=0  1  0  1  1  0  1  0  1  0  1  0  O  1  0  1 这个序列与前面一开始给出的一样。 
     同样,根据观察,可以得出沃尔什函数关于对称轴(中点)的位置的特性如下:     ·沃尔什函数关于(0,T)的中点,也即在T/2处的对称轴ax上奇对称或偶对称。     ·沃尔什函数关于子区间(O,T/2)和(T/2,T)的中点T/4,3T/4处具有同样的对称性将这些中点对称轴定义为ak-1。 
·同样的处理过程重复k次,直到子区间的中点为T/N,3T/N,?,(N—1)/N,这里
N?2k。这些中点对称轴称为a1,这些轴具有同样的对称性。 
 
2.3.2 沃尔什函数的产生方法介绍 
沃尔什函数的产生方法有多种,可以使用莱德马契函数,也可以使用哈达玛短阵,
  
还可以利用沃尔什函数自身的对称特性。下面仅以用哈达玛矩阵产生方式来介绍。 
哈达码矩阵是一个方阵,方阵的每一个元素为 1或-1,列与列之间是正交的。如果一个矩阵的第列的元素都是1,那么我们说这个矩阵是规范。可以使用0代替 1,而使用1代替-1,即使用逻辑值{0,1}来表示哈达码矩阵,那么2×2的2阶哈达码矩阵可以表示为:    
如果HN是一个N×N的哈达码矩阵,于是有: 
T                HNHN?NIN 
       H??11???00?2?1?1??01?????这里IN 是一个N×N的单位。如果规定N≥1为哈达码矩阵的阶数,那么N可取值为1,2,或4t(t为整数).设Ha和Hb分别为 a阶和b阶的哈达码矩阵,那么Ha×Hb=Hab的阶数为ab,运算规则如下:如果Ha矩阵中一个元素为 1(或逻辑值 
0),那么用Hb来代入,如果该元素为-1(或为逻辑值1),则用-Hb(或Hb的补)代入。如果N为2的幂,并规定H1=[ 1]=[0],于是H2N可以由下式求得:                   ?HNH2N?? 
??HN 
___HN?____?HN??这里规定HN为HN取负(为其补值)。N?2t的哈达码矩阵可以由N=2阶的哈达码矩阵的规范形式连乘得到。 
如果N?2t,则所有的哈达玛矩阵的行序列和列序列都是沃尔什序列。然而,用沃尔什函数表示和哈达玛函数表示之间存在一些差别,即哈达玛函数的行序号和列序号都与符号改变(过零点)的次数没有关系,而沃尔什函数却具有这种关系。显然,由哈达玛函数生成的沃尔什函数不是按照符号改变的次数排序的,因而需要一种方法对这两种排序进行相互转换。 
 
2.4 直接序列扩展 
反向CDMA信道中,反向业务信道相接人信道将由长码直接序列扩展,以提供有限的保密性。对反向业务信道,直接序列(DS)扩展操作包含对数据脉冲随机发生器输出数据和长码模2加。数据脉冲随机发生器产生掩码符号0和1,随机地掩蔽由于码重复产生的冗余数据。掩码符号由帧数据率和长码的最后14比特位确定。对于接人信道,DS扩展操作包含64阶正交调制器输出和长码的模2加。 
设d(t)为Walsh码片调制的数据序列,Tb为数据比特时间间隔。Walsh调制的数据序列被长码c(t)的扩展则码片模2加。每个c(t)脉冲称为码片,Tc表示码片时间间隔,Tb=4Tc。扩展PN码片序列速率固定在1.2288Mc/s。由于6个编码符号由64个时间正交
  
Walsh函数之一调制,调制符号发送速率固定在28.8/6=4.8ks/s。因此,每个Walsh码片由4个PN码片扩展,即1.2288?106/307.2?103?4。由1.2288Mc/s长码PN码片相乘的直接序列d(t)如图4.1所示。 
            
图 2.4.1 
    
2.5 QPSK和OQPSK调制 
  为了使频带效率最大,高频谱效率的CDMA信道调制技术要求在相位正交的两个载波同时发送。正交调制在扩频中极为重要,它对某些类型的干扰不敏感。 
令d(t)?d0,d1,d2,...为原始数据流,为双极性脉冲,-1代表二进制l, l代表二进制0.如图2.5.1所示。该脉冲数据流分成同相流dI(t)?d0,d2,d4,...(偶数比特)和正交相位流dQ(t)?d1,d3,d5,...(奇数比特),如图2.5.2和图2.5.3所示。注意,dQ(t)和dI(t)分别具有d(t)的一半速率。 
     
   
  
                      2.5.1原始数据d(t)  
  
      
                              
                       2.5.2同相流dI(t)        
                      2.5.3正交流的dQ(t)  
将每个dI(t)和dQ(t)幅度调制到载波的余弦和正弦函数上,可以得到QPSK波形,如图2.5.4所示。             
图2.5.4 QPSK扩频调制器  
 
s(t)?PsdI(t)cos(?0t?)?PsdQ(t)sin(?0t?)    44???2Ps(cos(?0t?)cos?(t)?sin(?0t?)sin?(t))            44 
??  其中, 
?2Pscos[?0t??4??(t)]cos?(t)?dI(t)/2,sin?(t)??dQ(t)/2,?(t)??arctan(dQ(t)/dI(t)).
123456>>910
  
 
    同相流dI(t)以 1(二进制0)或-l(二进制1)对余弦函数进行幅度调制,产生一个BPSK波形。同样地,正交相位流dQ(t)对余弦函数进行调制,产生另—个与前面余弦函数产生波形正交的BPSK波形。这样,载波的这两个正交分量就产生QRK波形。                     
               图 2.5.5 QPSK的信号空间 
    持续时间为Ts的原始数据流dQ(t)可以通过串/并转换器将持续时间2Tb划分为同相流dI(t)和正交相位流dQ(t)(参见图2.5.4)。QP5K调制时,同相和正交相位数据流都以1/2Tb/s速率发送并同步对齐,以便发送时间一致.非偏移QRK调制时。两种脉冲流
dQ(t)和dI(t)发送时间一致,如图2.5.6所示。由于dI(t)和dQ(t)一致对齐,所以载波相位每2Tb秒变化一次相位,导致了图2.7所示的四种相位之—。                   
  
  
          图2.5.6 dI(t)和dQ(t)一致对齐的QPSK波形S(t) 
    s(t)的方程也用于偏移QPSK(OQPSK)信令。OQR5K和标准的非偏移QPSK在两个基带波形对齐方面不同。两种脉冲流dI(t)和dQ(t)相互交错,因此个是同时地改变状态。这两种调制方案的不同在于脉冲流dI(t)和dQ(t)定时移位了,以至于两种数据流差Tb对齐,如图2.5.7和2.5.8所示。载波相位每Tb秒可能的变化限制在 和 。然而在作偏移QPSK下,两种脉冲流dI(t)和dQ(t)时间一致,载波相位每2Tb秒变化一次,如图2.5.7和2.5.8所示。对应于QPSK数据流的典型OPSK波形如图所示。              
                     2.5.7 分开的数据流          
                       2.5.8 偏移的QPSK波形 2.6 长码的产生 
长码提供了限的保密性。长码是242?1的PN序列,用于前向CDMA信道的扰码和反
  
向CDMA信道的扩领。长码在前向业务信道和反问业务俏道惟一标识移动台。长码的特点是使用长码掩码来形成公用长码或私有长码。长码还用在相同CDMA信道上区分多重接人信道。 
当在当在接入信道上传输时,先进行长码直接序列扩展,然后发送。扩展操作包括64阶正交调制器输出序列和长码的模2加,如图2.6.1所示。       
CAN:接入信道编号  PCN:寻呼信道编号 BASE-ID:基站标识 
PLLOT-PN:前向CDMA信道PN偏移 
1100011:长码掩码头                        
                      图 2.6.1 
242?1个码片,由码发生器的LFSR抽头多项式P(x)指定: 长码周期为242?1  p(x)?1?x1?x2?x3?x5?x6?x7?x10?x16?x17?x18?x19?x21 
2225262731333525262731333542?x42 ?x22??xx??xx??xx??xx??xx??xx??xx对所有42位掩码和LFSR42级输出的“与”结果进行“异或”操作可以得到长码的每个PN码片,如图6.2所示。 
         
                      图2.6.2 长码发生器  
长码掩码包括42位二进制序列,它是长码的惟一标识。长码掩码根据移动台传输的信道类型而不问。图2.6.2显示了长码发生器产生的PN码片(1.2288kc/s),它由长
  
码掩码激活。 
  
2.7 短码的产生 
    直接序列扩展之后,反向业务伯道和接人信道进行正交相位扩展。 
    另外,前向CDMA信道正交扩展之后,每个码道(导频、同步、寻呼或前向业务信道)进行正交相位扩展。 
    扩展序列是长度为 或32768个PN码片的正交相位序列。该正交相位序列称为导频PN序列.分别基于下列抽头多项式; 
对于相同I序列:  
    PI(x)?1?x5?x7?x8?x9?x13?x15     对于正交相位Q序列: 
345610111215PQ(x)?1?x?x?x?x?x?x?x?x 
 
3  MTALAB软件中的SIMULINK的简介 
MATLAB通信工具箱(communication Toolbox)中提供了许多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主工作界面的方式有两种: 
(1) 在MATLAB的工作窗口中键入“simulink”指令。 (2) 在MATLAB窗口的状态栏中点击SIMULINK图标。 
需要注意的是,SIMULINK对模块或模型文件的操作一般都有两种方式: (1) 菜单操作方式——在被操作模型的SIMULINK窗口下进行。 
(2) 命令操作方式——在MTALAB的工作窗口中通过一些固定调用格式的指令对
模块或模型文件进行调用、仿真等操作。 
按照上述的方式打开的SIMULINK工作窗口就是SIMULINK的标准模块库的窗口,同时被打开的还有一个新的模型文件窗口(标记为untitled). SIMULINK窗口见下: 
                    

1234567>>9
  
道,数据符合理论。Bipolar toUnipolarConverter的输出数据和长码产生器输出经过异或输出,即得异或模块输出数据,分析知道,数据正确。 
通过对上面的每个模块的输出数据进行对比分析可以知道,我们的设置与仿真是正确的。  
4.2.5 I路和Q路的输出验证与分析  仿真连接图:  
                       图4.2.5.1仿真连接 其中,Subsystem模块是由前面所有的模块构成的。 模块的设置:  
图4.2.5.2 I路短码产生模块设置           图4.2.5.3 Q路短码产生模块设置 I路短码产生模块设置说明:根据2.7部分的I路短码生成多项式
,我们可以得到I路的 Generator polynomialPI(x)?1?5x?7x?8x?9x?1x3?x的值为:1 0 1 0 0 0 1 1 1 0 1 0 0 0 0 1。为了保持帧的大小和每帧的抽样数相同,我们将Sample time 和Samples per frame 的值设置与前面的一样,即:分别为20/1000/80s 和4。 
Q路短码产生模块设置模块说明:同样根据2.7部分的Q路生成多项式
34561011Q路的Generator P?x?x?x?x?x?x?x12?,我们可以得到xQ(x)?1polynomial的值为1 0 1 1 1 0 0 0 1 1 1 1 0 0 1。其他设置说明同I路模块。  
 
     图4.2.5.4 1/2延时模块的设置 
设置说明:该模块的目的是将Q路的信号延时1/2个码片,形成OQPSK调制和正交分集。
1/2码片大小计算方式为:由于Q路的数据速率为1.2288Mcps,所以整个码
?170s,也片的时长为1/(1.2288?106)?8.138?10?7s,1/2码片长为4.069409.6ns。 
仿真数据验证: 
 Subsystem的输出数据       I路短码产生器输出            I路异或输出 
                     
图4.2.5.5 Subsystem读值   图4.2.5.6 iPN读值       图4.2.5.7 iXOR读值 Q路短码产生器输出       Q路异或输出           延时模块输出   
  
      
 图4.2.5.8 qPN读值     图4.2.5.9 qXOR读值   图4.2.5.10 delay读值     I路Double输出                             Q路Double输出 
                           
图4.2.5.11 iDouble读值             图4.2.5.12 qDouble读值 
     
I路输出                                      Q路输出 
 
   图4.2.5.13 iOUT                       图4.2.5.14 qOUT读值  
分析说明:    
由于,我们设置的数据均是每4个二进制数据输出,所以,这里观察到的数据均是4个二进制形式的。 
   I路异或输出的值是Subsystem的输出数据和I路短码产生器输出的异或,对图4.2.4.5 Subsystem读值、图4.2.4.6 iPN读值和图4.2.4.7 iXOR读值的数据分析,我们可以发现,数据符合。同理可以验证Q路异或输出数据是正确的。Q路延时模块输出的数据是Q路异或输出数据经过延时半个短码片而得到的,所以,数据变换为半个码片后的数据。使用Double模块的目的是为了使Unipolar to Bipolar Converter模块的输入数据按照该模块的要求达到匹配,即:数据类型为“unit8”,而Double模块的作用正是使输入信号转换为符合要求的数据类型。最后,为了使输出数据映射为双极性类型的数据,我们将这里的数据,经过极性变换而得到。  
5  经验总结 
在这个学期里,通过对CDMA通信系统相关知识和MATLAB中的SIMULINK部分的学习,使我在通信知识方面和MATLAB的软件应用方面有了很大的提高,对处理事情的方法也有所提高。 
由于本次的设计是选择CDMA通信的反向接入信道作为课题的,该信道涉及到新的知识点很多,都需要自己去学习。刚开始的时候感觉是无从下手,原因在于:自己对基本理论和MATLAB软件的不熟悉,所思考的处理方式方向根本就不对,导致白白地浪费了很长的一段时间,什么结果也没有出来。不过在老师和同学的帮助下,我还是及时地
  
确定了正确的学习方向。所以,我认为,在做自己不是很了解的方向的课题时,最好还是,先花一定的时间来确定处理事件的方法和方向还是必要的。 
这次课题是用软件来对接入信道进行仿真,方法在该软件里有三种,我选择的是是用里面的模块库中的模块来构建、分析和仿真的。软件的仿真,尤其是使用里面的模块来构建,我们首先应该对该模块很熟悉,这样才能很好的对模块予以运用,但对我们刚刚接触该知识的人来说,这一点我们是缺乏的。因此,我们就需要充分利用软件本身的帮助优势来解决问题。同时,我们在遇到问题时,我们应该从该问题的入口处切入,“顺藤摸瓜”的形式来使问题的来源更清晰,从而更容易解决问题。例如:在这次仿真中,一开始,我们就不懂得运用Buffer模块,也不懂得从问题处切入,导致在长码和Walsh码异或时,出现数据宽度不匹配的问题,使用了很多的模块也解决不了,最后,在偶尔的机会时才用这个模块解决了问题。在后面,I路和Q路的数据输出前极性转换处也出现了问题,不过,我们利用前面的经验,很快就解决了问题。 
因此,这次的毕业设计课题不仅使我学到了更多的知识,也使我学会更好地处理遇到的问题。                      
  
                    
参考文献: 
[1]  Vijay K.Garg(美). 第三代移动通信系统原理与工程设计(于鹏等译)[M]. 北京:电子工业出
版社,2001:1~102. 
[2]  Man Young Rhee(韩). CDMA蜂窝移动通信系统与网络安全 (袁超伟等译) [M]. 北京:电子
工业出版社,2002:1~122. 
[3]  Theodore S.Rappaport(美). 无线通信原理与应用(蔡涛等译) [M].北京:电子工业出版社,
1999:1~388. 
[4] 王兴亮. 数字通信原理与技术[M]. 西安:西安电子科技大学出版社,2001:13~148 
[5]  Lee.J.S、Miller.L.E(美). CDMA系统工程手册(许希彬)[M]. 北京:电子工业出版社,2001:
206~243. 
[6]  邬国扬. CDMA数字蜂窝网[M]. 西安:西安电子科技大学出版社,2000:45~52. 
[7]  王立宁,乐光新,詹菲. MATLAB与通信仿真[M]. 北京:人民邮电出版社,2000:243~264. [8]  张森,张正亮. MATLAB仿真技术与实例应用教程[M]. 北京:机械工业出版社,2004:120~
163. 
[9]  韩利竹,王华. MATLAB电子仿真与应用[M]. 北京:国防工业出版社,2003:123~166. 
  
[10]  邱晓琳,李天柁,弟宇鸣. 基于MATLAB的动态仿真模型与系统仿真工具——Simulink 
3.0/4.x[M]. 西安:西安交通大学出版社,2003:1~130. 
              

1“-1”,”0”=>”1”,所以,将这里的参数设置为Negative. 
 
                         图4.2.4.3 Buffer模块设置 
Output buffer size(per channel):为了使异或模块前Walsh调制器的输出码序列大小
和长码产生器输出码序列大小相同,我们同时将两出的模块输出码序列大小设置为4。 
                   
                     图4.2.4.4长码产生器设置 Output frame size:同4.2.3.3设置说明。 
Sample time:为了保持帧在整个仿真中的大小不变和满足设计的需要,我们这里
也继承前面的模块设置,将抽样时间设置为20/1000/80。 
              
 
图4.2.4.5异或模块参数设置 
仿真数据验证: 
    参考前面的块交织器输出的前6位比特数据,可以知道,前6位比特数据为:101001。
  
运用公式i?c0?2c1?4c2?8c3?16c4?32c5计算可得i=37,也即,Walsh调制器输出的码序列为Walsh正交符号集中的第37行数据码序列。查表知该行码序列为:0101 1010 0101 1010 0101 1010 0101 1010 1010 0101 1010 0101 1010 0101 1010 0101。对照仿真输出数据,见图4.2.3.6和图 4.2.3.7所示。图4.2.3.6所示的是Walsh调制器输出的双极性码,图 4.2.3.7所示的是双极性码变换后的单极性码。由两图可以知道,我们的仿真与理论完全吻合。当然,这里只是验证了,块交织器输出的前6位码序列,其他码序列的验证方法同这里一样,这里不再重复。   
Walsh调制器输出数据           Bipolar toUnipolarConverter的输出数据  
图4.2.4.6                                 图 4.2.4.7      
长码异或处验证: 
 
                           图4.2.4.8  
Buffer模块的输出(双极性)      Bipolar toUnipolarConverter的输出数据                    
图4.2.4.9                                  图4.2.4.10 长码产生器输出                          异或输出  
 图4.2.4.11                             图4.2.4.12 
由于,buffer 模块输出的数据是双极性的,经过映射后,我们得到单极性的数据,映射方法是:“1”=>“-1”,“0”=>“1”,由于buffer模块输出的数据为全“1”,所以,经过极性变换后的数据应该为全“0”。对图4.2.3.9和图4.2.3.10的读值可以知

1<<5678910
  
图4.2.3.6 General Block Interleaver模块设置 
 
                           
                  图4.2.3.7 Integer to Bit Converter模块设置  
子系统内部各个模块的说明、分析与验证: 
(1)对于矩阵交织器,其作用是把输入的信号按照某种顺序写入一个矩阵中,待完成整个矩阵的填充后,按照另外一种顺序从矩阵中读出数据。它的数据操作顺序是:先把输入信号按行写入矩阵,然后按照列从在、矩阵中读出来。 
(2)对于Bit to Integer Converter模块和Integer to Bit Converter模块,其作用不言而喻,分别是将每行的比特数据转化为一个十进制的整数、将一个十进制的整数转化为一行比特序列。 
(3)对于General Block Interleaver模块,其作用是:把输入信号按照自己的设定顺序进行置换,产生交织信号的过程。通用块交织保证每个输入的数据能够在输出信号中,且每个输出信号只能出现一次,也即说明,通用块交织器可以将帧数据序列中的重复的比特符号给除去。 
下面是各个模块的仿真输出数据理论与仿真的验证。读数据的方式是采用To workspace模块来读出并显示数据的。仿真连接图见下: 
     
  
    
                     
                  4.2.3.8仿真连接图            
                   
  
图4.2.3.9 To Workspace模块设置 
(此图仅是显示Repeat模块数据输出的设置,其他模块输出 的To Workspace模块设置仅仅是Variable name改变而已)    
图                                                                 
  
    
Repeat模块的输出数据如下: 
111111001111001100 001100110000000011 110000000000111100 001111000000001111 001111001111110011 111111000011001100 111100111100000011 111100111111001111 111111110011110000 110011001100111100 111111001100111100 000011001100111100 000011000000111111 111100000000110011 001100111111110000 110011110000111100 111111001100110000 000000110011000011 111111001100110000 111111111100110000 000011111111110011 001100111111111100 000011110000110000 001100001111110011 000000001100001100 000000110011111100 
111100000011000011 110000000011110011 000011001100001100 000000001100111111 
  
000000110000001111 111100111111000000 
            图4.2.3.10 Repeat模块数据输出 
数据说明:本来重复模块的输出数据是[576×1]的基于帧结构的数据形式,但是,为了与后面的交织器的输出数据相比较,我们将[576×1]的数据转化为[32×18]的数据形式,576个数据比特是按照行的顺序写入矩阵的。从这个矩阵数据中我们可以看出,由于重复2次的原因,相临的数据比特数都至少是2的倍数,也即说明每个比特符号至少重复了一次,从而也再次验证了重复模块设置与仿真的正确性。 
Matrix交织器输出的也是[576×1]的基于帧的数据形式,为了明显地更容易的比较与验证,我们将该数据转化为[18×32]的矩阵形式,它的数据形式应该是上面Repeat模块输出数据[32×18]的转置形式,也即数据应该完全成转置形式对应。因为,它是重复模块输出后576个数据按照行的顺序写入,再按照列的顺序读出的。这里我们将[18×32]表示成下面它的转置矩阵形式,也即:[32?18]T的形式,因此读出的顺序按行。 
Matrix交织器输出数据[32?18]T (576位)  10100111111001011011000000110001 10100111111001011011000000110001 11011111101001101011010100100001 11011111101001101011010100100001 10011100111110011011101000001000 10011100111110011011101000001000 01000011100000110101111001000011 01000011100000110101111001000011 10001011011100101011110110001101 10001011011100101011110110001101 10001101100000100100110101110001 10001101100000100100110101110001 00101000111111111011111101010100 00101000111111111011111101010100 10110101011110010000010011001110 10110101011110010000010011001110 01011011000011000100100100110110 01011011000011000100100100110110 
图4.2.3.11 Matrix交织器输出数据 
对照上叙两组数据,我们根据理论分析知,如果将repeat模块的输出数据连成576个比特符号,同时也将Matrix模块的输出数据,按列的形式读出(也即上叙数据按照
  
行顺序读出),并连成576个比特符号,那么,我们得到的数据应该均是576个比特符号,而且,他们的排列顺序也应该完全一致。基于此分析,我们再对上面的两组数据进行比较,我们可以得出,上叙两组数据完全符合,而且两矩阵数据完全成转置形式对应。因此,我们的验证也成功。 
Bit to Integer Converter模块的作用是将Matrix交织器输出的576个比特符号写入[32×18]的矩阵,并将矩阵的每一行转化为一个十进制的数据输出。 
下面将Matrix交织器的输出数据按照行的顺序写入[32×18]的矩阵中去,表示如下: 
101001111110010110        110000001100011010 011111100101101100 000011000111011111 101001101011010100 100001110111111010 011010110101001000 011001110011111001 101110100000100010 011100111110011011 101000001000010000 111000001101011110 010000110100001110 000011010111100100 001110001011011100 101011110110001101 100010110111001010 111101100011011000 110110000010010011 010111000110001101 100000100100110101 110001001010001111 111110111111010101 000010100011111111 101111110101010010 110101011110010000 010011001110101101 

1<<45678910
最新回复 (0)
返回
免责申明:本站点所有资源来自互联网网友发布,如侵犯您的合法权益,请联系zzjfuture@gmail.com,我们立刻处理。 @2010-2020 技术支持: 成都软件开发