06 雷达理论使用FPGA实现
Last edited by
Tags
Radar Technology
FPGA Implementation
Signal Processing
Last edited time
Sep 13, 2024 09:42 AM
AI summary
文档讨论了使用FPGA实现雷达目标模拟器的设计,包括航迹生成、雷达信号处理、数字处理量化分析和CORDIC算法的原理及应用。重点介绍了不交汇航迹的形成条件、数字信号处理中的误差分析、FIR滤波器的实现以及相控阵雷达的控制参数设计。
第一节本次内容一、相控阵雷达目标模拟器的设计和FPGA具体硬件详细实现方案(一)阵元的加权阵元相位差二、内插和抽取基本概念三、FIR滤波器的原理和下变频应用(一)四、三种结构的雷达接收机设计和硬件实现第二节本次内容一、相控阵雷达目标模拟器的设计和FPGA具体硬件详细实现方案(二)二、雷达数字处理量化分析三、FIR滤波器的原理和下变频应用(二)四、Microblaze特点和建立处理器进行计算实时参数第三节本次内容一、相控阵雷达目标模拟器的设计和FPGA具体硬件详细实现方案(三)二、CORDIC 算法的原理三、CORDIC具体应用四、雷达信号处理数据流思想五、vivado软件演示cordic算法应用
第一节
本次内容
- 相控阵雷达目标模拟器的设计和FPGA具体硬件详细实现方案(一)
- 内插和抽取基本概念
- FIR滤波器的原理和下变频应用(一)
- 三种结构的雷达接收机设计和硬件实现
后续讲解雷达数字处理量化带来的影响、使用Microblaze 建立处理器计算实时参数、以及cordic算法的雷达应用使用以及数据流的处理思想
一、相控阵雷达目标模拟器的设计和FPGA具体硬件详细实现方案(一)
- 雷达目标模拟器设计背景
雷达模拟器已经成为了雷达研究的一个重要方向。与外场试飞的方式相比,雷达模拟器具有调试灵活,成本相对低廉的优点,因而在雷达调试、性能评估和算法验证方面得到了广泛的应用。
- 从线性调频说起


- LFM信号的形式和特点:
大的时宽和带宽
对应距离分辨和速度分辨
信号产生方便 使用DDS 经过功放PA
从抗干扰角度:可以改成相位编码:
如常用的二相和四相(图钉型 模糊函数)
- 模拟器产生的航迹

- 多通道阵列雷达512+16阵元的目标角度模拟

- 模拟器产生时序

- 模拟器部分硬件架构

- 理论推导
雷达信号回波信号的瞬时相位相对于发射信号有一个时延 , 可以表示为
同样的,瞬时频率则可以表示为:
当目标相对于雷达有径向速度时,差频信号的频率在变化,在此变化的频率中,必然包含了目标的距离和速度信息。此时动目标回波信号相对于发射信号的时延为
回波信号的幅度由雷达方程确定,假设在 时刻目标所在的起点为 ;目标的速度大小为 ,速度的方位角为 ,俯仰角为 ,散射截面积为 ,波长为 ,在 时刻,目标距雷达站的距离为 ,方位角为 ,俯仰角为 。
当前雷达的波束参数为:
发射功率为 ,雷达的增益为 ,方位角为 ,俯仰角为 。
回波的功率为:
由天线理论可以知道,信号的功率和发射信号的幅度平方成正比。假设发射信号的幅度为 ,接收信号的幅度为 ,则
目标的幅度可以表示为:
接收到的回波信号表示为:
阵元的加权
方位角上的幅度加权主要体现在方位方向上的两个阵列之间的幅度差异,按照单脉冲比幅法确定目标方位角的精确值。
为目标方位角的正弦, 为波束方位角的正弦, 为半功率点的波束宽度 ,N为目标幅度量化值。
阵元相位差

根据几何关系,代入坐标
X方向上的两路回波信号间的相位差为
Y方向上的两路回波之间的相位差为
二、内插和抽取基本概念
带通采样定理的应用大大降低了所需的射频采样速率。但从软件无线电的要求看,带通采样的带
宽越宽越好。随着采样速率的提高,采样后的数据率很高,但实际的雷达处理带宽一般很少,我
们可以对这种窄带信号进行降速处理。

