CN113885029B - 一种基于DSP实现Sar成像中提高精度和时效性的方法 - Google Patents
一种基于DSP实现Sar成像中提高精度和时效性的方法 Download PDFInfo
- Publication number
- CN113885029B CN113885029B CN202111143580.6A CN202111143580A CN113885029B CN 113885029 B CN113885029 B CN 113885029B CN 202111143580 A CN202111143580 A CN 202111143580A CN 113885029 B CN113885029 B CN 113885029B
- Authority
- CN
- China
- Prior art keywords
- dsp
- circulation
- timeliness
- calculation
- sequence
- 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
- 238000003384 imaging method Methods 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 title claims abstract description 13
- 238000004364 calculation method Methods 0.000 claims abstract description 26
- 239000013598 vector Substances 0.000 claims abstract description 18
- 230000015654 memory Effects 0.000 claims abstract description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 15
- 238000005457 optimization Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000035485 pulse pressure Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000002592 echocardiography Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
- G01S13/89—Radar or analogous systems specially adapted for specific applications for mapping or imaging
- G01S13/90—Radar or analogous systems specially adapted for specific applications for mapping or imaging using synthetic aperture techniques, e.g. synthetic aperture radar [SAR] techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30065—Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- Computer Networks & Wireless Communication (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
本发明涉及一种基于DSP实现Sar成像中提高精度和时效性的方法,提高DSP计算精度:DSP在计算复乘因子时,常常需要根据两个矢量拟合出系数,但是拟合出来的误差较大,导致成像质量不高,为此将拟合系数与矢量进行ployval()后,再与原矢量相减后再次拟合得到拟合系数的误差值,与原拟合系数相加,可得到精度较高的拟合系数;提高DSP计算时效:针对一些无法在DSP内核建立流水的运算,通过泰勒公式展开成只有加减乘的基础运算,以达到能够在内核建立流水的目的,然后对输入输出地址、循环次数加以限制,来提高单次读取内存的数量。
Description
技术领域
本发明属于信息与信号处理技术领域,具体涉及一种基于DSP实现Sar成像中提高精度和时效性的方法。
背景技术
在信息化社会的发展中,很大程度上取决于信息与信号处理技术的先进性,数字信号处理技术的出现改变了信息与信号处理技术的整个面貌,数字信号处理器作为数字信号处理的核心技术,其应用已经涉及到信号处理的各个领域。以雷达为例,随着数字信号处理器性能的提高,使得雷达信号处理的新算法在工程中得以实现,带来雷达整体性能的提高,其中TI公司的DSP C6000系列是数字信号处理器中性能最高产品。
在合成孔径雷达成像算法中,主要对雷达回波数据进行滤波,去直流,距离向和方位向脉压处理,量化等处理。项目中根据matlab的合成孔径雷达成像代码以FPGA+DSP处理器架构工程化实现雷达成像,其中DSP6678主要解析辅助数据,计算距离向和方位向脉压复乘因子 (复乘因子是与雷达回波进行复乘)等工作。
DSP解析辅助数据用于计算复乘因子,需要使用ployfit()获取当前数据集的拟合结果,polyval()获取当前数据对应的输出结果。现有技术方案实现ployfit()时,由于DSP与matlab精确度的差异,使得拟合出来的系数误差较大,导致成像质量较差,无法满足项目分辨率的需求。
DSP在计算复乘因子时经常会遇到欧拉公式(e^(i*x)= cosx+i*sinx),1/sqrt(1-x)这类公式计算,在现有技术方案中,不做任何修改,对一序列直接进行N次数学计算,由于在for循环中直接调用了C语言实时运行库,DSP流水无法建立,理论计算时间为N*Time1/sqrt(1-x)或N*Timecosx,无法满足项目时效性要求。
发明内容
本发明的目的是为解决上述问题,提供一种基于DSP实现Sar成像中提高精度和时效性的方法,通过多次迭代来提高plotfit()函数的精度;通过在序列循环中加入一些限制关键字和循环次数的信息来优化时效性,对无法建立流水的数据计算通过泰勒公式展开来建立流水。
为实现上述目的,本发明提供以下技术方案:一种基于DSP实现Sar成像中提高精度和时效性的方法,包含提高Plotfit精度和运算时效性:DSP在计算复乘因子时,需要对两个矢量进行拟合计算,将拟合系数与矢量进行ployval()后,再与原矢量相减后再次拟合得到拟合系数的误差值,与原拟合系数相加,可得到精度较高的拟合系数;
在雷达成像算法中,耗时最长的是对一序列进行数学计算,为提高序列计算的时效性,应使其计算能建立流水,建立流水的条件是循环内只有加减乘算术运算或使用6678指令集,当某序列乘以或加上另一序列,通过在IDE上对该文件开三级优化可实现代码的流水,当对一序列进行cos、log或sqrt需要调用C语言实时运行库,由于在循环内调用C语言库函数,使循环无法建立流水,为提高循环代码时效性,应按照以下步骤来优化:
1)通过对输入和输出序列加restrict关键字来限定输入和输出,使输入和输出在内存地址上相互独立,在循环中没有依赖,减小迭代间隔;
2)使输入和输出序列地址8字节或4字节对齐,通过在程序中加断言语句(_nassert())告诉dsp地址已8字节或4字节对齐,使得CPU在读输入或回写输出时,可一次读取或回写8字节或4字节,能够减小读取和写回时间;
3)当知道循环次数时,应通过预处理指令(#prama must_iterate)告诉DSP循环次数最大和最小几次,循环次数是否是2或4的整数倍,当循环次数是2或4的整数倍时,dsp为了使2组寄存器资源均衡,通过展开循环来优化流水;
4)针对在循环中调用sqrt和除法运算,使用指令集rsqrsp指令,再通过牛顿差值来提高计算精度,建立序列循环流水;针对在循环中调用log、cos、sin函数,先通过泰勒公式转换成只有加减乘的运算,再调用DSP6678指令集实现函数计算。
进一步的:所述DSP 6678指令集把指令的处理分成若干个子操作,每个子操作在微处理器内部由不同的部件来完成,每个部件一周期可进入一条新指令,在同一时间内,就会有多条指令交迭地在不同部件内处理,形成流水的工作模式。
与现有技术相比,本发明的有益效果在于:
1. 提高DSP计算精度,使成像质量较高。将拟合的系数与x进行ployval(),得到有误差的yerror,将矢量y与yerror相减得到Dely后再与x拟合得到多项式系数误差值,与原先得到的拟合系数相加,可得到精度较高的系数。
2. 提高DSP计算时效性。为提高序列计算的时效性,使其计算能建立流水,针对只有加减乘算术运算或使用6678指令集能够直接建立流水;对一些无法建立流水的数据计算通过泰勒公式转换成只有加减乘的运算,再调用DSP 6678指令集实现函数计算,以此展开来建立流水。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是为了更清楚地说明本发明实施例或现有技术中的技术方案,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明Plotfit精度优化流程图;
图2为本发明提高时效性的算法流水优化流程图。
具体实施方式
为了使本领域技术人员更好地理解本发明的技术方案能予以实施,下面结合具体实施例对本发明作进一步说明,但所举实施例只作为对本发明的说明,不作为对本发明的限定。
如图1~2所述的一种基于DSP实现Sar成像中提高精度和时效性的方法,包含提高Plotfit精度和运算时效性:DSP在计算复乘因子时,常常需要对两个矢量进行拟合计算,但是拟合出来的系数较差,为此将拟合系数与矢量进行ployval()后,再与原矢量相减后再次拟合得到拟合系数的误差值,与原拟合系数相加,可得到精度较高的拟合系数,例如对两个矢量x与y求拟合多项式系数,由于matlab比DSP精度较高,导致拟合(plotfit())的系数误差较大,因此本发明将拟合的系数与矢量x进行ployval(),得到有误差的yerror;将矢量y与yerror相减得到Dely后再与矢量x拟合得到多项式系数误差值,与原先得到的拟合系数相加,可得到精度较高的拟合系数;
在雷达成像算法中,耗时最长的是对一序列(例如32*1024的序列)进行数学计算,为提高序列计算的时效性,应使其计算能建立流水,建立流水的条件是循环内只有加减乘算术运算或使用6678指令集,当某序列乘以或加上另一序列,通过在IDE上对该文件开三级优化可实现代码的流水;当对一序列进行cos、log或sqrt需要调用C语言实时运行库,由于在循环内调用C语言库函数,使循环无法建立流水,为提高循环代码时效性,应按照以下步骤来优化:
1)通过对输入和输出序列加restrict关键字来限定输入和输出,使输入和输出在内存地址上相互独立,在循环中没有依赖,减小迭代间隔。
2)使输入和输出序列地址8字节或4字节对齐,通过在程序中加断言语句(_nassert())告诉dsp地址已8字节或4字节对齐,使得CPU在读输入或回写输出时,可一次读取或回写8字节或4字节,能够减小读取和写回时间。
3)当知道循环次数时,应通过预处理指令(#prama must_iterate)告诉DSP循环次数最大和最小几次,循环次数是否是2或4的整数倍;当循环次数是2或4的整数倍时,dsp为了使2组寄存器资源均衡,能够通过展开循环来优化流水;
4)针对在循环中调用sqrt和除法运算,使用指令集rsqrsp指令,再通过牛顿差值来提高计算精度,建立序列循环流水;针对在循环中调用log、cos、sin函数,先通过泰勒公式转换成只有加减乘的运算,再调用DSP6678指令集实现函数计算。
DSP 6678指令集是用结构的复杂性来换取速度的提高,把指令的处理分成若干个子操作,每个子操作在微处理器内部由不同的部件来完成,每个部件一周期可进入一条新指令,在同一时间内,就会有多条指令交迭地在不同部件内处理,将这种工作模式称为流水。
本发明的关键点和保护点:
1. 通过多次迭代来提高plotfit()函数的精度;
2. 通过在序列循环中加入一些限制关键字和循环次数的信息来优化时效性,对一些无法建立流水的数据计算先通过泰勒公式,再调用DSP 6678指令集,以此展开来建立流水。
本发明中未做详细描述的内容均为现有技术。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种基于DSP实现Sar成像中提高精度和时效性的方法,其特征在于:包含提高Plotfit精度和运算时效性:DSP在计算复乘因子时,需要对两个矢量进行拟合计算,将拟合系数与矢量进行ployval()后,再与原矢量相减后再次拟合得到拟合系数的误差值,与原拟合系数相加,可得到精度较高的拟合系数;
在雷达成像算法中,耗时最长的是对一序列进行数学计算,为提高序列计算的时效性,使其计算能建立流水,建立流水的条件是循环内只有加减乘算术运算或使用6678指令集,当某序列乘以或加上另一序列,通过在IDE上开三级优化从而实现代码的流水,当对一序列进行cos、log或sqrt需要调用C语言实时运行库,由于在循环内调用C语言库函数,使循环无法建立流水,为提高循环代码时效性,按照以下步骤来优化:
1)通过对输入和输出序列加restrict关键字来限定输入和输出,使输入和输出在内存地址上相互独立,在循环中没有依赖,减小迭代间隔;
2)使输入和输出序列地址8字节或4字节对齐,通过在程序中加断言语句_nassert()告诉dsp地址与8字节或4字节对齐,使得CPU在读输入或回写输出时,可一次读取或回写8字节或4字节,能够减小读取和写回时间;
3)当知道循环次数时,通过预处理指令告诉DSP循环次数最大和最小几次,循环次数是否是2或4的整数倍,当循环次数是2或4的整数倍时,dsp为了使2组寄存器资源均衡,通过展开循环来优化流水;
4)针对在循环中调用sqrt和除法运算,使用指令集rsqrsp指令,再通过牛顿差值来提高计算精度,建立序列循环流水;针对在循环中调用log、cos、sin函数,先通过泰勒公式转换成只有加减乘的运算,再调用DSP6678指令集实现函数计算。
2.根据权利要求1所述的一种基于DSP实现Sar成像中提高精度和时效性的方法,其特征在于:所述DSP 6678指令集把指令的处理分成若干个子操作,每个子操作在微处理器内部由不同的部件来完成,每个部件一周期可进入一条新指令,在同一时间内,就会有多条指令交迭地在不同部件内处理,形成流水的工作模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111143580.6A CN113885029B (zh) | 2021-09-28 | 2021-09-28 | 一种基于DSP实现Sar成像中提高精度和时效性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111143580.6A CN113885029B (zh) | 2021-09-28 | 2021-09-28 | 一种基于DSP实现Sar成像中提高精度和时效性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113885029A CN113885029A (zh) | 2022-01-04 |
CN113885029B true CN113885029B (zh) | 2024-08-16 |
Family
ID=79007484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111143580.6A Active CN113885029B (zh) | 2021-09-28 | 2021-09-28 | 一种基于DSP实现Sar成像中提高精度和时效性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113885029B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104215962A (zh) * | 2014-08-04 | 2014-12-17 | 北京理工大学 | 基于单片FPGA的Chirp Scaling成像方法 |
CN108508426A (zh) * | 2018-07-03 | 2018-09-07 | 上海志良电子科技有限公司 | 基于多核dsp的sar回波信号生成方法及回波模拟器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5329283A (en) * | 1993-04-28 | 1994-07-12 | Environmental Research Institute Of Michigan | Synthetic aperture radar digital signal processor |
EP1728171A2 (en) * | 2004-03-26 | 2006-12-06 | Atmel Corporation | Dual-processor complex domain floating-point dsp system on chip |
CN110764774B (zh) * | 2019-09-05 | 2023-03-28 | 桂林航天工业学院 | 一种基于dsp平台sift算法硬件加速方法 |
CN111160582B (zh) * | 2019-12-31 | 2021-04-20 | 科大讯飞(苏州)科技有限公司 | 设备故障识别方法、装置及计算机可读存储介质 |
CN111856461B (zh) * | 2020-07-13 | 2023-04-11 | 西安电子科技大学 | 基于改进pfa的聚束sar成像方法及其dsp实现 |
-
2021
- 2021-09-28 CN CN202111143580.6A patent/CN113885029B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104215962A (zh) * | 2014-08-04 | 2014-12-17 | 北京理工大学 | 基于单片FPGA的Chirp Scaling成像方法 |
CN108508426A (zh) * | 2018-07-03 | 2018-09-07 | 上海志良电子科技有限公司 | 基于多核dsp的sar回波信号生成方法及回波模拟器 |
Also Published As
Publication number | Publication date |
---|---|
CN113885029A (zh) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hilfinger et al. | DSP specification using the Silage language | |
Van Der Houwen et al. | Parallel iteration of high-order Runge-Kutta methods with stepsize control | |
Cartwright et al. | Exact Real Arithmetic, formulating real numbers as functions | |
Nayak et al. | Precision and error analysis of MATLAB applications during automated hardware synthesis for FPGAs | |
US20020066088A1 (en) | System and method for software code optimization | |
Cortadella et al. | Evaluation of A+ B= K conditions without carry propagation | |
KR20100075588A (ko) | 산술연산용 크기 검출장치 및 방법 | |
Kountouris et al. | Profiling of SIGNAL programs and its application in the timing evaluation of design implementations | |
CN113885029B (zh) | 一种基于DSP实现Sar成像中提高精度和时效性的方法 | |
Agrawal et al. | Optimizing stream programs using linear state space analysis | |
US8332446B1 (en) | Setup of precise polynomial evaluation by utilizing a compressed root product form | |
Brand et al. | Anytime floating-point addition and multiplication-concepts and implementations | |
US20220156567A1 (en) | Neural network processing unit for hybrid and mixed precision computing | |
Shahbahrami et al. | Efficient vectorization of the FIR filter | |
Calland et al. | Retiming DAGs [direct acyclic graph] | |
Guillemot et al. | Validated numerics for algebraic path tracking | |
Liu | A co-design method of customized ISA design space exploration and fixed-point library construction for RISC-V dedicated processor | |
Coors et al. | Integer code generation for the TI TMS320C62X | |
Yeh | Processing performance of two Kalman filter algorithms with a DSP32C by using assembly and C languages | |
Pang et al. | A self-timed ICT chip for image coding | |
Mazouz et al. | An efficient real time implementation of a fast IMM for tracking a manoeuvring target | |
US7409418B2 (en) | Linearly scalable finite impulse response filter | |
Jain et al. | Floating-point nonlinear DSP coprocessor cell-Two cycle chip | |
Gupte et al. | Pipelined ALU for signal processing to implement interval arithmetic | |
JPH03192429A (ja) | 平方根演算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |