常用的雷达信号:基于DDS的线性调频信号的产生

2020-12-29 16:27:20 浏览数 (1)

大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。

国际妇女节全称“联合国妇女权益和国际和平日”,在中国又称“国际劳动妇女节”、“三八节”和“三八妇女节”。现流行称为“女神节”、“女王节”,祝广大女神、女王,节日快乐。

大侠好,今天由“82年的程序媛”本媛给大侠带来FPGA设计之基于DDS的线性调频信号的产生,后续本媛还会继续更新产品项目开发心得,学习心得等,欢迎大家持续关注,话不多说,上货。

一、 DDS工作原理

DDS(Direct Digital Synthesizer)技术是一种频率合成方法,其输出频率具有分辨率高、功耗低、频率切换速度快且频率切换时输出信号的相位连续等特点。为此在数字信号处理及硬件实现中有着很重要的作用。

DDS的结构主要由相位累加器、波形存储器、数模转换器和低通滤波器等四个大的结构组成,其结构框图如下:

其中,fclk为参考时钟,Pword为相位控制字,给定输出信号的初始相位值;Fword为频率控制字,用于控制输出信号的频率。DDS模块工作时,每来一个参考时钟,相位累加器就将频率控制字与寄存器输出的值累加,将相加后的值继续输入到寄存器中,这样构成一个循环,可以不停的对频率控制字进行累加。累加的值作为地址在波形存储器中通过查找地址所对应的幅值表,就可以完成其从相位到幅值之间的转化。

在DDS模块中,输出频率的公式为:Fout = fclk/2*Fword

从公式可以看出,DDS输出的频率由频率控制字Fword决定。当频率控制字变化时,输出频率也跟着变化,从而可以实现调频信号的产生。

二、 线性调频信号

线性调频信号是一种频率连续线性变化的信号,是一种常用的雷达信号。在雷达系统中常用做发射信号,由于其带宽较高且包络为矩形,故在接收机端可以实现脉冲压缩得到较高的距离分辨力。

线性调频信号表达式为:S(t)=Acos(2πf0 πut^2) (0≤t≤τ);

相位对 t 求导得到频率: f=f0 ut;

其中:f0为起始频率,u为调频斜率,τ为脉冲宽度,B=uτ为信号的带宽。

由公式可以看出,S(t)的频率随时间变化线性变化,初始值为f0,斜率为u。

三、 基于DDS的线性调频信号产生

由DDS原理可知通过控制输入的频率控制字即可控制输出的信号频率,我们可以通过控制频率控制字使DDS输出信号的频率线性变化,由此产生线性调频信号。

由于在MATLAB中仿真能更清楚的了解信号的频谱,故本实验采用在system generator中搭建模型的方式,仿真正确后生成IP核的加入到工程中。

首先,我们需要确定线性调频信号的相关参数,即模型的输入包括采样率fs、信号的带宽B、斜率选择ratio以及初始相位frq_first等。

整体模型框图如下图所示:

首先根据带宽及采样率通过fword_gen模块产生线性的DDS的频率控制字,并且给出初始相位和斜率选择;将计算得到的频率控制字输出给DDS,产生频率在Band带宽内线性变化的余弦信号;最后通过幅度调制模块对输出信号的振幅进行调整,得到一个chirp信号。

DDS模块调用xilinx的IP核DDS compiler6.0,可以双击IP核进行配置其系统时钟、相位位宽、输出信号位宽等。

其中poff为相位控制字,pinc为频率控制字。需要注意的是,在搭建模型调用IP核时,输入的相位控制字和频率控制字均需要为小数,可以通过调用reinterpret模块,将fword_gen模块生成的频率控制字转换成小数后输入给DDS IP核。

最后通过在matlab环境下仿真得到的chirp信号如下图所示:

分别为信号实部、虚部以及初始相位375M、带宽为500M的信号频谱图。

今天本媛就说到这里,后续继续和大侠一起分享,欢迎关注貌美如花的“82年的程序媛”本媛,江湖偌大,继续闯荡,加油!

END

后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。

大侠们,江湖偌大,继续闯荡,愿一切安好,有缘再见!

0 人点赞