抽取序列的频谱为抽取前原始序列频谱经频移和D倍展宽后的D个频谱的叠加和。

同理推导内插的数学表达式

对于带通信号抽取率满足,且最大频率和最小频率是带宽的整数倍,对它抽取后都会在0----B上
三、FIR滤波器的原理和下变频应用(一)
FIR滤波器概念:有限脉冲响应滤波器,单位脉冲响应的长度是有限的。
Y=X*H
H为单位取样响应
MATLAB可以使用
fir1 实际是窗函数法设计高通 低通 带通 带阻滤波器,具有线性相位特性。
b:返回的fir滤波器单位脉冲响应,n:滤波器的阶数,wn:滤波器的截止频率,noscale:是否归一化滤波器幅度
b=fir1(11,0.2)
Ise
vivado
四、三种结构的雷达接收机设计和硬件实现
- 射频全宽开低通采样软件无线电结构

- 射频直接带通采样软件无线电结构

- 宽带中频带通采样软件无线电结构

第二节
本次内容
- 相控阵雷达目标模拟器的设计和FPGA具体硬件详细实现方案(二)
- 雷达数字处理量化分析
- FIR滤波器的原理和下变频应用(二)
- Microblaze特点和建立处理器进行计算实时参数
一、相控阵雷达目标模拟器的设计和FPGA具体硬件详细实现方案(二)
- 不交汇航迹的生成
雷达模拟器产生不同方位、不同位置、不同角度的模拟目标比较容易,只要时间资源足够就可以。
但是在一个波束照射内生成两个以及两个以上的目标所需要的资源很多,难度比较大。
- 不交汇航迹的形成需要满足以下两个约束条件:
约束条件一:为了方便硬件电路产生回波信号,约定不会同时产生两个或两个以上的目标回波。即任一时刻任意两个航迹在雷达径向方向上的间距不小于雷达发射脉冲时宽所对应的距离。实际上,如果航迹在满足条件的独立的空间区域中形成,就能避免这个问题。
约束条件二:任一时刻,航迹在雷达径向方向上的距离,即目标与雷达阵列的直线距离大于雷达最小可测距离。
- 雷达天线波束扫描示意图(假设方位波束宽度4度):

- 只要目标出现在雷达发射波数的方位角范围内,且同时出现在相对于天线俯仰面的波束覆盖范围内,就应当将其与当前方位码对应的波束进行交汇检测。这点也是跟波束交汇判断条件相对应的。因为雷达波束在方位角上的宽度为 4度,产生多航迹的时候相同距离的目标可以从方位角度上进行区分,如果目标的航迹在独立的区域中飞行,那么就保证了在波束扫描的过程中各目标的航迹不会形成交汇,这一点保证了约束条件一。这些区域之间的差角大于4度 ,由最大作用距离 、雷达波束俯仰角上限 、雷达波束俯仰角下限以及参考面上的方位角范围所确定的。
- XY平面 产生n种 不交汇航迹示意图

- 按照上述算法产生的航迹示意图

- 产生具有一定不规则轨迹的航迹

- 理论推导:
由arcsin函数的定义域可知
航迹的曲线示意图
- 目标模拟器控制示意图

- 目标控制参数示意图

二、雷达数字处理量化分析
数字信号处理主要是对一组数据进行信号分析和运算,最终得到我们需要的数值结果的过程。在进行数值运算的过程,由于硬件和软件资源的限制,不可能做到无限精度,这就必然会带来误差的概念,对处理中的误差我们必须做相应的分析,确保数据的处理精度在性能指标要求的范围内,保证正确性。
雷达中频转发模拟器的具体实现中ADC的采样和FIR滤波器的处理,以及其他信号处理运算都会引入有限字长效应。这里不失一般性,分析了数字DDC实现中的使用的32阶的数字FIR滤波器由于系数量化带来的有限字长效应对滤波器的幅频相应的影响。
设定采样率为48MHz,通带带宽要求9.5MHz,带外衰减到-50dB左右。在FPGA具体实现中,对滤波器系数要量化存储,由于量化效应带来的滤波器幅频相应的变化会对系统产生影响。

