欢迎来到天天文库
浏览记录
ID:46906130
大小:288.31 KB
页数:18页
时间:2019-11-29
《真1Matlab、Simulink及S》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于Matlab的cdma2000前向业务信道仿真1Matlab、Simulink及S函数Matlab是集数值计算、符号运算及图形处理等强大功能于一体的科学计算语言,可以直接地处理矩阵或者数组,语句精炼,编程效率高。Simulink软件包是Matlab环境下的仿真工具,它可以进行动态系统建模、仿真及综合分析。在Simulink提供的图形用户界面GUI上,只要进行鼠标的简单拖拉操作就可以构造出用户所需仿真模型。Simulink提供了S函数,即系统函数,它使用户可以利用MATLAB,C语言,C++语言以及FORTRAN等语言的程序创建自定义的Simulink模块。2cdma2000从
2、二十世纪八十年代初,ITU(国际电信联盟)就开始了对第三代移动通信系统的研究,其最初被称为FPLMTS,而后被改名为IMT-2000(InternationalMobileTelecommunications-2000)。IMT-2000采用的三个主流标准是欧洲的W-CDMA、美国的cdma2000和中国的TD-SCDMA。由此可见,cdma2000是实现第三代移动通信非常重要的标准之一。3cdma2000前向业务信道前向业务信道是cdma2000系统中的一类重要信道。本文对它的仿真是在SR1下的RC1条件下进行的。其中SR1(SpreadingRate1)表示最终扩频后的数据速率为
3、1.2288Mchips/s,RC1表示一种无线配置(RadioConfiguration)。无线配置被定义为一组前向业务信道或反向业务信道的数据传送结构,它具有特定的物理层参数,例如,信息速率、编码结构等。图1前向业务信道的结构图InfBitsAddFQIAdd8tailbitsConvolutionalEncoderSymbolRepetitionBlockInterleaverModulationSymbol前向业务信道的结构如图1所示,图中的各个框图就是仿真中要实现的主要模块,它们分别代表:FrameQualityIndicator(帧质量校验)帧质量校验主要用于检错,报告一
4、帧中是否有错码。它采用的是循环冗余校验码(CRC)。(2)8EncoderTailBits(8位编码尾比特)8位编码尾比特固定为全零,目的是为了自动初始化后面的卷积编码器。(3)ConvolutionalEncoder(卷积编码器)卷积编码器产生约束长度为9,编码效率为1/2的卷积码。(4)SymbolRepetition(符号重复)这个模块主要是为了进行速率匹配。(5)BlockInterleaver(块交织)块交织技术可以看成是将一帧符号按一定顺序(行)写入一矩阵内,再按一定顺序(列)依次将其读出,打乱原有的排列顺序。交织技术主要用于对抗突发误码,它可将大片连续误码分散至各部分。
5、这样做的原因是卷积码的纠突发误码能力弱于纠随机误码能力。4仿真仿真环境扩谱速率:SR1;无线配置:RC1;最大数据速率:9.6kbps;前向纠错编码速率:1/2;前向纠错编码方式:卷积码。仿真过程及结果分析本文分别采用时间流和数据流两种方法进行仿真。所谓时间流仿真,即在Simulink仿真中,所有的模块在每一个时间步长上同时执行。而数据流仿真,即在Matlab仿真中,函数按照数据流的顺序依次执行,也就是处理数据首先经过一个运算阶,然后再经过下一个运算阶。时间流仿真信源:采用一常数模块与一零阶保持器来构建,如图2所示。图2信源模型CRC发生器:采用C语言S函数来构造此模块。首先在C语言
6、环境下,编写程序sis2000crcgen.c以完成CRC的逻辑功能。然后,调出S函数模块。在S-functionname中键入sis2000crcgen.c,并在parameters中键入参数名rate_set1即可。这样就得到了CRC发生器。接着采用同样的方法构造了卷积编码器、符号重复器、块交织器、长码发生器及数据扰码器。其余的模块可以直接在Simulink中调用。最后,得到cdma2000的前向业务信道仿真图如图4。图4前向业务信道仿真模型图9扰码后的输出波形频谱通过以上时间流仿真,得到Timeoffset=0.668的波形如图5~8所示。这些波形清楚地显示出数据帧在经过不同功
7、能模块后的状态,但它只是某一时刻的波形,并不能据此看出其内在的逻辑规律。不过从一段时间来看,其规律就显而易见。同时,采用频谱示波器可以看到扰码后的输出波形频谱如图9所示。扰码后的输出波形可认为是由多个矩形信号构成,其频谱就是由多个小Sinc信号的叠加而形成一个大的Sinc信号。图10工作空间获取数据模型数据流仿真为了使数据流的仿真结果与时间流的仿真结果具有可比性,都采用同一个信源来获得信息比特。因此,采用simout模块将时间流信源的输出送到Matlab工
此文档下载收益归作者所有