基于FPGA的恒虚警(CFAR)算法

上传人:沈*** 文档编号:84873297 上传时间:2022-05-04 格式:DOC 页数:24 大小:191.50KB
收藏 版权申诉 举报 下载
基于FPGA的恒虚警(CFAR)算法_第1页
第1页 / 共24页
基于FPGA的恒虚警(CFAR)算法_第2页
第2页 / 共24页
基于FPGA的恒虚警(CFAR)算法_第3页
第3页 / 共24页
资源描述:

《基于FPGA的恒虚警(CFAR)算法》由会员分享,可在线阅读,更多相关《基于FPGA的恒虚警(CFAR)算法(24页珍藏版)》请在装配图网上搜索。

1、-基于FPGA的恒虚警CFAR算法设计与实现作 者:学 号:学院(系): 电子工程与光电技术学院专 业: 电磁场与微波技术题 目:基于FPGA的恒虚警CFAR算法设计与实现指导教师:日期: 2021 年10月. z.-摘要11 引言22 CFAR算法原理与算法模型32.1 ML类CFAR32.2 OS类CFAR53 CA-CFAR算法设计与实现73.1 CFAR的Verilog HDL设计9总结20致谢21参考文献22. z.-摘要恒虚警率CFAR处理技术是雷达信号处理的重要组成局部。通过CFAR处理,可以保持信号检测时的虚警率恒定,从而使数据处理终端不致因虚警太多而过载。本文简要介绍了恒虚警

2、率(CFAR)的根本原理,重点研究了ML类CFAR算法中的单元平均恒虚警CA-CFAR的检测算法,并针对这种算法提出了一种基于FPGA的恒虚警模块的设计思想,然后利用软件仿真,对设计方法的可行性进展了验证。关键词:恒虚警率;FPGA;仿真1 引言雷达信号的恒虚警率检测问题一直是雷达信号处理领域中的重要研究课题,受到广泛关注。雷达信号的检测总是在干扰背景下进展的,干扰包括接收机内部的热噪声,以及地物、雨雪、海浪等杂波干扰。其中,地杂波、海杂波和箔条杂波等都是由天线波束照射区内的大量散射单元的散射信号叠加而成。在杂波干扰中提取信号,不仅要求有一定的信噪比,而且还必须由CFAR处理设备。CFAR处理

3、技术是在雷达自动检测系统中给检测策略提供检测阈值,并且使杂波和干扰对系统的虚警概率影响最小化的一种信号处理算法。雷达恒虚警(CFAR)检测的实际检测性能与其参考背景单元的分布有很大关系。当参考背景单元为均匀分布时,经典的单元平均CA-CFAR可以获得最正确的检测性能。CA-CFAR检测能够根据参考窗内的信号的特性,自适应调整检测门限,虚警概率较低。但在多目标干扰环境下,CA-CFAR的检测性能会随着干扰点的增加而迅速下降。有序统计OS-CFAR检测是一类基于有序统计量的CFAR检测方法,它具有良好的抗脉冲干扰能力,因此在多目标干扰环境下相对均值类CFAR检测有一定优势。但由于排序运算量大、实时

4、性不高,所以很难到达工程实用的要求。实现CFAR处理,传统方案是采用DSP加软件的方法实现,即用通用DSP芯片构造硬件处理机平台,通过编写软件实现CFAR算法。这种方案对于距离分辨率不高的宽脉冲雷达来说,是一种简单可行的方法,但对于窄脉冲雷达,由于距离维采样频率很高,要求处理机硬件平台提供超高的运算速度,FPGA以其高处理速度成为实现FPGA算法的一种好的选择。2 CFAR算法原理与算法模型恒虚警CFAR算法是在雷达自动检测系统中给检测策略提供检测阈值,并且使杂波和干扰对系统的虚警概率影响最小化的一种信号处理算法。输入信号被送到由2L+1个延迟单元构成的延迟线上,D是被检测单元,D的两侧各L个