上图是对系数量化为10位和12位分别和无量化时对滤波器幅频相应噪声的影响。可见,随着量化位数的增加,幅频相应越接近理想值,但是资源使用也会增加。为了折中考虑,我们最终选择的是12位的量化精度。
三、FIR滤波器的原理和下变频应用(二)

中频带通采样已经把60MHz的中心频率,相当于数字下变频到12MHz上,然而我们希望在基带对信号做相应的处理,所以我们需要进一步的数字下变频,将信号变成I和Q正交双通道,然后经过低通滤波器,取出基带信号,进行后续处理。
经过48MHz采样后,需要用本振12MHz进行DDC处理,采样率和本振信号频率正好是4倍的数据率关系,所以在进行本振信号的处理时候,可以使用简便的公式,令 , 。这样在硬件FPGA数字实现的时候可以省去一个DDS软核产生正交双通道所消耗的逻辑资源,替代为只用简单的逻辑实现混频的功能。
选择低通滤波器

四、Microblaze特点和建立处理器进行计算实时参数
嵌入式处理器PowerPC硬核的内部总线可以分为三种类型,分别是:片外部相应设备总线(OPB),本地存储器总线(LMB)以及快速简单连接总线(FSL)。这三大总线分别用于访问片外低速存储器设备,高速存储器设备和高速外设。
雷达模拟器的主芯片内含两个PowerPC处理器芯片,每个处理器内部总线架构都是一样的,如图



程序设计主要分为六大模块(BRAM1用于PowerPC系统内存,不再详述):
- 模块一:建立双口RAM(BRAM0)负责接收网口传递的初始化信息参数,具体参数见表4.1,判断雷达中频转发模拟器的主要工作模式,并处理相应的初始化信息。
- 模块二:建立双口RAM(BRAM2),内部采用乒乓操作结构,根据CPI的节拍,分别将多个目标的在下一个CPI内的目标距离信息,速度信息,角度信息,信噪比控制信息以及电源故障信息传递给工控机,用于目标航迹显示控制。
- 模块三:建立双口RAM(BRAM3),将网口接收的目标信息,转化成对应DDS设置的频率控制字和相位控制字以及通过事先根据和差通道比幅测角曲线量化后的幅度控制信息。
- 模块四:建立通用输入输出管脚(GPIO0),并设置管脚中断,接收从外部的CPI触发信息,作为乒乓操作的切换信息和对应的中断触发处理子函数触发信息。设置中断处理子函数,如果接收到中断响应信号,便会自动引导程序进入中断处理子函数,利用上一个CPI的时间计算下一个CPI内雷达目标的距离,速度和角度等参数信息,并且默认雷达在一个CPI内的距离,角度和速度信息是不变化的。
- 模块五:建立通用输入输出管脚(GPIO1),根据SNR控制信息,转化成高斯白噪声的幅度控制信息,并量化后输出。
- 模块六:建立通用输入输出管脚(GPIO2),根据目标所在的波位和具体角度,判断相位控制信息,并传输给FPGA端。
第三节
本次内容
- 相控阵雷达目标模拟器的设计和FPGA具体硬件详细实现方案(三)
- CORDIC 算法的原理
- CORDIC具体应用
- 雷达信号处理数据流思想
- vivado软件演示cordic算法应用
一、相控阵雷达目标模拟器的设计和FPGA具体硬件详细实现方案(三)
- 硬件计算使用参数总结
对回波相位的分析得到:可以将目标距离、速度以及方位信息转化为六个关键控制参数,通过这些参数的简单算术运算即可产生硬件实时回波产生的控制参数。
(1)时延信息
时延信息反映了雷达与目标之间的径向距离,在目标模拟器中延时参数表示为回波相对于发射波形所延时的采样点数,表达式如下
(2)CPI的第一个PRF起始相位
一个CPI包含了多个脉冲重复周期,第一个脉冲重复周期的回波起始相位为
(3)同一个CPI的多个PRF间的累加相位参数表示CPI内的PRF步进相位,相邻两个PRF周期的相位差为
(4)同一个PRF的多个采样点之间的相位增量
本产品采用了线性调频信号,一个PRF内的多个采样点之间的频率增量与线性调频的调制斜率相关,以采样点为步进的频率增量可以表示为
转化为DDS控制参数:
其中B表示调制带宽,频率的步进增量是固定的。由于硬件中DDS控制器一个时刻只能接收频率控制字或者相位控制字,因此需要将其频率步进转换为累加相位。以每个脉冲重复周期的第一个采样点为起始点,第 m个采样点的相位可以表示为
(5)阵元间的相位增量
(6)阵元信号的幅度
Z方向上的同一列信号输出的幅度是相同的;左右相邻两列阵元的输出幅度差由单脉冲比幅原理决定。
回波信号的幅度为
- 单元板卡处理流程
二、CORDIC 算法的原理
- 坐标旋转数字计算算法
Coordinate rotation digital computing
用于计算广义矢量旋转的迭代算法,主要用于三角函数、双曲函数、指数和对数的计算。FPGA的MAC单元适合乘累加 但是对于坐标旋转的运算不是很适合,所以对于三角函数和开方运算必须通过一系列旋转和迭代的过程解决。
- Cordic 算法 ip设置
Radians: 单位是弧度
Scaled Radians:单位是pi*弧度
所有表示角度的整数部分都是3bit表示,选择Scaled Radians模式时候 输入必须在-1到1之间
- 关于几种截位方式
Truncate:直接截尾部
Round pos inf 舍入截尾 相当于 floor(x+0.5)
Round pos neg inf 取整 往中间靠 round(x)
Nearest even 最近的整数 向下 取整 floor(x)
- 流水线方式
Pipeline
有流水线
无流水线
最大化流水线
优化流水线
最大时钟频率:
parallel with pipeline > word serial > parallel without pipeline
- Rotate模式

