基于DSP Builder的 软件无线电调制器的设计与实现
软件无线电(software defined radio)是由J.Mitola在1992年提出的一个概念,它的核心思想是在完全可编程的硬件平台上通过注入不同的软件,实现对工作频段、调制解调方式、信道多址方式等无线功能的改变。
调制解调技术在软件无线电的研究过程中是一个重要的组成部分。目前对于软件无线电调制技术的实现多是采用具有调制功能的专用芯片(其中应用较为广泛的是AD公司的AD985X系列)[l]或是可编程器件和专用器件相结合的设计方法实现[2],然而在某些场合,这些调制方式和控制方式与系统的要求差距很大。因而,完全采用高性能的FPGA器件设计出符合自己需要的调制电路就是一个很好的解决方法[3],它提供了一个良好的数字无线通讯系统验证环境,可以将多种调制算法在实验平台上实现,并通过平台提供的基本控制系统实现对系统的验证仿真,并且用这种软件化硬件的设计方案,可以产生多种模式的数字调试方式,具有多功能性、通用性、集成度高、易于升级等优点[4Ⅱ5]。
本文采用了Altera公司推出的FPGA的DSP开发工具DSP Builder软件,基于DDS(直接数字频率合成)技术原理,设计了一种适合于软件无线电使用的可控数字调制器,可以完成FSK、PSK、ASK等调制方式,并采用此方法在FPGA芯片上进行系统实现。
2.FSK、PSK、ASK调制原理
在数字通信系统中,数字基带信号通常要经过数字编码然后调制后再传输。常见的调制方式有频移键控(FSK)、相移键控(PSK)、幅移键控(ASK)等[6]。
以基带数字波形序列来表示{ak},通常二进制数字基带信号表示为:
其中,ak为二元码符号,1或0;g()为单极性不归0波形,归一化幅度;Tb为二元序列码元问隔。
则频移键控(FSK)信号为:
其中W1为传号载频;W2为空号载频;θ1.和θ2分别为传号与空号载波的初相,在[-π,π]均匀分布;w0=(w1+w2)/2为载波频率;kTb≤t≤(k+1)Tb。
对于所设计的系统采用正交调制,对此表现在已调信号(传号与空号)各自的相关系数--正交关系。FSK和ASK相关系数均为ρ12=0,PSK的相关系数为ρ12= 一l。一般的,要满足此条件,应考虑到载波频率fo是码元频率Rb=1/Tb整数倍,即fo=mRb或1bit间隔包括整数个载波周期,即Tb=mTo,这是对以后在DSP Builder中优化系统时的依据。实现上述调制的方法有多种,采用DDS技术做正交调制,能够克服解调输出的严重失真,提高抗噪声性能。
3.DDS的基本原理
直接数字合成(DDS,Direct Digital Synthesize)是一种新型的频率合成技术。DDS以数控振荡器的方式产生频率、相位和幅度可控的正弦波[7]。以DDS产生的正弦波作为调制的载波,可以达到精确、无偏离、便于集成等优点。图1为DDS的基本实现原理结构图同。
电路包括相位累加器、相位调制器、正弦ROM查找表、基准时钟源、D/A转换器等组成。其中前三者是DDS结构中的数字部分,具有数控频率合成的功能。DDS是基于查找表方法,将一个正弦波周期的N个均匀采样点存储在存储器中,以均匀速率将这些采样点输送到DAC,即可得到一个单频正弦波,如果每隔K个采样点输出一个数据,则会得到K倍频的正弦波。但是,系统会存在一个上限频率,这取决于N的选择和系统的采样频率。设一正弦波为:
将一个周期的正弦平均分为N份,取N为2的整数幂。则每一份的相位的大小是:
δ=2 π/N (4)
如果每隔K个点输出一个采样值,则相位增量就是K δ,输出频率为:
f=K δ/2πTs=Kf/N (5)
根据采样定理,K应该满足K≤N/2。如果想得到更高的输出频率,只有增加一个周期的采样点N,也就是增加采样频率。这是以后计算中频调制参数的依据。
DDS在此可调调制系统中作为载波信号发生部分,与传统的频率合成技术相比,具有频率稳定度高,频率转换速度快,输出相对带宽宽,频率分辨率高等特点,而且DDS的这些功能应用于软件无线电中,可以部分降低CPU的处理负担,使整个系统的性能达到较好的程度[8]。
4.基于DSP Builder的软件无线电调制模块设计
DSP Builder是Altem公司推出的一个面向DSP开发的系统级工具,通过Simulink的图形化界面进行设计。Altera的DSP Builder 将Math Works的Matlab和Simulink系统级的设计工具与Altem的开发工具组合在一起,为用户提供了一个完整的DSP开发平台,缩短DSP开发的周期。DSP Builder。设计流程如图2[9].
根据DDS基本原理,基于Matlab/Altera DSP Build 建立适合软件无线电的调制器模型如图3。电路全部采用有符号数,其中频率字为32位,幅度字为l 8位,分别控制载波的频率值及载波幅度值。系统由两个控制按键(key l和key2)、一个信号输入端、三个初值输入端(key3、key4和key5)组成。其中key l和key2控制调制方式,key3和key4是载波的频率控制字输入口,key5是载波幅度控制字的输入端。
整个系统主要由一个DDS构成,包括两个查表ROM及其他控制电路。当key1、key2为11、01、00时,分别实现FSK、PSK、ASK调制;当key1、key2为10时无信号输出。在信号的输人端接收被调制的信号。由AltBus、Parallel Adder Substractor、Delay 构成DDS的核心部分--相位累加器。正弦查找表模块LUT的计算式为:
255*sin(10*[O:1*pi/(2∧10):10*pi])+256
受存储器容量和成本限制,正弦查找表模块LUT容量有限,这里设置为10位,为了获得较高的频率分辨率,DDS模块的频率字设置为32位,也即相位累加器字长位32位,DDS将获得fcal/232频率分辨率。
由于要达到软件无线电传输标准的调制器设计,通过计算得到频率字的取值。设基带码元速率为1kHz,系统采样频率为32MHz,即对每个码元采样32个点,要达到一个中频载频取中频载频为:f1=600k,f2=1M,取N=232,根据式(5),可得其频率控制字分别为:Key1=80000000;key2=134000000;取幅度控制字key5=233。对此系统进行仿真验证。
5. 系统仿真及硬件实现。
按照图3所示的调制器结构在Simulink中完成仿真系统的搭建,并对其进行系统级仿真,施加合适的激励.添加合适的观察区间,在模型窗口选择Simulink菜单,再选Start项仿真。双击Scope 模块,分别得到FSK、PSK、ASK仿真波形,如图4。
FSK模型(key1=1,key2=1):FSK调制载波的频率有两种,这两个频率值可通过key3和key4来设置。当输入是高电平1时,选择的频率是key4,在正弦查找表ROM中取数据作为输出;当输入为低电平0时,选择的频率值为key3,在正弦查找表ROM中取数据作为输出。
PSK模型(key l=0,key2=1):由两个ROM来完成,一个正弦查表,另一个余弦查表。它的调制载波频率也是由key3来设置的。当输入信号为高电平l时,选择正弦查表ROM中的数据输出;当输入信号为低电平0时,选择余弦查表ROM的数据作为输出。
ASK模型(kev1=O,key2=O):调制载波的频率是由key3来设置。当输入信号伟为高电平1时,选择DDS中的正弦信号作为输出,而当输入信号为低电平O时,选择一个常量值作为输出,从而实现
ASK调制。
通过Simulink系统级仿真后对模块进行编译,这在Simulink中自动完成后续的综合、时序分析等操作。通过SignalComplier(如图4)把Simulink的模块文件(.mdl)转换成通过的硬件描述语言VHDL文件,选定Cyclone系列芯片,并由Quartus II进行综合、适配、时序分析,最终得到可供下载使用的.sof文件。
打开Quartus II,进行Cyclone系列的EP1C6Q240C8芯片,进行重新编译、仿真,下载到芯片通过D/A采样后可以从示波器中看到图3所示调制波形,通过拨码开关控制使其能实现可调的系统功能。
6.结论
该设计避免了编写繁琐的硬件描述程序,同时避免了向ROM中填写大量的波形数据。充分利用了Matlab中Simulink的DSP Builder 工具箱的图形化界面建模、系统仿真功能,同时又区别于完全图形化的方法。针对第二代RFID的标准中混频是从600KHz-4MHz中频上变频,数据速率基本上是1200bps、2400bps,文中的基于软件无线电的调制器所达到的600KHz、1MHz中频,数据速率达到1000bps的设计基本满足一般应用的需求。而对于如何控制调制器的频率是下一步研究的内容。
评论