求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
     
   
分享到
基于DSP的并行信号处理系统设计方案
 

发布于2012-12-7

 

自数字计算机问世以来,计算机的处理能力已经增长了100 k倍以上。然而,现有性能最高的计算机的计算能力仍远远不能满足人类对计算速度无止境的追求。

在科学计算、地质分析、气象预测、仿真模拟、图像处理以及实时信号处理领域,对计算机处理速度的要求尤为迫切。随着半导体技术的迅速发展,采用超大规模集成电路设计的处理单元功能越来越强,然而单处理器性能的提高受到了诸多限制。因此,满足对运算速度的巨大需求目前只能通过并行处理技术来实现。

1 概述

本文中设计了一种并行信号处理系统,其主要特点是:

(1)具有强大的处理能力,可以完成多种信号处理模式。

(2)信号处理功能通过大量信号处理芯片(DSP)的并行计算完成。

(3)信号处理功能的改变通过软件实现。

图1所示的是动目标检测雷达信号处理机的主要组成部分,虚线中的处理模块是本文要完成的工作。

2 幅相计算、CFAR检测、M/N检测

2.1 幅相计算

幅相计算指从复数据计算其幅度和相位,假使:

2.2 CFAR检测和M/N检测

雷达信号的检测总是在干扰背景上进行的,为了在强干扰中提取信号,不仅要求有一定的信噪比,而且必须有恒虚警处理设备,恒虚警处理的目的是保持信号检测时的虚警率恒定,这样才能使处理机不致因虚警太多而过载。

(1)单元平均恒虚警(CFAR)检测器

已经知道,在低分辨率的脉冲雷达中,海浪和雨雪等分布杂波可以看作很多独立照射单元回波的迭加,因而杂波包络的分布服从瑞利分布,如果检测背景中存在此类杂波,检测门限可以通过计算杂波的均值得到,但是由于杂波在空间分布的未知性,求杂波均值只能从被检测目标邻近单元来获得,这就是比较常用的单元平均CFAR检测器。为了减少这类检测器在杂波边缘内侧虚警显着增大问题,一般采用其改进电路-两侧单元平均选大电路,如图2所示。在被检测单元的两边,为了防止目标本身对门限值的影响各空出了一个保护单元。

(2)二维CFAR检测器

当雷达工作于FFT方式时,CFAR检测器的输入数据包括距离和频率2个变量,所以需要采用二维CFAR,如图3所示。除0# 滤波器输出送杂波图处理外,其他多卜勒滤波器输出各接一个单元平均CFAR检测器。各CFAR检测的结果合起来作为目标判断。

(3)M/N检测

M/N检测在CFAR检测后进行,其中,N为积累脉冲数,M为小于N的值。我们设定M/N检测的准则为2/3,即相同距离门的信号在3个脉冲重复周期里至少2次过门限判定有目标。

2.3 杂波图

杂波图技术就是将雷达周围的二维平面分成许多方位距离单元,把方位距离单元的接收信号存入一个存储器中,每个存储单元对应一个方位距离单元,并且随着天线的扫描,每个单元存储的信号进行递推更新:

其中:K是一个小于1的因子,xn和yn分别代表输入、输出。

所以天线多圈扫描以后,杂波图中存贮的是相应方位距离单元的杂波均值。检测门限H根据式

(5)计算,如果被检测信号xn大于门限H,我们就判为有目标,否则就判无目标。

H=Cyn(5)

其中:C为一个门限乘子,C的大小决定着检测概率的虚警概率。

3 系统的设计

并行处理的目的是通过采用多个处理单元同时对任务处理来减少任务的执行时间,如何能以最短的时间完成任务成为并行处理机设计者最关心的问题,对这一问题的反映表现在处理机的2个基本性能指标:加速比和并行效率。而并行处理机的这2个基本性能决定于组成并行处理机的3个要素:处理单元、并行处理机网络结构、并行算法程序和任务分配方法。三者之间紧密联系,互相依赖。

3.1 处理单元的选择

