MATLAB仿真在现代通信中的应用
MATLAB仿真在现代通信中的应用,特别是无线通信仿真详细具体,适合无线通信研发人员使用。内容简介本书以现代无线电通信中的关键技术:扩频、跳频、OFDM、3G系统、无线接入系统以及常见无线通信系统作为对象,以 MATLAB/ Simulink作为仿真工具,对上述系统进行了仿真实验还对数字信号通过各种调制方式,发送滤波器后的频谱特性,以及应用各种差错控制方式后的传输特性给出了系列仿真实例。并对上述仿真内容进行了简单的原理性介绍,对于建模和仿真编程中出现的主要问题与注意事项做了相应敏讲解。仝书源程序附有光盘本书可作为高等学校通信专业的教学、科硏参考书,也可供管理部门作为参考资料、图书在版编目C|P)数据MATLAB仿真在现代通信中的应用徐明远,邵玉斌编著一西安:西安电子科技大学出版社,20114ISBN978-7-56062554-6Ⅰ①M…Ⅱ①徐…②邵…Ⅲ①通信系统一系统仿真一软件包, MATLABⅣ①TN914中国版本图书馆CP数据核字(2011第027693号策划臧延新责任编辑杨宗周出版发行西安电子科技大学出版社(西安市太白南路2号)电话(029)8824288588201467邮编70071网址www.xduph.com电子邮箱 xdupfxb00@163com经销新华书店印刷单位陕西天意印务有限责任公版次2011年4月第1版20ll年4月第1次印刷开本787毫米×1092毫米116印张13625数315千字印数1~2000册定价30.00元(含光盘)ISBN978-7-5606-25546/N·0594XDUP2846001-1煮如有印装问题可调换*本社图书封面为激光防伪覆膜,谨防盗版。前言近十年来,无线电技术突飞猛进,无线电事业快速发展。扩频、跳频、OFDM技术3G系统、蓝牙、IEEE802.11a、数字电视、智能天线等技术的出现,让人目不暇接。无线电成了现代文明的重要组成部分。人们在享受现代文明带来的方便与效率时,想到了应该对这些新技术和新系统多一些了解,然而,深奧的理论、复杂的技术、昂贵的设备与仪器给学习带来了不少的困难。人们在寻找与快速进步的技术相适应的学习与研究方法时,MATLAB仿真在新技术的学习与新系统的研发中成了有力的工具。应用 MATLAB的编程方法和功能模块,可以搭建各种仿真系统,还可以应用丰富的时间域、频率域、相位域的仿真测量仪器。许多新一代通信系统的系统级的仿真程序出现在 MATLAB软件的演示实例中,这使得学习的效率大为提高,对技术与系统的理解已经从概念深入到电路方案和参数选取的层面。建立和谐的电磁环境,需要了解各种无线电通信系统的特性,其中包括时间域、频率域、相位域以及传输特性。特别是它们之间的定量关系可以从仿真实例运行的结果中得到。也可以说,每个仿真实例就是一个小实验平台,实验中可以对通信的相关原理,甚至通信系统进行研究,其中的分类结果也可以作为资料备查。本书应用 MATLAB仿真工具对常见的调制方式、发送滤波器、差错控制方式以及各种通信系统(包括新一代的通信系统)的相关特性进行研究。可以运行的大量仿真实例,一方面给出了仿真的结果;另一方面还给出了部分仪表测量的结果可供比对。仿真实例大部分是作者在教学与科研实践中自行编制的,小部分是 MATLAB软件中的演示仿真实例全书分以下五部分:第一部分基础知识,包括数字调制、发送滤波器、通信信号的测量与表达。第二部分常用无线电通信系统,包括公众移动通信系统、专用移动通信系统、卫星通信系统。第三部分新技术与3G,包括扩频、跳频、OFDM以及3G系统。第四部分无线接入系统与数字电视,包括蓝牙、802.1a与数字电视。第五部分天线与射频技术,包括天线阵列、射频传输线、滤波器。书中给出了简单的原理介绍、 MATLAB仿真的系统、程序(光盘)以及程序运行结果。对编程中的主要问题与注意事项作了讲解。着重讨论了各种系统及输出信号的频谱特性。对于系统的传输特性,以及影响系统传输特性的因素,譬如调制方式、差错控制方式也进行了较系统的讨论。为了保持本书简练的篇幅,没有在书中详细介绍所有仿真系统中各个模块的参数设置,也没有将雷同的系列仿真系统的程序在书中展示。购书所附的光盘提供了书中提到的全部软件。点击模块打开对话框可以仔细研究其中每个模块的参数设置。若需要还可以将其拷贝出来后按照读者的意愿,遵循 MATLAB的相关规则更改参数后进行学习研究。本书可作为高等学校通信专业的教学、科研参考书,也可供管理部门作为参考资料。本书编写中的不妥和疏漏之处,还望读者给予指出。作者的联系方式:xumil@163com,shaoyun99@sina.com徐明远邵玉斌2011年1月说明1.用 MATLAB m文件编写的程序序号在本书中是这样表示的:比如程序35表示第3章的序号为5的程序。在 MATLAB软件中用CHX35表示。2. MATLAB/Simulink程序在本书及 MATLAB软件中都用SCHX3_10表示(第3章的序号为10的程序),该仿真系统框图在本书中用图3-10表示。3.本书的程序可运行在 MATLAB2008B版本目录第一部分基础知识第1章数字调制1.1非连续相位的角度调制31.1.1FSK信号的仿真1.1.2PSK信号的仿真1412连续相位的角度调制.1.3正交幅度调制29第2章发送滤波器,·,2.1概论322.2升余弦脉冲滤波器.332.3平方根升余弦滤波器4124高斯滤波器…46第3章通信信号的测量与表达3.1通信仿真中常用的信号测量模块3.1.1 Simulink基本模块中的 Sinks子库简介,,,,,,,,,,,,,,,,,513.12 Simulink通信工具箱中的 Comm sinks子库简介….52313 Simulink信号处理工具箱中的 Signal Processing Sinks子库简介533.2信号的测量…623.21窄带随机信号的产生和波形测量3.2.2各种信号的表示和测量633.3差错控制传输特性的测量与表达72331线性码……1733.32循环码.753.33里德-索洛蒙码773.34卷积码335汉明码3.3.6BCH码3.37循环冗余码8534信号统计参数的测量.…863.4.1统计模块库86342概率密度函数873.4.3瑞利衰落信道的仿真测试……344图像的灰度直方图3.5图像和视频信号的测量与表达3.5.1模块库…3.52图像的读出与显示933.53图像加噪与滤波…,.,,,·943.54图像的二维变换与反变换963.5.5图像有损压缩“““第二部分常用无线电通信系统第4章公众移动通信系统1014.1公众通信系统概述…….1014.1.1最早期的移动通信系统014.1.2第1代移动通信系统….4.1.3第2代移动通信系统1024.1.4第2.5代移动通信系统……,,,,,,,1044.1.5第3代移动通信系统1064.1.6第4代移动通信系统…1084.2GSM全球移动通信系统.,,非1094.3CDPD蜂窝数字分组数据网……11144NADC北美数字蜂窝网1134.5PDC个人数字蜂窝电话144.6 CDMA IS-95码分多址通信系统1174.7CT-2第2代无绳电话系统184.8数字增强型无绳通信标准12049PHS个人手持式电话系统12第5章专用移动通信系统12451集群通信系统…12452APCO数字集群通信系统1255.3 TETRA欧洲数字集群通信系统12754THTS地面航空电话系统…129第6章卫星通信系统1316.1铱星系统.1316.2美国ICO卫星通信系统13363甚小孔径终端卫星通信系统…135第三部分新技术与3G第7章新技术…1417.1扩频1417.2多元扩频7.3跳频…14674正交多载波调制OFDM.150第8章3G系统15281 WCDMA码分多址通信系统15282CDMA2000码分多址通信系统157第四部分无线接入系统与数字电视第9章无线接入系统…91蓝牙系统 BLUE TOOTH16592无线局域网 HiperLAN216993无线局域网802.11标准,.非,,,,,,,,,,,,,,,,甲174第10章数字电视系统10.1数字电视广播系统…17910.2卫星广播系统182第五部分天线与射频技术第11章天线187111天线方向图18711.2均匀直线阵的波束扫描…11111187113均匀圆形阵的波束扫描189114非均匀直线阵的波达方向估计19211.1 Capon法194114.2 Music法195第12章射频…19612.1波导19612.2传输线19812.3滤波器205参考文献207
- 2021-05-06下载
- 积分:1
μC/OS-II操作系统在STM32上的移植
详细介绍μC/OS-II操作系统在STM32上的移植过程,引导初学者完成基本的操作系统架构的创建。建立工程使用(我使用版)在目录下建立工程,工程名为。选一个系列的芯片,哪一个都无所谓(我选的是因为我的板子就是用这个芯片),接下来要注意的是当弹出是否拷贝启动代码到工程文件夹时要选,因为标准外设厍里已经有启动代码了。将里的顶层日录名改为,并将第一个名改为把日录下所有和文件加载到工程里的在下建立一个目录用来放置系统初始化代码。把拷贝到文件夹拷贝到文件夹中。是中断服务程序文件。是标准外设库的配置文件,对于工程中不需要的外设,可以注释掉里面的包含的头文件。这里我建议先仅留下,用到什么再打开什么,这样编译起来快一点,当然也可都留着。使用标准外设库事实上标准外设库的使用在中的节中已有说明,下面我把其中的步骤罗列一下根据所选芯片,把中的启动代码加到工程中,这一步在上面凵经做过了。在的行,根据所选芯片类型,去掉相应注释,这里我去掉行的注释(大谷量型片)去掉行的注释,启用标准外设库。在的行,根据所选芯片主频,去掉相应注释,默认注释已去掉,如果你的芯片主频是,就不用做修改了,这里我的芯片是注释去掉注释跑马灯程序现在可以使用标准外设库了,下面以一个简单的跑马灯程序说明。在日录下建立作为系统入口在下建立一个日录用来放置板级支持代码,建立代码如下:在中建立组,并将各种代码加入。在工程的选项卡的中添加选项卡中选选项卡中选选项卡选打钩,这一步大家可以根据自己手上的仿真器做不同选择。编译运行。在上的移植详解虽然目前网上凵经有不少关于在上的移植版本,包括也有官方移植版本。但这些版本具体是怎么移植出来的,又该怎么基于移植好的开发应用软件,网上介绍的并不多。这里介绍一下我的移植经历,希望对大家有所帮助。我的移植基本上是从零开始的。首先想要做好移植,有两方面的內容是必须要了解。日标芯片内核原理虽然我们移植的目标芯片是,但操作系统的移植基木是针对内核(以下简称)而言的,所以我们只需了解内核就好了。片就是内核加上各种各样的外设。怎么才能了解呢?看一本书权威指南(宋岩译,网上多的很)就好了,很多同学可能想,看完这本书移植的新鲜劲都没了,因此我把该书和移植有关的章节都刎了出来,并对其中的重点内容进行介绍,我数了数相关章节还不到页,就这点内容,总要看了吧。相关章节如下概览主要了解的概貌。刚开始看时不用追求仝部理解,后面会有详细介绍,很多内容多看几遍就明白。其中指令集,只要了解,只使用就了基础寄存器组通用寄存器堆栈寄存器有两个,和同时只能看见一个引用时,引用的是正在使用的那个可用于异常服务和应用程序只能用于应用程序系统复位后,用的堆栈指针是连接寄存器,又名,存储返冋地址程序计数寄存器,又名特殊功能寄存器程序状态字寄存器组(中断屏蔽寄存器组(控制寄存器(程序状态字寄存器组()分为应用程序中断号执行每个都是位,由于这个寄存器有效位是错开的,因此可以组合访问。中断屏蔽寄存器组(),这三个寄存器用于控制异常的使能和除能。控制寄存器()它有两个作用:定义特权级别选择当前使用哪个堆栈指针操作模式和特权极别操作模式处理者模式和线程模式异常处理:处理者模式主程序:线程模式不区分特权级和用户级,程序始终工作在特权级这两个堆栈指针的切换是全自动的,就在出入异常服务例程时由硬件处理。没什么好讲的,需要看。复位序列初值初值复位向量异常异常类型分为系统异常编号和外部中断大于优先级支持个固定的高优先级和多达级的可编程优先级。在中,每个中断都有一个优先级配置寄存器(个,用来配置该中断的优先级。但该寄冇器并不是每个位都被使用,不同制造商生产的芯片不相同,譬如使用位,也就是说支持个可编程优先级(参考注意该寄存器是以对齐的,因此每个中断的优先级配置寄存器位有效,位无效。对于优先级,又分为抢占优先级和亚优先级,中的应用程序中断及复位掉制寄存器的优先级分组描述了如何划分抢占优先级和亚优先级什么意思?以为例,优先级配置寄存器不是位有效吗,如果中的优先级分组值为,则优先级配置寄冇器的位确定抢占优先级,位确定亚优先级。此时所有中断有个抢占优先级,每个抢占优先级有个亚优先级。抢占优先级高的中断可以抢占抢占优先级低的中断,即抢占优先级决定了中断是否可以嵌套相同抢占优先级的中断不能嵌套,但当抢占优宄级相同的异常有不止一个到来时,就优先响应亚优先级最高的异常。参考附求表表中断优先级寄存器阵列共系统异常优先级寄冇器共个优先级相同,看中断号,中断号小的优先。向量表初始在处,可以通过向量表偏移量寄存器(地址:)更改,般无需更收。中断输入及挂起行为需要看。异常可不看和主要用在分特权级和用户级的操作系统,不区分特权级和用户级可以不管这个东西。这里说点题外话,一开始我很奇怪为什么会提供这种中断,因为这种中断一般都是用在大型的操作系统上,如系统上,可又不提供,应该是无法移植系统。后来我才知道是针对没有的嵌入式系统而设计的不过还是很怀疑有人会在像这种芯片上用中断主要做上下文切换,也就是任务切换,是移植过程中最重要的中断。主要有两点中断是手工往的悬起寄存器中写产生的(由写)中断优先级必须设为最低在讲移植代码时会介绍具体是如何做的。对于的部分应认真研读一下。与中断控制负责芯片的中断管理,它和内核紧密相关。如果对于中断配置不是很了解,可以看看节讲述了定时器,需要看。中断的具体行为中断/异常的响应序列当开始响应一个中断时以及入栈取向量选择堆栈指针,更新堆栈指针,更新连接寄存器,更新程序计数器对移植米说,需要注意异常返同在中,进入中断时,寄存器的值会被自动更新。节对史新后的值进行说明。这里统称。返回时通过把往里写来识别返回动作的。因为是一个特殊值,所以对于,汇编语言就不需要类似这种指令,而用语言开发时,不需要特殊编译器命令指示个函数为中断服务程序。实际上,中断服务程序如果是代码编写,汇编成汇编代码,函数结尾一般是嵌套的中断只要注意:中断嵌套不能过深即可。和这两节说明对中断的响应能力大大提高了,主要是硬件机制的改进。但对移植来说,并不需要关注异常返回值对不同状态进入中断时,寄存器的值进行说明,需要看。这里有一点需要注意,该点在讲移植代码时再介绍利对移植来说,并不需要关注。的低层编程这·章仅需关注节,因为对移植来说汇编与的接口是必须面对的。汇编与的接口有两点需要知道当主调函数需要传递参数(实参)时,它们使用。其中传递第一个,传递第个在返冋时,把返冋值写到中在函数中,用汇编写代码时,可以随便使用,而使用则必须先以上内容和移植多少都有些关系,刚开始看,可能不太明白,多看几遍就好了。
- 2020-12-07下载
- 积分:1