- Translation模式

- Sin cos tan atan等

- 数据格式
在rotate,translate,sin,cos,sinh,cosh,atan 功能中操作数 -1 <= input data <= +1
也就是说,使用的是fixed-point,一位符号位,一位整数位,剩下的都是小数位,这种表示方法统称为 Q Numbers Format,具体到上例叫做1QN 或者Fix(N+1)_N, 其中N=(数据位数 - 2),也就是8;
在square root功能中,X_IN, X_OUT都是 unsigned fraction 或者unsigned integer,毕竟开根号的结 果永远不会是负数此时,X_IN ,X_OUT的整数位为一位,剩下的均为小数位
- phase format:
表示方法与data format类似,一位符号位,两位整数位,剩下的都是小数位
三、CORDIC具体应用
- 可以相位编码使用脉压
- 可以多普勒补偿
- 可以脉压后求模
- 非相参积累可以进行各种抗干扰设置
- 可以产生特定波形
四、雷达信号处理数据流思想
- 乒乓

- 流水线
提高fmax
流水线的基本思想就是把数据处理平均分配到一个大概相当的对等逻辑里,中间插入寄存器,举个例子来说,计算A+B+C如果不采用流水线,先计算A+B,再计算A+B+C这样需要两个时钟能得到运算结果,当很多这样的数据需要进行这样的计算的时候需要等待2个clk才能进行下一组数据的计算!
那么如果采用流水线技术,可以分为两个always块,第一个always块计算SUM1=A+B第二个always块计算SUM=SUM1+C,由于两个always块是并行计算,当然他们在同一个always块也是一样的,为了给你清晰的理解而已。那么在开始的时候第一个时钟计算出SUM1,第二个时钟送出输出计算结果SUM的同时,下一组A,B又被送入第一个always快计算第二组的SUM1,这样可以得出一个结论,每一个时钟周期都会有一组数据得到计算输出结果,理论上!会把最高频率提高一倍。这个SUM1也就是插入的寄存器!
五、vivado软件演示cordic算法应用
(待补充)
Loading...