基于MATLAB的CDMA RAKE接收机仿真.docx
- 文档编号:5358040
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:32
- 大小:204.06KB
基于MATLAB的CDMA RAKE接收机仿真.docx
《基于MATLAB的CDMA RAKE接收机仿真.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的CDMA RAKE接收机仿真.docx(32页珍藏版)》请在冰豆网上搜索。
基于MATLAB的CDMARAKE接收机仿真
毕业设计(论文)
题目:
基于MATLAB的CDMARAKE接收机仿真
专业班级:
姓名:
指导教师姓名:
职称:
学院:
2010年04月10日
目录
摘要1
Abstract2
绪论3
1MATLAB语言基础4
1.1MATLAB概述4
1.1.1MATLAB的概况4
1.1.2.MATLAB产生的历史背景4
1.1.3MATLAB的语言特点5
1.2MATLAB的安装于使用7
1.2.1MATLAB安装7
1.2.2MATLAB运行7
1.2.3结束MATLAB7
1.3MATLAB基本语法和基本操作8
1.3.1数值运算的功能8
1.3.2符号的作用8
1.3.3用matlab函数创建矩阵8
1.3.4矩阵的修改9
1.3.5矩阵运算9
2CDMA信号及高速网络时代三大主流3G技术10
2.13G技术概况10
2.1.13G技术的标准10
2.2CDMA信号简介10
2.2.1CDMA概述10
2.2.2CDMA技术标准11
2.2.3CDMA所具有的优势及技术持点12
2.3CDMA信号分类及各自特点14
2.3.1W-CDMA15
2.3.2CDMA200015
2.3.3TD-SCDMA15
2.3.4TD-SCDMA的发展过程:
16
2.3.5TD-SCDMA的优缺点17
3RAKE接收机18
3.1RAKE接收机-技术发展及研究现状18
3.2RAKE接收机基本原理19
3.3RAKE接收机数字实现模型21
3.4RAKE接收机在WCDMA中的应用22
3.5RAKE接收机MATLAB仿真22
3.6RAKE接收机系统性能23
结论25
参考文献26
附件27
致谢33
摘要
在简要介绍MATLAB语言的基础上,对使用MATLAB语言仿真的CDMA通信系统进行描述。
该程序仿真CDMA接收机的功能,包括解扩,解交织,信道编码(卷积码),解码,信源编码(CRC)解码5个功能模块,生成用于数字基带传输的信号序列。
仿真CDMA发射机的功能,包括随机序列的产生,信源编码尾比特添加,信道编码(卷积编码),分组交织和扩频调制6个功能模块,生成用于数字基带,矩阵实验室(MATLAB:
MatrixLaboratory)是一种以矩阵运算为基础的交互式的程序语言。
与其它计算机语言相比,具有简洁和智能化程度高的特点,而且适应专业科技人员的思维方式和书写习惯,因而用其编程和调试,可以大大提高工作的效率。
对使用MATLAB语言仿真CDMA通信系统进行描述。
CDMA是指在各发送端使用不相同、相互(准)正交的地址码调制所传送的信息,而在接收端在利用码型的(准)正交性,通过相关检测,从混合信号中选出相应的信号的一种技术。
实现CDMA的理论基础是扩频通信,即在发送端将待发送的数据用伪随机码进行调制,实现频谱扩展,然后进行传输,而在接收端则采用同样的编码进行解扩及相关处理,恢复原始的数据信息。
扩频通信有直接序列(DS)、跳频(FH)、线性调频(chirp)、跳时(TH)等方式。
采用扩频通信的优点很多,如抗干扰、抗噪声、抗多径衰落的能力强,能在低功率谱密度下工作,保密性好,可多址复用和任意选址及进行高度测量等等。
本文讨论的CDMA信号的REAK接收机MATLAB仿真。
关键词:
仿真、码分多址、扩频–CDMA、通信系统、3G、多径干扰、WCDMA、分集接收。
Abstract
BriefintroductionoftheMATLABlanguage,onthebasisofusingMATLABlanguagecommunicationsystemsimulationofCDMAdescription.ThisprocesssimulationCDMAreceiverfunction,includingsolutions,expansion,channelcodinganddecoding(convolutioncode)thesourcecodinganddecoding(CRC),5functionmodulesfordigitalsignalsequencesfrequency-handmode.SimulationCDMAtransmitterfunctions,includingrandomsequences,thesourcecodingtail,channelcodingbits(add),groupedconvolutioncodeandthespread-spectrummodulation6functionmodule,usedindigitalbaseband,Matrixlab(MATLAB:
MatrixLaboratory)isakindofarithmeticbasedonMatrixinteractiveprogramminglanguages.Comparedwithothercomputerlanguage,withconciseandintelligent,andadapttothecharacteristicsofscienceandtechnologyprofessionalswayofthinkingandwritinghabits,andusetheprogramminganddebugging,cangreatlyimprovetheworkingefficiency.
OntheuseofMATLABlanguagecommunicationsystemsimulationcodedivisionmultipleaccess(CDMA).EachCDMAreferstothesender,usingdifferentorthogonalDeZhiMamodulationoftheinformationandonthereceivingendof(in)MaXingusingorthogonality,throughtherelatedtesting,selectedfrommixedsignalscorrespondingsignalofakindoftechnology.RealizingCDMAisbasedonthetheoryofspreadspectrumcommunication,namelyafterthesenderwillbereadytosenddatawithpseudo-randomcodeformodulation,expand,andthentransmissionspectrum,andatthereceivingendUSESthesamecodeextendrelevantprocessing,restoresolutionoftheoriginaldata.Directsequencespreadspectrumcommunication(DS),FH(comparison,linearfrequencychirp,etc.)THManyoftheadvantagesofusingspreadspectrumcommunication,suchasnoiseinterference,multipathfading,theabilityisstrong,canworkunderlowpowerspectraldensity,goodsecrecy,multi-accessreuseandanylocationandheightmeasurement,etc.
ThepaperdiscussedtheCDMAsignalREAKreceiverMATLABsimulation.
Keywords:
simulation、CDMA、SpreadSpectrumCDMA、communicationsystem、3rdGeneration、multipathinterference、WidebandCDMA、diversityreception.
绪论
目前MATLAB已经成为国际上最流行的软件之一,除了可提供传统的交互式的编程方法之外,还能提供丰富可靠的矩阵运算、图形绘制、数据处理、图像处理和方便的Windows编程工具等。
因而出现了各种以MATLAB为基础的工具箱,应用于自动控制、图像信号处理、生物医学工程、语音处理、信号分析、时序分析与建模、优化设计等广泛的领域,表现出了一般高级语言难以比拟的优势。
较为常见的MATLAB工具箱有:
控制系统工具箱、系统辩识工具箱、多变量频率设计工具箱、分析与综合工具箱、神经网络工具箱、最优化工具箱、信号处理工具箱、模糊推理系统工具箱,以及通信工具箱等。
通信工具箱中的模块可供直接使用,并允许修改,使用起来十分方便,因而完全可以满足使用者设计和运算的需要。
MATLAB通信工具箱中的系统仿真,分为用SIMULINK模块框图进行仿真和用MATLAB函数进行的仿真两种。
在用SIMULINK模块框图的仿真中,每个模块,在每个时间步长上执行一次,就是说,所有的模块在每个时间步长上同时执行。
这种仿真被称为时间流的仿真。
而在用MATLAB函数的仿真中,函数按照数据流的顺序依次执行,意味着所处理的数据,首先要经过一个运算阶段,然后再激活下一个阶段,这种仿真被称为数据流仿真。
某些特定的应用会要求采用两种仿真方式中的一种,但无论是哪种,仿真的结果是相同的。
1MATLAB语言基础
1.1MATLAB概述
1.1.1MATLAB的概况
MATLAB是矩阵实验室(Matrix Laboratory)之意。
除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
MATLAB是一门计算机编程语言,取名来源于MatrixLaboratory,本意是专门以矩阵的方式来处理计算机数据,它把数值计算和可视化环境集成到一起,非常直观,而且提供了大量的函数,使其越来越受到人们的喜爱,工具箱越来越多,应用范围也越来越广泛
MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解答问题要比用C、FORTRAN等语言完成相同的事情简捷得多。
当前流行的MATLAB5.3/Simulink3.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox)。
工具包又可以分为功能性工具包和学科工具包。
功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。
学科工具包是专业性比较强的工具包,控制工具包、信号处理工具包、通信工具包等都属于此类。
开放性使MATLAB广受用户欢迎。
除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。
1.1.2.MATLAB产生的历史背景
在70年代中期,CleveMoler博士和其同事在美国国家科学基金的资助下开发了调用EISPACK和LINPACK的FORTRAN子程序库。
EISPACK是特征值求解的FOETRAN程序库,LINPACK是解线性方程的程序库。
在当时,这两个程序库代表矩阵运算的最高水平。
到70年代后期,身为美国NewMexico大学计算机系系主任的CleveMoler,在给学生讲授线性代数课程时,想教学生使用EISPACK和LINPACK程序库,但他发现学生用FORTRAN编写接口程序很费时间,于是他开始自己动手,利用业余时间为学生编写EISPACK和LINPACK的接口程序。
CleveMoler给这个接口程序取名为MATLAB,该名为矩阵(matrix)和实验室(labotatory)两个英文单词的前三个字母的组合。
在以后的数年里,MATLAB在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传。
1983年春天,CleveMoler到Standford大学讲学,MATLAB深深地吸引了工程师JohnLittle.JohnLittle敏锐地觉察到MATLAB在工程领域的广阔前景。
同年,他和CleveMoler、SteveBangert一起,用C语言开发了第二代专业版。
这一代的MATLAB语言同时具备了数值计算和数据图示化的功能。
1984年,CleveMoler和JohnLittle成立了MathWorks公司,正式把MATLAB推向市场,并继续进行MATLAB的研究和开发。
在当今30多个数学类科技应用软件中,就软件数学处理的原始内核而言,可分为两大类:
一类是数值计算型软件,如MATLAB、Xmath、Gauss等,这类软件长于数值计算,对处理大批数据效率高;另一类是数学分析型软件,Mathematica,Maple等,这类软件以符号计算见长,能给出解析解和任意精确解,其缺点是处理大量数据时效率较低。
MathWorks公司顺应多功能需求之潮流,在其卓越数值计算和图示能力的基础上,又率先在专业水平上开拓了其符号计算,文字处理,可视化建模和实时控制能力,开发了适合多学科,多部门要求的新一代科技应用软件MATLAB,经过多年的国际竞争,MATLAB以经占据了数值软件市场的主导地位。
在MATLAB进入市场前,国际上的许多软件包都是直接以FORTRAN/C语言等编程语言开发的。
这种软件的缺点是使用面窄,接口简陋,程序结构不开放以及没有标准的基库,很难适应各学科的最新发展,因而很难推广。
MATLAB的出现,为各国科学家开发学科软件提供了新的基础。
在MATLAB问世不久的80年代中期,原先控制领域里的一些软件包纷纷被淘汰或在MATLAB上重建。
MathWorks公司1993年推出了MATLAB4.0版,1995年推出4.2C版(forwin3.X)1997年推出5.0版。
1999年推出5.3版。
MATLAB5.X较MATLAB4.X无论是界面还是内容都有长足的进展,其帮助信息采用超文本格式和PDF格式,在Netscape3.0或IE4.0及以上版本,AcrobatReader中可以方便地浏览。
时至今日,经过MathWorks公司的不断完善,MATLAB已经发展成为适合多学科,多种工作平台的功能强大的大型软件。
在国外,MATLAB已经经受了多年考验。
在欧美等高校,MATLAB已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生,硕士生,博士生必须掌握的基本技能。
在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题。
在国内,特别是工程界,MATLAB已经盛行起来。
可以说,无论你从事工程方面的哪个学科,都能在MATLAB里找到合适的功能。
1.1.3MATLAB的语言特点
一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。
MATLAB最突出的特点就是语言简洁。
MATLAB用更直观的,符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。
MATLAB给用户带来的是最直观,最简洁的程序开发环境。
以下简单介绍一下MATLAB的主要特点。
1)。
语言简洁紧凑,使用方便灵活,库函数极其丰富。
MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。
由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。
可以说,用MATLAB进行科技开发是站在专家的肩膀上。
具有FORTRAN和C等高级语言知识的读者可能已经注意到,如果用FORTRAN或C语言去编写程序,尤其当涉及矩阵运算和画图时,编程会很麻烦。
例如,如果用户想求解一个线性代数方程,就得编写一个程序块读入数据,然后再使用一种求解线性方程的算法(例如追赶法)编写一个程序块来求解方程,最后再输出计算结果。
在求解过程中,最麻烦的要算第二部分。
解线性方程的麻烦在于要对矩阵的元素作循环,选择稳定的算法以及代码的调试都不容易。
即使有部分源代码,用户也会感到麻烦,且不能保证运算的稳定性。
解线性方程的程序用FORTRAN和C这样的高级语言编写,至少需要四百多行,调试这种几百行的计算程序可以说很困难。
2)运算符丰富。
由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。
3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。
4)程序限制不严格,程序设计自由度大。
例如,在MATLAB里,用户无需对矩阵预定义就可使用。
5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。
6)MATLAB的图形功能强大。
在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。
MATLAB还具有较强的编辑图形界面的能力。
7)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。
由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。
8)功能强大的工具箱是MATLAB的另一特色。
MATLAB包含两个部分:
核心部分和各种可选的工具箱。
核心部分中有数百个核心内部函数。
其工具箱又分为两类:
功能性工具箱和学科性工具箱。
功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。
功能性工具箱用于多种学科。
而学科性工具箱是专业性比较强的,如control,toolbox,signlproceessingtoolbox,commumnicationtoolbox等。
这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究。
9)源程序的开放性。
开放性也许是MATLAB最受人们欢迎的特点。
除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。
1.2MATLAB的安装于使用
1.2.1MATLAB安装
MATLAB的安装非常简单,这里以Windows版本6为例。
运行setup后,输入正确的序列号,选择好安装路径和安装的模块,几乎是一直回车就可以了。
这里有一点要注意的是,由于不同操作系统设置,可能会出现一些意外错误,而且越高版本的MATLAB对计算机系统的性能要求也越高,如6.1版本要求至少64M内存,最好128M。
(当然,现在的计算机内存一般都能满足要求,用户不必担心这一点。
)所以根据自身情况选择适合的版本安装,最好还要在操作系统初安装后就安装,避免出现意外。
1.2.2MATLAB运行
MATLAB的启动运行:
#:
\MATLAB6p1\bin\win32\matlab.exe(其中#为安装盘符。
)但一般安装完毕后会在安装目录下有一个快捷运行方式。
MATLAB启动后显示的窗口称为命令窗口,提示符为“>>”。
一般可以在命令窗口中直接进行简单的算术运算和函数调用。
如果重复输入一组表达式或计算复杂,则可以定义程序文件来执行达到目的。
程序文件扩展名为“.m”,以文本文件形式保存。
有两种方式运行程序文件:
一是直接在MATLAB命令窗口输入文件名,二是选择File-Open打开m文件,弹出的窗口为MATLAB编辑器。
这时可选择它的Debug菜单的Run子菜单运行。
1.2.3结束MATLAB
有三种方法可以结束MATLAB:
1.键入exit
2.键入quit
3.直接关闭MATLAB的命令视窗(Commandwindow)
1.3MATLAB基本语法和基本操作
1.3.1数值运算的功能
命令行的基本操作
1、创建矩阵的方法
直接输入法
规则:
1矩阵元素必须用[]括住
2矩阵元素必须用逗号或空格分隔
3在[]内矩阵的行与行之间必须
用分号分隔
2、矩阵元素
矩阵元素可以是任何matlab表达式,可以是实数,也可以是复数,复数可用特殊函数I,j输入
a=[123;456]
x=[2pi/2;sqrt(3)3+5i]
1.3.2符号的作用
1、逗号和分号的作用
1、逗号和分号可作为指令间的分隔符,matlab允许多条语句在同一行出现。
2、分号如果出现在指令后,屏幕上将不显示结果。
2、冒号的作用
1、用于生成等间隔的向量,默认间隔为1。
X=1:
6
2、用于选出矩阵指定行、列及元素。
x(2,:
),x(:
2)
3、循环语句k=1:
0.2:
2
format,formatrat
1.3.3用matlab函数创建矩阵
空阵[]—matlab允许输入空阵,当一项操作无结果时,返回空阵。
rand——随机矩阵rand(4)
eye——单位矩阵eye(4)
zeros—全部元素都为0的矩阵zeros(7)
ones—全部元素都为1的矩阵ones(3)
1.3.4矩阵的修改
1、直接修改
可用键找到所要修改的矩阵,用键移动到要修改的矩阵元素上即可修改。
指令修改
可以用A(,)=来修改。
1.3.5矩阵运算
1、矩阵加、减(+,-)运算
规则:
(1)相加、减的两矩阵必须有相同的行和列两矩阵对应元素相加减。
(2)允许参与运算的两矩阵之一是标量。
标量与矩阵的所有元素分别进行加减操作。
2、矩阵乘()运算
规则:
(1)A矩阵的列数必须等于B矩阵的行数
(2)标量可与任何矩阵相乘。
矩阵除的运算在线性代数中没有,有矩阵逆的运算,在matlab中有两种矩阵除运算:
右除B/A左除A\C。
3、矩阵的其它运算
inv——矩阵求逆inv(x)
det——行列式的值det(x)
eig——矩阵的特征值eig(x)
diag——对角矩阵diag(x)
’——矩阵转置x’
sqrt——矩阵开方sqrt(x)
2CDMA信号及高速网络时代三大主流3G技术
2.13G技术概况
最近几年,全球移动通信业发展迅速,特别是在我国,移动通信增长的态势迅猛。
目前,中国手机用户已超过5亿,并仍在加速增长,市场规模巨大。
但是,现有系统的容量有限,难以实现高速数据服务、全球覆盖、国际漫游等服务业务。
随着通信技术的发展,第三代移动通信技术提供了全球无缝覆盖和漫游、更大的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于MATLAB的CDMA RAKE接收机仿真 基于 MATLAB CDMA RAKE 接收机 仿真