安徽理工大学电子信息专业毕业设计
(2.17)
采用MRC的考虑是幅度比较大的接收信号所包含的噪声相对来说也比较小,对幅度取平方相当于增强了这种效果。其相应的判决量为:
噪声可以近似为零均值的高斯随机变量,可知其方差为:
(2.18)
(2.19)
与分析EGC时一样,I也包含(M-1)× N个独立同分布的随机变量,因此I可以近似为零均值的高斯随机变量:
(2.20)
(2.21) 其中
(2.22)
将式(2.19)一式和(2.21)代入式(2.10),得到:
-
15
安徽理工大学电子信息专业毕业设计
采用CLT近似后
(2.24)
根据式(2.23),(2.24)可得:
将式(2.15)代入上式,得到:
- 16
(2.23)
2.25)
2.26)
((安徽理工大学电子信息专业毕业设计
第三章 MATLAB语言的原理简介
3.1 MATLAB语言的由来
MATLAB名字是由MATrix和LABoratory两个词的前三个字母组合而成的。它是MathWorks公司于1982年推出的一套高性能的数值计算和可视化数学软件。被誉为“巨人肩上的工具”。 由于使用Matlab编程运算与人进行科学计算的思路和表达方式完全一致,所以不象学习其它高级语言--如Basic、Fortran和C等那样难于掌握,用Matlab编写程序犹如在演算纸上排列出公式与求解问题,所以又被称为演算纸式科学算法语言一般数值分析、矩阵运算、数字信号处理、建模和系统控制和优化等应用程序,并集应用程序和图形于一便于使用的集成环境中。在这个环境下,对所要求解的问题,用户只需简单地列出数学表达式,其结果便以数值或图形方式显示出来。MATLAB的含义是矩阵实验室(MATRIX LABORATORY),主要用于方便矩阵的存取,其基本元素是无须定义维数的矩阵。MATLAB自问世以来,就是以数值计算称雄。MATLAB进行数值计算的基本单位是复数数组(或称阵列),这使的MATLAB高度“向量化”。经过十几年的完善和扩充,现已发展成为线性代数课程的标准工具。由于它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。美国许多大学的实验室都安装有MATLAB供学习和研究之用。在那里,MATLAB是攻读学位的大学生硕士生 博士生必须掌握的基本工具。MATLAB中包括了被称作工具箱(TOOLBOX)的各类应用问题的求解工具。工具箱实际上是对MATLAB进行扩展应用的一系列MATLAB函数(称为M文件),它可用来求解各类学科的问题,包括信号处理、图象处理、控制系统辨识、神经网络等。随着MATLAB版本的不断升级,其所含的工具箱的功能也越来越丰富,因此,应用范围也越来越广泛,成为涉及数值分析的各类工程师不可不用的工具。
MATLAB5.3中包括了图形界面编辑GUI,改变了以前单一的“在指令窗口通过文本形的指令进行各种操作”的状况。这可让使用者也可以象VB VC VJ DELPHI等那样进行一般的可视化的程序编辑。在命令窗口(matlab command window)键入simulink,就出现(SIMULINK) 窗口。以往十分困难的系统仿真问题,用SIMULINK只需拖动鼠标即可轻而易举地解决问题,这也是近来受到重视原因所在。
-
17
安徽理工大学电子信息专业毕业设计
3.2 MATLAB语言与其他语言的异同
在上一章中,介绍了等增益合并基本原理的相关理论、这些都是理论计算部分,要想将这部分内容变成可见的能够用来分析的数据结果,必须采用仿真的方法。在科学计算领域,FORTRAN语言一直独占鳌头,但是FORTRAN语言在应用中有自己的缺点,编程比较繁杂,代码不直观等。这样,编程简单,直观,功能强大的语言及仿真环境会越来越多的为人们所接受。
Matlab正是这样的选择,应为它有如下特点。
①语言简洁紧凑,使用方便灵活,库函数极其丰富。Matlab程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上。如果用FORTRAN或C语言去编写程序,尤其当涉及矩阵运算和画图时,编程会很麻烦。例如,如果用户想求解一个线性代数方程,就得编写一个程序块读入数据,然后再使用一种求解线性方程的算法(例如追赶法)编写一个程序块来求解方程,最后再输出计算结果。在求解过程中,最麻烦的要算第二部分。解线性方程的麻烦在于要对矩阵的元素作循环,选择稳定的算法以及代码的调试都不容易。即使有部分源代码,用户也会感到麻烦,且不能保证运算的稳定性。如果利用MATLAB语言就非常方便,仅需要简单的几句编码。
②运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。
③ MATLAB既具有结构化的控制语句(如for循环、while循环语句),又有面向对象编程的特性。
④语法限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵定义就可使用。
⑤程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。
⑥MATIAB的图形功能强大.在FORTRAN和
C语言里,绘图都很不容易,但在MATLAB
里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。 ⑦MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢.由于MALAB的
-
18
安徽理工大学电子信息专业毕业设计
程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。 ⑧功能强劲的工具箱是MATLAB的另一重大特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数.其工具箱又可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能。功能性工具箱能用于多种学科。而学科性工具箱是专业性比较强的,如control, toolbox, signal processingtoolbox, communication toolbox等。这些工具箱都是由该领域内的学术水平很高的专家编写的.所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。
⑨源程序的开放性。开放性是MATLAB最受人们欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。
MATLAB被称为第四代计算机语言,MATLAB和C语言的关系近似于C语言和汇编语言的关系。如同高级语言的执行效率要比汇编语言的执行效率低,MATLAB的执行效率要比一般高级语言的执行效率低,但是 MATLAB的编程效率要远远高于其他高级语言,并且其程序的可读性及可移植性也很好。和Visual Basic和Visual C相比,MATLAB的图形界面编程能力相对弱一些,但对于花很多时间在自己专业上的广大工程技术人员,MATLAB的强大的库函数带来的简单程序代码具有不可替代的作用。由于MATLAB可以轻易地再现FORTRAN和C语言的几乎所有功能,并且具有较强的界面设计能力,所以即使用户不会Visual Basic和Visual C,甚至连FORTRAN和C都不熟悉,同样可以设计出功能强大、界面优美、稳定可靠的高质量软件。
3.3实现卷积码性能仿真要用到的MATLAB语句
1、特殊变量与常数
ans 计算结果的变量名 computer 确定运行的算机 eps 浮点相对精度 Inf 无穷大
I 虚数单位 inputname 输入参数名
-
19