处理单元的性能可以说是决定处理机性能最基本的因素,高性能的处理单元可以提高系统性能、减少系统体积和功耗、降低结构复杂性和提高软件可维护性。处理单元按应用范围大致可分为中央处理单元、专用ASIC芯片、FPGA/EPLD、数字信号处理器。在实时数字信号处理应用上,DSP仍具备明显优势。

在并行处理中,更强调DSP是否具有适于构成并行处理机的特殊功能,如高速通信口的通信能力、共享存贮器的接口功能等。TMS320C40和ADSP21060在结构功能上有很多相似之处,相比较而言,综合性能较好地并行DSP是ADSP21060,他的运算速度、数据吞吐能力、片内存贮器容量都远优于TMS320C40,相对于其他类型DSP.他的突出特点是:FFT速度快、片内存贮器容量大,很好地共享存贮器接口。各种兼容型号ADSP2106X的选择余地也较大,他还与最新推出的ADSP21160代码兼容,结构与接口形式也类似。

3.2 并行处理机互联结构

并行处理机互联网络的主要功能是为各处理单元提供数据交换的通路并负责子任务传送和控制调度信号的传递。处理单元之间的网络结构大致可分成2类:

(1)共享总线(共享存贮器)系统,称为紧耦合式并行系统。

(2)处理单元有各自独立的数据存贮器而通过通信口相连的分布式并行系统,又称松耦合式系统。紧耦合式的共享总线系统在处理单元个数较少的情况下,以其无需数据通信而能获得较高的加速比。当处理单元个数很多时,共享总线将造成频繁的总线冲突和等待,而且共享总线结构的可扩充性和灵活性不及分布式系统,不适于大规模并行处理系统,可重构能力和容错能力都远不如分布式系统。

通用并行DSP的通信口速度在30~60 MHz,这为在处理单元数目很多的大规模并行处理采用分布式系统设计创造了条件。TMS320C40或ADSP21060提供的多达6个高速通信口的总通信能力与其指令速度或平均运算能力相当,而同时TMS320C40或ADSP21060都提供了共享数据总线的接口,TMS320C40有2套独立的总线,其中一套可以用于和其他TMS320C40共享数据,而ADSP21060的片内具有共享总线仲裁逻辑,可以在无需添加外部控制电路的情况下,将不多于6个ADSP21060直接相连。

以上分析表明,分布式并行系统更适合于大规模并行系统,而共享总线式系统在小规模的并行处理机上可以得到较高的性能。以ADSP21060为例,当处理单元小于5时共享总线系统的效率较高;反之,分布式并行系统将更好。

3.3 并行算法、任务分配和软件编程

并行算法的好坏主要以其并行度高低来衡量,并行算法和并行程序的设计复杂度远大于传统的串行算法和串行程序设计,他更多地依赖于处理机结构,现有的并行算法远不能满足并行处理的需要,而且目前还缺乏一种有效的并行开发系统和并行设计语言,但对于雷达信号处理这一领域来说,信号处理任务的类型基本上是确定的,这就缩小了设计者的设计范围,从而大大减少了程序设计的难度。

采用上文所述的并行DSP作为处理单元构成的信号处理机将是完全可编程和软件可重载的,根据需要可以对不同并行子模块重新进行功能定义。算法软件以标准模块存放在DSP的RAM或ROM中,当处理单元的功能改变时,可调用相应的软件模块。

任务分配和调度仍是并行处理系统设计的一个难题,至今尚无实用的任务自动分配方法,而任务分配所带来的成本又太高。根据雷达信号处理固有的特点,可以将其定义成带有输入参数的软件模块,每个模块随着其输入参数的不同,其输出参数如运算时间、数据通信时间、数据通信路径都将不同。

采用数据流全驱动的方式是将处理过程中的全部数据分割成一定大小的数据包,在每个数据包中,除了实际数据还包括有如下信息:数据包长度、处理方式、数据描述、校验码。处理方式中含有足够的处理信息,用于指示DSP或子模块如何处理此包数据,即选择多普勒滤波、MTI、CFAR等。数据描述信息详细地给出了此包数据的特点,包括距离门起止号、多普勒号、通道号等。DSP接收到一个数据包后,如果此包数据的处理相对于其他数据包是独立的,他就立即进行处理,否则等待其他包数据到齐或者向其他DSP转发。