5、单元为参考单元。而杂波背景和噪声能量是通过对检测单元D周围2L个参考单元进展处理得到。CFAR检测的自适应门限等于背景噪声与杂波强度估计量与一个加权量K的乘积,即,其中加权量K是一个仅与恒虚警水平及背景的分布特性有关的量,而与具体的检测方式有关。当调制门限乘子K的大小时,可以改变门限的大小,以保证不同工作方式下的检测性能最优,从而控制了恒虚警的大小。当检测单元D的值大于门限,则该信号就被判决为目标信号。根据的计算方式的不同,CFAR检测器分为均值ML类和有序统计量OS类两种典型的检测器,其原理框图分别如图2.1和图2.2所示。2.1 ML类CFAR1 ML类CFAR均值类MLCFAR处理算法是

6、在局部估计中采用了取均值的方法。最早的均值类CFAR方法是单元平均CA(cellaveraging)方法,后来为改善非均匀杂波背景中的检测性能,又先后出现了最大选择GO(greatestof)、最小选择SO(smallestof)和杂波强度加权WCA(weightedcellaveraging)等同属于均值类的CFAR方法。在单元平均CA-CFAR检测器中,R=2n个参考单元采样的均值作为背景杂波功率水平估计;在最大选择GO-CFAR检测器中,取两个局部估计的较大值作为总的杂波功率水平估计;在最小选择SO-CFAR检测器中,取两个局部估计的较小值作为总的杂波功率水平估计;在杂波强度加权WCA-

7、CFAR检测器中,总的杂波功率水平估计由对前沿和后沿区域的局部估计按照杂波强度加权得到。 ML类CFAR中的分别由下式确定:CA-CFAR: 2-1GO-CFAR: 2-2SO-CFAR: 2-3式中,为为各单元的参考信号幅度;L位前沿和后沿参考滑窗长度。这几种均值类CFAR处理算法各有利弊。各种雷达系统中用得最多的CFAR检测方法就是CA检测算法。CA在均匀杂波背景中的检测性能最好,但在非均匀背景中性能严重下降;GO具有很好的抗边缘杂波能力和在均匀杂波背景中较好的检测性能,但在多目标环境中的检测性能极差;SO具有较好的抗击干扰目标的能力,但在均匀杂波背景中的检测性能和抗边缘杂波性能都很差;虽

8、然WCA的性能比较全面,但需要关于干扰的先验信息,自适应检测能力受到限制。被检测单元信号输入D检 测 器输出检测结果CA:+GO:ma*(,)SO:min(,)阈值K图2.1 ML类CFAR构造示意图2.2 OS类CFAR有序统计量OS(orderstatistics)方法源于数字图像处理的排序处理技术,它在抗干扰方面作用显著。在多目标环境中,它相对于均值类CFAR处理算法具有较好的抗干扰目标的能力,同时在均匀杂波背景和杂波边缘环境中的性能下降也适度的、可以承受的。 有序统计量类CFAR处理算法首先对参考采样值作排序处理:*(1)*(2)*(R),然后取第k个采样值*(k)作为总的背景杂波功率

9、水平估计Z,即Z=*(k)。 有序统计量CFAR处理算法的关键是k值的选取,在均匀杂波背景和均匀目标视频的情况下,选取适当的k值,可以到达较满意的检测性能。但是在实际的多目标环境中,如k值设定得较大,可能会在多目标环境中产生严重的覆盖效应;如k值设定得较小,可能会在少目标环境中产生虚警尖峰明显上升的情况。同时要对所有采样值进展排序,在工程实现上很难保证实时性,难度较大。OS类CFAR包括有序统计OSCFAR、审定平均电平检测器CM-LDCFAR、削减平均TMCFAR等。OS类CFAR中的分别由下式确定:OS-CFAR: 2-4CMLD-CFAR: 2-5TM-CFAR: 2-6式中,为为各单元

