CN110058201B - 一种基于fpga资源复用实现多波形多速率时域脉压的方法 - Google Patents

一种基于fpga资源复用实现多波形多速率时域脉压的方法 Download PDF

Info

Publication number
CN110058201B
CN110058201B CN201910323899.3A CN201910323899A CN110058201B CN 110058201 B CN110058201 B CN 110058201B CN 201910323899 A CN201910323899 A CN 201910323899A CN 110058201 B CN110058201 B CN 110058201B
Authority
CN
China
Prior art keywords
port
data
read
ram
time slice
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
Application number
CN201910323899.3A
Other languages
English (en)
Other versions
CN110058201A (zh
Inventor
王辉辉
徐伟
雷欢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Electronic Engineering Research Institute
Original Assignee
Xian Electronic Engineering Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Electronic Engineering Research Institute filed Critical Xian Electronic Engineering Research Institute
Priority to CN201910323899.3A priority Critical patent/CN110058201B/zh
Publication of CN110058201A publication Critical patent/CN110058201A/zh
Application granted granted Critical
Publication of CN110058201B publication Critical patent/CN110058201B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Complex Calculations (AREA)

Abstract

本发明涉及一种基于FPGA资源复用实现多波形多速率时域脉压的方法,复用FPGA内部的乘法器和存储器资源,对应不同波形选择不同滤波器系数,实现多波形多波束多数据率的时域脉压处理方法。包括以下步骤:(a)计算需要处理的通道个数,并初始化所有处理通道,在写时间片内将输入数据按速率写入多个双口RAM缓存区;(b)根据读时间片产生读地址和读控制信号,控制数据从双口RAM两个口正序和反序对称读出,并对读出的数据进行特殊处理;(c)按照系数对称的原则对处理后的数据进行预加处理,将预加后的数据和对应的滤波器系数进行乘累加操作,不同波形复用这些乘法器,以实现不同波形脉压输出。

Description

一种基于FPGA资源复用实现多波形多速率时域脉压的方法
技术领域
本发明属于阵列雷达数字信号处理领域,涉及一种用FPGA相同乘法器和存储器资源实现的多种波形多种数据率时域数字脉冲压缩算法,可广泛应用于现代雷达的数字阵列信号处理机产品领域。
背景技术
现代雷达系统广泛采用数字脉冲压缩技术,用以解决距离和分辨能力之间的矛盾。雷达信号数字脉冲压缩处理主要通过时域和频域两种方法来实现。频域处理需要将系统接收数据缓存,雷达系统处理的距离单元越多,存储量的需求就越大。频域脉压对缓存数据进行快速傅里叶变换(FFT)和逆变换(IFFT)等处理,而FFT和IFFT的处理长度一般要求是二的幂次方,往往要在输入数据中插补大量的零,这影响了处理效率,同时FFT和IFFT的处理时间随着处理长度的增加成对数增加,随着脉压比的增加,频域脉压的处理时间就大大增加,而时域脉压处理时间只与滤波器的阶数有关,与输入数据的长度无关。另一方面时域处理方法得到的信噪比(SNR)损失要略小于频域方法,因此对于实时性要求高的大型多功能相控阵雷达的数字脉冲压缩,频域方法有一定的局限性,一般采用时域方法来实现。时域脉压一般通过FIR滤波器来实现,由于系统存在多种波形分时工作的可能性,因此针对不同波形的时域脉压模块需要独立设计,这大大增加了FPGA的乘法器和存储器资源。
发明内容
要解决的技术问题
针对多功能雷达的多工作波形多数据率脉冲压缩需要资源大的问题,本发明提出一种基于FPGA资源复用实现多波形多速率时域脉压的方法。
技术方案
一种基于FPGA资源复用实现多波形多速率时域脉压的方法,其特征在于步骤如下:
步骤1:根据输入数据速率、系统工作时钟频率以及时域脉压滤波器阶数这三个参数来计算需要同时处理的通道个数N:
N=ceil(H/(M-1))
H=ceil(L*X/2)
M=X/Y
其中,H与当前波形相匹配的脉压匹配滤波器的阶数,X为系统时域脉压模块的工作时钟频率,Y为脉压模块输入的数据的速率,L为当前波形的脉冲宽度,ceil为向上取整;
在一个新的脉冲重复周期PRI到来时,对双口RAM进行人为清零操作,即将双口RAM中的最后面的L*X深度进行写零操作;当PRI到来时,产生一个初始化脉冲,该脉冲的周期个数为H;同时对N个双口RAM的A口和B口进行写操作,A口写地址从K-H开始写,B口地址从K-2H开始写;
当清零结束后,写控制模块控制数据按照X的数据速率从缓存区读出,数据的有效信号为Nd信号,当Nd有效时将A口地址进行累加操作,增量为1;同时在写时间片内将数据写入N个双口RAM的A口中去,完成数据的写操作;在写时间片内,B口不进行写操作;
步骤2:当第一个输入数据写入N个双口RAM中后,由读控制模块产生一个开始脉压处理的标志信号start_flag,该信号在PRI脉冲到来时进行复位操作,也即将start_flag置为低电平;当第一个输入数据的Nd到来后,将该信号置为高电平,高电平一直保持到下个PRI脉冲到来;在start_flag为高电平期间进行读操作,每输入一个新的数据也就是一个新的Nd到来时,需要对双口RAM的A口和B口的读地址赋初值;当第一个Nd到来时,第一个双口RAM的A口和B口的初始化读地址为:K-L*X+1,0;第二个双口RAM的A口和B口的初始化读地址为:K-L*X+1+(M-1),K-(M-1);……依此类推,第N个双口RAM的A口和B口的初始化读地址为:K-L*X+1+(M-1)*(N-1),K-(M-1)*(N-1);在Nd信号不为高且start_flag信号为高电平的读时间片内,所有通道的双口RAM的A口的读地址进行累加操作,增量为1;所有通道的双口RAM的B口的读地址进行递减操作,递减量为1;从第二个Nd信号到来开始,每当一个新的Nd信号到来时,所有双口RAM的A口的读地址在当前的基础上减去一个固定值,该值为M-2;所有双口RAM的B口的读地址在当前的基础上加上一个固定值,该值为M;然后将当前值作为A口和B口下一个读时间片的初始值,当读时间片到来时,所有RAM的A口的读地址进行累加操作,增量为1,B口的读地址进行递减操作,递减量为1;按照上述过程重复进行,由于在FPGA中地址是定点数,双口RAM的A口和B口的地址循环范围为0~(K-1),因此当地址为K-1时,如果地址进行自加1操作,则下一个地址变为0;当前地址为0,如果地址进行递减1操作,则下一个地址变为K-1,实现数据的正序列和反序列对称输出;在所有的读时间片内,都将最后一个通道的RAM的B口输出数据的前H-(N-1)*(M-1)个数据保留,而该通道B口输出的其他数据强制置零;并将滤波器系数和数据同时送入乘累加模块进行处理;所述的乘累加模块调用的为xilinx的FPGA自带的乘累加器的IP核,该IP核可以对输入口A和D的两路数据进行预加处理,然后将预加的结果和B口输入数据相乘,相乘结果可以从C口输入和下一个乘的结果进行累加操作并输出;
步骤3:输入到乘累加模块的为N个通道RAM输出的A口和B口数据进行整理后的结果,将同一个通道的A口和B口整理后的数据送入FPGA自带的乘累加IP核的A口和D口,先进行预加处理,也就是将A口和B口对应的数据先进行加法计算;同时将滤波器系数从系数RAM中读出,送入乘累加IP核的B口,预加的结果和C口对应的系数相乘得到第一个数据的乘结果,并在一个读时间片内将相乘的结果反馈到乘累加IP核的C口,实现当前读时间片内所有乘结果的累加,从而得到当前读时间片内的当前通道的乘累加输出结果,最后把N个通道当前读时间片内的结果对应相加就得到了该读时间片内最终的乘累加结果,也就是一个脉压输出值;从RAM读出的数据分为实部和虚部,而系数RAM存储的系数也分为实部和虚部,根据复数乘法运算,需要四个乘累加模块,分别实现数据实部和系数实部乘累加得到RMR,数据实部和系数虚部乘累加得到RMI,数据虚部和系数实部乘累加得到IMR,数据虚部和系数虚部乘累加得到IMI;最终的脉压输出结果实部为Real=RMR-IMI,虚部为Image=RMI+IMR;滤波器系数矩阵按照M-1行N列进行存储,第一列存储滤波器系数的1~(M-1),第二列存储滤波器系数的M~2*(M-1),依此类推,第N列存储滤波器系数的(N-1)*(M-1)+1~H,第N列未填满的共(M-1)-(H-(N-1)*(M-1))-1个数据进行补零处理,然后将此矩阵存入FPGA的内部存储器RAM中;读控制模块在每个读时间片内对该RAM进行读取,按照当前波形对应的脉压滤波器系数存放的地址依次读出滤波器系数,不同的滤波器系数只需改变起始地址即可;在每个读时间片内,将第一列系数和第一个通道的预加后的数据依次相乘并进行乘累加,第二列系数和第二个通道读时间片内的预加后的数据依次相乘并进行乘累加,依此类推,第N列系数和第N个通道读时间片内的预加后的数据依次相乘并进行乘累加;每个读时间片内都按照行地址进行递增,一次读出一行的数据,并把该行的N个数据分别对应的送到N个通道,依次循环往复,直到所有输入数据全部处理完毕。
有益效果
本发明提出的一种基于FPGA资源复用实现多波形多速率时域脉压的方法,实现了多波形、多数据速率、多波束的时域数字脉压。与传统时域实现方法相比,本发明的创新点在于:
1.使用相同的乘法器和存储器资源实现了多波形时域脉压;
2.读时间片内实现正序和反序对称读出;
3.滤波器的存储和读取进行特殊处理;
4.参数自动计算,实现了多速率、多波束的数据脉压同时处理。
附图说明
图1为本发明方法之步骤的流程图;
图2为本发明写操作控制图;
图3为本发明读操作控制图;
图4为本发明实施例之乘累加数据控制流程图;
图5为本发明滤波器系数存取示图;
图6本发明方法所使用的FPGA乘累加器的原理图;
具体实施方式
现结合实施例、附图对本发明作进一步描述:
本发明提供了一种复用FPGA内部的乘法器和存储器资源,对应不同波形选择不同滤波器系数,实现多波形多波束多数据率的时域脉压处理方法。包括以下步骤:(a)计算需要处理的通道个数,并初始化所有处理通道,然后将输入数据按速率写入多个双口RAM缓存区(根据输入波形所对应的滤波器阶数、系统工作时钟、输入数据速率参数自动计算处理通道个数,并产生写时间片控制数据分别写入多个通道);(b)根据读时间片产生读地址和读控制信号,控制数据从双口RAM两个口正序和反序对称读出,并对读出的数据进行特殊处理(利用工作时钟和输入数据速率的比值关系,产生读时间片区,在读时间片内产生读地址以及读控制,将数据从双口RAM的两个口分别正序和反序对称读出,并根据参数对最后一个通道的部分数据进行置零操作);(c)按照系数对称的原则对处理后的数据进行预加处理,将预加后的数据和对应的滤波器系数进行乘累加操作,不同波形复用这些乘法器,以实现不同波形脉压输出(根据对称原则,对处理后的正序和反序数据进行预加处理,预加结果和对应的滤波器系数相乘并完成所有乘结果的累加操作,同时完成所有通道的累加操作,得到最终脉压输出;将奇对称或偶对称的滤波器系数按照特殊的存储矩阵方式进行存储,并在读时间片内依次读出多个通道所对应的滤波器系数)。
多功能雷达为实现多种功能会有多个不同的工作模式,不同工作模式存在不同波形、不同数据速率、不同波束个数分时工作的可能,因此进入脉压模块的数据速率是不同的,波束个数也不同,但对于数据速率确定、波形样式确定的工作模式,时域脉压的匹配滤波器系数就是固定的,该数据速率该波形条件下的一个波束数据的时域脉压实现所需的资源是固定的。对于雷达系统为了节省系统资源,采用的波形一般都是奇对称或者偶对称的,因此本发明只讨论奇对称或者偶对称波形的单个波束的时域脉压实现,不同波束的实现只需调用多个单波束实现模块即可。单个波束时域脉压采用滤波器进行处理,滤波器的阶数和波形以及波形采样速率相对应。本发明是用某雷达数字信号处理板上的FPGA来实现的,FPGA为一片Xilinx公司的FPGA-XC6VLX315T。多波形多速率的单个波束的时域脉压实现的具体方法如下:
1.根据输入数据速率、系统工作时钟频率以及时域脉压滤波器阶数这三个参数来计算需要同时处理的通道个数,即在图1的步骤S101中需要写入数据的双口RAM的个数。不失一般性,假定当前波形的脉冲宽度为L(us),系统时域脉压模块的工作时钟频率为X(MHz),脉压模块输入的数据的速率为Y(MHz),且M=X/Y为一大于1的正整数。根据对称原则,与当前波形相匹配的脉压匹配滤波器的阶数为H=ceil(L*X/2),则需要同时处理的通道个数为N=ceil(H/(M-1)),这里的ceil为向上取整处理。FPGA中存储数据的双口RAM的深度K应当大于L*X,并且K为2的幂次方。由于存储数据的双口RAM不具备数据清零操作,为了不同的脉冲重复间隔(PRI)之间数据进行脉压处理时互不影响,需要在一个新的脉冲重复周期(PRI)到来时,对双口RAM进行人为清零操作,也就是将双口RAM中的最后面的L*X深度进行写零操作。当PRI到来时,产生一个初始化脉冲,该脉冲的周期个数为H。为了减少清零时间,同时对N个双口RAM的A口和B口进行写操作,A口写地址从(K-H)开始写,B口地址从(K-2H)开始写,这样大大减少了清零的时间。当清零结束后,图1中的步骤S101中的写控制模块控制数据按照X(MHz)的数据速率从缓存区读出,数据的有效信号为图2中的Nd信号,当Nd有效时将A口地址进行累加操作,增量为1。同时在写时间片内将数据写入N个双口RAM的A口中去,完成数据的写操作。在写时间片内,B口不进行写操作。具体的写操作时序图见图2所示。
2.当第一个输入数据写入N个双口RAM中后,由图1中的步骤S102中的读控制模块产生一个开始脉压处理的标志信号start_flag,该信号在PRI脉冲到来时进行复位操作,也即将start_flag置为低电平。当第一个输入数据的Nd到来后,将该信号置为高电平,高电平一直保持到下个PRI脉冲到来。在start_flag为高电平期间进行读操作,每输入一个新的数据也就是一个新的Nd到来时,需要对双口RAM的A口和B口的读地址赋初值。当第一个Nd到来时,第一个双口RAM的A口和B口的初始化读地址为:K-L*X+1,0;第二个双口RAM的A口和B口的初始化读地址为:K-L*X+1+(M-1),K-(M-1);……依此类推,第N个双口RAM的A口和B口的初始化读地址为:K-L*X+1+(M-1)*(N-1),K-(M-1)*(N-1)。在Nd信号不为高且start_flag信号为高电平的读时间片内,所有通道的双口RAM的A口的读地址进行累加操作,增量为1。所有通道的双口RAM的B口的读地址进行递减操作,递减量为1,如图3所示。从第二个Nd信号到来开始,每当一个新的Nd信号到来时,所有双口RAM的A口的读地址在当前的基础上减去一个固定值,该值为(M-2)。所有双口RAM的B口的读地址在当前的基础上加上一个固定值,该值为M。然后将当前值作为A口和B口下一个读时间片的初始值,当读时间片到来时,所有RAM的A口的读地址进行累加操作,增量为1,B口的读地址进行递减操作,递减量为1。按照上述过程重复进行,由于在FPGA中地址是定点数,双口RAM的A口和B口的地址循环范围为0~(K-1),因此当地址为K-1时,如果地址进行自加1操作,则下一个地址变为0;当前地址为0,如果地址进行递减1操作,则下一个地址变为K-1;因此通过循环地址的读操作就可实现数据的正序列和反序列对称输出,读时序控制见图3所示。在数据读出后需要对数据进行特殊处理,只对最后一个通道进行处理,其他通道数据保持不变。在所有的读时间片内,都将最后一个通道的RAM的B口输出数据的前H-(N-1)*(M-1)个数据保留,而该通道B口输出的其他数据强制置零。这样不管对于奇对称还是偶对称能保证一个完整的数据长度(L*X)被读出来进行脉压处理,具体的读操作时序见图3所示。在图1中的步骤S102中数据整理模块输出数据时,读控制模块同时控制滤波器系数读出,并将系数和数据送入同时乘累加模块进行处理。
3.图1中的步骤S103中,乘累加模块调用的为xilinx的FPGA自带的乘累加器的IP核,该IP核可以对输入口A和D的两路数据进行预加处理,然后将预加的结果和B口输入数据相乘,相乘结果可以从C口输入和下一个乘的结果进行累加操作并输出,该IP核的原理图如图6所示。输入到乘累加模块的为N个通道RAM输出的A口和B口数据进行整理后的结果,将同一个通道的A口和B口整理后的数据送入FPGA自带的乘累加IP核的A口和D口,先进行预加处理,也就是将A口和B口对应的数据先进行加法计算。同时将系数从系数RAM中读出,送入乘累加IP核的B口,预加的结果和C口对应的系数相乘得到第一个数据的乘结果,并在一个读时间片内将相乘的结果反馈到乘累加IP核的C口,实现当前读时间片内所有乘结果的累加,从而得到当前读时间片内的当前通道的乘累加输出结果,最后把N个通道当前读时间片内的结果对应相加就得到了该读时间片内最终的乘累加结果,也就是一个脉压输出值。步骤S102中从RAM读出的数据分为实部和虚部,而系数RAM存储的系数也分为实部和虚部,根据复数乘法运算,需要四个乘累加模块,分别实现数据实部和系数实部乘累加得到RMR,数据实部和系数虚部乘累加得到RMI,数据虚部和系数实部乘累加得到IMR,数据虚部和系数虚部乘累加得到IMI。最终的脉压输出结果实部为Real=RMR-IMI,虚部为Image=RMI+IMR。由于划分了N个通道,因此滤波器的系数存储需要做特别的处理,滤波器系数矩阵按照(M-1)行N列进行存储,第一列存储滤波器系数的1~(M-1),第二列存储滤波器系数的M~2*(M-1),依此类推,第N列存储滤波器系数的(N-1)*(M-1)+1~H,第N列未填满的共(M-1)-(H-(N-1)*(M-1))-1个数据进行补零处理,然后将此矩阵存入FPGA的内部存储器RAM中。步骤S102中的读控制模块在每个读时间片内对该RAM进行读取,按照当前波形对应的脉压滤波器系数存放的地址依次读出滤波器系数,不同的滤波器系数只需改变起始地址即可。滤波处理是个线性卷积的过程,为直观可见,本发明仅以一个长度为L*X的完整输入数据的乘累加过程示例,乘累加数据控制流程实现如图4所示。在图4中,在每个读时间片内,将第一列系数和第一个通道的预加后的数据依次相乘并进行乘累加,第二列系数和第二个通道读时间片内的预加后的数据依次相乘并进行乘累加,依此类推,第N列系数和第N个通道读时间片内的预加后的数据依次相乘并进行乘累加。系数存取如图5所示,每个读时间片内都按照行地址进行递增,一次读出一行的数据,并把该行的N个数据分别对应的送到N个通道,依次循环往复,直到所有输入数据全部处理完毕。

Claims (1)

1.一种基于FPGA资源复用实现多波形多速率时域脉压的方法,其特征在于步骤如下:
步骤1:根据输入数据速率、系统工作时钟频率以及时域脉压滤波器阶数这三个参数来计算需要同时处理的通道个数N:
N=ceil(H/(M-1))
H=ceil(L*X/2)
M=X/Y
其中,H与当前波形相匹配的脉压匹配滤波器的阶数,X为系统时域脉压模块的工作时钟频率,Y为脉压模块输入的数据的速率,L为当前波形的脉冲宽度,ceil为向上取整;
在一个新的脉冲重复周期PRI到来时,对双口RAM进行人为清零操作,即将双口RAM中的最后面的L*X深度进行写零操作;当PRI到来时,产生一个初始化脉冲,该脉冲的周期个数为H;同时对N个双口RAM的A口和B口进行写操作,A口写地址从K-H开始写,B口地址从K-2H开始写;K为双口RAM的深度;
当清零结束后,写控制模块控制数据按照X的数据速率从缓存区读出,数据的有效信号为Nd信号,当Nd有效时将A口地址进行累加操作,增量为1;同时在写时间片内将数据写入N个双口RAM的A口中去,完成数据的写操作;在写时间片内,B口不进行写操作;
步骤2:当第一个输入数据写入N个双口RAM中后,由读控制模块产生一个开始脉压处理的标志信号start_flag,该信号在PRI脉冲到来时进行复位操作,也即将start_flag置为低电平;当第一个输入数据的Nd到来后,将该信号置为高电平,高电平一直保持到下个PRI脉冲到来;在start_flag为高电平期间进行读操作,每输入一个新的数据也就是一个新的Nd到来时,需要对双口RAM的A口和B口的读地址赋初值;当第一个Nd到来时,第一个双口RAM的A口和B口的初始化读地址为:K-L*X+1,0;第二个双口RAM的A口和B口的初始化读地址为:K-L*X+1+(M-1),K-(M-1)……依此类推,第N个双口RAM的A口和B口的初始化读地址为:K-L*X+1+(M-1)*(N-1),K-(M-1)*(N-1);在Nd信号不为高且start_flag信号为高电平的读时间片内,所有通道的双口RAM的A口的读地址进行累加操作,增量为1;所有通道的双口RAM的B口的读地址进行递减操作,递减量为1;从第二个Nd信号到来开始,每当一个新的Nd信号到来时,所有双口RAM的A口的读地址在当前的基础上减去一个固定值,该值为M-2;所有双口RAM的B口的读地址在当前的基础上加上一个固定值,该值为M;然后将当前值作为A口和B口下一个读时间片的初始值,当读时间片到来时,所有RAM的A口的读地址进行累加操作,增量为1,B口的读地址进行递减操作,递减量为1;按照上述过程重复进行,由于在FPGA中地址是定点数,双口RAM的A口和B口的地址循环范围为0~(K-1),因此当地址为K-1时,如果地址进行自加1操作,则下一个地址变为0;当前地址为0,如果地址进行递减1操作,则下一个地址变为K-1,实现数据的正序列和反序列对称输出;在所有的读时间片内,都将最后一个通道的RAM的B口输出数据的前H-(N-1)*(M-1)个数据保留,而该通道B口输出的其他数据强制置零;并将滤波器系数和数据同时送入乘累加模块进行处理;所述的乘累加模块调用的为xilinx的FPGA自带的乘累加器的IP核,该IP核可以对输入口A和D的两路数据进行预加处理,然后将预加的结果和B口输入数据相乘,相乘结果可以从C口输入和下一个乘的结果进行累加操作并输出;
步骤3:输入到乘累加模块的为N个通道RAM输出的A口和B口数据进行整理后的结果,将同一个通道的A口和B口整理后的数据送入FPGA自带的乘累加IP核的A口和D口,先进行预加处理,也就是将A口和B口对应的数据先进行加法计算;同时将滤波器系数从系数RAM中读出,送入乘累加IP核的B口,预加的结果和C口对应的系数相乘得到第一个数据的乘结果,并在一个读时间片内将相乘的结果反馈到乘累加IP核的C口,实现当前读时间片内所有乘结果的累加,从而得到当前读时间片内的当前通道的乘累加输出结果,最后把N个通道当前读时间片内的结果对应相加就得到了该读时间片内最终的乘累加结果,也就是一个脉压输出值;从RAM读出的数据分为实部和虚部,而系数RAM存储的系数也分为实部和虚部,根据复数乘法运算,需要四个乘累加模块,分别实现数据实部和系数实部乘累加得到RMR,数据实部和系数虚部乘累加得到RMI,数据虚部和系数实部乘累加得到IMR,数据虚部和系数虚部乘累加得到IMI;最终的脉压输出结果实部为Real=RMR-IMI,虚部为Image=RMI+IMR;滤波器系数矩阵按照M-1行N列进行存储,第一列存储滤波器系数的1~(M-1),第二列存储滤波器系数的M~2*(M-1),依此类推,第N列存储滤波器系数的(N-1)*(M-1)+1~H,第N列未填满的共(M-1)-(H-(N-1)*(M-1))-1个数据进行补零处理,然后将此矩阵存入FPGA的内部存储器RAM中;读控制模块在每个读时间片内对该RAM进行读取,按照当前波形对应的脉压滤波器系数存放的地址依次读出滤波器系数,不同的滤波器系数只需改变起始地址即可;在每个读时间片内,将第一列系数和第一个通道的预加后的数据依次相乘并进行乘累加,第二列系数和第二个通道读时间片内的预加后的数据依次相乘并进行乘累加,依此类推,第N列系数和第N个通道读时间片内的预加后的数据依次相乘并进行乘累加;每个读时间片内都按照行地址进行递增,一次读出一行的数据,并把该行的N个数据分别对应的送到N个通道,依次循环往复,直到所有输入数据全部处理完毕。
CN201910323899.3A 2019-04-22 2019-04-22 一种基于fpga资源复用实现多波形多速率时域脉压的方法 Active CN110058201B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910323899.3A CN110058201B (zh) 2019-04-22 2019-04-22 一种基于fpga资源复用实现多波形多速率时域脉压的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910323899.3A CN110058201B (zh) 2019-04-22 2019-04-22 一种基于fpga资源复用实现多波形多速率时域脉压的方法

Publications (2)

Publication Number Publication Date
CN110058201A CN110058201A (zh) 2019-07-26
CN110058201B true CN110058201B (zh) 2022-11-22

Family

ID=67320041

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910323899.3A Active CN110058201B (zh) 2019-04-22 2019-04-22 一种基于fpga资源复用实现多波形多速率时域脉压的方法

Country Status (1)

Country Link
CN (1) CN110058201B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111258535B (zh) * 2020-01-15 2022-06-17 江苏方天电力技术有限公司 一种用于fpga实现的排序方法
CN111881081B (zh) * 2020-08-04 2023-11-03 合肥工业大学 基于序列机的fxlms算法的fpga实现模块及方法
CN115426265B (zh) * 2022-11-02 2023-04-18 之江实验室 一种多模态网络下交换资源分配优化方法及装置、介质
US12056533B2 (en) 2022-11-02 2024-08-06 Zhejiang Lab Method, apparatus and medium for optimizing allocation of switching resources in polymorphic network
CN117991243B (zh) * 2024-04-03 2024-07-02 海底鹰深海科技股份有限公司 一种基于fpga的声纳信号匹配滤波处理方法及其系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101424738A (zh) * 2008-11-13 2009-05-06 国营险峰机器厂 基于fpga的实时数字脉冲压缩系统的处理方法
CN102680945A (zh) * 2012-05-22 2012-09-19 西安电子科技大学 基于fpga的多普勒调频率估计方法
KR20120121198A (ko) * 2011-04-26 2012-11-05 국방과학연구소 펄스 압축 장치
CN108919200A (zh) * 2018-07-12 2018-11-30 中国船舶重工集团公司第七二四研究所 一种基于fpga的任意雷达波形在线设计方法
CN109239688A (zh) * 2018-07-31 2019-01-18 电子科技大学 一种基于fpga实现的高效多普勒滤波器组
CN109471072A (zh) * 2018-11-07 2019-03-15 中国人民解放军国防科技大学 基于fpga的单脉冲雷达二维cfar检测方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10393859B2 (en) * 2016-10-17 2019-08-27 Raytheon Company System and method for adaptive simultaneous transmit and receive leakage cancellation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101424738A (zh) * 2008-11-13 2009-05-06 国营险峰机器厂 基于fpga的实时数字脉冲压缩系统的处理方法
KR20120121198A (ko) * 2011-04-26 2012-11-05 국방과학연구소 펄스 압축 장치
CN102680945A (zh) * 2012-05-22 2012-09-19 西安电子科技大学 基于fpga的多普勒调频率估计方法
CN108919200A (zh) * 2018-07-12 2018-11-30 中国船舶重工集团公司第七二四研究所 一种基于fpga的任意雷达波形在线设计方法
CN109239688A (zh) * 2018-07-31 2019-01-18 电子科技大学 一种基于fpga实现的高效多普勒滤波器组
CN109471072A (zh) * 2018-11-07 2019-03-15 中国人民解放军国防科技大学 基于fpga的单脉冲雷达二维cfar检测方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Method of LFM pulse compression implementation based on FPGA;Fu Ning Et al.;《2013 IEEE 11th International Conference on Electronic Measurement & Instruments》;al.;20140228;第392-395页 *
一种基于FPGA的频域脉冲压缩处理器的实现;顾峰等;《舰船电子对抗》;20160831;第39卷(第4期);第105-109页 *
基于FPGA的分布式协同雷达数字脉压系统设计与实现;刘佳等;《自动化与仪器仪表》;20171031(第10期);第60-62页 *
线性调频信号脉冲压缩的FPGA实现;刘琳童;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20111215(第S2期);I135-640 *

Also Published As

Publication number Publication date
CN110058201A (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
CN110058201B (zh) 一种基于fpga资源复用实现多波形多速率时域脉压的方法
AU689439B2 (en) Digital filter having high accuracy and efficiency
US7508737B1 (en) Ultrasound receive beamformer
US6366936B1 (en) Pipelined fast fourier transform (FFT) processor having convergent block floating point (CBFP) algorithm
CN108169727B (zh) 一种基于fpga的动目标雷达散射截面测量方法
JPS62286307A (ja) 多重ステージデジタル信号乗算加算装置
CN104967428B (zh) 用于fpga的高速高阶fir滤波器的频域实现方法
US8452828B1 (en) Method and apparatus for implementing finite impulse response filters without the use of multipliers
CN115033293A (zh) 零知识证明硬件加速器及生成方法、电子设备和存储介质
CN102353940B (zh) 基于fpga的脉冲压缩优化方法
CN111610963A (zh) 芯片结构及其乘加计算引擎
CN113778940B (zh) 基于fpga的高精度可重构相位调整ip核
EP0813301A1 (en) Adaptive digital filter
CN109239688B (zh) 一种基于fpga实现的高效多普勒滤波器组
CN114327364A (zh) 水声信号的高精度连续延时型fpga实时波束形成器
US5864515A (en) Sonar data processing
Das et al. Hardware implementation of parallel FIR filter using modified distributed arithmetic
RU188978U1 (ru) Унифицированная реконфигурируемая схема коммутации быстрого преобразования фурье
CN117991243B (zh) 一种基于fpga的声纳信号匹配滤波处理方法及其系统
RU2406130C1 (ru) Устройство для обработки изображений на основе двумерного способа размножения оценок
Raj et al. A paradigm of distributed arithmetic (DA) approaches for digital FIR filter
Mohanty et al. Systolic architecture for hardware implementation of two-dimensional non-separable filter-bank
Ma et al. FPGA design and implementation of missile-borne SAR azimuth filtering
CN109921800A (zh) 基于自定制浮点格式的频域脉冲压缩方法
KR20030054300A (ko) 레딕스-8 단일 경로 지연 전달 구조의 고속 퓨리에 변환장치 및 그 방법

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