微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于DSP的高分辨SAR多普勒调频率的估算

基于DSP的高分辨SAR多普勒调频率的估算

时间:11-29 来源:互联网 点击:


在按方位向取能量和的计算中,512个复数先取模再平方再求和,大概需要2 500多个机器周期,而从SDRAM中读取这512个数据需要1 200多个周期,因为512个复数相当于1 024个实数,并且DMA大约为一个周期传送一个数据。按照“乒乓”方式计算,相当于没有读取数据的时间,所以速度的提升是十分明显的。为了能够更加充分的利用计算块,在计算块和内部存储区之间也采用了类似的“乒乓”方式。在运算量极大的按方位向求能量和中,一个计算数据块512×2中有512个复数。其中,一个复数的模的平方需要计算两次乘法(每次乘法需要两个机器周期)和一次加法(一个机器周期),总和还需要512次加法,所以总共要计算大约3 500多个机器周期。所有的16个多普勒调频率估计,仅在计算能量和就需要约3 500×4 096多个机器周期,所以用尽可能少的机器周期来完成这个计算显得尤为重要。充分利用TS-201S处理器中计算块内部有两个并行的独立计算模块X-Compute Blocks和Y-Compute Blocks,而且每个计算模块都有一个乘法器和加法器,则同时读取两个复数分别到两个计算模块中,然后在寄存器中选一个作为和的存放地,初始为0,以及两个作为平方后的存放寄存器。先计算实部的平方(2个周期),再做虚部的平方以及将实部的平方与和寄存器相加存到和寄存器中(2个周期),读取下两个复数(1个周期),实部平方的计算及上一组数据的虚部平方与和寄存器相加并存放(2个周期),在做虚部平方及实部平方与和寄存器相加并存放(2个周期),依此类推,直到所有的复数计算完毕。从中可以看出,大约需要5个周期就可以计算两个复数,全部计算完成大概需要2 500多个周期,与3 500多个周期相比还是节省了很多。

方位脉压及子孔径相关的运算量远大于通过DMA读取数据的时间,所以只要通过图4的计算流程就可以实现DSP计算模块的满负荷运行。
  
3 结果对比

经过编译调试,将512×4 096的数据块全部导入到DSP仿真软件平台Visual DSP++4.5中计算全部的16个多普勒调频率,用去315 454 119个周期,当TS-201运行在500 MHz时,相当于用去0.63 s。在用硬件仿真器调试时,时间约为0.58 s,比用Visual DSP++软件仿真平台稍快。得到的结果,如图5所示,误差如图6所示。从图中可以看出,在DSP平台上,计算结果和Matlab计算结果还是有误差的,但是控制在小数点后第2位,在成像时,还是可以用于运动补偿和方位脉压的。

  

4 结束语

在分析Matlab实现MD算法的流程后,充分利用ADI公司的TS-201S数字信号处理器的特性,针对多普勒调频率估计的大运算量进行了优化,以减少计算块的等待时间,为优化思路以及充分利用计算块中的资源来实现用尽可能少的周期完成计算,并且该算法模块已应用于某高分辨SAR实时成像系统,最终成像结果令人满意。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top