基于ADSP21161的比相测距雷达跟踪控制系统设计
3.2 软件系统设计
跟踪控制系统的软件流程如图3所示。所有的程序代码都存储在EEPROM中,系统上电后,ADSP21161通过BMS引脚信号自动选择EEPROM自动加载程序。
程序引导完成之后,ADSP21161首先通过双口RAM从嵌入式微机接收一组控制参数,主要包括FFT运算点数等。然后初始化计数控制电路,当FIFO中的数据达到运算要求时,计数控制电路给ADSP21161发送一个中断信号,此时ADSP21161才开始从FIFO存储器中读取经预处理后的目标回波数据。数据采集完成后,为了降低旁瓣,在FFT运算之前要对原始数据加窗,然后开始FFT运算。加窗所需的窗函数和FFT运算所需的旋转因子开始都放置在EEPROM中,在程序引导完成之后利用DMA将它们导入SDRAM。
根据实际使用情况的不同,为了达到最佳的处理效果,可以改变FFT点数。在1024点FFT等点数比较小的情况下,所有的处理都能在SRAM中完成,javascript:window.open(this.src);" style="cursor:pointer;"/>此时FFT采用按时域抽取的基-2算法。在16384点FFT等点数比较大的情况下,SRAM的容量不足以一次完成所有的处理,这时的FYT采用先频域抽取,再时域抽取,最后重新排序以得到FFT输出结果的正常位序。
ADSP21161能够直接访问SDRAM。但在FFF点数比较大的情况下,在SRAM和SDRAM之间经常有大量的数据需要交换,若采用CPU直接访问SDRAM的方式传输,不管是随机访问SDRAM还是以连续的地址访问SDRAM,在SDRAM最高工作频率为166MHz下的情况测试的结果为需要大约13个指令周期传输一个数据。如果采用DMA方式传输数据,同样的条件下,传输一个数据只需要一个指令周期。而且,采用DMA方式传输数据还可以充分利用DMA传输和CPU运算的并行性,从而进一步提高处理效率。另外,ADSP21161支持链式DMA,可以在不中断CPU运算的情况下自动传输多段数据。本系统中,数据的传输尽可能都采用DMA方式。
经过FFT处理后,雷达回波数据已经转换到频域。ADSP21161根据FFT的结果进一步估计出功率谱,在功率谱估计的基础上跟踪控制系统实现开始目标的捕获态或者跟踪。
在雷达刚发现目标的时候,不可能立即进入跟踪状态。这时雷达处于目标捕获阶段。此时,ADSP21161利用上面估计的功率谱,在嵌入式微机送来的初始速度窗内搜索谱峰、计算信噪比,利用给定的信噪比门限判断当前搜索到的谱峰是否为有效的速度点。若为有效速度点,则利用能量重心法进行谱校正,利用校正之后的谱峰位置计算对应的速度值,以得到更精确的实时参数;若为无效点,则说明雷达没有发现目标。利用这种方法,在得到几个连续有效的速度点之后,并经目标配准,才可认定目标捕获成功。为了防止低频干扰,不要在零频附近搜索谱峰。 目标捕获成功之后,跟踪控制系统转入目标跟踪的阶段。首先根据目标捕获所得的几个速度点,利用最小二乘算法估计下一时刻的速度点值,其中参与预测的速度点数和最小二乘预测的阶数可根据不同的应用情况而改变。然后ADSP21161利用所估计的功率谱数据和速度预测值,在以速度预测值为中心的某个范围内搜索谱峰,利用信噪比门限判断当前的谱峰是否为有效点。若连续出现几个无效速度点,则表明刚才跟踪的目标已经丢失,此时系统重新进入目标捕获状态;若连续出现几个有效速度点,则表明当前雷达对目标的跟踪状况良好。为了减小干扰,提高处理效率,可以逐步减小速度搜索的范围;为了准确地给出速度值,要舍弃距当前测量时刻时间较长的一些速度点,只利用最近的几个有效速度点来预测下一时刻的速度值。
除了前面提到的速度参数之外,ADSP21161还要根据搜索到的谱峰计算俯仰相位差、方位相位差、信噪比等其它参数,最后利用ADSP21161的主机接口将计算所得的结果参数送往嵌入式微机,在那里完成目标距离的测量和俯仰误差角、方位误差角的计算。
经过系统测试,以ADSP21161为核心的跟踪控制系统能够较好地完成雷达信号的实时处理。测距、测速都达到了比较高的精度,而且能同时跟踪多个目标,达到了系统的设计要求。