关注公众号

关注公众号

手机扫码查看

手机查看

喜欢作者

打赏方式

微信支付微信支付
支付宝支付支付宝支付
×

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

2020.10.26

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

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

  式中fe为载波频率,K=B/T是调频斜率,于是,信号的瞬时频率为。

  其对应的量化公式如下(此式是以图2实现的原理公式):

基于Matlab的DDS线性调频信号的仿真应用(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等等,修改不同变量值可以得到各,不同的线性调频信号。具体的实现要根据实际的需要来设置。


推荐
热点排行
一周推荐
关闭