CN103019744B - 基于计算中间件的雷达信号处理模块库的构建方法及应用 - Google Patents
基于计算中间件的雷达信号处理模块库的构建方法及应用 Download PDFInfo
- Publication number
- CN103019744B CN103019744B CN201210592994.1A CN201210592994A CN103019744B CN 103019744 B CN103019744 B CN 103019744B CN 201210592994 A CN201210592994 A CN 201210592994A CN 103019744 B CN103019744 B CN 103019744B
- Authority
- CN
- China
- Prior art keywords
- module
- function
- signal processing
- radar signal
- library
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 102
- 238000010276 construction Methods 0.000 title claims abstract description 11
- 239000000203 mixture Substances 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 141
- 238000000034 method Methods 0.000 claims description 33
- 238000004891 communication Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 5
- 230000010354 integration Effects 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 2
- 238000001914 filtration Methods 0.000 claims description 2
- 238000003384 imaging method Methods 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 claims description 2
- 238000012360 testing method Methods 0.000 claims description 2
- 230000009466 transformation Effects 0.000 claims description 2
- 238000006317 isomerization reaction Methods 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 18
- 238000013461 design Methods 0.000 abstract description 5
- 230000018109 developmental process Effects 0.000 description 20
- 230000000875 corresponding effect Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004899 motility Effects 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 240000007643 Phytolacca americana Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000002054 transplantation Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Landscapes
- Radar Systems Or Details Thereof (AREA)
- Stored Programmes (AREA)
Abstract
基于计算中间件的雷达信号处理模块库的构建方法及应用,属于软件化雷达信号处理系统设计组成,其特征在于:模块库既有细粒度的基本数学运算库,又有粗粒度的复杂的雷达信号处理算法;每一个模块包括一个函数功能具体实现文件和与之对应的头文件,构建的模块库全体由一个单独的头文件描述;函数功能具体实现文件包含注释段和代码段两个部分。本发明可以实现雷达信号处理算法的模块化与通用化,具有较好的第三方模块库兼容性,可以灵活地选择雷达信号处理任务实现方式,同时提高了雷达信号处理系统的开发效率。
Description
技术领域
本技术属于软件化雷达信号处理系统设计领域,也可以扩展到其他相关的信号处理领域,如声纳、通信等,涉及嵌入式系统开发中的中间件技术,具体指的是计算中间件技术。
背景技术
传统的雷达信号处理系统在设计上通常采用面向代码的定制开发的方法,系统设计者在设计一个雷达信号处理系统时通常需要面临手工编写代码,设计者不仅要编写信号处理算法本身而且还需要编写各处理器之间的通信程序,在数字信号处理中,通常存在多种硬件系统平台,传统的定制开发的方法所编写的集运算与通信为一体的代码往往缺乏通用性和平台可移植性;另外,在雷达信号处理中,通常可以将一种复杂的粗粒度的处理算法分割成多个细粒度的基本处理算法环节,而这种细粒度的基本处理算法可以组合成其他的粗粒度的雷达信号处理算法,这样,传统的面向代码的各运算环节一体化的开发模式,通常不具有代码可重用性,这种开发模式效率很低。
雷达信号处理系统的设计者需要一种具有通用化、模块化、参数化和可视化特点的雷达信号处理算法开发方式来代替传统面向代码的开发模式,这样能够极大的减轻用户程序开发的负担,大大提高雷达信号处理系统的开发效率和灵活性,使得用户可以专注于算法功能本身的实现与组合,同时无需编写任何处理器间通信程序,灵活、高效地开发和集成复杂的应用软件,使得雷达信号处理任务能够在多处理器平台上实现灵活移植和应用。
中间件是位于平台(硬件和操作系统)和具体应用之间的通用服务,这些服务具有标准的程序接口和协议。中间件的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。在雷达信号处理系统中,可以使用不同的硬件平台,既可以有不同的硬件内部架构,也可以有不同的外部互连拓扑。若要在统一的集成开发环境中在不同的平台上开发不同的雷达应用系统,中间件的作用就是将异构的平台抽象成可配置的虚拟平台,使其提供统一的程序接口和通信服务。反之,从用户应用程序开发的角度看,中间件也可以为上层开发环境提供平台无关的信号处理接口和数据流通信接口以及任务对底层硬件的映射方法,使得用户软件的开发实现平台间可移植性,减小开发难度,缩短开发周期。
基于计算中间件技术的软件化雷达信号处理系统的处理算法模块化,就是以研究HPEC(High Performance Embedded Computing,高性能嵌入式计算)系统技术中间件(Middleware)标准的发展框架为背景,开发支持在PowerPC平台、集群平台以及多DSP处理器平台等多平台的可跨平台移植的通用雷达信号处理模块库。
发明内容
本发明所要解决的技术问题是提出一种基于计算中间件技术的应用于软件化雷达中的通用雷达信号处理模块库的构建方法,采用该方法,雷达信号处理任务开发者可以构建一套较为完备的常用数学和雷达算法函数,该函数库能够提供基本运算和常用函数功能,同时屏蔽平台细节,向上提供面向功能的统一接口,完全独立于系统架构,具有平台无关性。另外,该模块库可以被自动代码生成器重用,自动转换成指定硬件架构的调用库。使用该方法,可以使雷达信号处理任务开发者专注于算法功能本身的实现,灵活、高效地开发和集成复杂的可以在多处理器平台上灵活移植的应用软件,执行效率与手工编程性能相近。
本发明的特征在于,是在计算机中依次按照以下步骤实现的:
步骤(1):计算机建立通用的雷达信号处理函数模块库,其中包括:细粒度的基本数学运算函数模块库和粗粒度的常用雷达信号处理算法模块库,所述粒度是指对应的模块库中运算单元的细化或综合的程度;所述细粒度的基本数学运算函数模块库至少含有下述各个函数模块:幂函数、三角函数、矢量数学函数、矩阵数学函数、标准操作函数、统计操作函数、滤波操作函数、变换类函数、矢量实用函数以及包括版本检测在内的函数;所述粗粒度的常用雷达信号处理算法模块库至少含有下述各个算法模块子库:窄带常用处理算法、窄带长时间积累处理算法、宽带逆合成孔径雷达成像算法和空时二维算法在内的各模块子库;
步骤(2):为所述的每个基本数学运算函数模块或常用雷达信号处理算法模块建立一个函数或算法具体实现文件;所述函数或算法具体实现文件包括注释段和代码段,其中所述注释段至少包括:模块或函数的名称、模块或函数的类别、模块或函数的功能描述、模块或函数的输入输出端口个数、输入输出数据类型、输入输出数据格式、模块参数列表、版权信息和版本信息;所述代码段包括:对该模块或函数相应的模块头文件以及实现该模块功能所必需的其他库文件的包含,以及函数或算法的具体实现代码;
步骤(3):为步骤(2)所述的各模块或函数具体实现文件建立相对应的模块头文件,其中包括:相应的函数或模块名称的声明、供程序统一调用的函数或模块的接口以及函数或模块的参数;
步骤(4):建立一个供所述基本数学运算函数模块库或常用雷达信号处理算法模块库使用的用于描述其中全体函数或模块的模块库头文件,其中包括了对各个所述的模块头文件的包含。
本发明具有以下有益效果及优点:
1.可以构建丰富的软件仿真模型库与丰富的运算单元模块库,可根据实际应用,以建立完整的雷达信号处理流程;
2.通用化、模块化、参数化和跨平台可移植特点的雷达信号处理算法开发方式来代替传统面向代码的开发模式,提高了雷达信号处理系统的开发效率;
3.构建的模块库完全独立于系统架构,具有平台无关性,同时可以被系统设计者自己开发的具有自动代码生成功能的集成开发环境所使用;
4.用户可以自由选择一个雷达信号处理流程是由多个细粒度的基本数学运算模块组合实现还是单单由粗粒度的通用雷达信号处理算法模块实现,这对于多处理器硬件平台具有重要意义;
5.利用构建的模块库本身就可以生成模块库的帮助文档,实现自文档化;
6.构建的模块库具有灵活性,可以方便地将现有的模块库替换成经过特殊优化的第三方函数库或者转换成指定硬件架构的调用库。
附图说明
图1为本发明的程序流程框图;
图2为构建的通用雷达信号处理模块库组成结构示意图;2.1,函数具体实现文件示意图,2.2,雷达信号处理模块库组成示意图;
图3为脉冲压缩处理任务的两种模块库使用方法示意图;
图4为如何实现现有模块库对第三方模块库接口的兼容示意图;
具体实施方式
为解决上述技术问题,本发明所采用的技术方案为:一种基于计算中间件技术的应用于软件化雷达中的通用信号处理模块库的构建方法,其特征在于:
所述的通用雷达信号处理模块库包含多个通用雷达信号处理模块,其中既有粗粒度的常用雷达信号处理算法库又有细粒度的基本数学运算库(这里的粒度反映的是模块库中运算单元的细化或综合的程度),每一个模块包括一个函数功能具体实现文件和相应的头文件;
函数功能具体实现文件包含注释段和代码段;注释段包含模块/函数名称、模块/函数类别、模块/函数功能描述、模块/函数算法描述、输入输出端口信息、输入输出数据格式、模块参数列表、版权信息和版本信息等;代码段由C/C++语言进行描述,应包含对该模块/函数对应的头文件的引用以及其他模块功能实现必需的库文件(如math.h和complex.h等)的引用;
在所述的头文件中声明相应的函数名称和参数形式,为程序调用具体的函数实现提供统一的函数接口;
对所述的通用雷达信号处理模块库的使用可以通过在由实现实际硬件平台支持的代码段和其他平台无关的代码段共同构成的代码框架中嵌入对所需模块的调用来实现;上述的平台相关的代码段可包含硬件平台初始化(如寄存器初始配置、外部存储和中断配置等)、通信环境初始化(如分配通信Buffer)、运算Buffer分配、处理器通信协议实现(如共享内存、DMA等方式)等,平台无关的代码段可包含模块执行环境初始化、模块参数获取、运算变量初始化、调试代码段、用于计算模块运行时间的代码以及对具体函数实现的调用等;
对所述的通用雷达信号处理模块库只需建立一个对第三方模块库接口的映射文件就能够方便地被替换成第三方开发的经过特殊优化的函数库,使用者只需要在映射文件中声明所要替换成的第三方函数库的函数调用形式;
所述的通用雷达信号处理模块库能够被具有图形化模块化开发、自动代码生成、调试与测试功能、多硬件平台处理器支持的软件化雷达集成开发环境所使用,能够高效开发出复杂的雷达信号处理软件。
下面结合附图和实施例对本发明装置的使用方法做进一步说明。主要包括以下四部分内容:
一、基于计算中间件技术的雷达信号处理模块库的开发方法;
二、如何在实际硬件平台上使用构建的雷达信号处理模块库;
三、完成常用雷达信号处理任务的两种模块库使用方法;
四、构建的雷达信号处理模块库如何与第三方开发的经特殊优化的模块库的兼容。
对于基于计算中间件技术的雷达信号处理模块库,本发明采用如下步骤来构建:
步骤1:根据实际雷达信号处理的功能需求确定通用雷达信号处理函数库的组成,其中需包括细粒度的基本数学运算库和粗粒度的常用雷达信号处理算法库,一种可行的细粒度的基本数学运算库如表1所示,一种可行的粗粒度的常用雷达信号处理算法库如表2所示;
步骤2:根据实际雷达信号处理功能需求与相关雷达信号处理知识,针对每一个模块设计出处理算法,确定输入输出端口个数、输入输出数据类型、输入输出数据格式与模块参数列表;
步骤3:用软件开发方法编写模块的头文件,声明相应的函数名称和参数形式;
步骤4:根据步骤2中设计的算法为每一个模块编写功能具体实现文件;
步骤5:为编写的模块的功能具体实现文件头部添加注释段;
步骤6:新建一个描述模块库全体的头文件,向其中加入刚刚编写的模块的头文件中的内容。
步骤7:参照步骤2~6所述方法开发其他信号处理算法模块,注意这时在进行步骤6时无需再新建一个头文件。
本发明的流程框图如图1所示。使用本发明所述的方法最终构建的通用雷达信号处理模块库的组成结构如图2所示。
如需在实际硬件平台上使用本发明构建的模块库进行雷达信号处理时,通常还需要完成相应硬件平台的配置、处理器间通信配置、运算与通信存储缓冲区分配等任务,完成这些任务的相关代码既有与实际硬件平台相关的,也有硬件平台无关的。如果指定了硬件平台,我们就可以从完成这些任务的相关代码中独立出一个与该平台对应的代码框架,同时将与具体信号处理算法相关的部分空出来,用户在使用时就可以根据自己的需要,在该代码框架中嵌入对本发明构建的模块库中相应模块的调用,然后配置好模块相关参数,就完成了该硬件平台上雷达信号处理程序的设计。
虽然说上述的代码框架是平台相关的,但是对于某一指定的平台,该代码框架大体上是相同的,在具体应用中,只需要修改框架中的模块参数获取部分、通信与计算变量分配、变量初始化部分(这些是与具体使用的信号处理算法相关的),再将模块调用部分换成对其他所需信号处理模块的调用,就在该硬件平台上实现了一种新的雷达信号处理算法。事实上,这些改动完全可以基于一个特定模板由自动代码生成器来完成,所以,本文所述的基于计算中间件技术的雷达信号处理模块库的构建方法对一个具有图形化参数配置和自动代码生成器的集成化开发环境具有重要意义。
对于一个常用的简单雷达信号处理任务,通常可以有两种处理方式:一种是通过将细粒度的基本数学运算单元进行组合来实现,一种是直接使用粗粒度的常用雷达信号处理算法库中的模块来实现。其优点在于,在有多个处理器时,可以将一个雷达信号处理任务分割成独立的细粒度的基本数学运算单元,将它们分别分配给不同的处理器;在处理器数量较少时,如只有一个处理器时,就需要直接使用常用雷达信号处理算法库中的粗粒度的模块来完成(当然也可以通过手工设置在这个处理器上串行执行上述的细粒度的基本数学运算模块来完成,但是这样就等同于在一个处理器上执行了一个粗粒度的雷达信号处理算法模块,本质上和第二种处理方式相同)。可见,本发明所述的通用雷达信号处理模块库的构建方法对处理器的数量具有很好的适应性,使用者可以灵活地为处理器进行任务分配。
为实现与第三方开发的经特殊优化的模块/函数库的兼容,本发明主要采用如下方式来实现:
步骤1:建立一个头文件,通过宏定义的方式实现对现有模块库与第三方模块/函数库的接口映射,映射文件内容具体格式可参见实施例4,该步骤只需要对需要进行替换的模块库进行,且要求两个库的参数列表和输入输出端口个数与类型必须相同,顺序可不同;
步骤2:在实际调用模块/函数的文件中,插入一段宏,插入位置为该文件中的对头文件的引用部分,宏的内容具体格式可参见实施例4。该段宏的功能是通过检查第一行的宏定义,该行主要用于表征使用什么库(现有的模块库还是第三方模块库),来选择是引用对第三方全部模块/函数进行声明的头文件和步骤1中建立的映射头文件,还是引用对现有的模块库中的全部模块/函数进行声明的头文件。
如图4所示,步骤1中所述的映射文件的作用是实现接口转换,可以将第三方函数库的接口转换成现有的模块库的接口,以实现接口的统一。有了这样一个文件,对于用户而言,第三方函数库的接口就和现有的模块库接口没有任何区别,在需要使用第三方函数库时就省去了更改以前编写的对模块库的函数调用的麻烦。如果使用者事先就考虑了与第三方模块库的兼容问题而在调用模块/函数的文件中加入了步骤2中所述的宏,那么通过建立步骤1中所述的这种映射,对于用户而言,第三方模块/函数库就与现有模块库具有相同的接口,这样就可以实现在不改变原有雷达信号处理系统中任何程序的情况下使用第三方开发的函数库。而且通过改变第一行的宏定义,就可以灵活地在现有模块库和第三方模块库间切换。
实施例1
本实施例主要介绍使用本发明所述的方法构建的一个雷达信号处理的模块(计算输入向量的cos值)的各组成部分的内容。
该模块的头文件内容如下:
extern void e_vcos(float *a,int ia,float *c,int ic,int n);
该模块的功能具体实现文件内容如下:
另外,描述模块库全体的头文件中也必须包含如下代码:
extern void e_vcos(float *a,int ia,float *c,int ic,int n);
从以上代码中可以看出该模块的功能具体实现文件包含两部分信息:一部分为由注释段组成的对该模块的基本描述信息,一部分为C语言描述的用于实现该模块功能的代码段。注释段的起始用{Comment Section}声明,代码段的起始用{Code Section}声明。
从注释段中我们可以得到:该模块的名称为cos;类型为基本数学运算库;输入输出端口类型为1输入1输出;主要功能为计算输入向量的每一个元素的cos值存放到输出向量的对应位置;其中输入输出数据类型均为float型的向量;a为输入向量的指针;c为输出向量的指针;ia为对输入向量流的取数间隔;ic为输出向量流的存数间隔;n为输入输出向量的元素个数。可以看出,如果将模块库中所有模块的功能具体实现文件中的注释段提取出来,就可以用于生成整个模块库的帮助文档,实现自文档化。
从代码段中我们可以得到:该模块对标准数学库math.h进行了引用,对模块对应的头文件e_vcos.h也进行了引用;接着由C语言实现了通用的、可跨平台的计算向量的cos的函数。
实施例2
本实施例主要介绍如何在实际硬件平台上使用该模块库,方法为在由对实际硬件平台进行支持的代码段和其他平台无关的代码段构成的代码框架中嵌入对本发明构建的模块库中相应函数的调用。
在上述的代码框架中嵌入一个模块调用的程序实例如下,这是DSP平台的一个典型代码框架,其中粗体部分为模块调用代码。
从上述代码中可以看出,在实际硬件平台上运行时,其代码框架主要有如下几个部分:对与实际硬件平台相关的头文件(如定义通信协议的头文件等)及其他相关的系统库文件的引用;配置通信与运算所需变量;程序控制变量的声明;主函数。其中主函数包含系统的初始化(如寄存器初始配置、中断配置、外部存储配置以及运算环境与通信环境的初始化),模块参数的设置,以及需要反复调用执行(由while(1)实现)的代码,这部分代码中包含对输入数据的接收、调用模块库函数对接收数据进行处理、发送运算结果以及控制程序执行与退出的相关代码、调试信息、运行状态记录等。
在上述代码中,与实际处理算法相关的部分就是配置通信与运算所需变量部分以及对e_vcos函数的调用部分。如果要实现一个计算512点复输入数据的FFT(快速傅立叶变换)的模块,只需将如下用于配置通信与运算所需变量的代码
#define BufferSize 200
float inputBuffer[BufferSize];// 开辟输入缓冲空间
float outputBuffer[BufferSize]; // 开辟输出缓冲空间
改成
同时,将粗体部分换成
e_cvfft(inputBuffer,1,outputBuffer,1,vectorLen);
即可,其中e_cvfft是计算复向量的FFT的函数。
可见,对于指定的硬件平台,只需要编写一个相应的规范的代码框架,就可以实现对模块库的灵活使用,提高了雷达信号处理算法的开发效率。
实施例3
本实施例主要介绍使用该模块库对一个常用雷达信号处理任务——脉冲压缩的两种实现方法。
如图3所示,一种实现方法为将多个细粒度的基本数学运算模块进行组合实现,其中有FFT模块、向量点乘模块和IFFT模块;另一种实现方法为直接由粗粒度的常用雷达信号处理算法库中的脉冲压缩模块实现。
对于第一种实施方法,FFT模块、向量点乘模块和IFFT模块等都可以分别在多处理器平台的各个处理器上执行,但是如果只有一个处理器且认为一个处理器上只能执行一个模块,即模块与处理器是一一映射的话,使用第一种实施方法就会遇到困难,这样就可以通过第二种实施方法来实现,即直接在该处理器上执行脉冲压缩模块。
可见,使用本发明所构建的雷达信号处理模块库,可以灵活地选择实现雷达信号处理任务的方式,对处理器的数量具有很好的适应性。
实施例4
本实施例主要介绍如何处理本发明构建的模块库与第三方开发的针对特殊处理器优化的函数库的兼容问题。
为实现与第三方开发的经针对特殊处理器优化的模块/函数的兼容,需要对实例2中所述的代码框架中嵌入如下类似的宏:
嵌入位置可考虑在代码框架中头文件的引用部分。其中#define ***这一行用于定义使用的模块库类型,若为#define Current则表示使用本发明构建的现有的模块库,若为vendor1则表示使用开发商1开发的模块库,若为vendor2则表示使用开发商2开发的模块库;functionlist.h中声明了由系统开发者采用本发明所述方法开发的通用雷达信号处理模块库的全部函数的原型;vendor1_functionlist.h是对开发商1开发的模块库中的函数全体进行声明的头文件,其中声明了该模块库的全部函数原型;vendor2_functionlist.h声明了开发商2开发的模块库的全部函数原型;replace_vendor1.h用于实现现有的模块库与开发商1开发的模块库的兼容,类似地,replace_vendor2.h用于实现现有的模块库与开发商2开发的模块库的兼容,如此等等。
如图4所示,这种类似于replace_vendor*.h的头文件就是映射文件,用于实现模块库间的接口转换,可以将第三方函数库的接口统一成现有的模块库的接口。这种replace_vendor*.h文件的格式一般如下:
#define 现有模块库的函数调用方式vendor*模块库的函数调用方式
其中上述的模块库的函数调用方式其实就是去除了参数类型声明的函数定义。注意现有模块库的参数和vendor*模块库的参数必须保持一致,且要一一对应。
这里举实施例1中求向量的cos值为例,其函数接口为:e_vcos(float *a, intia, float *c, int ic, int n),若要将其替换成Bittware公司开发的具有相同功能的ez_vcos_sf(float *a,int sa,int n,float *b,int sb)函数,则上述映射文件中只需加入如下一行:
#define e_vcos(a,ia,c,ic,n) ez_vcos_sf(a,ia,n,c,ic)
将所有需要进行替换的模块/函数均采用上述这种替换方法就实现了对第三方开发的经针对特殊处理器优化的模块/函数的兼容。
在实际雷达信号处理中,如果在上述代码框架中已经嵌入了上述宏时,只需通过改变第一行的”#define ***”中的***的具体内容,就可以灵活地选择所要使用的模块/函数库开发方。对于在具有自动代码生成的集成开发环境中使用该方法时,在代码框架中所要嵌入的”#define ***”这一行可以根据用户的选择自动生成,并根据需要嵌入到上述程序框架中。
综上所述,使用上述方法可以灵活地实现与第三方开发的各种函数库的兼容。
表1 模块库中细粒度的基本数学运算库
表2 模块库中粗粒度的常用雷达信号处理算法库
Claims (3)
1.一种基于计算中间件的雷达信号处理模块库的构建方法,其特征在于,利用计算中间件来建立雷达信号处理模块库,使得该模块库具有跨硬件平台应用能力,应用于由不同类型多处理器组成的异构硬件平台,具体是在计算机中依次按照以下步骤实现的:
步骤(1):计算机建立基于计算中间件的雷达信号处理模块库,其中包括:细粒度的基本数学运算函数模块库和粗粒度的常用雷达信号处理算法模块库,所述粒度是指对应的模块库中运算单元的细化或综合的程度;所述细粒度的基本数学运算函数模块库至少含有下述各个函数模块:幂函数、三角函数、矢量数学函数、矩阵数学函数、标准操作函数、统计操作函数、滤波操作函数、变换类函数、矢量实用函数以及包括版本检测在内的函数;所述粗粒度的常用雷达信号处理算法模块库至少含有下述各个算法模块子库:窄带常用处理算法、窄带长时间积累处理算法、宽带逆合成孔径雷达成像算法和空时二维算法在内的各模块子库;
步骤(2):为所述的每个基于计算中间件的基本数学运算函数模块或常用雷达信号处理算法模块建立一个函数或算法具体实现文件;所述函数或算法具体实现文件包括注释段和代码段,其中所述注释段至少包括:模块或函数的名称、模块或函数的类别、模块或函数的功能描述、模块或函数的输入输出端口个数、输入输出数据类型、输入输出数据格式、模块参数列表、版权信息和版本信息;所述代码段包括:对该模块或函数相应的模块头文件以及实现该模块功能所必需的其他库文件的包含,以及函数或算法的具体实现代码;
步骤(3):为步骤(2)所述的基于计算中间件的各模块或函数具体实现文件建立相对应的模块头文件,其中包括:相应的函数或模块名称的声明、供程序统一调用的函数或模块的接口以及函数或模块的参数;
步骤(4):建立一个供所述基本数学运算函数模块库或常用雷达信号处理算法模块库使用的用于描述其中全体函数或模块的模块库头文件,其中包括了对各个所述的模块头文件的包含;
所述雷达信号处理模块库的使用通过在由实际硬件平台支持的代码段和其他平台无关的代码段共同构成的代码框架中嵌入对所需模块的调用来实现;实际硬件平台支持的代码段包含:包括寄存器初始配置、外部存储和中断配置在内的硬件平台初始化,包括分配通信Buffer在内的通信环境初始化,运算Buffer分配,包括共享内存、DMA的方式在内的处理器通信协议实现,平台无关的代码段可包含模块执行环境初始化、模块参数获取、运算变量初始化、调试代码段、用于计算模块运行时间的代码以及对具体函数实现的调用;
所述雷达信号处理模块库只需建立一个对第三方模块库接口的映射文件就能够方便地被替换成第三方开发的经过特殊优化的函数库,使用者只需要在映射文件中声明所要替换成的第三方函数库的函数调用形式;所述雷达信号处理模块库能够被具有图形化模块化开发、自动代码生成、调试与测试功能、多硬件平台处理器支持的软件化雷达集成开发环境所使用,能够开发出复杂的雷达信号处理软件。
2.根据权利要求1中所述的基于计算中间件的雷达信号处理模块库的构建方法而提出的一种使用方法,其特征在于,在用一个或多个处理器执行简单的雷达信号处理任务时可以通过直接使用粗粒度的常用雷达信号处理算法模块库或者通过把细粒度的基本数学运算函数模块库中的函数模块进行组合来实现。
3.根据权利要求1所述的基于计算中间件的雷达信号处理模块库的构建方法而提出的一种使用方法,其特征在于,在需要替换的模块库与基于计算中间件的雷达信号处理模块库这两者在参数列表和输入输出端口个数、类型相同条件下,按以下步骤实现与第三方开发的经优化的模块或函数的兼容:
第一步:建立一个实现接口转换的映射头文件,实现基于计算中间件的雷达信号处理模块库与第三方开发的经优化的模块或函数的映射关系;
第二步:在权利要求1所述的代码框架中,加入以下部分:使用宏#define所表示的对需要使用的模块库类型的声明,表示判断是否使用所述的基于计算中间件的雷达信号处理模块库的宏#ifdef current以及对该相应的模块库头文件的包含,表示判断是否使用第三方开发的经优化的函数模块库的宏#elsif defined vendor1以及对该模块库头文件的包含,以及对第一步中所述的用于实现所述雷达信号处理模块库与第三方开发的模块库的兼容的映射头文件的包含。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210592994.1A CN103019744B (zh) | 2012-12-31 | 2012-12-31 | 基于计算中间件的雷达信号处理模块库的构建方法及应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210592994.1A CN103019744B (zh) | 2012-12-31 | 2012-12-31 | 基于计算中间件的雷达信号处理模块库的构建方法及应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103019744A CN103019744A (zh) | 2013-04-03 |
CN103019744B true CN103019744B (zh) | 2016-10-26 |
Family
ID=47968382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210592994.1A Active CN103019744B (zh) | 2012-12-31 | 2012-12-31 | 基于计算中间件的雷达信号处理模块库的构建方法及应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103019744B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099976B (zh) * | 2015-07-28 | 2018-06-01 | 西安空间无线电技术研究所 | 一种非对称三角调频雷达通信一体化信号的参数优化方法 |
CN105510915A (zh) * | 2015-11-30 | 2016-04-20 | 中国人民解放军国防科学技术大学 | 一种逆合成孔径雷达成像流程定制系统 |
CN107153547A (zh) * | 2017-05-15 | 2017-09-12 | 电子科技大学 | 一种软件化雷达库模式信号处理中间件 |
CN109992252B (zh) * | 2017-12-29 | 2022-12-16 | 中移物联网有限公司 | 一种基于物联网的数据分析方法、终端、装置及存储介质 |
CN109190281A (zh) * | 2018-09-19 | 2019-01-11 | 北京润科通用技术有限公司 | 一种多核dsp平台算法开发方法及装置 |
CN109446087A (zh) * | 2018-10-29 | 2019-03-08 | 深圳市元征科技股份有限公司 | 一种信息诊断的方法、系统及相关组件 |
CN109947416A (zh) * | 2019-03-15 | 2019-06-28 | 电子科技大学 | 一种软件化雷达跨平台通用并行计算库的构建方法 |
CN110412569B (zh) * | 2019-07-05 | 2023-06-23 | 中国科学院电子学研究所 | 基于高级语言综合的雷达成像方法及装置 |
CN110727658A (zh) * | 2019-10-22 | 2020-01-24 | 中车青岛四方车辆研究所有限公司 | 基于qt的显示屏通用模块库建立方法 |
CN111198688B (zh) * | 2019-12-12 | 2023-05-30 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 软件化雷达的计算中间件构建方法、系统及介质 |
CN111580790B (zh) * | 2020-04-22 | 2023-07-21 | 电子科技大学 | 一种用于软件化雷达中间件的构建方法 |
CN111596263B (zh) * | 2020-05-12 | 2022-07-08 | 清华大学 | 软件化雷达集成架构与开发环境 |
CN112965794B (zh) * | 2021-02-19 | 2024-03-22 | 西安智周深鉴信息科技集团有限公司 | 算法调用方法、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706737A (zh) * | 2009-12-18 | 2010-05-12 | 湖南大学 | 软硬件协同函数库的构造方法 |
CN102521470A (zh) * | 2011-12-31 | 2012-06-27 | 中国人民解放军92232部队 | 基于xml模式的雷达仿真系统 |
CN102542113A (zh) * | 2011-12-31 | 2012-07-04 | 中国人民解放军92232部队 | 一种通用的雷达仿真系统及其仿真应用方法 |
-
2012
- 2012-12-31 CN CN201210592994.1A patent/CN103019744B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706737A (zh) * | 2009-12-18 | 2010-05-12 | 湖南大学 | 软硬件协同函数库的构造方法 |
CN102521470A (zh) * | 2011-12-31 | 2012-06-27 | 中国人民解放军92232部队 | 基于xml模式的雷达仿真系统 |
CN102542113A (zh) * | 2011-12-31 | 2012-07-04 | 中国人民解放军92232部队 | 一种通用的雷达仿真系统及其仿真应用方法 |
Non-Patent Citations (4)
Title |
---|
Xiaowei Tang;Jun Tang;Bo Tang.A new electronic reconnaissance technology for MIMO radar.《2011 IEEE CIE International Conference》.2011,79-83. * |
付博峰.基于DSP的可视化多处理器软件设计.《中国优秀硕士学位论文全文数据库信息科技辑》.2010,(第12期),第16-17页、第20-22页、第45页及图3.2. * |
数字阵列雷达并行信号处理算法及实现;汤小为,汤 俊,彭应宁;《信息与电子工程》;20090831;第7卷(第4期);第294-299页 * |
朱志强,汤小明.一种多处理器仿真系统的构建与评估.《微电子学与计算机》.2007,第24卷(第6期),第91-93页. * |
Also Published As
Publication number | Publication date |
---|---|
CN103019744A (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103019744B (zh) | 基于计算中间件的雷达信号处理模块库的构建方法及应用 | |
Vetter et al. | Extreme heterogeneity 2018-productive computational science in the era of extreme heterogeneity: Report for DOE ASCR workshop on extreme heterogeneity | |
Reed et al. | An overview of the Pablo performance analysis environment | |
CN107533751A (zh) | 用于图像处理器的线缓冲器单元 | |
CN110392902A (zh) | 使用稀疏体积数据的操作 | |
CN108268278A (zh) | 具有可配置空间加速器的处理器、方法和系统 | |
Dao et al. | Flexbex: A risc-v with a reconfigurable instruction extension | |
da Silva et al. | Exploring the dynamics of large-scale gene regulatory networks using hardware acceleration on a heterogeneous cpu-fpga platform | |
Smith et al. | An architecture design and assessment system for software/hardware codesign | |
US10387584B1 (en) | Streaming on hardware-software platforms in model based designs | |
Schallenberg et al. | OSSS+ R: A framework for application level modelling and synthesis of reconfigurable systems | |
US9632759B1 (en) | Generation of an interface for interaction between a modeling environment and an external system | |
CN110262996A (zh) | 一种基于高性能可重构计算的超级计算机 | |
Menard et al. | Mocasin—rapid prototyping of rapid prototyping tools: A framework for exploring new approaches in mapping software to heterogeneous multi-cores | |
Verkest et al. | Matisse: A system-on-chip design methodology emphasizing dynamic memory management | |
Vetter et al. | Extreme Heterogeneity 2018: Productive Computational Science in the Era of Extreme | |
Kirchgessner et al. | Reconfigurable computing middleware for application portability and productivity | |
Teimouri et al. | Alleviating scalability limitation of accelerator-based platforms | |
CN106897120A (zh) | 双层动态分布式仿真平台 | |
Jaber | High-Level soc modeling and performance estimation applied to a multi-core implementation of LTE enodeb physical layer | |
Le | software/FPGA co-design for Edge-computing: Promoting object-oriented design | |
Vanderperren et al. | A systemc based system on chip modelling and design methodology | |
Moore | Model-integrated program synthesis for real-time image processing | |
Wilkes et al. | Application of high level interface-based design to telecommunications system hardware | |
US20230401480A1 (en) | Hardware acceleration of machine learning designs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Tang Jun Inventor after: Zhu Wei Inventor after: Luo Jun Inventor after: Tang Xiaowei Inventor after: Li Ning Inventor before: Tang Jun Inventor before: Zhu Wei Inventor before: Luo Jun Inventor before: Jian Fusheng Inventor before: Tang Xiaowei Inventor before: Li Ning |