4 系统的实现

首先估计一下单元平均恒虚警检测的运算量:整个距离(最大120 km,7 MHz采样率)数据量为5.6 k个复数,1片ADSP2106X处理需要的时间大约是3.6 ms,由于相干处理周期为1 ms,因而我们在距离上分成4段,分别用4片ADSP2106X处理,这样还有0.1 ms的空闲时间。这里为了每片DSP处理数据方便,需要每段处理相互独立,因此段间要有重叠,以保证每一段CFAR的左右单元平均可以独立进行。

(1)对于恒虚警检测的处理来说,只有2种工作方式:MTI和MTD,分别对应单元平均恒虚警检测和二维恒虚警检测。

(2)系统内各部分均采用数据流方式驱动,数据包的格式为:先是4个字的模式控制字,然后是实际数据。每一种工作方式及相应参数由每一数据包前面的模式控制字给出,对应于模式控制字中的工作方式及参数等各共用部分,我们在所有运算单元中对其进行解释,以便转入相应的子程序。

(3)系统初始化方式有两种,一种是EPROM加载方式,此方式有利于在整个系统调试或固定雷达工作方式后,脱开计算机进行。另一种加载方式就是通过计算机接口以Link口加载方式进行加载。为了使用时调整雷达信号处理方式,采用计算机加载方式。

4.1 系统硬件

根据运算量和恒虚警检测所需的存储量,估计出设备量为5片DSP,如图4所示。

由于雷达信号处理流水进行的特点,可以按处理流程将整个系统划分成若干功能块,所以拟采用分布式并行处理系统。分布式并行处理系统由标准的并行子模块构成,恒虚警检测子模块由4个单元构成,M/N检测汇总子模块为1个单元,并行子模块之间由高速通信口相连,每对通信口间数据传输速率可达40 Mb/s.所有DSP都有通信口通过电路板插座连接到外部,利用数据流格式和相应的软件配置在邻近电路板间建立数据通路,这样减少了电路板间信号耦合。

4.2软件处理及实现分析

程序部分完成:CFAR、幅相计算、M/N检测等功能,需要5片DSP.

整个距离分4段,分别在4片DSP中进行CFAR、幅相计算等处理。段间有重叠,以保证每一段CFAR的左右单元平均可以独立进行。最后将4段的结果在下一片DSP进行合并、M/N检测,把目标信息后送。

(1)CFAR,幅相计算

杂波图恒虚警检测的主要功能是利用相应方位的杂波图输出作为门限,对零号滤波器各距离单元进行检测。其他滤波器输出采用单元平均CFAR处理方法对每个距离单元进行检测,同一个距离门的N-1个多卜勒通道检测结果选大作为CFAR检测结果,并与杂波图检测输出经或门后作为最终检测结果。检测结果有目标输出时,保留其幅值、相位信息。

程序流程分别从LINKX接收各自段的数据,先对数据作CFAR处理,检测到目标后,保存对应距离/多普勒单元信息,等到所有数据都处理完后,把结果通过LINKX送往下一级,主程序流程如图5所示。

其中IRQ0是相干处理周期的起始信号,模式字的有效性通过校验码实现,高速通信口LINKX工作在DMA方式。

输入与输出的数据格式输入数据先是4个字的模式,接着是实、虚部交替的复数,个数同模式有关,每个复数对应一个距离/多普勒单元。CFAR检测结果格式,先是以4个字的模式,逐个字地检测到目标的个数,接着是各目标单元信息。

由于这一级在最不利的32点FFT情况下存储量大约为90 k个复数,所以DSP芯片选取了内存较大的ADSP21060.

(2)汇总与M/N检测

