基于dsp duc的短波阵列信号发生器
发布时间:2008-03-13
一、引言
阵列信号处理作为数字信号处理领域的一个重要分支,广泛应用于雷达、声纳、通信、地震勘探和医用成像等众多领域;短波频段则常用于短波测向和波束合成技术。
在短波频段,阵列信号处理设备通常包括短波天线阵、短波多波道接收机、后端阵列信号处理机3个主要组成部分。其中,短波天线阵接收空间短波信号,短波接收机对hf信号作模拟下变频,阵列信号处理机则对短波多波道接收机输出信号作数字采样并进行相应的阵列信号处理算法,给出最终运算结果。
短波天线阵由于短波频段的限制,通常天线单元的体积比较大,天线阵的孔径也比较大,占地往往近十亩;而且为了达到比较好的接收效果,短波天线阵对周边电磁环境的要求也相当高。这都给短波阵列信号处理机研制过程中的调试和试验带来了极大的不便,同时也很不利于阵列信号处理机针对不同阵列流型短波信号的各种dsp算法研究和验证。
针对短波阵列信号处理设备研制、调试的实际情况,笔者选用数字信号处理器芯片(dsp)和数字上变频器芯片(digitalupconverter,duc)设计了一个模拟短波天线阵输出信号的阵列信号发生器,可以在实验室环境下取代短波天线阵,产生各种不同阵列流型相对应的短波阵列信号,提供阵列信号处理机dsp算法的调试和验证条件。
二、设计思路
按照设计构想,本阵列信号发生器应该能够灵活地产生对应不同阵列形式(携带有不同阵列形式对应的幅度差和相位差)、基本覆盖1~30mhz频段范围的短波阵列信号。
如果采用传统的模拟上变频电路实现射频输出,很难满足设计构想,因此笔者采用软件无线电的思想,选用了数字上变频器(duc),在数字域作上变频,然后通过d/a变换产生短波高频模拟信号。为了实现不同阵列形式所带来的幅度差和相位差,笔者选用了dsp芯片,在数字域对多个信号加入不同的幅度及相位差。
如图1所示,阵列信号发生器的总体设计思路为:以dsp和duc为核心,利用外部音频信号输入的a/d采样数据作为调制信号数据,由dsp对预制的载波信号(较低频率)作数字调制运算,并根据可选的不同阵列流型对已调数字信号分别加上9个不同的幅度差和相位差后,经fpga分别送到9个duc中,经数字上变频及d/a变换后输出9路短波阵列信号。
在设计中由于实际的音频调制信号要经过dsp芯片的数字调制运算,再分配到9个duc中,因此使用一个大规模的fpga逻辑芯片作为dsp芯片和9个duc芯片之间的数据交换接口。
三、器件选择
1.dsp
作为本设计的核心器件,dsp芯片的运算能力要求比较高,同时又存在运算过程中大量数据交换的特点,经过综合比较,笔者选用了analogdevice公司的sharc-dsp系列中的adsp-21060。
adsp-21060是32位浮点dsp,使用40mhz主时钟,运算能力可达120mflops;片内带有4mbit的双口sram(对本设计,则不需要外部另行扩充存储器,所有运算所需存储空间均由内部支持,大大减少与外部存储器交换数据的dsp时间开销);支持10个dma通道供片内sram和外部存储器、串口等交换数据(本设计利用其dma通道传递音频采样数据)。
2.串行a/d
本设计之所以采用串行a/d对外部输入音频进行数字采样,主要是考虑到外部输入信号应不间断地进入dsp的内存中,可利用adsp-21060的串口dma方式传递数据。因此笔者选用了analogdevice公司的双声道串行音频采样器ad1847。
3.数字上变频器
duc的主要功能是对输入数据进行频率变换、频谱搬移,即在数字域实现混频。笔者选用了analogdevice公司的ad9857作为本设计的duc。
ad9857是14位正交数字上变频器(qduc),最高工作时钟为200mhz,内部集成有高速直接数字合成器(dds)、数字内插滤波器、时钟倍频电路以及用户可编程功能;而且内部集成有一个14位数模转换器(dac),可以直接输出模拟高频信号。
由于ad9857把数据传输路径从模拟领域转移到数字领域,在物理上模拟电路功能与数字部件是分开的,因此当修改电路参数或系统升级时,只需通过ad9857的spi串行编程端口对内部寄存器做一些简单的修改,不需要改变硬件电路即可实现。
4.fpga
由于本设计中存在大量的高速数据交换,因此作为dsp和duc数据接口的fpga规模要求比较大,笔者选用的是altera公司flex系列中的epf10k50e。
epf10k50e典型逻辑门数为5万门,片内含有40kbit的ram,可满足较大量的数据缓存和数据交换要求。?ぜbr /> 四、设计实现
在设计实现中,本设计的主要工作集中在dsp程序编制和fpga软件调试两个方面。
1.dsp程序
dsp作为整个设计的主控者,主要完成以下3个方面的功能:
首先,dsp对串行a/d采样器ad1847进行简单的配置,如采样率、数据格式等,并配置自身的接收串口,设置为链式dma方式,从而在一块指定的内存区间不间断地重复存储和刷新音频采样数据;
其次,dsp将对dma存储空间的数据作数字调制运算,载波信号使用的是预制的几组较低频率(如5khz、10khz等)的余弦信号之一;然后对已调数字信号根据不同的阵列流型添加不同的幅度、相位差,构成带有幅度和相位差别的阵列信号;最后将阵列信号数据按照不同的端口地址,以并行的方式写入fpga中各自对应的暂存fifo中,由fpga负责将其分配至各个duc数据端口;
再次,dsp对9个duc内部寄存器的配置,包括上变频倍数、输出载波频率、频谱搬移方式、输出模拟信号幅度等。dsp对于duc的配置是以向不同地址的外部端口写入并行数据字的方式进行的,再通过fpga的数据转换功能转变为串行spi数据格式,分别对每个duc作寄存器配置。
2.fpga程序
fpga的功能是实现dsp与9个duc之间的数据格式转换和分发工作,如图2所示,fpga根据不同地址将dsp数据总线转送到不同的duc(#1~#9)接口单元。
对于duc配置数据,每个duc接口单元先将其锁存,再对锁存数据作并/串转换,转变为spi形式串行数据后,分别对每个duc进行其内部寄存器设置。
对于待上变频数据,每个duc接口单元都先将其送入一个64×16bit的双时钟fifo中,然后9个duc同一时刻将各自的待上变频数据分别从fifo中读出,作duc运算,并以模拟信号输出。?ぜbr />
五、结束语
本文所介绍的短波阵列信号发生器已用于实际短波测向系统的实验室验证,其多路短波阵列模拟信号输出可直接送入短波多波道接收机。
由于本信号发生器共有9路输出,因此可适用于9元及9元以下的各种阵型天线阵信号的模拟。通过对于信号发生器中dsp程序的选择,可选择所要模拟的阵型,并设置所希望的来波方向,从而产生带有阵型幅度和相位信息的多路阵列信号,提供给dsp算法的实际验证环境。
目前已测试了常用的直线阵、方阵(3×3,2×2)、圆阵(均匀,非均匀)等多种阵型,试验结果都达到了预期效果。
另外,本设计对外部双声道音频采样,可通过在左右声道上加上不同的音频信号,从而得到2个不同的调制信号,在dsp程序中将两者叠加,就可模拟短波测向中常遇到的同频多个信号的情况,用于验证测向算法对于同频多信号的区分能力。
在阵列信号处理机的调试过程中,短波阵列信号发生器的应用,极大地方便了短波频段阵列信号处理设备的实验室研制和调试,使得设备的外场调试时间大幅度缩短。