CN115756613B - 基于向量化处理的sinc插值方法、装置及SAR雷达 - Google Patents
基于向量化处理的sinc插值方法、装置及SAR雷达 Download PDFInfo
- Publication number
- CN115756613B CN115756613B CN202211510026.1A CN202211510026A CN115756613B CN 115756613 B CN115756613 B CN 115756613B CN 202211510026 A CN202211510026 A CN 202211510026A CN 115756613 B CN115756613 B CN 115756613B
- Authority
- CN
- China
- Prior art keywords
- vector
- storage area
- interpolation
- data
- reading
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000004364 calculation method Methods 0.000 claims abstract description 42
- 239000011159 matrix material Substances 0.000 claims description 24
- 238000009825 accumulation Methods 0.000 claims description 18
- 238000013500 data storage Methods 0.000 claims description 12
- 125000004122 cyclic group Chemical group 0.000 claims description 4
- 230000004907 flux Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 2
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Radar Systems Or Details Thereof (AREA)
- Complex Calculations (AREA)
Abstract
本发明涉及一种基于向量化处理的sinc插值方法、装置及SAR雷达;其中方法包括:在向量化Vector处理器中设置存储区域一、二、三、四和五;在进行sinc二维插值计算时从存储区域二中存储的位置参数中计算出当次插值所需待插值向量的中心点存储位置的偏移地址;根据偏移地址从存储区域一存储的待插值数据中读取短复数向量A;从存储区域四中读取当次插值所需插值窗口数据存储位置的偏移地址,根据偏移地址从存储区域三存储的插值窗口数据中读取短复数向量B;对短复数向量A和短复数向量B进行点积运算得到Result结果值后,存储到存储区域五中的对应位置。本发明提高了sinc插值计算执行时的有效数据通量和整体运算效率,并降低延迟。
Description
技术领域
本发明属于信号处理技术领域,具体涉及一种基于向量化处理的sinc插值方法、装置及SAR雷达。
背景技术
插值算法是数字信号处理中最为常见的数学算法之一。它的原理是对离散采集的信号序列,在信号点之间计算出平滑值,从整体上进行信号量的扩增和平滑。常用的信号处理算法包括sinc插值,在两点间插入指定个数的数据点,使得这两点间的数(包括原来的点与插入的点)满足正弦变化关系。原理为对相邻两点横纵坐标分别求N+1平均(N为需要插入的点数)。插值特点是使得插值后的数据更平滑、更接近于正弦波。
现有的sinc插值通常在CPU处理器上的实现中,发现其性能效率较低,面临以下难点问题:
算法实现过程中,插值中心点的位置离散且没有固定规律,很难实现以插值中心点为基地址的向量化数据访问操作(一次连续性数据访存)。
每次插值的迭代运算都需要进行二次访存:a)读取位置数组计算出具体坐标点位置后,存回存储器;b)再读取位置值作为地址,去存储器读取要运算的数据内容data。以上过程经历了二次间接式的访存,在普通CPU内的访问延迟和开销是非常大的。
由于插值运算的二维矩阵,需要先遍历行、再遍历行中的每个点,处理复杂度较大为N的平方。对于每个点都需要计算1次位置坐标和数据值,假设插值区间长度为16,则总的计算量为2*16*N*N。且每一次计算都要面临二次间接访存。如何有效减少访存次数,并利用向量指令提升计算并行度,是提升运行性能的关键。
发明内容
鉴于上述的分析,本发明旨在公开了一种基于向量化处理的sinc插值方法、装置及SAR雷达,解决sinc插值大规模循环迭代时二次间接访存延迟大以及多次循环迭代计算时SIMD(Single Instruction Multiple Data,单指令多数据流)向量化难以实施的问题。
本发明公开了一种基于向量化处理的sinc插值方法,包括:
在向量化Vector处理器中,设置存储区域一、二、三、四和五;存储区域一用于存储待插值二维矩阵;存储区域二用于存储待插值二维矩阵在存储区域一的存储位置参数;存储区域三用于存储插值窗口数组;存储区域四用于存储在插值计算时访问存储区域三所需的偏移地址;存储区域五用于存储插值计算的更新结果;
在进行sinc二维插值计算时,从存储区域二中的位置参数中计算出当次插值所需待插值向量的中心点存储位置的偏移地址index0;根据偏移地址index0从存储区域一中读取长度为sinc_len的短复数向量A;
从存储区域四中读取当次插值所需插值窗口数据存储位置的偏移地址indx1,根据偏移地址indx1从存储区域三中读取长度为sinc_len的短复数向量B;
对短复数向量A和短复数向量B进行点积运算得到Result结果值后,存储到存储区域五中的对应位置。
进一步地,从存储区域一中读取短复数向量A和从存储区域三中读取短复数向量B的过程为基于硬件寄存器的间接寻址过程;
在用于间接寻址的硬件寄存器中设置间接索引坐标寄存器Shift_index0和Shift_index1;其中,间接索引坐标寄存器Shift_index0用于对当次插值所需待插值向量的中心点存储位置的偏移地址index0进行寄存;间接索引坐标寄存器Shift_index1用于对当次插值所需插值窗口数据存储位置的偏移地址indx1进行寄存;
在间接寻址过程,根据获取的偏移地址定位出真实数据地址后进行数据读取。
进一步地,在进行数据读取时,基于硬件寄存器的间接寻址数据读取过程,包括:
1)根据数据读取指令,确定间接寻址需读取的是复数向量A或复数向量B;
2)根据确定的读取复数向量A或复数向量B去硬件寄存器的Shift_index0或Shift_index1中获取地址偏移index0或index1;
3)根据获取到的地址偏移index0或index1,在发出读数据请求时,自动把直接访存基地址base_addr与寄存器中暂存的index0或index1坐标地址偏移相加,合成真实数据地址final_addr到相应的存储区域中进行数据读取操作。
进一步地,还设置了mutipy_step间隔寄存器,用于在进行寻址时与偏移地址index0或index1相乘,以扩展间接寻址的地址空间访问范围。
进一步地,对短复数向量A和短复数向量B进行点积运算过程包括:
对通过偏移寄存器操作读回来的复数向量A和复数向量B,进行一次SIMD向量乘法后得到向量X后,对X向量的各个元素进行SUM内部累加求和实现点积运算;在进行SUM内部累加求和过程中,采用shuffle混洗部件实现向量内并行求和。
进一步地,采用shuffle混洗部件实现向量内并行求和,包括:
1)在处理器运算单元内,添加shuffle向量混洗部件;同时在向量处理器的指令集中支持shuffle指令,并插入到源程序的循环累加操作当中;
2)shuffle部件对向量乘法后得到向量X内的各个分量位置进行重新排列,得长度为N的SIMD向量XX;在XX内从低位到高位,相同数据位的数据实部与虚部相邻排列;
3)使用shuffle操作把向量XX的高N/2位部分交换到低位,作为向量YY,对向量YY与向量XX进行一次SIMD向量加,得到长度为N/2的部分和XX1;
4)把向量XX1高N/4位部分交换到低位,作为向量YY1,对向量YY1与向量XX1进行一次SIMD向量加,得到长度为N/4的向量XX2;
重复以上过程,直至得到长度为2的数据向量,作为最终的result结果复向量。
本发明还公开了一种基于向量化处理的sinc插值装置,向量化Vector处理器中设置包括存储区域一、二、三、四和五,待插值短向量读取模块、插值窗口读取模块、插值数据计算存储模块;
所述存储区域一用于存储待插值二维矩阵;所述存储区域二用于存储待插值二维矩阵在存储区域一的存储位置参数;所述存储区域三用于存储插值窗口数组;所述存储区域四用于存储在插值计算时访问存储区域三所需的偏移地址;所述存储区域五用于存储插值计算的更新结果;
所述待插值短向量读取模块,用于从存储区域二中的位置参数中计算出当次插值所需待插值向量的中心点存储位置的偏移地址index0;根据所述偏移地址index0从存储区域一中读取长度为sinc_len的短复数向量A;
所述插值窗口读取模块,用于从存储区域四中读取当次插值所需插值窗口数据存储位置的偏移地址indx1,根据偏移地址indx1从存储区域三中读取长度为sinc_len的短复数向量B;
所述插值数据计算存储模块,用于对短复数向量A和短复数向量B进行点积运算得到Result结果值后,存储到存储区域五中的对应位置。
进一步地,还包括间接寻址模块;所述间接寻址模块包括硬件寄存器和数据读取单元;
所述硬件寄存器中设置有间接索引坐标寄存器Shift_index0和index1;其中,
间接索引坐标寄存器Shift_index0用于对当次插值所需待插值向量的中心点存储位置的偏移地址index0进行寄存;
间接索引坐标寄存器Shift_index1用于对当次插值所需插值窗口数据存储位置的偏移地址indx1进行寄存;
数据读取单元,用于根据数据读取指令访问标寄存器Shift_index0或index1,获取偏移地址;根据获取的偏移地址定位出真实数据地址后进行数据读取。
本发明还公开了一种SAR雷达;SAR雷达中采用如上所述的基于向量化处理的sinc插值装置进行采集的二维SAR图像数据进行sinc插值。
进一步地,在基于向量化处理的sinc插值装置中,
存储区域一中存储待插值的二维SAR图像数据矩阵;
存储区域二用于存储待插值二维矩阵在存储区域一的存储位置参数;
存储区域三用于存储插值窗口数组;所述插值窗口数组为根据SAR雷达包括照射角度,飞行高度在内的物理参数,经过包括向量偏转角计算和向量求模运算在内的浮点操作后,计算确定出的插值窗口数据;
存储区域四用于存储在插值计算时访问存储区域三所需的偏移地址;
存储区域五用于存储插值计算的更新结果。
本发明可实现以下有益效果之一:
本发明公开一种基于向量化处理的sinc插值方法、装置及SAR雷达,在进行sinc插值时,减少二次间接访存带来的冗余存储器访问开销,提高计算执行时的有效数据通量。适应向量处理器的SIMD计算模式,针对SUM内部累加通过归并方式减少累加次数,提高整体运算效率降低延迟。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例一中的基于向量化处理的sinc插值方法流程图;
图2为本发明实施例一中的64位的短复数向量A和短复数向量B进行点积运算过程原理图;
图3为本发明实施例二中的基于向量化处理的sinc插值装置组成连接原理框图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
实施例一
本发明的一个实施例公开一种基于向量化处理的sinc插值方法,如图1所示,包括:
步骤S1、在向量化Vector处理器中,设置存储区域一、二、三、四和五;其中,
存储区域一用于存储待插值二维矩阵;
存储区域二用于存储待插值二维矩阵在存储区域一的存储位置参数;
存储区域三用于存储插值窗口数组;
存储区域四用于存储在插值计算时访问存储区域三所需的偏移地址;
存储区域五用于存储插值计算的更新结果;
步骤S2、在进行sinc二维插值计算时,从存储区域二中的位置参数中计算出当次插值所需待插值向量的中心点存储位置的偏移地址index0;根据偏移地址index0从存储区域一中读取长度为sinc_len的短复数向量A;
步骤S3、从存储区域四中读取当次插值所需插值窗口数据存储位置的偏移地址indx1,根据偏移地址indx1从存储区域三中读取长度为sinc_len的短复数向量B;
步骤S4、对短复数向量A和短复数向量B进行点积运算得到Result结果值后,存储到存储区域五中的对应位置;
依照上述过程进行迭代计算,对整个待插值二维矩阵的插值运算。
具体的,在所述步骤S1中,存储区域一、二和四的区域大小相同,均等于待插值二维矩阵的大小;存储区域三的行长度为sinc_len;存储区域三的每一行中均存储一个每次插值所需的短复数向量。
在进行sinc插值时,获取一帧待插值的二维图像矩阵存放到存储区域一;用于计算确定插值点地址坐标的二维位置参数矩阵,放在存储区域二;根据sinc插值的计算原理,在对存储区域一的每一个插值点进行插值计算时,用到的插值窗口数据放在存储区域三;插值窗口区域三与插值点位置坐标二进行对应时,访问存储区域三时所需的偏移地址,放在存储区域四。
通过设置的各存储区域便于实现数据与地址读取及运算操作的SIMD向量化,提高了运算的效率。
在所述步骤S2中,从存储区域二中的位置参数中计算出当次插值所需待插值向量的中心点存储位置的偏移地址index0;包括:
1)根据位置参数的浮点数据矩阵,使用三角函数运算sin/cos,向量求模sqrt(square),长度缩放这几个浮点运算步骤得到插值中心点的近似浮点值。
2)使用向上取整的格式转换指令floor,把1)中的近似浮点值修转换成整数,作为最终用于插值运算的位置坐标。
经过(浮点计算-取整数)2个步骤得到位置坐标index0,用于确定data每一行中进行插值的中心点位置。
在本实施例的步骤S2和S3中从存储区域一中读取短复数向量A和从存储区域三中读取短复数向量B的过程为基于硬件寄存器的间接寻址过程;
在设置的硬件寄存器中包括间接索引坐标寄存器Shift_index0、1;其中,
间接索引坐标寄存器Shift_index0用于对当次插值所需待插值向量的中心点存储位置的偏移地址index0进行寄存;
间接索引坐标寄存器Shift_index1用于对当次插值所需插值窗口数据存储位置的偏移地址indx1进行寄存;
在间接寻址过程,根据获取的偏移地址定位出真实数据地址后进行数据读取。
具体的,在进行数据读取时,基于硬件寄存器的间接寻址数据读取过程,包括:
1)根据数据读取指令,确定间接寻址需读取的是复数向量A或复数向量B;
2)根据确定的读取复数向量A或复数向量B去硬件寄存器的Shift_index0或1中获取地址偏移index0或1;
3)根据获取到的地址偏移index0或1,在发出读数据请求时,自动把直接访存基地址base_addr与寄存器中暂存的index0或1坐标地址偏移相加,合成真实数据地址final_addr到相应的存储区域中进行数据读取操作。
优选的,在硬件逻辑中还设置了mutipy_step间隔寄存器,用于与偏移地址index0或1相乘,以扩展间接寻址的地址空间访问范围,提高数据读取的存储器访问效率。
在本实施例中,数据读取过程,利用基于硬件寄存器的间接寻址,通过一次寻址的方式,从存储区域一或三,读取待插值向量、插值窗口数据。
由于地址偏移的读取和计算均采用硬件化实现,能够在1个芯片周期内完成,与原来先读index再读data相比,减少了二次间接寻址带来的延迟开销,直接省去1次普通的访存操作(通常的普通访存延迟在几十个时钟周期以上)。访存效率提高一倍。
优选的,在设置的硬件寄存器中还可以包括间接索引坐标寄存器Shift_index2;用于对插值计算结果的存储位置的偏移地址indx2进行寄存。采用与上述相同的基于硬件寄存器的间接寻址数据读取过程,从存储区域五中读取存储的插值计算更新结果。
具体的,在步骤4中,对通过偏移寄存器操作读回来的复数向量A和复数向量B,进行一次SIMD向量乘法后得到向量X后,对X向量的各个元素进行SUM内部累加求和实现点积运算;
在进行SUM内部累加求和过程中,采用shuffle混洗部件实现向量内并行求和。
具体的,
1)在处理器运算单元内,添加shuffle向量混洗部件;同时在向量处理器的指令集中支持shuffle指令,并插入到源程序的循环累加操作当中;
2)shuffle部件对向量乘法后得到向量X内的各个分量位置进行重新排列,得长度为N的SIMD向量XX;在XX内从低位到高位,相同数据位的数据实部与虚部相邻排列;
3)使用shuffle操作把向量XX的高N/2位部分交换到低位,作为向量YY,对向量YY与向量XX进行一次SIMD向量加,得到长度为N/2的部分和XX1;
4)把向量XX1高N/4位部分交换到低位,作为向量YY1,对向量YY1与向量XX1进行一次SIMD向量加,得到长度为N/4的向量XX2;
重复以上过程,直至得到长度为2的数据向量,作为最终的result结果复向量。
例如,通过本实施例中的SUM内部累加求和过程中,当短向量长度sinc_len等于64时,只需经过7次shuffle-vadd的交替操作后,就可以归并得到最终的result结果,,如图2所示。
这相比较于普通CPU中,累加和实现需要的64次操作,效率提升为64/(7*2)=4.57倍。通过以上shuffle部件方法辅助下,能够很好地发挥向量处理器simd计算能力,高效快速地完成sinc插值的短向量乘累加运算。
综上所述,本实施例公开的基于向量化处理的sinc插值方法,对sinc插值进行优化,减少了二次间接访存带来的冗余存储器访问开销,提高计算执行时的有效数据通量。适应向量处理器的SIMD计算模式,针对SUM内部累加通过归并方式减少累加次数,提高整体运算效率降低延迟。
实施例二
本发明的一个实施例公开一种基于向量化处理的sinc插值装置,如图3所示,在向量化Vector处理器中设置包括存储区域一、二、三、四和五,待插值短向量读取模块、插值窗口读取模块、插值数据计算存储模块;
所述存储区域一用于存储待插值二维矩阵;
所述存储区域二用于存储待插值二维矩阵在存储区域一的存储位置参数;
所述存储区域三用于存储插值窗口数组;
所述存储区域四用于存储在插值计算时访问存储区域三所需的偏移地址;
所述存储区域五用于存储插值计算的更新结果;
所述待插值短向量读取模块,用于从存储区域二中的位置参数中计算出当次插值所需待插值向量的中心点存储位置的偏移地址index0;根据所述偏移地址index0从存储区域一中读取长度为sinc_len的短复数向量A;
所述插值窗口读取模块,用于从存储区域四中读取当次插值所需插值窗口数据存储位置的偏移地址indx1,根据偏移地址indx1从存储区域三中读取长度为sinc_len的短复数向量B;
所述插值数据计算存储模块,用于对短复数向量A和短复数向量B进行点积运算得到Result结果值后,存储到存储区域五中的对应位置。
具体的,还包括间接寻址模块;所述间接寻址模块包括硬件寄存器和数据读取单元;
所述硬件寄存器中设置有间接索引坐标寄存器Shift_index0和1;其中,
间接索引坐标寄存器Shift_index0用于对当次插值所需待插值向量的中心点存储位置的偏移地址index0进行寄存;
间接索引坐标寄存器Shift_index1用于对当次插值所需插值窗口数据存储位置的偏移地址indx1进行寄存;
数据读取单元ReadUnit,用于根据数据读取指令访问标寄存器Shift_index0或1,获取偏移地址;根据获取的偏移地址定位出真实数据地址后进行数据读取。
数据读取单元的数据读取过程,包括:
1)根据数据读取指令,确定读取复数向量A或复数向量B;
2)根据确定的读取复数向量A或复数向量B去硬件寄存器的Shift_index0或1中获取地址偏移index0或1;
3)根据获取地址偏移index0或1读取数据时,发出的读数据请求,自动把直接访存地址base_addr与寄存器中暂存的index0或1坐标偏移相加,合成真实数据地址final_addr到相应的存储区域中进行数据读取操作。
优选的,在硬件逻辑中还设置了mutipy_step间隔寄存器,用于与偏移地址index0或1相乘,以扩展间接寻址的地址空间访问范围,提高数据读取的存储器访问效率。
优选的,在设置的硬件寄存器中还可以包括间接索引坐标寄存器Shift_index2;用于对插值计算结果的存储位置的偏移地址indx2进行寄存。采用与上述相同的基于硬件寄存器的间接寻址数据读取过程,从存储区域五中读取存储的插值计算更新结果。
还可以根据具体的需要,再添加其他的间接索引坐标寄存器,实现对其他数据的读取。
在本实施例中,所述插值数据计算存储模块中设置SIMD向量乘法模块和SIMD向量加法模块;
所述SIMD向量乘法模块和SIMD向量加法模块;配合对短复数向量A和短复数向量B进行点积运算得到Result结果值;
所述SIMD向量乘法模块对通过偏移寄存器操作读回来的复数向量A和复数向量B,进行一次SIMD向量乘法后得到向量X;
所述SIMD向量加法模块,用于对X向量的各个元素,进行SUM内部累加求和,实现点积运算;
优选的,在进行SUM内部累加求和过程中,采用shuffle混洗部件实现向量内并行求和。
具体的求和过程,包括:
1)在处理器运算单元内,添加shuffle向量混洗部件;同时在向量处理器的指令集中支持shuffle指令,并插入到源程序的循环累加操作当中;
2)shuffle部件对向量乘法后得到向量X内的各个分量位置进行重新排列,得长度为N的SIMD向量XX;在XX内从低位到高位,相同数据位的数据实部与虚部相邻排列;
3)使用shuffle操作把向量XX的高N/2位部分交换到低位,作为向量YY,对向量YY与向量XX进行一次SIMD向量加,得到长度为N/2的部分和XX1;
4)把向量XX1高N/4位部分交换到低位,作为向量YY1,对向量YY1与向量XX1进行一次SIMD向量加,得到长度为N/4的向量X2;
重复以上过程,直至得到长度为2的数据向量,作为最终的result结果复向量。
实施例三
本发明的一个实施例公开一种SAR雷达。所述SAR雷达采用上一实施例中的基于向量化处理的sinc插值装置进行采集的二维SAR图像数据进行sinc插值。
其中,基于向量化处理的sinc插值装置中,
存储区域一中存储待插值的二维SAR图像数据矩阵;
所述存储区域二用于存储待插值二维矩阵在存储区域一的存储位置参数;
所述存储区域三用于存储插值窗口数组;
所述插值窗口数组为根据SAR雷达的照射角度,飞行高度等物理参数,经过向量偏转角计算,向量求模运算等多个浮点操作步骤,计算确定的插值窗口数据;
所述存储区域四用于存储在插值计算时访问存储区域三所需的偏移地址;
所述存储区域五用于存储插值计算的更新结果。
通过基于向量化处理的sinc插值装置对每一帧SAR图像进行插值实现了,实现了对高分辨率雷达处理图像的平滑和信号质量的优化,进而提高最终图像呈现的效果和细致度。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种基于向量化处理的sinc插值方法,其特征在于,包括:
在向量化Vector处理器中,设置存储区域一、二、三、四和五;存储区域一用于存储待插值二维矩阵;存储区域二用于存储待插值二维矩阵在存储区域一的存储位置参数;存储区域三用于存储插值窗口数组;存储区域四用于存储在插值计算时访问存储区域三所需的偏移地址;存储区域五用于存储插值计算的更新结果;
在进行sinc二维插值计算时,从存储区域二中的位置参数中计算出当次插值所需待插值向量的中心点存储位置的偏移地址index0;根据偏移地址index0从存储区域一中读取长度为sinc_len的短复数向量A;
从存储区域四中读取当次插值所需插值窗口数据存储位置的偏移地址indx1,根据偏移地址indx1从存储区域三中读取长度为sinc_len的短复数向量B;
对短复数向量A和短复数向量B进行点积运算得到Result结果值后,存储到存储区域五中的对应位置。
2.根据权利要求1所述的基于向量化处理的sinc插值方法,其特征在于,从存储区域一中读取短复数向量A和从存储区域三中读取短复数向量B的过程为基于硬件寄存器的间接寻址过程;
在用于间接寻址的硬件寄存器中设置间接索引坐标寄存器Shift_index0和Shift_index1;其中,间接索引坐标寄存器Shift_index0用于对当次插值所需待插值向量的中心点存储位置的偏移地址index0进行寄存;间接索引坐标寄存器Shift_index1用于对当次插值所需插值窗口数据存储位置的偏移地址indx1进行寄存;
在间接寻址过程,根据获取的偏移地址定位出真实数据地址后进行数据读取。
3.根据权利要求2所述的基于向量化处理的sinc插值方法,其特征在于,
在进行数据读取时,基于硬件寄存器的间接寻址数据读取过程,包括:
1)根据数据读取指令,确定间接寻址需读取的是复数向量A或复数向量B;
2)根据确定的读取复数向量A或复数向量B去硬件寄存器的Shift_index0或Shift_index1中获取地址偏移index0或index1;
3)根据获取到的地址偏移index0或index1,在发出读数据请求时,自动把直接访存基地址base_addr与寄存器中暂存的index0或index1坐标地址偏移相加,合成真实数据地址final_addr到相应的存储区域中进行数据读取操作。
4.根据权利要求3所述的基于向量化处理的sinc插值方法,其特征在于,
还设置了mutipy_step间隔寄存器,用于在进行寻址时与偏移地址index0或index1相乘,以扩展间接寻址的地址空间访问范围。
5.根据权利要求1所述的基于向量化处理的sinc插值方法,其特征在于,对短复数向量A和短复数向量B进行点积运算过程包括:
对通过偏移寄存器操作读回来的复数向量A和复数向量B,进行一次SIMD向量乘法后得到向量X后,对X向量的各个元素进行SUM内部累加求和实现点积运算;在进行SUM内部累加求和过程中,采用shuffle混洗部件实现向量内并行求和。
6.根据权利要求5所述的基于向量化处理的sinc插值方法,其特征在于,
采用shuffle混洗部件实现向量内并行求和,包括:
1)在处理器运算单元内,添加shuffle向量混洗部件;同时在向量处理器的指令集中支持shuffle指令,并插入到源程序的循环累加操作当中;
2)shuffle部件对向量乘法后得到向量X内的各个分量位置进行重新排列,得长度为N的SIMD向量XX;在XX内从低位到高位,相同数据位的数据实部与虚部相邻排列;
3)使用shuffle操作把向量XX的高N/2位部分交换到低位,作为向量YY,对向量YY与向量XX进行一次SIMD向量加,得到长度为N/2的部分和XX1;
4)把向量XX1高N/4位部分交换到低位,作为向量YY1,对向量YY1与向量XX1进行一次SIMD向量加,得到长度为N/4的向量XX2;
重复以上过程,直至得到长度为2的数据向量,作为最终的result结果复向量。
7.一种基于向量化处理的sinc插值装置,其特征在于,
在向量化Vector处理器中设置包括存储区域一、二、三、四和五,待插值短向量读取模块、插值窗口读取模块、插值数据计算存储模块;
所述存储区域一用于存储待插值二维矩阵;所述存储区域二用于存储待插值二维矩阵在存储区域一的存储位置参数;所述存储区域三用于存储插值窗口数组;所述存储区域四用于存储在插值计算时访问存储区域三所需的偏移地址;所述存储区域五用于存储插值计算的更新结果;
所述待插值短向量读取模块,用于从存储区域二中的位置参数中计算出当次插值所需待插值向量的中心点存储位置的偏移地址index0;根据所述偏移地址index0从存储区域一中读取长度为sinc_len的短复数向量A;
所述插值窗口读取模块,用于从存储区域四中读取当次插值所需插值窗口数据存储位置的偏移地址indx1,根据偏移地址indx1从存储区域三中读取长度为sinc_len的短复数向量B;
所述插值数据计算存储模块,用于对短复数向量A和短复数向量B进行点积运算得到Result结果值后,存储到存储区域五中的对应位置。
8.根据权利要求7所述的基于向量化处理的sinc插值装置,其特征在于,还包括间接寻址模块;所述间接寻址模块包括硬件寄存器和数据读取单元;
所述硬件寄存器中设置有间接索引坐标寄存器Shift_index0和index1;其中,
间接索引坐标寄存器Shift_index0用于对当次插值所需待插值向量的中心点存储位置的偏移地址index0进行寄存;
间接索引坐标寄存器Shift_index1用于对当次插值所需插值窗口数据存储位置的偏移地址indx1进行寄存;
数据读取单元,用于根据数据读取指令访问标寄存器Shift_index0或index1,获取偏移地址;根据获取的偏移地址定位出真实数据地址后进行数据读取。
9.一种SAR雷达;其特征在于,SAR雷达中采用如权利要求7或8所述的基于向量化处理的sinc插值装置进行采集的二维SAR图像数据进行sinc插值。
10.根据权利要求9所述的SAR雷达,其特征在于,
在基于向量化处理的sinc插值装置中,
存储区域一中存储待插值的二维SAR图像数据矩阵;
存储区域二用于存储待插值二维矩阵在存储区域一的存储位置参数;
存储区域三用于存储插值窗口数组;所述插值窗口数组为根据SAR雷达包括照射角度,飞行高度在内的物理参数,经过包括向量偏转角计算和向量求模运算在内的浮点操作后,计算确定出的插值窗口数据;
存储区域四用于存储在插值计算时访问存储区域三所需的偏移地址;
存储区域五用于存储插值计算的更新结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211510026.1A CN115756613B (zh) | 2022-11-29 | 2022-11-29 | 基于向量化处理的sinc插值方法、装置及SAR雷达 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211510026.1A CN115756613B (zh) | 2022-11-29 | 2022-11-29 | 基于向量化处理的sinc插值方法、装置及SAR雷达 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115756613A CN115756613A (zh) | 2023-03-07 |
CN115756613B true CN115756613B (zh) | 2023-08-29 |
Family
ID=85340081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211510026.1A Active CN115756613B (zh) | 2022-11-29 | 2022-11-29 | 基于向量化处理的sinc插值方法、装置及SAR雷达 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115756613B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193784A (zh) * | 2017-05-17 | 2017-09-22 | 南京大学 | 高精度低硬件复杂度的sinc插值实现方法及系统 |
CN112986997A (zh) * | 2021-04-09 | 2021-06-18 | 中国科学院空天信息创新研究院 | 无人机载sar实时成像处理方法、装置、电子设备 |
CN113191491A (zh) * | 2021-03-16 | 2021-07-30 | 杭州慧芯达科技有限公司 | 多维度并行的人工智能处理器架构 |
CN115291215A (zh) * | 2022-09-29 | 2022-11-04 | 中国科学院空天信息创新研究院 | 基于升降轨sar卫星的长时序二维形变快速解算方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPO799197A0 (en) * | 1997-07-15 | 1997-08-07 | Silverbrook Research Pty Ltd | Image processing method and apparatus (ART01) |
US20160125263A1 (en) * | 2014-11-03 | 2016-05-05 | Texas Instruments Incorporated | Method to compute sliding window block sum using instruction based selective horizontal addition in vector processor |
US11037330B2 (en) * | 2017-04-08 | 2021-06-15 | Intel Corporation | Low rank matrix compression |
-
2022
- 2022-11-29 CN CN202211510026.1A patent/CN115756613B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193784A (zh) * | 2017-05-17 | 2017-09-22 | 南京大学 | 高精度低硬件复杂度的sinc插值实现方法及系统 |
CN113191491A (zh) * | 2021-03-16 | 2021-07-30 | 杭州慧芯达科技有限公司 | 多维度并行的人工智能处理器架构 |
CN112986997A (zh) * | 2021-04-09 | 2021-06-18 | 中国科学院空天信息创新研究院 | 无人机载sar实时成像处理方法、装置、电子设备 |
CN115291215A (zh) * | 2022-09-29 | 2022-11-04 | 中国科学院空天信息创新研究院 | 基于升降轨sar卫星的长时序二维形变快速解算方法 |
Non-Patent Citations (1)
Title |
---|
基于GPU的多模式SAR实时成像算法研究;翟新刚等;《电子测量技术》;第39卷(第10期);81-86 * |
Also Published As
Publication number | Publication date |
---|---|
CN115756613A (zh) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6260088B1 (en) | Single integrated circuit embodying a risc processor and a digital signal processor | |
JP5689282B2 (ja) | 行列をsimdマルチコア・プロセッサ・アーキテクチャ上で転置するためのコンピュータ実装方法、コンピュータ可読ストレージ媒体及びシステム | |
Fant | A nonaliasing, real-time spatial transform technique | |
JP5840994B2 (ja) | 行列演算装置 | |
CN103440121B (zh) | 一种面向向量处理器的三角矩阵乘法向量化方法 | |
US4821224A (en) | Method and apparatus for processing multi-dimensional data to obtain a Fourier transform | |
JPH11161637A (ja) | 高速フーリエ変換を用いて短い待ち時間でアレイ処理を行う並列システム | |
Liu et al. | Memory-efficient architecture for accelerating generative networks on FPGA | |
JPH03127282A (ja) | ディジタル・イメージのランド変換装置および方法 | |
WO2022068205A1 (zh) | 数据存储和读取方法及系统 | |
CN115756613B (zh) | 基于向量化处理的sinc插值方法、装置及SAR雷达 | |
Fjeldtvedt et al. | CubeDMA–Optimizing three-dimensional DMA transfers for hyperspectral imaging applications | |
Schuiki et al. | NTX: An energy-efficient streaming accelerator for floating-point generalized reduction workloads in 22 nm FD-SOI | |
CN101236488B (zh) | 协同分布式的处理方法及装置 | |
WO2013097235A1 (zh) | 并行位反序装置和方法 | |
CN115829820A (zh) | 插值方法、图像处理方法、gpu及芯片 | |
CN110471041B (zh) | 一种基于Vivado HLS的二维DOA估计方法 | |
JP7136343B2 (ja) | データ処理システム、方法、およびプログラム | |
EP3757821A1 (en) | Apparatus and method for transforming matrix, and dataprocessing system | |
JPH0481231B2 (zh) | ||
JPH05143633A (ja) | イソジオメトリツク形高速フーリエ変換実現方式 | |
Choudhary et al. | FPGA Accelerated Bi-Cubic Convolution for Image Interpolation | |
JPS59100972A (ja) | カラ−画像処理装置 | |
Van Luong et al. | A massively parallel approach to affine transformataion in medical image registration | |
Liu et al. | Vector Memory-Access Shuffle Fused Instructions for FFT-Like Algorithms |
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 |