首页 > 其他 > 详细

基于FMCW的测距实现

时间:2021-02-09 22:25:31      阅读:87      评论:0      收藏:0      [点我收藏+]

技术分享图片

  系统框图

  技术分享图片

 

  波形示意

 技术分享图片

 

   计算公式

技术分享图片

 

   则技术分享图片

 

   代入

技术分享图片

 

   得

技术分享图片

 

       由上,测距实际上是通过发射信号与回波信号的差频计算出距离。差频的值可以通过对差频信号做傅里叶变换得到。

 matlab仿真

  发射信号与回波信号

t1=0:pi/2000:3*pi;  %三角波
z1=50*sawtooth(t1,0.5)+50;
z2=50*sawtooth(t1+0.05,0.5)+50;

技术分享图片

  差频,由下图,差频为1.592(下图中右上角显示)

abs(z1-z2)

 技术分享图片

  差频信号,差频对应的正弦波

z3=sin((6.28*abs((z1-z2))).*t1);

 技术分享图片

  对差频信号做傅里叶变换,得到频谱分布,由图,频率为1.592,与上文差频一致

 技术分享图片

 matlab代码

Fs=2000/pi;
%% 三角波
t1=0:pi/2000:3*pi;
z1=50*sawtooth(t1,0.5)+50;
z2=50*sawtooth(t1+0.05,0.5)+50;
plot(t1,z1);
hold on,plot(t1,z2);
%% 差频
figure,plot(t1,abs(z1-z2));
%% 差频信号
z3=sin((6.28*abs((z1-z2))).*t1);
figure,plot(t1,z3);
%% FFT
f1=Fs*(0:6000)/6000;
zmod=abs(fft(z3)/6000);
figure,plot(f1,zmod); 

   虽然从仿真图上看到的是准确的频率,但实际上由于频率点是离散的,不一定能落在幅值最大的频点上,所以以上操作只能得到一个粗略的频率。

  找幅值最大对应的频点

index=sort(zmod,‘descend‘);
index1=find(zmod==index(1));

  仿真结果 index1 = 16,对应的 f1 = 1.5912,与实际上的幅值最大对应的频点1.592有一些差别。

  要想得到更精确的频率还需要进行进一步处理。下一篇继续

 

基于FMCW的测距实现

原文:https://www.cnblogs.com/snow15/p/14394264.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!