利用UWB实现后备箱一脚踢雷达应用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

参考本博客UWB如何抗多径文章,相信大家已经知道UWB核心工作原理,UWB本质就是一串脉冲序列,作者本人采用NXP的NCJ29D6开了雷达开发板,采用线极化天线,最大化接收目标的反射功率。同时NCJ29D6内部的混频器输出IQ两路,也是混频器输出的IQ信号是含有相位的,而相位是和目标距离成正比的,所以我们可以通过IQ的相位变化的出多普勒频偏,进而得出目标的运动速度。

一、评估板介绍

笔者接触了很多UWB芯片,目前看芯片计算能力最强,前端射频链路性能最好的就是NCJ29D6,在射频链路上,NCJ29D6设计有陷波器,可以滤除一些本振泄露之类的单音干扰,还有sensitivity_boost接收链路信号增强技术,本质上就先计算或者估算噪底,再用接收信号减去估算的噪底,进而增强信噪比技术。评估板照片如下:在这里插入图片描述
在本文章中,笔者将用UWB实现后备箱一脚踢雷达。

二、核心代码

在本例中,cir_interval我们设置为 T i n t e r v a l = 50 m s T_{interval}=50ms Tinterval=50ms,我们累计N=128个cir序列组成一个阵列进行fft运算,进而得到目标的速度信息。基于公式 2 ∗ V m a x / λ = 1 / 2 ∗ T i n t e r v a l 2*V_{max}/\lambda=1/2*T_{interval} 2Vmax/λ=1/2Tinterval,这个公式的意思是我们fft能分析到的最大正频率是 1 / 2 ∗ T i n t e r v a l 1/2*T_{interval} 1/2Tinterval,速度的单位是m/s,波长的单位m,所以 2 ∗ V m a x / λ 2*V_{max}/\lambda 2Vmax/λ的单位是秒分之一,也就是赫兹。我们fft的最大正频率对应目标的最大正速度。速度分辨率 V r e s o l u t i o n = V m a x / ( N / 2 ) V_{resolution}=V_{max}/(N/2) Vresolution=Vmax/(N/2)

rdcube=cir_taps_array[i:i+fft_length,:]
rdcube=lfilter(b,a,rdcube,axis=0)
rdcube*=np.blackman(fft_length).reshape(-1,1)
rd_fft=np.fft.fft(rdcube,axis=0)/fft_length
rd_fft_shift=np.fft.fftshift(rd_fft,axes=0)
rd_fft_abs=np.abs(rd_fft_shift)
fft_combine_abs=np.sum(rd_fft_abs,axis=0)
rd_fft_abs_rel=fft_combine_abs-fft_abs_estimate
fft_abs_estimate=fft_abs_estimate*(1-alpha)+alpha*fft_combine_abs

由于一脚踢雷达监测的是UWB前方目标的突然挥动或者突然变化,当然可以根据未来车辆的实际安装 位置,设计监测目标的距离区间,以及目标的速度监测区间。本例是简单的demo,未设置目标的监测距离区间以及目标速度的监测区间。思路是,在没有目标挥动时更新计算UWB雷达前方的噪底,每次接收的信号减去噪底,如果有目标挥动时能检测到大的信号波动,设置一个合理的阈值就可以监测到挥动。

三、演示视频


UWB一脚踢雷达

总结

通过监测UWB雷达前方特定距离以及特定速度区间的目标来检测是否有一脚踢,来实现后备箱的一脚踢雷达,NCJ29D6集成有DSP能实现fft运算,单个芯片就可以实现所有一脚踢功能。有定点客户可以联系我企业邮箱 hongsheng.wang@avnet.com,获取开发板,本开发板支持python脚本开发,所有芯片配置都可以通过python配置,并且python中可以直接获取cir数据。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值