10、的参考信号幅度由小到大排序后的第i个值;为在对各单元的参考信号按幅度由小到大排序后,从最小采样值起的各较小的参考单元采样值,为在对各单元的参考信号按幅度由小到大排序后,从最大采样值起的各较大的参考单元采样值。被检测单元信号D输入检 测 器后沿滑窗前沿滑窗输出检测结果SO:排序并选出第i个最小单元CMLD:排序后消减掉个较大单元TM:排序后削减掉个较小和个较大单元阈值K图2.2 OS类CFAR构造示意图由图2.1和图2.2可知,2L各参考单元构成了计算均值估计用的数据窗,在每次雷达发射脉冲后,接收的所有回波数据将从这个数据窗一次滑过,由于参考单元数目有限,均值估计会有一定起伏。参考单元越少,均值

11、估计的起伏越大。为了保持同样的虚警率,必须适当提高门限调制K值。但门限值的提高将降低发现概率,所以需要增加信噪比以保持指定的发现概率。3 CA-CFAR算法设计与实现CFAR技术是雷达自动检测系统中给检测策略提供检测阈值。其关键是选定一个适宜的自适应检测门限来保持目标检测时虚警概率的恒定。在检测的虚警和漏检间寻找到一个最正确平衡点。FPGA 以其高的处理速度成为实现CFAR 算法的一种好的选择。杂波背景下的恒虚警检测器,杂波的平均值只能通过被监测点的邻近单元计算得到,所形成的恒虚警检测器称为邻近单元平均恒虚警检测器,也可直接称为单元平均恒虚警CA-CFAR检测器。CFAR算法的根本流程如图3.

12、1.1所示。输入信号包括检测单元 Y和 2n个参考单元。参考单元位于检测单元两侧,前后各n个。保护单元主要用在单目标情况下,防止目标能量泄漏到参考单元影响检测效果。Z为总的杂波功率水平的估计,通过对 2n个参考单元的 CFAR处理得到。T为标称化因子,它和 Z的乘积作为参考门限电平。当检测单元的值超过 TZ时,认为有目标,反之,认为无目标。图3.1.1 CA-CFAR算法处理流程一般情况下,杂波同噪声相互独立,且平方律检波后都满足指数分布。参考单元概率密度函数为(3-1)式中,是噪声功率。Z是一个随机变量,它的分布取决于CFAR算法的选取以及参考单元的分布。虚警概率 的表达式为 (3-2)其中

13、,H0表示没有目标,MZ ()称为矩母函数。 在CA-CFAR检测器中,背景杂波功率水平Z为 2n个参考单元之和。 3-3)指数分布是(,)分布在= 1的特殊情况,分布的概率密度函数为 3-4其中,和是两个参数,()就是通常说的函数,对于整数,它等于 (- 1) !。相应的概率分布函数用 G (,)表示,服从分布的随机变量 *记做 *G (,)。*的矩母函数为 3-5)根据独立同分布的假设,第 i个单元服从分布*iG (1,)。由于两个独立随机变量和的矩母函数等于各随机变量的矩母函数的积,所以得到Z G (2n,) (3-6)将式 (3-5)、 式 (3-6)代入式 (3-2)得到 (3-7)

14、所以,得到标称化因子 T的计算式,即 3-8)参考教材中的算法,CA-CFAR的Verilog HDL设计及Modelsim功能仿真如下:3.1 CFAR的Verilog HDL设计下面介绍恒虚警电路的Verilog HDL设计。设计方案:运用移位存放器实现恒虚警电路功能。模块说明:CFAR.v:运用移位存放器实现恒虚警电路功能。详细设计:CFAR.v:module CFAR(I_rst_n,I_clk,I_noise,I_signal,O_result );input I_rst_n;input I_clk;input15:0I_noise;input15:0I_signal;output1

