姓名:冯浩轩 学号:21021210683 学院:电子工程学院
【嵌牛导读】简要介绍verilog如何实现线性调频波的生成
【嵌牛鼻子】DDS,HLS,VERILOG
【嵌牛提问】如何使用DDS的IP核与HLS软件生成线性调频波形?
【嵌牛正文】
DDS波形生成函数说明书
1 DDS核生成波形原理
DDS技术是根据奈奎斯特取样定律,从连续信号的相位出发,将正弦信号取样,编码,量化,形成一个正弦函数表,存在EPROM中,合成时,通过改变相位累加器的频率字来改变相位增量。相位增量的不同导致一个周期内取样点的不同,在时钟频率即采样频率不变的情况下,通过相位的改变来改变频率。同时DDS核具有相位移动的通道,可以进行相位的移动。
1.1 接口说明
1.2 生成波形原理
本篇只讲述在标准模式下的波形原理。输出频率fout 是由设置的系统时钟的相位位宽和控制字决定的,其公式为:
所以根据公式可以计算得到想要输出某个频率的信号时,输入的频率控制字为
频率分辨率公式为:
可以得到控制字乘以频率分辨率便是期望的输出频率
对于产生相位偏移的信号(Phase Offset),在DDS中将“Phase Offset Programmability”设置为“Streaming”,IP核端口会增加一个PHASE的输入通道,该通道数据总线的位宽与设置的频率分辨率(Frequency Resolution)有关,可以在Summary界面中看到位宽(Phase Width)。该数据总线与360°的相位之间线性对应。比如Phase Width为16Bits,则0对应0°,FFFF对应360°,7FFF对应180°,以此类推。
2 PINC核原理
生成DDS控制字的ip核是用HLS编写,通过HLS进行一些乘除运算,生成一些必要的关键变量包括脉宽点数,脉冲重复周期点数,在一个CPI内脉宽之间的间隔点数等。生成的信号载频默认在16G。如果要改变载频,则需要改变HLS中的波长的参数,然后重新生成IP核即可。如果载频是一个常变的值可以修改该IP的端口增加一个载频信号的输入,在IP内计算波长即可。
2.1 参数说明
表1 雷达系统参数
输入参数
单位
初始值
备注
中频
MHz
150
范围是 25~175 MHz
PRT
Us
40
范围是 40~150 us
脉冲时宽
us
5
范围是 1~40us
信号总带宽
MHz
50
范围是 0~50 MHz
CPI
64
范围是 0~200
表2 目标参数
输入参数
单位
初始值
备注
目标速度
m/s
150
范围是-2000~2000 m/s
目标距离
m
2000
范围是 0~ 6000m
目标俯仰角
度
0
范围是 -30°~30°
目标方位角
度
0
范围是 -30°~30°
雷达的模式也进行改变,设置的雷达模式如下表:
表3 雷达模式
雷达模式
模式说明
点频模式
生成点频信号,信号的频率为雷达参数中的中心频率
数字阵列发射波形模式
根据雷达的系统参数模拟出发射波形,并乘以上DBF的权矢量,达到相位偏移的目的
数字阵列回波模型
该模型与发射模型相比的区别在于在DDS生成的波形中包含了目标的速度信息,之后再相位偏移。
2.2 IP接口说明
图2.1 综合接口
IP核的接口分为握手信号、输入和输出三部分。输入信号为雷达产生波形的必要参数其接口类型为ap_none。着重说明参数的中心频率的数据位宽类型是fixed_16_12,即位宽为16位,高12位是整数部分,低4位是小数部分。
输出部分中延迟点数与控制字为数组类型,所以他们的接口类型为ap_memory,便于直接与RAM核进行连接将数据存储便于反复读取生成目标波形。
2.3 控制字生成原理
2.3.1 频率的变化
1)要先计算出在系统时钟Fs=400MHZ时钟下脉宽和脉冲重读周期的点数。脉宽点数为:
脉冲重复周期点数为:
2)在设置DDS的IP核的时候系统时钟设置为400MHZ,为了达到高精度,位宽设置为32位,得到频率分辨率:
将控制字与相乘得到的结果便是该控制字对应的频率。
3)计算带宽B的频率控制字为:
4)计算最低频率的频率控制字,最低频率为中心频率减去一半的带宽。
控制字为:
5)求出点频的控制字:
6)为保证在脉宽点数内将频率由最低步进为最高频率,求在脉宽点数确定的前提下,每次时钟步进的控制字:
根据以上求出的这些定值求出控制字,控制字的个数为Tp_cnt个。
2.3.2目标距离的体现
目标的距离为R,体现在回波上就是延迟的点数,因为每个PRT之间延迟点数会随着速度变化,所以该IP只进行了计算每个PRT的延迟点数作为数组输出,后续的延迟工作由Verilog程序实现。
根据目标距离信息可以求出目标的回波延迟点数为:
因为目标速度为V,目标距离R会随速度与时间变化。所以一个CPI中每次脉冲的延时点数会有所变化,可以根据公式进行递推最后生成CPI个延迟点数。这里默认速度的方向的定义是目标雷达速度为正,远离雷达速度为负。
2.3.3目标距速度的体现
目标的速度体现在时域和频域两个部分。频域的话在原始波形的基础上频移一个多普勒频率,时域上体现在相位的移动上。目标的回波公式为:
Slfm表示发射波形,频移体现在多普勒频率fd上,相移体现在
上,即时域上移动的弧度为
所以计算得到第i个PRT移动的相位的角度为如下公式:
所以在DDS中将要移动的角度根据1.2所述的原理转化为二进制输入,即可实现相位移动。
速度对应的多普勒频移的控制字:
将生成的发射信号的控制字加上速度对应的多普勒频移的控制字,与相移动相配合即可生成目标回波。
3 例程说明
3.2 SIM仿真
图3.1 点频信号代码
图3.2 点频信号波形图
图3.3 点频信号波形图
图3.4 模式1发射波形代码
图3.5 模式1发射波形
图3.6 模式1发射波形
图3.7 模式2回波
由图3.7所示,在模式2下产生的波形中CPI_vld为整个CPI周期的使能;lmf_vld为信号脉宽的标志信号。在这两个标志信号上升沿相隔13.332500us在400MHZ下位5333个点,代表目标距离的延时点数。
3.3 与MATLAB对比
由于Verilog中ila观测点数的限制,所以只导出了16个PRT的回波信号数据,同时用MATLAB生成了同样含有16个PRT的回波数据,分别进行了下变频,脉压和MTD,经比较得到Verilog生成的波形与MATLAB生成的波形效果一致。
图3.8 脉压结果对比
由上图可知在距离上两种波形均脉压出目标距离位2000米。
图3.8 脉压增益结果对比
观测上图可知脉压的波形拟合效果较好。
图3.8 MTD结果对比
观测上图可知MTD拟合效果较好。由于PRT个数较少所以目标速度不是准确的200m/s。