当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]直接数字频率合成( DDS)是近年来得到迅速发展的一种新的频率合成方法,具有频率切换速度快,很容易提高频率分辨率、对硬件要求低等优点。 可编程全数字化便于单片集成、有

直接数字频率合成( DDS)是近年来得到迅速发展的一种新的频率合成方法,具有频率切换速度快,很容易提高频率分辨率、对硬件要求低等优点。 可编程全数字化便于单片集成、有利于降低成本、提高可靠性并便于生产等有点。DDS技术从相位的概念出发进行频率合成,存储了数字采样波形表,可以产生点频、线性调频、ASK、FSK等各种形式的信号。 线性调频信号可以获得较大的压缩比,有着良好的距离分辨率和径向速度分辨率,作为一种常用的脉冲压缩信号,已经广泛应用于高分辨率雷达领域。

Matlab是美国MathWorks公司自20世纪80年代中期推出的数学软件,优秀的数值计算与卓越的数据可视化能力使其很快在同类软件中脱颖而出。Matlab已经发展成为多学科、多种工作平台的功能强大的大型软件。本文用Matlab软件建立DDS系统中线性调频信号的仿真模型,对于理解线性调频信号和在 FPGA中来实现线性调频信号有借鉴意义。

 

图 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软件的良好编程性来验证这一方案,仿真结果较好的证明本方案的可行性,完成了预期的方案设计和论证。[!--empirenews.page--]

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2023年9月20日 /美通社/ -- 2023年9月19日-23日,第二十三届中国国际工业博览会(以下简称“工博会”)在国家会展中心(上海)举行,来自全球30个国家和地区的2800家展商,覆盖从基础材料、基础零部件...

关键字: 富士 存储技术 IBM 数据流

数值计算方法是一种用于解决数学问题的方法,涉及到数值近似、数值逼近、数值积分、数值微分等等。算法设计是数值计算方法的核心,它包括了数值方法的数学原理和计算机实现的算法,能够有效地解决各种数学问题。

关键字: matlab 算法设计 数值积分

仿真的基本思想是利用物理的或数学的模型来类比模仿现实过程,以寻求过程和规律。它的基础是相似现象,相似性一般表现为两类

关键字: matlab 程序仿真 仿真模式

本文利用Matlab GUI设计通过串口进行数据发送和接收的界面,并利用内置于Matlab的串口通信API实现串口数据发送与接收功能。

关键字: matlab GUI 串口通信

信号处理工程师在开发工作的所有阶段都使用 MATLAB® 和 Simulink® — 从分析信号和探索算法,到评估设计实现的权衡,最终构建实时信号处理系统。

关键字: matlab 通信系统

MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。

关键字: matlab 程序设计 计算机视觉

表示机器的浮点运算误差限,在Matlab仿真实验开发中,eps的精度达到2.2204*10^-6,当运算的误差精度下于这个数值的时候,可以认为误差为零。

关键字: matlab 控制系统 Matlab仿真

MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。

关键字: matlab 工具箱 信号处理

在科研以及应用软件领域,LabVIEW和MATLAB作为比较常用的2款工具,相信很多人都用过吧。简单的概括一下,LabVIEW侧重测试测量和数据采集,MATLAB侧重科学计算和数据分析。

关键字: LabVIEW matlab 混合编程

Matlab是matrix laboratory的组合,意为矩阵实验室,软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

关键字: matlab 编程语言 数值分析
关闭
关闭