datasheet

基于Matlab的DDS线性调频信号的仿真应用

2016-10-09来源: eechina关键字:Matlab  DDS  线性调频信号
直接数字频率合成(DDS)是近年来得到迅速发展的一种新的频率合成方法,具有频率切换速度快,很容易提高频率分辨率、对硬件要求低等优点。可编程全数字化便于单片集成、有利于降低成本、提高可靠性并便于生产等有点。DDS技术从相位的概念出发进行频率合成,存储了数字采样波形表,可以产生点频、线性调频、ASK、FSK等各种形式的信号。线性调频信号可以获得较大的压缩比,有着良好的距离分辨率和径向速度分辨率,作为一种常用的脉冲压缩信号,已经广泛应用于高分辨率雷达领域。
Matlab是美国MathWorks公司自20世纪80年代中期推出的数学软件,优秀的数值计算与卓越的数据可视化能力使其很快在同类软件中脱颖而出。Matlab已经发展成为多学科、多种工作平台的功能强大的大型软件。本文用Matlab软件建立DDS系统中线性调频信号的仿真模型,对于理解线性调频信号和在FPGA中来实现线性调频信号有借鉴意义。
DDS线性调频信号发生器框图设计




图 1 DDS技术的基本原理



1 DDS技术的基本原理

基本模型如图1所示,主要由时钟频率源fclk、相位累加器、波形存储器(ROM)、数/模转换器(D/A)、以及低通滤波器(LPF)组成。输出信号波形的频率表达式为:

(1)

(1)式中,fclk为参考时钟频率,ΔΦ为相位增量,N为相位累加器的位数。只要N足够大,DDS可以得到很小的频率间隔。要改变DDS的输出信号的频率,只要改变ΔΦ即可。当参考时钟频率给定后,输出信号的频率取决于频率的控制字,频率分辨率取决于累加器的位数,相位分辨率取决于ROM的地址位数,幅度量化取决于ROM的数据字长和D/A转换器的位数。

2 线性调频信号的实现框图




图2 软件编程实现线性调频信号的原理图



脉冲压缩雷达最常见的调制信号是线性调频信号,接收时采用匹配滤波器(Matched Filter)压缩脉冲。它的数学表达式如下:

(2)

式中fe为载波频率,K=B/T是调频斜率,于是,信号的瞬时频率为。
其对应的量化公式如下(此式是以图2实现的原理公式):

(3)

式中N为相位累加器的位数,Kc为频率控制字,K为上式中的调频斜率。

图1所示的DDS原理框图是用于实现固定频率的正弦波信号,按照公式(3)的思路实时改变ΔΦ,即可产生线性调频信号。

经过频率累加器输出的是严格线性增长的瞬时频率。在实际过程中,相位累加器的输出是经过相位截断再进行寻址,从而引入了一定的相位误差,虽然这一误差会影响到线性调频信号的线性度,但是调频斜率为相位的二次导数,相位截断误差本身已很小,所以对调频线性度的影响就更小了。在本文的Matlab实现中暂时不考虑截断问题,忽略不计。

3 Matlab软件建模实现线性调频信号

本程序遵照上述软件编程实现线性调频信号的原理图编写,采用.m文件的方式编写,下面是实现的源程序:

%调频信号的累加器实现
clear all;clc   %清除所有变量,清屏
M=2^11; %采样的点数
a(1:1:M)=0; %频率累加器的数值
b(1:1:M)=0; %相位累加器的数值
y(1:1:M)=0; %输出的波形数据
K=400; %调频斜率
Kc=10;  %初始频率控制字
N=10;  %幅度量化位数
L=24;  %相位累加器位数
%下面一段实现频率累加器
a(1)=0.5*K; %初始频率步进量
for i=2:1:M
a(i)=a(i-1)+K;
end
%下面一段实现相位累加器
b(1)=Kc+a(1); %相位初始值
for i=2:1:M
b(i)=b(i-1)+(Kc+a(i));
end
%下面一段实现了查找表ROM以及进行幅度量化
for i=1:1:M
y(i)=floor(2^N*cos(2*pi/(2^L)*b(i)));
end
%下面一段画出相应的图形
figure(1);plot(y);axis([0 M,-2^N-100 2^N+100]);
figure(2);freqz(y)

上面这段程序中,有很多的变量,包括调频斜率K、频率控制字Kc、幅度量化位数N以及相位累加器位数L等等,修改不同变量值可以得到各,不同的线性调频信号。具体的实现要根据实际的需要来设置。

4 实验结果

根据上面的程序,取调频斜率为400,频率控制字为10,幅度量化为10位(和所使用的D/A配合),相位累加器为24位,用Matlab仿真得到的线性调频信号的波形和相应的幅频响应如图3和图4所示。




图3 K=400,Kc=10,N=10,L=24的情况下的线性调频信号





图4 针对图3的幅频特性曲线


结束语

本文所讲的线性调频信号的产生原理和方法有很好的可扩展性,修改频率累加器的内容即可以实现其他的各种调频信号。作为线性调频信号,由于广泛应用于高分辨率的雷达系统中,因此正确理解线性调频信号的产生原理和掌握其产生的方法是很有现实意义的。在实际应用中主要采用专用DDS芯片或者FPGA来实现线性调频信号(各有优缺点),而本文则基于Matlab软件的良好编程性来验证这一方案,仿真结果较好的证明本方案的可行性,完成了预期的方案设计和论证。

