毕业设计移动通信系统中数字基带信号的处理.docx
《毕业设计移动通信系统中数字基带信号的处理.docx》由会员分享,可在线阅读,更多相关《毕业设计移动通信系统中数字基带信号的处理.docx(73页珍藏版)》请在冰点文库上搜索。
毕业设计移动通信系统中数字基带信号的处理
移动通信系统中数字基带信号的处理
摘要
20世纪90年代以来,数字移动通信得到了迅猛的发展,与此同时,随着计算机和信息产业的飞速发展数字信号处理不但在理论上而且在方法上都获得了迅速发展。
DSP在移动通信中的应用更是使移动通信的发展如虎添翼。
DSP狭义的理解可译为数字信号处理器,是一种适合于进行实时数字信号处理运算的微处理器,其实主要应用是实时快速的实现各种数字信号处理算法。
广义的理解可以解释为数字信号处理技术,是利用计算机或其他数字信号处理设备以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到满足不同应用需要的信号形式。
移动通信是目前国内外发展最快的新技术之一。
它的主要特点是高技术含量大,新技术层出不穷。
本文就以数字基带信号处理为例简要论述了移动电话短信息收发系统下行线路的功能。
包括CRC校验,卷积编码,二进制移相键控及二进制差分相位键控以及扩频技术。
运用C语言对其各部分功能进行软件编程,最终在DSP开发环境CCS中仿真实现。
关键词:
DSP,移动通信,C语言
Abstract
Since20centry90years,thedigitalmobilecorrespondencehasaswiftandviolentdevelopedspeedynotonlyintheorybutalsoinmethodsalongwiththedevelopmentofcomputerandinformationindustry.TheapplicationsinmobilecorrespondenceofDSPmakesthemobilecorrespondencedevelopmorefast.
DSPcantranslatetodigitalsignalprocessorinnarrowsense.Itisasortofmicroprocessorusedforrealtimedigitalsignalprocessingoperation.Infact,itismostlyusedforrealtimefastarithmeticofkindsofdigitalsignalprocessing.Comprehendinbroadsense,DSPcantranslatetodigitalsignalarithmetic.Itusescomputeroranyotherdigitalsignalprocessingequipmenttocollection,transform,buildup,compress,identify.ect.Inordertosatisfysignalformofdifferentapplianceneeded.
Themobilecorrespondenceisoneofthenewtechnologywhichisdevelopedspeedlyinsideandoutside.Themostlycharacteristicisithaslargecontentofhightech,andnewtechisemergeinendlessly.Buildondigitalbasebandsignalprocessing,thistextbriefdiscussesthefunctionofmobiletelephonenote’sreceivesystem.IncludeCRCverify,coding,PSKandDPSK.UsesClanguageprogrammedforitseverypart.FinallymakeitcometrueinDSP’sempolderenvironmentCCS.
Keywords;DSP,Mobilecorrespondence,Clanguage
前言……………………………………………………………………...1
第一章DSP概述……………………………………………………….2
1.1DSP芯片基础知识…………………………………………….2
1.2DSP系统的设计……………………………………………….5
1.3DSP的应用………………………………………………….…6
第二章TMS320C54x体系结构……………………………………….7
2.1TMS320C54X的总线结构……………………………………..9
2.2中央处理单(CPU)………………………………………….11
2.3内部存储器…………………………………………………….15
2.4在片外设………………………………………………………..19
第三章DSP的软件开发方法…………………………………………22
3.1TMS320C54x的C语言开发知识准备……………………...22
3.2CCS开发工具…………………………………………………23
第四章移动通信系统中数字基带信号的处理……………………….31
4.1DSP在移动通信中的应用……………………………………31
4.2CRC校验……………………………………………………..33
4.3信道编码………………………………………………………34
4.4调制技术……………………………………………………….42
4.5扩频通信……………………………………………………….47
4.6移动终端短信息发送系统的仿真实现...................................50
结束语………………………..…………………………………………..54
致谢…………………….………………………………………………...55
参考文献………………………………………………………..………..56
附录一英文原文
附录二汉语翻译
附录三程序详细清单
前言
在过去的十几年里,移动通信技术获得了很大的进步,从传统的单基站大功率系统到蜂窝移动系统,从本地覆盖到区域、全国覆盖,并实现了国内甚至国际漫游,从提供话音业务到提供包括低速数据的综合业务,从模拟移动通信系统到数字移动通信系统…今后移动通信技术还会进一步的发展和演进,随着第三代移动通信技术的实现和移动通信与互联网的融合,未来无线数据传输速率将高达2Mbit/s,全球正在迅速向着移动信息时代迈进。
无论是2G还是3G,都是建立在一定的通信标准或协议之上的。
移动通信的通信协议分为四层,即应用层、网络层、数据链路层和物理层。
DSP用于完成物理层的处理,倾向于数字基带信号的处理。
DSP芯片的高速发展,一方面得益于集成电路的发展,另一方面也得益于巨大的市场。
经过二十余年的发展,DSP应用领域日渐宽广,DSP芯片已经在信号处理、通信、雷达等许多领域得到广泛的应用。
本文主要讲述的是DSP在移动通信中的应用。
首先在了解DSP的功能基础上讲述DSP的设计流程及算法,并阐述了DSP软件编程及调试,这是本节的精华所在;以及本次设计中所使用的具体TMS320C5402的功能、结构和兼容性、资源使用。
在DSP这一部分中的重要部分是集成开发软件包CCS的简介和在具体过程算法实现及源文件的的使用实现。
CCS是一个开放的和具有强大集成能力的开发环境,该套开发环境集代码生成工具和代码调试工具为一体,能完成DSP系统开发过程各个环节。
它由C编译器,模拟器软件,调试软件及插件等组成。
在这里,主要用于解决移动终端短信息收发系统上行线路的实现。
第一章DSP概述
步入21世纪之后,社会也进入数字化的时代,而数字信号处理器(Digitalsignalprocess,DSP)正是这场数字化革命的核心。
从20世纪60年代数字信号处理理论的崛起,到80年代数字信号处理器的发展迅猛异常。
今天数字信号处理器已经广泛应用在社会的各个领域也渗透到我们的生活中,正改变着我们的生活方式。
数字产品必将代替模拟产品,其中数字信号处理器将发挥十分关键的作用,决定着数字信号处理的未来。
1.1DSP芯片基础知识
1.DSP芯片的概念
DSP有两种解释:
一种是digitalsignalprocssing,指的是数字处理技术;另一种是digitalsignalprocssor,指的是数字信号处理器,也称DSP芯片,是一种专门用于数字信号处理的微处理器。
DSP芯片的内部采用程序和数据总线分开的哈佛结构,具有专门的硬件乘法器,采用流水线操作,提供特殊的DSP指令,可以用来快速地实现各种数字信号处理算法。
根据数字信号处理的要求,DSP芯片一般具有以下几个主要特点:
(1)在一个指令周期内可以完成一次乘法和一次加法;
(2)程序和数据空间分开,可以同时访问数据空间和程序空间;
(3)片内具有快速RAM,通常可同时访问两块芯片;
(4)具有低开销或零开销循环及跳转的硬件支持;
(5)快速的中断处理和硬件I/O支持;
(6)具有在单周期内操作的多个硬件地址产生器;
(7)可以并行执行多个操作;
(8)支持流水线操作,取指、译码和执行等操作可以流水线执行;
所谓哈佛结构,是将程序与数据的存储空间分开,各有各的地址总线和数据总线。
这样同一条指令可以同时对不同的数据空间进行读操作和写操作,从而提高处理速度。
和哈佛结构相配合使用的就是流水线操作。
如果一条指令仅仅对一个数据空间操作,哈佛结构必然失去其存在的意义,而DSP指令又不可避免地需要一些单操作指令(仅仅对一个数据空间操作)。
为了解决这个问题,DSP采用流水线操作。
DSP执行一条指令,需要经过取指、译码、执行等几个步骤。
所谓流水线操作,就是将各条指令的执行时间重叠,执行完第一条指令后,紧接执行该指令的第二步,同时执行下一条指令的第一步,使得指令执行加快,使大多数指令都可以在单个指令周期完成。
DSP是一种特殊的微处理器,不仅具有可编程性,而且其实时运行速度超过通用微处理器。
其特殊的内部结构、强大的信息处理能力以及较高的运行速度,是DSP最重要的特点。
DSP芯片是一种专用微处理器,是高性能系统的核心。
它接收模拟信号,如光和声,将它们转化成数字信号,实时地对大量数据进行数字技术处理。
这种实时能力使DSP在像声音处理、图象处理等不允许时迟领域的应用十分理想,成了全球百分之七十数字电话的“心脏”,同时DSP在网络领域也有广泛的应用。
2.DSP芯片的分类
DSP芯片可以按照以下3种方式进行分类。
(1)按基础特性分类
这是根据DSP芯片的工作时钟和指令类型来分类的。
如果DSP芯片在某时钟频率范围内以任何频率都能正常工作,除计算速度外性能没有下降,这类DSP芯片一般称为静态DSP芯片。
如果有两种或两种以上的DSP芯片它们的指令集和相应的机器代码机管脚结构相互兼容,则这类DSP芯片称为具有一致性的DSP芯片。
(2)按数据格式分类
根据DSP芯片工作的数据格式,DSP芯片可分为定点DSP芯片和浮点DSP芯片。
数据以定点格式工作的DSP芯片称为定点DSP芯片,以浮点格式工作的称为浮点DSP芯片。
不同的浮点DSP芯片所采用的浮点格式不完全一样,有的DSP芯片采用自定义的浮点格式,有的DSP芯片则采用IEEE的标准浮点格式。
(3)按用途分类
根据DSP芯片的用途,DSP芯片可分为通用型DSP芯片和专用型DSP芯片。
通用型DSP芯片适合普通的DSP应用,如TI公司的一系列DSP芯片。
专用型DSP芯片专为特定的DSP运算而设计,更适合特殊的运算,如数字滤波、卷积和傅里叶变换等。
3.DSP系统的特点
DSP系统以数字信号处理为基础,因此具有数字处理的全部特点:
(1)高速性:
DSP系统的运行速度较高,最新的DSP运行速度高达10GMIPS以上。
(2)编程方便:
可编程DSP可使设计人员在开发过程中灵活方便第对软件进行修改和升级。
(3)稳定性好:
DSP系统以数字处理为基础,受环境以及噪声的影响较小,可靠性高。
(4)可重复性好:
模拟系统的性能受元器件参数性能的影响比较大,而数字系统基本上不受影响,因此数字系统便于测试、调试和大规模生产。
(5)DSP系统中的数字部件有高度的规范性,便于大规模集成。
(6)性价比高:
常用的DSP的价格在5美元以下。
1.2DSP系统的设计
使用DSP进行系统设计的一般流程如图1-3所示,其设计步骤为:
(1)算法模拟阶段,即根据应用系统目标确定系统的性能指标。
首先应根据系统要求进行算法仿真和高级语言模拟实现。
为了得到最佳系统性能,在这一步骤应确定最佳处理方法。
例如,为实现针对移动通信的视频显示,需要在给定的实现目标上作运算选择、模拟和实现。
最终找到既能满足设计又尽可能少的实现算法。
(2)选择芯片。
根据算法要求(运算速度、运算精度要求、存储器需求等)选择DSP芯片。
(3)设计实时DSP系统。
此阶段包括硬件设计和软件设计两个方面。
硬件设计主要根据系统要求设计DSP芯片外围电路和其他电路(如转换、控制、存储、输出等电路)。
软件设计主要根据系统要求和所选DSP芯片编写相应的汇编软件。
如果运算量系统运算量不大,可以采用高级语言和汇编语言混合编程。
本文之讨论软件设计。
(4)硬件和软件调试阶段。
硬件调试一般采用硬件仿真器进行。
软件调试一般借助DSP开发工具如软件模拟器、DSP开发系统或仿真器等进行。
通过比较在DSP执行的实时程序和模拟程序执行的情况来判断软件设计是否正确。
(5)集成和系统测试阶段。
调试阶段完成后,实时程序被固化在DSP系统中。
DSP系统加入到更大的系统中进行测试,评估是否完成了设计目标。
图1-1DSP系统设计流程
1.3DSP的应用
DSP芯片的高速发展,一方面得益于集成电路的发展,另一方面也得益于巨大的市场。
经过二十余年的发展,DSP应用领域日渐宽广,DSP芯片已经在信号处理、通信、雷达等许多领域得到广泛的应用。
目前,DSP芯片的价格也越来越低,性能价格比日益提高,具有巨大的应用潜力。
DSP芯片的应用主要有以下9个方面。
(1)经典信号处理:
数字滤波、自适应滤波、快速傅立叶变换、相关运算、频谱分析、卷积等。
(2)现代信号处理:
AR、ARMA、卡尔曼滤波、小波分析等。
(3)语音处理:
语音编码、语音合成、语音识别、语音增强、语音邮件、语音存储等。
(4)图象/图形:
二维和三维图形处理、图形压缩与传输、图象识别、动画、机器人视觉、多媒体、电子地图、图象增强等。
(5)军事:
保密通信、雷达处理、声纳处理、导航、全球定位、调频电台、搜索和反搜索等。
(6)仪器仪表:
频谱分析、函数分析、数据采集、地震处理等。
(7)自动控制:
控制、自动驾驶、机器人控制、磁盘控制等。
(8)医疗:
助听、超声设备、诊断工具、病人监护、心电图等。
(9)家用电器:
数字音响、数字电视、可视电话、音乐合成、音调控制、玩具与游戏等。
第二章TMS320C54x体系结构
在TIDSP中,TMS320C54x是定点的数字信号处理器(简写为C54x)C54x器件的中央处理单元(CPU)具有改进的哈佛结构,功耗更低,并行性更高。
它的寻址模式和指令集改善了整个系统的性能。
由于C54x具有优化的结构和强大的指令集,因而它可以满足实时处理的需要。
尤其是在电信方面,C54x表现出了优越的性能。
TMS320C54x具有高级的改进哈佛结构,是围绕1条程序总线、3条数据总线和4条地址总线而建立起来的。
CPU具有高度并行性并带有专用的硬件逻辑,提供更高、更快的性能。
芯片上集成了片内存储器和在片外设,降低了系统的费用,节省了电路板的空间。
另外,C54x具有高度专业化的指令集,可以提供更快的代数运算和优化的高级语言的操作。
所有C54x器件的CPU都是相同的。
他们的不同之处在于片内存储容量大小、在片外设、供电电压、速度及封装等方面的差异。
C54x器件有多种品种,其特性列于下表
器件
类型
存储器/KB
主机接口
(HPI)
串行口
程序
ROM
程序/数据
ROM
DARAM
SARAM
标准串口(SP)
缓冲串口(BSP)
多通道缓冲串口
时分复用(TMD)串口
C541
20
8
5
0
0
2
0
0
0
C542
2
0
10
0
1
0
1
0
1
C543
2
0
10
0
0
0
1
0
1
C545
32
16
6
0
1
1
1
0
0
C546
32
16
6
0
0
1
1
0
0
C548
2
0
8
24
1
0
2
0
1
C549
16
16
8
24
1
0
2
0
1
C5402
4
4
16
0
1
0
0
2
0
C5410
16
0
8
56
1
0
0
3
0
C5420
0
0
32
168
1
0
0
6
0
表2-1TMS320C54x特性一览表
C54x的体系结构主要包括中央处理单元(CPU)、片内存储器和在片外设。
以下各节将逐步介绍C54x内部硬件各部分的功能,其中包括基本的模块和总线结构。
2.1TMS320C54X的总线结构
图2-1TMS320C54X内部硬件功能图
如图2-1所示,C54x结构主要是围绕8条16比特的总线而建立的。
这8条总线包括4条程序/数据总线和4条地址总线。
它们的作用如下:
①程序总线PB传送从程序存储器取得的指令码和立即数。
②3条数据总线CB,DB和EB连接各个组成部分,如CPU,数据地址产生逻辑,程序地址产生逻辑,在片外设和数据存储器。
CB和DB传送从数据存储器读出的操作数,EB传送要写回存储器的数据。
③4条地址总线PAB,CAB,DAB和EAB传送指令行所需要的地址。
C54X器件的总线结构为指令的并行执行提供了硬件支持。
例如,C54X可以利用两个辅助寄存器算术单元在单周期内最多产生两个数据存储器地址,可以同时读取两个操作数。
PB能把存储在程序空间的数据操作数传送到乘/累加单元进行乘/累加操作,或在执行数据移动指令时,将数据传送到数据的某个目的地。
这种传送能力再加上读双操作数的特点,使得C54X器件可支持三操作数指令的执行,如FIR指令(用于设计对称的FIR滤波器)。
访问类型
地址总线
数据总线
PAB
CAB
DAB
EAB
PB
CB
DB
EB
程序读
√
√
程序写
√
√
单数据读
√
双数据读
√
√
√
长数据读
√(高)
√(低)
√(高)
√(低)
单数据读
√
√
数据读/写
√
√
√
双数据读/写
√
√
√
√
√
√
外设读
√
√
外设写
√
√
表2-2各种读写访问总线使用一览表
C54X还有一条访问在片外设的双向总线。
这条总线通过CPU接口中的总线变换器连接到DB和EB上。
使用这条总线进行读和写访问需要两个或多个周期,这取决于外设的结构,表2-2所示出了不同访问所使用的总线情况。
2.2中央处理单元(CPU)
所有的C54x器件的CPU都是相同的,主要包括如下一些部件:
40比特算术逻辑单元(ALU);两个40比特累加器;桶形移位器;17×17比特乘法器;40比特加法器;比较,选择和存储单元(CSSU);指数编码器;数据地址产生单元;程序地址产生单元。
1.算术逻辑单元(ALU)
C54X有一个40比特的算术逻辑单元(ALU),可进行算术逻辑运算,并且ALU进行的大多数运算都是在单周期内完成。
ALU的运算结果常常送往累加器(累加器A和累加器B),它们一起可完成二进制补码运算。
在进行算术运算时,ALU可当做两个16比特的ALU来使用,在单周期内可同时完成两个16比特的操作。
ALU的功能框图如图2-2所示。
ALU有两个输入端,一个输出端。
它的输入端有以下几种数据来源:
●16比特立即数;
●来自数据存储器的16比特字;
●暂存器T中的16比特字;
●来自数据存储器的两个16比特字;
●来自数据存储器的32比特字;
●来自任意一个累加器的40比特字。
另外,ALU中还有一个相关的进位C,支持扩展精度的算术运算。
ALU中的饱和逻辑电路可进行溢出处理。
图2-2ALU的功能图
2.累加器
C54x器件有两个独立的40比特累加器:
累加器A和累加器B。
每一个累加器可分成3个部分,如图2-3所示。
图2-3累加器结构图
保护位(AG和BG)作为运算时的头区(Headmargin),用于防止诸如自相关运算时产生的溢出。
AG,BG,AH,BH,AL,BL是存储器映射的寄存器,它们的内容可以被压入或弹出堆栈,也可以存入存储器或从存储器里恢复。
这些寄存器还可用于寻址操作。
累加器A和B可以作为ALU或乘/累加单元的目标地址,用来存放它们的结果,也可以给ALU提供一个输入。
累加器A和累加器B的不同之处在于累加器A的高位字可以作为乘/累加单元的一个输入。
C54X提供一些与累加器有关的指令,如保存保护位指令,在数据存储器里存累加器高位字和低位字指令,传送32比特累加器字进/出数据存储器指令等。
每一个累加器可以暂存另一个累加器的内容。
3.桶形移位寄存器
40比特桶形移位器的作用是对一些操作进行标定和标准化,可以进行0~31位的左移和0~16位的右移。
图2-4为桶形移位寄存器的功能框从图中可见,它的输入数据有以下几个来源:
图2-4桶形移位寄存器功能图
a)来自DB的16比特操作数;
b)来自DB和CB的32比特操作数;
c)来自两个40比特累加器的操作数。
40比特输出结果送到ALU的输入端和高位字/低位字(MSW/LSW)选择单元。
实际操作时,移位值要定义在指令的移位计数字段,状态寄存器ST1中的移位计数字段ASM或暂存器T中(当T被指定为一个移位计数寄存器时)。
4.乘/累加单元
乘/累加单是DSP中一个重要的组成部分。
C54X的乘累加单元功能示于图2-5,它包括一个17(比特)×17(比特)的乘法器和一个40比特的专用加法器。
乘/累加单元在一个流水线周期内可完成乘/累加操作。
图2-5乘法/累加单元功能图
图2-5中的乘法器可以进行有符号数乘有符号数,无符号数乘无符号数,有符号数乘无符号数的运算。
当两个有符号数相乘时,每一个16比特的操作数添加一位符号位,扩展成17比特的有符号数,然后再进行运算。
当两个无符号数相乘时,在每一个16比特的操作数的最高端加一位0,形成17比特操作数相乘。
对有符号数乘无符号数的乘法,有符号数做符号位扩展,无符号数在最高端补0。
在两个小数相乘时,两个16比特二进制补码相乘会产生两个符号位,可以通过将乘法器输出结果左移一位去掉一个多余的符号位。
图2-5中的加法器包括一个零检测器