15、5:0 O_result;reg15:0O_result;reg15:0R_noise;reg15:0R1_noise;reg15:0R2_noise;reg15:0R3_noise;reg15:0R4_noise;reg15:0R5_noise;reg15:0R6_noise;reg15:0R7_noise;reg15:0R8_noise;reg15:0R9_noise;reg15:0R10_noise;reg15:0R11_noise;reg15:0R12_noise;reg15:0R13_noise;reg15:0R14_noise;reg19:0R_add;reg15:0R1_add;

16、reg15:0R2_add;reg15:0R3_add;reg15:0R4_add;reg15:0R5_add;reg15:0R6_add;reg15:0R7_add;reg15:0R8_add;reg15:0R9_add;reg15:0R10_add;reg15:0R11_add;reg15:0R12_add;reg15:0R13_add;reg15:0R14_add;reg15:0R15_add;reg15:0R16_add;reg15:0R_average;reg15:0R_signal;reg15:0R1_signal;reg15:0R2_signal;reg15:0R3_signal

17、;reg15:0R4_signal;reg15:0R5_signal;reg15:0R6_signal;reg15:0R7_signal;reg15:0R8_signal;reg15:0R9_signal;reg15:0R10_signal;reg15:0R11_signal;reg15:0R12_signal;reg15:0R13_signal;reg15:0R14_signal;reg15:0R15_signal;reg15:0R16_signal;always (posedge I_clk or negedge I_rst_n)beginif(I_rst_n)beginR_noise=1

18、6b0;R1_noise=16b0;R2_noise=16b0;R3_noise=16b0;R4_noise=16b0;R5_noise=16b0;R6_noise=16b0;R7_noise=16b0;R8_noise=16b0;R9_noise=16b0;R10_noise=16b0;R11_noise=16b0;R12_noise=16b0;R13_noise=16b0;R14_noise=16b0;endelsebeginR_noise=I_noise ;R1_noise=R_noise ;R2_noise=R1_noise;R3_noise=R2_noise;R4_noise=R3_

19、noise;R5_noise=R4_noise;R6_noise=R5_noise;R7_noise=R6_noise;R8_noise=R7_noise;R9_noise=R8_noise;R10_noise=R9_noise;R11_noise=R10_noise;R12_noise=R11_noise;R13_noise=R12_noise;R14_noise=R13_noise;endendalways (posedge I_clk or negedge I_rst_n)beginif(I_rst_n)beginR_add=19b0;endelsebeginR_add=(I_noise

20、 + R_noise) + (R1_noise + R2_noise) + (R3_noise + R4_noise) + (R5_noise + R6_noise) + (R7_noise + R8_noise)+ (R9_noise + R10_noise)+ (R11_noise + R12_noise)+ (R13_noise + R14_noise);endendalways (posedge I_clk or negedge I_rst_n)beginif(I_rst_n)beginR1_add=16b0;R2_add=16b0;R3_add=16b0;R4_add=16b0;R5

21、_add=16b0;R6_add=16b0;R7_add=16b0;R8_add=16b0;R9_add=16b0;R10_add=16b0;R11_add=16b0;R12_add=16b0;R13_add=16b0;R14_add=16b0;R15_add=16b0;R16_add=16b0;endelsebeginR1_add=R_add19:4;R2_add=R1_add;R3_add=R2_add;R4_add=R3_add;R5_add=R4_add;R6_add=R5_add;R7_add=R6_add;R8_add=R7_add;R9_add=R8_add;R10_add=R9

22、_add;R11_add=R10_add;R12_add=R11_add;R13_add=R12_add;R14_add=R13_add;R15_add=R14_add;R16_add=R15_add;endendalways (posedge I_clk or negedge I_rst_n)beginif(I_rst_n)beginR_averageR16_add)beginR_average=R_add18:3;endelsebeginR_average=R16_add;endendendalways (posedge I_clk or negedge I_rst_n)beginif(I

23、_rst_n)beginR_signal=16b0;R1_signal=16b0;R2_signal=16b0;R3_signal=16b0;R4_signal=16b0;R5_signal=16b0;R6_signal=16b0;R7_signal=16b0;R8_signal=16b0;R9_signal=16b0;R10_signal=16b0;R11_signal=16b0;R12_signal=16b0;R13_signal=16b0;R14_signal=16b0;R15_signal=16b0;R16_signal=16b0;endelsebeginR_signal=I_sign