这一级的汇总任务是把4段的CFAR检测结果合并到一起,只要把各段中各个目标单元依据距离门的位置加以修整,然后搬到另一处缓冲区即可。这时目标信息排列的顺序是按距离门号依次递增的,先搬整个距离段上距离门号最小的第1段,再搬第2,3,4段。

M/N检测在相干处理周期间进行,其准则是相邻3个相干处理周期内至少有2次在同一个距离门上检测到目标,确认为相对应距离单元上有目标输出,这时保留相应单元上最新的幅值作为检测结果。

程序流程如图6所示。分别从LINK2,LINK3,LINK1,LINK5接收4个距离段上的检测结果,把4段的结果合并在一起,形成整个距离段完整的结果。然后和以前2次检测的结果进行M/N检测,最后把M/N检测的结果通过LINK0发往接口板。

四段的输入数据格式相同先是4个字的模式,逐个字地检测到目标的个数,接着是各目标单元信息。存储量不大,选取了内存较小的ADSP21062.

4.3 运算量、内存、通讯资源占用情况

在CFAR检测中,包括零多卜勒通道各距离门利用相应波位的杂波图作为门限进行检测,剩余滤波器在距离上的单元平均恒虚警检测。其运算量主要集中在单元平均恒虚警中,这里除了第1个距离单元两端各项需经L个数据平均外,在第2个距离门后的其余距离单元检测时,前后各L个数平均只需加上1个新移进的值,减去移出的值即可,这样对每个距离门检测来说只需约8条指令。汇总部分运算量不大。由于汇总要处理前一级众多DSP芯片数据,因此此处数据通信充分利用互连网络的各通讯支路进行数据转发,其前一级运算部分在缓存及时间上要给此部分留有一定余量。

CFAR一级在32点MTD模式下存储压力较大,因此采取了以下措施:输入/输出以及中间结果都是短字定点格式,在开始CFAR检测前要先转换成长字的浮点格式进行各种运算,最后把CFAR结果经过定浮点转换作为16 B定点格式保存下来,其余部分的运算也需要先把CFAR结果转换成32 B浮点格式,不过是在所调用的子程序内部完成的。作为运算的中间结果,目标单元幅值的存储使用了循环寻址方式,因为一批数据在一边被进行处理的同时一边会被新来的数据覆盖掉,这一过程是以距离门的顺序进行的,而CFAR检测也是沿着距离门滑动的,在对第18号距离门检测时,第0号距离门的数据就没有任何用途了,这样就可以把第18号距离门的幅值存到第0号距离门的位置。同样地第19号距离门的幅值也可以存到第1号距离门的位置,从而构成了循环寻址存储方式。其他一些中间结果也采用了这种存储方式,有效地节省了内存资源。

CFAR一级包括单元平均恒虚警检测和幅相计算2部分,运算量主要集中在前一部分,占90%左右,到后面的数据量已经大大减少了。汇总一级的运算量主要集中在M/N检测部分,但总的运算量不大。

5 结语

本文讨论了一种恒虚警检测的并行处理系统的设计,选取通用并行DSP作为核心处理单元,通过高速数据通信口构成了松耦合的分布式并行系统,在处理单元数目较多的情况下获得了很高的性能。结合雷达信号处理的特点对任务进行分配,运用数据流驱动方式增强了信号处理系统的通用性和易维护性,整个系统具有良好的可编程、可扩展和升级能力。


 
分享到
 
 


基于模型的整车电子电气架构设计
嵌入式设备上的 Linux 系统开发
Linux 的并发可管理工作队列
ARM嵌入式系统的问题总结分析
嵌入式系统设计与实例开发
WinCE6.0的EBOOT概要
更多...   


UML +RoseRealtime+嵌入式
C++嵌入式系统开发
嵌入式白盒测试
手机软件测试
嵌入式软件测试
嵌入式操作系统VxWorks


中国航空 嵌入式C高质量编程
使用EA和UML进行嵌入式系统分析设计
基于SysML和EA的嵌入式系统建模
上海汽车 嵌入式软件架构设计
北京 嵌入式C高质量编程
北京 高质高效嵌入式开发
Nagra linux内核与设备驱动原理
更多...