在UIS系统中,发射波采用相位调制(所有的调制以复数表示),发射波信号可表示为:
式中,u(t)表示调制信号,f0是载波频率。由于这是个窄带信号,对其进行同步解调并采用低通滤波可得到的接收信号为:
在利用脉冲雷达探测电离层信道参数的一般系统模型中,把调制信号u(t)作时间tp的延时,并用它与接收信号做相关运算,相关计算的时间长度为T0,则在tc时刻两者的互相关函数为:
实验表明,多数情况下电离层信道的平稳性可以持续10s~600s,在10s以内,电离层可以看作是一个线性时不变系统,即认为在T0(T0<10s)时间内,h(t,τ)≈h(tc,τ)。交换公式(4)的积分顺序后,得:
如果Cu,u(tp)=δ(tp) [δ(tp)为冲击响应函数],则h(tc,tp)=用变量t代换tc,即:
从(5)式和(6)式可以看出,采用具有良好自相关性的伪随机码对发射载波进行调制,每次测量就可直接得到特定时间t的电离层信道的一次单频全路径“回波~距离函数”。即在全路径上观测一个频点,通过在单频点多次测量,将测量结果按时间顺序排列便得双时响应函数。对双时响应函数做关于时间t的Fourier变换即可得到电离层信道的散射函数。由散射函数可得探测电路上的多径展宽和多谱勒展宽,进而可得到短波通信的相关时间、相关带宽这些信道特性参数,从而可实时确定短波通信的最佳码长,调制、解调参数,分集参数等。另外,通过对散射函数的波形分析,可得到电离层的动态变化特性。
UIS系统组成如图1所示。PC机负责整个系统的控制操作、图形显示、数据保存;DSP信号处理模块负责控制FPGA产生阶数可变的m序列和灵活多变的收发开关时序、从接收机串口接收回波信号、进行相关的数字信号处理、与PC机通信等;DDS负责发射信号(m序列)的调制。
从图1可以看出,DSP信号处理模块在UIS系统中处于核心地位,将同时或依次处理各种不同的任务。该模块对所执行任务的合理安排以及该模块与其它模块之间的通信是整个UIS系统正常工作的关键。本文将重点介绍UIS系统中DSP信号处理模块的设计。
2 DSP信号处理模块的设计
DSP信号处理模块的核心——DSP采用TI公司的主流芯片TMS320C6701[2~3],主要具备以下特点:(1)运算速度快。该芯片为浮点型,最高运行频率达150MHz,可以进行并行计算,最多可具备八条流水线,最高运行速度可达1000MFLOPS。(2)外部存储空间大。通过片内集成外设EMIF接口可无缝连接128K×32bit SBSRAM和两块4M×32bit的SDRAM。(3)丰富的片内集成外设。具有三个多通道缓冲串口(McBSP)和四个DMA通道。(4)具有可访问DSP整个存储空间的主机口(HPI)和32bit/33MHz的PCI主/从模式接口,便于DSP与PC机通过PCI总线以HPI方式进行通信,支持多种加载模式。DSP信号处理模块结构图如图2所示。
2.1 DSP与FPGA的接口
在UIS系统中,天线开关的收发时序是灵活多变的,m序列的阶数是在线可调的。为了保证本系统的适应性和灵活性,m序列与时序产生模块由FPGA器件构成[4]。FPGA器件选用Altera公司的EP1K50,其丰富的门资源(5万门)确保了日后该模块的可升级性。模块功能由硬件描述语言Verilog完成。DSP与FPGA的接口框图如图3所示,DSP通过接口模块把m序列的阶数和时序参数传递到FPGA并启动FPGA工作。
TMS320C6701 DSP具有三个多通道缓冲串口,并可配置为通用I/O口。在DSP信号处理模块中,将TMS320C6701 DSP的McBSP1、McBSP2的管脚CLKX、FSX、CLKR、FSR设置为通用I/O口,通过八个I/O口实现DSP与FPGA的通信,传送相关参数;FPGA中的接口模块按照规定的协议将相关参数传送到m序列与时序产生模块转换为m序列的阶数和时序参数,从而实现DSP在线调整m序列的阶数和时序参数,大大提高了系统的灵活性。
2.2 DSP与接收机的接口
接收机接收到数据后由接收机的串口输出数字,经过DSP的McBSP0送到DSP,再经EMIF送到外部扩展存储区SBSRAM(以下简称DSP缓存区);在接收到一块数据后,将这块数据送到DSP的外部扩展存储区SDRAM(以下简称DSP计算区),供DSP进行相关运算。
DSP信号处理模块分配DMA CH0服务于McBSP0,指定DMA CH0的同步事件为串口接收事件(REVT0)。McBSP0每接收到一个数据时,就启动一个REVT0事件,驱动DMA CH0将接收数据寄存器(DRR)中的数据搬移到DSP缓存区。当DMA CH0搬移完一块数据时,副控寄存器中的块传输中断使能标志位(以下简称BLOCK IE)发生变化,从而产生中断。在中断服务程序中,初始化并启动DMA CH1将数据从DSP缓存区送到DSP计算区,同时重新初始化BLOCK IE,以便触发下一次中断。
2.3 DSP数据处理与相关运算
如图4所示,DMA CH1在搬移接收数据的同时也将块接收完成标志字(0xf0f0)搬移到DSP计算区,DSP不断查询DSP计算区中的标志字(其初始化值为0x0f0f),若其为0xf0f0,则认为接收数据已搬移到DSP计算区;然后把该标志字改写为0x0f0f,以便在对下一次块接收数据进行有效查询的同时将本块数据进行相关运算。
相关算法是数据处理的核心,其功能是计算序列与接收码的移位相关,从公式(5)可以看出,由此将得到电离层的冲击函数,即系统模型。相关算法用DSP专用的汇编语言实现。经过编译工具的三级优化,可进入深度流水和并行执行状态,极大地提高了DSP的运算效率,缩短了程序执行时间。
TMS320C6701的150MHz的运行速度以及相关算法代码的高效确保了在接收两次块数据的间隙内相关算法已完成且处理结果已搬移到DSP输出缓冲区,因此不会造成本块数据还没有处理完就被下块数据覆盖的错误,保证了相关运算结果的正确性。
相关计算完毕后,将运算结果送到输出缓存区,供PC机读取。
2.4 DSP与PC机的通信
TMS320C6701内部结构的最大特点是片内提供多种集成外设,拥有可以访问DSP整个存储空间的主机口(HPI)和32bit/33MHz PCI主/从模式接口。如图5所示,通过外接专用PCI接口芯片AMCCS5933实现DSP与PC机通信的硬件接口[5]。
PC机端采用Visual C++6.0作为开发平台,基于TI公司提供的动态链接库Evm6x.dll开发PC机与DSP的通信程序。
PC机端通过DSP的HPI口初始化DSP,转载DSP程序代码,输入系统探测参数,启动DSP工作,访问DSP整个存储空间,从DSP的处理结果缓存区读取运算后的结果[6]。
通过试验,获得了电离层的垂测数据,验证了本系统的可行性,特别是DSP信号处理模块工作的正确性。图6是2003年5月19日武汉当地时间上午10点28分散射函数的垂测实验结果,发射频率为8.6MHz。从图中可以看到,无Es层时,F层回波明显,且O波、X波间距变大。
随着DSP、FPGA芯片成本下降,性能提高,现代雷达设计不再采用硬件化程度较高的芯片。本文提出的充分利用TMS320C6701运算速度快和片内外设接口丰富等特点实现的实时同步的DSP处理模块,对今后DSP在雷达上的应用具有一定的指导意义。
参考文献
1 姚永刚.电离层探测编码脉冲压缩雷达体制的研究.武汉:武汉大学博士学位论文,2001
2 TMS320C6201/C6701 Peripherals User’s Guide.TI,1998
3 TMS320C6X Assembly Language Tools.TI,1998
4 陈 曦,赵正予,刘进华. 基于FPGA的收发共用天线体制时序的实现.现代电子工程, 2003(1)
5 刘进华,赵正予,谢树果.电离层探测系统中PC与DSP通信方案的设计.现代雷达,2003(5)
6 陈雪涛,赵正予,谢树果. 电离层斜向返回探测仪中主程序的设计与实现.现代雷达,2004(1)