关键字:Matlab  DDS  线性调频信号

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/qrs/article_2016100930881.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:气体传感器PID脉宽恒温控制电路设计
下一篇:具有多种保护功能电路的设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

MATLAB 加强学术研究,为教育行业提供无限扩展和合作机会

MathWorks宣布扩展对 MATLAB Parallel Server 的访问,以帮助加快学术研究。现在,拥有 MathWorks Campus-Wide License 全校授权许可(包括 MATLAB Parallel Server)的学术机构的所有研究人员和学生都有无限访问权,可将 MATLAB 程序和 Simulink 仿真扩展到集群和云。全新的灵活使用策略还延伸到来自其他学术机构的客座教授和研究人员,从而实现合作。 MATLAB Parallel Server 可无缝使用额外的计算机资源来加快研究速度。现在,在大学拥有的集群上或 Amazon Web Services 和 Microsoft Azure
发表于 2019-06-20

MathWorks 发布 2019a 版 MATLAB 和 Simulink

MathWorks 宣布推出了 2019a 版本的 MATLAB 和 Simulink。该版本包含支持人工智能(AI)、信号处理和静态分析的新产品和重要增强功能,以及所有产品系列中的新功能和 Bug 修复。 MATLAB 市场总监 David Rich 说道:“从大力推广 AI 向生产转移的重要挑战之一是,各个组织要雇佣 AI ‘专家’并尝试教他们掌握工程领域的专门知识。借助 R2019a,MathWorks 使工程师能够快速而有效地拓展他们的 AI 技能,无论是使用强化学习功能开发控制器和决策系统、在 NVIDIA DGX 和云平台上训练深度学习模型,还是将深度学习功能应用于三维数据。” AI 
发表于 2019-03-26
MathWorks 发布 2019a 版 MATLAB 和 Simulink

MATLAB 和 Simulink 加快航空航天设计

MathWorks 宣布面向航空航天设计领域推出了 MATLAB 和 Simulink 的全新飞行分析和可视化功能。在 2018b 版中,Aerospace Blockset 新增了飞行控制分析工具,协助分析航空航天飞行器的飞行品质;Aerospace Toolbox 增添了座舱飞行仪器用户界面的自定义功能,用于可视化和分析航空航天飞行器的运动和行为。现在,工程师可以制定从早期飞行器设计和开发阶段到飞行原型开发的连续工作流程,从而缩短从设计到测试所需的时间。 航空航天设计需要满足严格的设计和监管要求,以确保符合 MIL-F-8785C、DO-178 B 和 DO-178 C 等标准,工程团队通常会借助 Simulink
发表于 2019-01-17

扩展 MATLAB 工作流程— Sensor Fusion and Tracking Toolbox

扩展 MATLAB 工作流程,帮助工程师设计、仿真和分析来自多个传感器的数据融合系统 MathWorks 公司今天推出了 Sensor Fusion and Tracking Toolbox,该工具箱是 2018b 版的一个组成部分。新工具箱为在航天和国防、汽车、消费类电子及其他行业开发自主系统的工程师提供算法和工具,来保持位置、方向和态势感知。该工具箱扩展将基于 MATLAB 的工作流程,帮助工程师开发精确的感知算法用于自主系统开发。 从事自主系统感知阶段开发的工程师需要融合来自各传感器的输入,来估算这些系统周围的物体位置。现在,科研人员、开发者和兴趣爱好者可以使用该工具箱内的定位与跟踪算法以及参考示例
发表于 2018-12-14
扩展 MATLAB 工作流程— Sensor Fusion and Tracking Toolbox

MathWorks 推出 2018b 版本的 MATLAB 和 Simulink

MathWorks 宣布,推出 2018b 版本的 MATLAB 和 Simulink。该版本包含重要的深度学习增强功能,以及各个产品系列中的新功能和Bug修复。新的 Deep Learning Toolbox 取代了 Neural Network Toolbox,为工程师和科学家提供了用于设计和实现深度神经网络的框架。现在,图像处理、计算机视觉、信号处理和系统工程师可以使用 MATLAB 更轻松地设计复杂的网络架构,并改进其深度学习模型的性能。MathWorks 最近加入了 ONNX 社区,表明其对互操作性的支持,从而实现 MATLAB 用户与其他深度学习框架用户之间的协作。使用 R2018b 中
发表于 2018-09-19

matlab与stm32之间利用串口通信记录

;scom.InputBufferSize = 512;scom.BytesAvailableFcnMode = 'terminator';  % 'byte'scom.terminator = CR/LF ;scom.Timeout = 50; %read or write wait timefopen(scom);.fclose(scom);通常会在关闭串口后删除串口,在matlab工作空间中清除串口数据:delete(scom);clear scom;问题1.:matlab刚打开后,第一次可以成功打开串口,第二次再打开就会报错如下:>> scom = serial('com6','
发表于 2018-09-09

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved