论文用DSP实现QPSK的调制Word格式.docx
《论文用DSP实现QPSK的调制Word格式.docx》由会员分享,可在线阅读,更多相关《论文用DSP实现QPSK的调制Word格式.docx(22页珍藏版)》请在冰豆网上搜索。
4.1汇编源程序8
4.2链接配置文件程序9
4.3中断向量表程序10
4.4INC文件程序11
5测试与结果分析12
5.1硬件检测12
5.2QPSK调制仿真12
6总结17
参考文献18
致谢19
1绪论
二十多年时间里,数字信号处理已经在通信等领域得到普遍的应用。
TMS320C54xDSP是TI公司在继TMS320C1X、TMS320C2X和TMS320C5X之后推出的16位定点数字信号处理器。
此系列DSP芯片运用修正的哈佛结构,数据与程序分开存放,8条高速并行总线的内部。
片上集成有存储器和在片的外设,和专门用途的硬件逻辑。
功能强大的指令系统,使该芯片具有很高的处理速度和广泛的应用适应性,由于C54xDSP有功耗小、成本低等特点,被广泛应用于移动通信、软件无线电等领域。
本课题介绍的基于C54xDSP的调制解调器应用于软件无线电领域,Modem中的调制解调器的优势在于它有完全的物理互换性能和灵活的系统结构。
1.1课题研究的背景
早在本世纪初人们就了解通讯的重要性。
从电子时代初期开始,随着技术的不断发展,本地通讯与全球通讯的之间壁垒被打破,从而导致我们世界变得越来越小,人们分享知识和信息也更加容易。
贝尔和马可尼可谓通讯事业的鼻祖,他们所完成的开拓性工作不仅为现代信息时代奠定了基础,而且为未来电讯发展铺平了道路。
传统的本地通讯借助于电线传输,因为这既省钱又可保证信息可靠传送。
而长途通讯则需要通过无线电波传送信息。
从系统硬件设备方面考虑这很方便省事,但是从传送信息的准确性考虑,却导致了信息传送不确定性增加,而且由于常常需要借助于大功率传送设备来克服因气象条件、高大建筑物以及其他各种各样的电磁干扰。
各种不同类型的调制方式能够根据系统造价、接收信号品质要求提供各种不同的解决方案,但是直到不久以前它们大部分还是属于模拟调制范畴,频率调制和相位调制噪声小,而幅度调制解调结构要简单的多。
最近由于低成本微控制器的出现以及民用移动电话和卫星通信的引入,数字调制技术日益普及。
数字式调制具有采用微处理器的模拟调制方式的所有优点,通讯链路中的任何不足均可借助于软件根除,它不仅可实现信息加密,而且通过误差校准技术,使接收到的数据更加可靠,另外借助于DSP,还可减小分配给每个用户设备的有限带宽,频率利用率得以提高。
所以在通讯技术中,数字式调制解调技术应用越来越广泛了。
所谓调制技术,就是用一个信号(称为调制信号)去控制另一个做为载体的信号(称为载波信号),让后者的某一特征参数按前者变化,从而将各种数字基带信号转换成适于信道传输的数字调制信号(已调信号或频带信号)。
再将测量信号调制,并将它和噪声分离,放大等处理后,还要从已经调制的信号中提取反映被测量值的测量信号,这一过程称为解调,从而将在接收端收到的数字频带信号还原成数字基带信号[1]。
数字调制与模拟调制本质上没有区别,它们都属于正弦波调制,但是模拟调制是载波信号的参量进行连续的调制,在接收端则对载波信号的调制参量连续地进行估值,而数字调制都是对载波信号的某些离散状态来表征所传送的信息,在接收端也只要对载波信号的离散调制参量进行检测。
1.2课题研究的意义
如同模拟调制,数字调制也可分为频率调制、相位调制和幅度调制,性能各有千秋。
由于频率、相位调制对噪声抑制更好,因此成为当今大多数通讯设备的首选方案,下面将介绍这几种方案:
数字调频对传统的模拟频率调制(FM)稍加变化,即在调制器输入端加一个数字控制信号,便得到由两个不同频率的正弦波构成的调制波。
解调该信号很简单,只需让它通过两个滤波器后就可将合成波变回逻辑电平信号。
通常,这种调制方式称为频移键控(FSK)。
数字调相数字相位调制(或相移键控-PSK)与频率调制很相似。
不过它的实现是通过改变发送波的相位而非频率,不同的相位代表不同的数据。
PSK最简单的形式为,利用数字信号对两个同频、反相正弦波进行控制、不断切换合成调相波。
解调时,让它与一个同频正弦波相乘,其乘积由两部分构成:
二倍频接收信号的余弦波;
与频率无关,幅度与正弦波相移成正比的分量。
因此采用低通滤波器滤掉高频成分后,便得到与发送波相应的原始调制数据。
正交相移调制如果对上述PSK概念进一步延伸,可推测调制的相位数目不仅限于两个,载波应该能够承载任意数目的相位信息,而且如果对接收信号乘以同频正弦波就可解调出相移信息,而它是与频率无关的直流电平信号。
正交相移调制(QPSK)正是基于该原理。
利用QPSK,载波可以承载四种不同的相移(4个码片),每个码片又代表2个二进制字节。
初看这似乎毫无意义,但现在这种调制方式却使同一载波能传送2比特的信息而非原来的1比特,从而使载波的频带利用率提高了一倍。
正是由于四相移相键控(QPSK)的频谱利用率高,而且它是一种误码性能优良,信号频谱主瓣也很窄的调制技术,因此他被广泛应用于数字微波通信系统、数字卫星通信系统、宽带接入与移动通信及有线电视的上行传输。
在卫星数字电视传输中普遍采用的QPSK调谐器可以说是当今卫星数字电视传输中对卫星功率、传输效率、抗干扰性以及天线尺寸等多种因素综合考虑的最佳选择。
欧洲与日本的数字电视首先考虑的是卫星信道,采用QPSK调制,我国也出现了用QPSK调制解调的卫星广播和数字电视机。
1.3课题研究的主要内容
由于DSP芯片具有有体积小、重量轻、使用灵活方便等优点,同时DSP技术具有数据处理能力强、运行速度快的特点,因此基于DSP技术的调制解调器在通信系统中得到越来越广泛的应用。
在相移键控(PSK)技术中,通过改变载波信号的相位表示二进制数0、1,而相位改变的同时,最大振幅和频率保持不变。
这种PSK技术成为二相位PSK或2-PSK,信号之间的相位差为180°
。
同样,可以用4种不同相位的正弦信号分别表示00、01、10、11,这种PSK技术成为四相位PSK或QPSK,由于4个相位与四进制的4个符号相对应,也称为四进制PSK调制。
因每种相位的正弦信号可以表示两位二进制信息,与2-PSK相比,其编码率提高了1倍,以此类推,当不同相位的载波数为8、16时,分别称为8-PSK(八进制PSK)、16-PSK(十六进制PSK),理论上,不同相位差的载波越多,可以表征的数字输入信息越多,频带的压缩能力越强,可以减小由于信道特性引起的码间串扰的影响,从而提高数字通信的有效性。
但在多相调制时,相位取值数增大,信号之间的相位差也就减小,传输的可靠性将随之降低,因而实际中用的较多的是四相制(4-PSK)和八相制(8-PSK)。
2整体设计方案
编写程序,采用相位选择法实现QPSK的调制——当输入为11时,对应输出45°
的载波;
当输入为01时,输出135°
当输入为00时,输出225°
当输入为10时,对应输出315°
的载波。
在程序中选择载波频率fc=1.8KHz,码元速率RB=2400B,然后再分为a、b两路,故一个码元周期Ts包括了1.5个载波周期。
由此,得出用DSP实现QPSK调制的总体框图设计如下:
3硬件电路设计与实现
3.1C54xDSP应用系统的硬件设计
虽然DSP有强大的数据处理功能,但单独一个DSP芯片是无法使用的,它必须和其他相应的外围器件一起才能构成一个完整的系统。
一个DSP硬件系统包括电源电路,复位电路,电平匹配电路,信号输入与输出电路等。
3.1.1C54xDSP芯片的电源设计
电源的考虑
(1)DSP一般有五类电源引脚:
即CPU核电源引脚,I/O电源引脚,PLL电源引脚,模拟电路电源引脚(必须与数字电源分开),FLASH编程电源引脚;
(2)每个电源与地引脚都必须接,不能悬空不接;
(3)每个芯片的电源需加旁路电容0.01-----0.1uF(瓷片);
(4)电源功率大小;
(5)电源上电次序,推荐首先给CPU核充电,其次给I/O充电,再给模拟部分供电,然后才能加外部输入信号;
建议使用TI公司的电源方案:
C5000---TPS767D318,TPS767D301。
C54xDSP系列芯片大部分采用低电压设计,这样可以大大节约系统的功耗,该系列芯片电源分为两种,即内核电源与I/O电源,其中I/O电源一般采用3.3V设计,而内核电源采用3.3V,2.5V或更低的1.8V电源。
降低内核电源的主要目的是为了降低功耗[11]。
3.1.2时钟的考虑
(1)系统能否正确,可靠的工作,时钟是关键。
(2)TIDSP有以下几种时钟配置方案:
内部震荡器;
外部震荡器;
片内集成有PLL,对输入时钟进行倍频和分频。
(3)选择时钟芯片:
同步要求;
单一晶体,多时钟输出;
成本低。
(4)布线要求尽量近,注意滤波电路。
3.1.33V和5V混合逻辑设计
采用5V和3.3V供电的芯片所在的同一电路系统中存在混合逻辑设计问题。
(1)5VTTL器件驱动3.3VTTL器件由5VTTL,3.3VTTL的电平转换标准是一样的,因此,如果3.3V器件能够承受5V电压,直接连接从电平上来说是完全可以的。
(2)3.3VTTL器件(LVC)驱动5VTTL器件,由于两者的电平转换标准是一样的,因此不需要额外的器件就可以将两者直接相连。
3.2QPSK调制解调器的设计与实现
四进制绝对相移键控(4PSK)直接利用载波的四种不同相位来表示数字信息。
如下:
图2QPSK信号相位φn矢量图
由于每一种相位代表两个比特信息,因此每个四进制码元可以用两个二进制码元的组合来表示。
两个二进制码元中的前一比特用a来表示,后一比特用b表示,则双比特ab与载波相位的关系如下图:
双比特码元
载波相位(φn)
A
b
A方式
B方式
1
0
1
0o
90o
180o
270o
225o
315o
45o
135o
表1双比特ab与载波相位的关系
a
综上所述,设计出产生QPSK信号的原理框图如下:
cosωct
cosФk
输出
输入
cos(ωct-Фk)
sinωct
b
sinФk
图3产生QPSK信号的原理框图
QPSK调制过程中的相位逻辑关系表如下:
A
B
a路平衡调制器输出
0°
180°
b路平衡调制器输出
90°
270°
合成相位
45°
135°
225°
315°
表2QPSK调制的相位逻辑关系表
4软件程序的设计与实现
4.1汇编源程序
C54X的程序以段(Section)为基本单元构成,一个程序文件由若干段构成,每段又由若干语句(Statement)构成。
C5X的程序段分为初始化(Initialized)段和未初始化(Uninitialized)段两大类。
初始化段可以是程序代码,也可以是程序中用到的常量、数据表等。
我们可以从程序下载的角度来理解,初始化就是需要往程序空间写数据(代码或数据)的段,如同初始化程序空间一样。
而未初始化段为变量,在下载时,这些变量是没有值的,所以无需向程序空间写,只需留出一段空间以便在运行时存放变量的值。
所以这段空间在程序未运行前是没有初始化的。
段的名称和属性可以由用户自定义,如果用户不定义,汇编器将按默认的段来处理。
C56X汇编器默认的段有3个:
“.text”、“.data”、“.bss”。
其中,“.text”为程序代码段,“.data”为数据段,“.bss”为未初始化段。
用户自定义用“.sect”和“.usect”两个汇编指示符来完成,其中“.sect”用于定义初始化段,“.usect”用于定义未初始化段,语法如下:
[symbol].sect“section_name”
[symbol].usect“section_name”,length
QPSK的调制源文件(.asm)程序如下:
********************************************************
*QPSK解制程序----采用相位选择法*
*fc=1800Hz,RB=2400B*
.title"
QPSK.asm"
.mmregs
.copy"
wave.inc"
.defstart
inadata.usect"
buffer"
1
inbdata.usect"
outdata.usect"
32
STACK.usect"
STACK"
10
.text
start:
LD#inadata,DP
STM#inadata,AR1
STM#inbdata,AR2
input:
nop;
读入两bit的数据
nop
LD*AR1,A
LD*AR2,B
STM#outdata,AR4
BCA1,AGT;
ifA>
0,thengotoA1
BCB1,BGT;
ifB>
0,thengotoB1
STM#cos225,AR3;
A=0,B=0
BOUT
B1:
STM#cos135,AR3;
A=0,B=1
A1:
BCA1B1,BGT
STM#cos315,AR3;
A=1,B=0
BOUT
A1B1:
STM#cos45,AR3;
A=1,B=1
OUT:
RPT#31
MVDD*AR3+,*AR4+
Binput
.end
4.2链接配置文件程序
C5X的链接器能够把COFF目标文件链接成可执行文件(.out)。
它允许用户自行配置目标系统的存储空间,也就是为程序中的各个段分配存储空间。
链接器能根据用户的配置,将各段重定位到指定的区域,包括各段的起始地址、符号的相对偏移等。
因为汇编器并不关心用户着是.data和用户自定义段。
如果用户不配置存储空间,链接器也将按同样的方式定位各段。
编写QPSK的调制链接配置文件程序如下:
vectors.obj
QPSK.obj
-oQPSK.out
-mQPSK.map
-estart
MEMORY
{
PAGE0:
EPROM:
org=0090H,len=0F70H
VECS:
org=0080H,len=0010H
PAGE1:
DARAM:
org=2000H,len=2000H
}
SECTIONS
{
.text:
>
EPROMPAGE0
cos45:
cos135:
cos225:
cos315:
.bss:
DARAMPAGE1
STACK:
buffer:
.vectors:
VECSPAGE0
}
4.3中断向量表程序
中断向量表程序如下:
.title"
vectors.asm"
.refstart
.sect"
.vectors"
Bstart
4.4INC文件程序
cos45:
.word28898,32138,32610,30273,25330,18204,9512,0
.word-9511,-18204,-25329,-30273,-32610,-32138,-28898,-23170
.word-15446,-6392,3211,12539,20787,27245,31356,32767
.word31357,27245,20787,12539,3212,-6392,-15446,-23170
cos135:
.word-15446,-6392,3211,12539,20787,27245,31357,32767
.word31357,27245,20787,12539,3211,-6392,-15446,-23170
.word-28898,-32138,-32610,-30273,-25330,-18205,-9512,0
.word9511,18204,25329,30273,32610,32138,28898,23170
cos225:
.word-28898,-32138,-32610,-30273,-25329,-18204,-9511,0
.word9512,18204,25330,30273,32610,32138,28898,23170
.word15446,6392,-3211,-12539,-20787,-27245,-31356,-32767
.word-31357,-27245,-20787,-12539,-3211,6392,15446,23170
cos315:
.word15446,6392,-3211,-12539,-20787,-27245,-31357,-32767
.word-31356,-27245,-20787,-12539,-3211,6392,15446,23170
5测试与结果分析
QPSK调制系统的程序调节测试是整个系统设计不可缺少的部分。
首先我们要对硬件电路进行调节测试,需要检测5402EVM板模块和子电路的电路结构是否正常。
而软件的调节测试需软件仿真中完成,但在它们不能完全的分离。
在本设计中,运用软硬件结合的方式来实现创新QPSK的调制,先对部分硬件进行明显的故障排除,再对整体的电路进行软硬件综合调试,排除可能的故障。
5.1硬件检测
首先进行硬件系统检测,根据电路的原理图,首先检查线路中各元器件是否符合按照线路需求连接,检查无误后,再进行检查试验箱与各模块之间的连接是正确。
最后在对电路进行供电检查,将电路上电并检测电路各个元器件是否有异常状况出现,例如非正常发热或指示灯不亮等。
经过详细的检测电路元件都能正常工作后,方可进行下一步调节测试。
进行联机调试,对一些故障进行发现和排除。
接上电源,对每个电路的功能进行检查。
当接上电源时,发现电源指示灯不亮,且数据线发烫,及时的将电源拔掉,检查电路短路情况。
对本硬件电路进行一再的调试,使其能正常进行供电及运行,再将其与软件调试相结合实现对整个QPSK的调制进行准确的调试。
5.2QPSK调制仿真
本设计的程序设计采用基于DSP硬件设施来使用CCS软件进行调试,在调试过程中对出现问题的地方,要采用逐一排除的方法解决。
在仿真调试中