求助一个扫频法的MATLAB程序

求助一个扫频法的MATLAB程序,第1张

MATLAB里面的ident工具箱就是专门用来做辨识的,你只需要把输入输出的数据给它,然后设置好参数(采样时间,传递函数阶数,有无零点,有无延迟,极点类型等),然后就会计算出传递函数的参数,不需要编程,我记得这个工具箱本身用的就是最小二乘的算法。

你使用这样的公式: y=A*cos(2*pi*f*t) 所以,程序可以这样写: f=1A=1t=0:0.1:10m=A*cos(2*pi*f*t) 说点题外话: 最近有会员在知道投诉吧里投诉我,说我没有给大家提供完整程序,不配做Matlab专家。 不知道大家是怎么看待的,我认为我告...

下面的图中给出了大致的流程,首先我们会生成接收得到的差频信号,然后采用了二维FFT进行了Range-Doppler,也就是距离多普勒处理,最后给出了经过二维FFT处理后的 RDM (Range Doppler Map)。

在接收得到的差频信号的第一个周期的信号,将其表示为复指数形式为

其中, B 为扫频带宽, f0 为起始频率, N 表示一个周期的采样点数, R v 为目标的距离和速度信息。

上面的式子已经给出了该FMCW雷达在快时间维度的接收差频信号的表示,在此基础上,可以进一步推出快时间维度和慢时间维度上接收差频信号的表示

利用上面这两个式子,即可得到含有目标距离和速度信息的接收差频信号。

到这里,我们已经得到了含有目标状态信息的接收信号。

在进行距离维的FFT之前,为了减小泄露加了window,后面的多普勒维在做FFT之前同样加了window,了解了这些后,对前面构造的接收信号做距离维的FFT,就可以得到目标的距离信息,我们会看到距离维的FFT结果中会存在一些峰值,这些峰值所在的位置就是目标的位置,当然,目标的峰值位置与目标的实际位置之间存在一个转换关系。

利用距离分辨率就可以将距离FFT得到的峰值位置与目标的实际位置联系起来,将峰值位置转换为目标的实际距离值。

同样的在多普勒维度进行FFT可以得到目标的速度信息,和距离维的FFT结果一样,在多普勒维度内的峰值位置与目标的实际速度之间也存在着一个转换关系。

这个程序中,我们设置了两个目标,它们的距离和速度分别为

最后简单运行一下,可以得到一个RDM图

可以看到,对生成的接收信号的距离-多普勒处理得到两个峰值,利用距离分辨率和速度分辨率可以得到这两个目标的实际距离和速度信息。

题图:Snapshot_Factory,from the Pixabay.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7929378.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存