微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > TMS320C6701DSP线性调频信号数字脉冲压缩

TMS320C6701DSP线性调频信号数字脉冲压缩

时间:05-23 来源:EDN 点击:

设计中将匹配滤波器的系数存放在FLASH ROM中,上电后将此系数搬移到内部高速数据RAM,然后才进行运算。为了获得-40dB以下的副瓣电平,通常将匹配滤波器的系数进行汉明加权后存放在ROM中。再后,对相乘结果进行反傅立叶变换,完成频域脉压。量后,将反傅立叶变换结果进行求模运算,得出离散的脉压信号并将其输出。由于C6701是浮点处理器,既保证了较高的精度,又不用考虑溢出问题,使得有限字长的影响可以忽略不计。当雷达发射周期较长时,可以将输入信号分段进行处理,每段单独进行频域脉冲压缩,然后按照重叠保留法将每段压缩结果组合成整个信号脉压输出。

以上脉压算法可以通过编程在DSP内部实现,这不仅简化了电路、减小了体积、提高了系统的可靠性,而且扩展了系统的功能,使系统具有较高的灵活性,即在不改变硬件电路的情况下,只需改变系统软件和外部ROM中的匹配系数,就能完成不同信号的脉冲压缩功能。

  4 频域脉冲压缩系统的软件设计

  频域脉冲压缩系统的软件设计主要采用TI公司的CCS软件开发。在CCS下,软件可分为三个阶段。第一阶段,根据任务编写C语言程序,并对程序进行优化。当代码性能较低时,为改进代码性能进入第二阶段,第二阶段利用优化方法重新编写C代码,并检查所生成的代码性能。第三阶段,从C语言程序中抽出对性能影响很大的程序段,使用线性汇编语言重新编写,然后使用汇编优化器对线性汇编程序进行优化,从而得到满意的代码性能。根据以上方法,编写出的脉冲压缩系统的软件包括系统初始化子程序、DMA子程序、正傅立叶变换FFT子系统和反傅立叶变换IFFT子程序、复数相乘子程序、求模子程序等。其流程如图4所示。

  在执行系统初始化程序时,要对系统的控制状态寄存器、外部存储器接口控制寄存器等进行参数设置,保证系统按要求正常工作。为提高系统效率,系统通过DMA通道从外部CE2空间将数据读入片内RAM,所以初始化程序必须设置好外部存储器CE2空间的控制寄存器。在进行FFT变换子程序的设计时,因为基四算法比基二算法快,并且频率抽取算法比时间抽取算法能更好地发挥C6701的并行运算能力,所以采有基四频率抽取算法。对4096点信号进行FFT变换,所需时间≤400μs。编写的复数数组相乘通用子程序实现4096点运算所需时间≤95μs。对于反变换,可以直接得用前面的FFT算法实现,即先对输入频域序列作共轭变换,然后进行FFT运算,并对所得的时域序列再作共轭变换 ,最后除以FFT变换 数据的个数。但这样进行反变换所需要的时间较长,不能实时处理。为此按照其四频率抽取的算法编写了IFFT子程序,此IFFT子程序经过CCS优化之后,对4096点逆变换来讲,需要400μs左右。本程序和FFT子程序配合使用,可以方便地实现信号的正傅立叶变换和傅立叶变换,而不需要进行位反转操作,不仅节省了存储空间,而且加快了运算速度。为求复信号的模值,可以采用迭代等算法编写求模子程序。

  系统初始化程序如下:

  system_intr()

  {LOAD_REG_FIELD(CSR,0,0,2);

  SET_REG(ICR,0xFFF0);

  REG_WRITE(EXITERNAL_INTR_POL_ADDR,0);

  INTR_MAP_RESET();

  SET_REG(ISTP,0);

  LOAD_FIELD(EMIF_CE2_CTRL_ADDR,5,READ_SETUP,READ_SETUP_SZ);

  LOAD_FIELD(EMIF_CE2_CTRL_ADDR,8,READ_STROBE,READ_STROBE_SZ);

  }

  图5是利用CCS提供的数据图形显示工具进行坐标变换后的脉压结果。此线性调频脉冲参数为:时宽32μs,带宽5MHz,采样频率为5MHz。

  采用先进的高速数字信号处理器,使得大点数脉冲压缩能够在很短的时间内高质量地完成。同时利用本系统,只要改变存储器的系数,就可以方便地实现非线性调频脉冲压缩及其它滤波,具有通用性。对于要求更高速度的系统,可采用多片TMS320C6701并行处理。而TMS320C6701所带的符合IEEE1149.1标准的JTAG口能够方便地进行了多片级联调试,再加上开发软件CCS所具有强大的功能,可以大大提高工作效率和缩短产品的开发时间。

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

网站地图

Top