24、al;R1_signal=R_signal;R2_signal=R1_signal;R3_signal=R2_signal;R4_signal=R3_signal;R5_signal=R4_signal;R6_signal=R5_signal;R7_signal=R6_signal;R8_signal=R7_signal;R9_signal=R8_signal;R10_signal=R9_signal;R11_signal=R10_signal;R12_signal=R11_signal;R13_signal=R12_signal;R14_signal=R13_signal;R15_signa

25、l=R14_signal;R16_signal=R15_signal;endendalways (posedge I_clk or negedge I_rst_n)beginif(I_rst_n)beginO_result=16b0;endelsebeginO_result=R16_signal-R_average;endendEndmodule先利用matlab生成噪声和信号数据,另存为t*t文件。编写testbench,对程序进展仿真测试。Testbench程序如下:module CFARTest;/ Inputsreg I_rst_n;reg I_clk;reg 15:0 I_noise

26、;reg 15:0 I_signal;/ Outputswire 15:0 O_result;parameter N=30; parameter S=10; reg 15:0 NOISE_LN-1:0;reg 15:0 SIGNAL_LS-1:0;integer Inde*;/ Instantiate the Unit Under Test (UUT)CFAR uut (.I_rst_n(I_rst_n), .I_clk(I_clk), .I_noise(I_noise), .I_signal(I_signal), .O_result(O_result);always *5 I_clk=I_c

27、lk;initial begin/ Initialize InputsI_rst_n = 0;I_clk = 0;I_noise = 0;I_signal = 0;Inde* = 0;/ Wait 100 ns for global reset to finish*100;I_rst_n=1;$readmemh(E:/noise.t*t,NOISE_L);$readmemh(E:/signal.t*t,SIGNAL_L);end/输入噪声 always(posedge I_clk)begin if (Inde*N)&(I_rst_n)beginI_noise= NOISE_LInde*; In

28、de*=Inde*+1; end elsebeginI_noise=16b0; endend/输入信号 always(posedge I_clk)begin if (Inde*S)&(I_rst_n)beginI_signal= SIGNAL_LInde*; Inde*=Inde*+1; end elsebeginI_signal=16b0; endendEndmoduleModelsim仿真结果如以下图所示:图3.1.1 modelsim仿真结果图总结CA-CFAR检测能够根据参考窗内的信号的特性,自适应调整检测门限,虚警概率较低,工程实现简单,在雷达信号处理中应用十分广泛。本文对恒虚警CF

29、AR处理方法进展了介绍,着重讨论并设计实现了基于FPGA 的CA-CFAR算法,成功得到了CA-CFAR的仿真波形,通过CFAR处理,可以保持信号检测时的虚警率恒定,完成了实验目的,验证了设计方案的可行性。致 谢首先感谢这学期教师对我FPGA课程的悉心指导和帮助。对FPGA的学习,可以说是从零开场,但经过一个学期的学习,对FPGA的理论知识有了一定的了解。另外,通过本次实验设计,将理论运用于实践,熟悉了FPGA的设计流程,受益匪浅。这里在本报告完成之际,再次向表示衷心的感谢。参考文献1 Verilog HDL 与FPGA开发设计及应用.李洪涛,朱晓华,顾陈. .国防工业.2021.122 雷达信号处理系统的设计和FPGA实现. 黄婷. 2007.63 基于FPGA的雷达信号处理系统设计.梁丽.2006.64 基于FPGA的多功能雷达信号处理器.闵俊红.2021.1. z.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!