大师好,我是 @调皮持续波 ,江湖人称“调皮哥”。正值五一假期,去那里都人多,是以调皮哥挑选在室内进修,等到非假期的时候再进来游玩。是以这几天时候里,给大师预备了一些进修的材料,供雷达初学者和感爱好的读者进修参考,希望可以帮助到大师。本期文章预备的内容是《干货:FMCW雷达信号处置建模与仿真(含matlab代码)》,满是干货常识,认真进修一定可以对大师的进修有帮助。 好了,闲话不多扯,间接起头进修吧。 1.引言FMCW雷达信号处置建模与仿真,是诸多初学者在研讨雷达的进程中一定会碰到的题目,很多初学者甚至不晓得若何动手,是以调皮哥针对这个题目,给大师整理了本期文章。本文将率领大师学会若何基于FMCW停止雷达信号处置建模仿真,并连系雷达信号处置理论与MATLAB编程理论进修,从发射信号起头,到回波信号、间隔维FFT、速度维FFT以及CFAR检测等内容,文章供给了对应的MATLAB代码帮助大师进修仿真。 调皮哥之前写过《调皮持续波:雷达道理 | 用MATLAB信号处置是若何解算方针的间隔和速度信息的?》一文,可是过分于理论,并没有从雷达的根源角度系统性地先容雷达的根基道理,是以本期文章将连系该文加倍系统地先容,可以帮助大师构成常识系统。 2.发射信号模子一般情况下,雷达发射信号的模子可采用线性调频持续波(LFMCW) ,发射波形的信号形式为调频持续锯齿波。线性调频的寄义即调制信号频次随时候线性变化,从时域上看是一个频次随时候线性变化的波形;从频域上看, 发射信号的频次与时候成反比, 如图1所示。 图1 线性调频持续波(LFMCW) 理论上,发射信号的模子可以用公式(1)暗示: s_{t}(t)=A \cos \left\{2 \pi\left(f_{0} t+S t^{2} / 2\right)+\phi_{0}\right\}, \quad t \in[0, \quad T] (1) 其中A是发射信号幅度,发射的chirp信号扫频带宽为 B,发射时宽为T,即调频斜率为 B/T,记为S 。 所以,单周期的 FMCW 雷达发射信号模子的相位可以写成公式(2): p_{t}(t)=2 \pi\left(f_{0} t+S t^{2} / 2\right)+\phi_{0} \quad, t \in[0, T] (2) 所谓单周期,即只要一个chirp扫频信号。可是一般我们研讨FMCW雷达信号处置,需要多周期(如128个)的chirp信号,这是由于我们需要操纵多个chirp来丈量方针的速度。 凡是,各类文献材料对于雷达发射信号的暗示方式有两种,一种是实数信号暗示形式,如本文所用的。另一种是复数信号暗示形式,如公式(3)所示: s_{t}(t) \operatorname=A\exp \left(j 2 \pi\left(f_{0} t+\frac{1}{2} St^{2}\right)+\phi\right), t \in[0, T] (3) 可是由于我们在发射信号是,只要实数信号,而并非复数信号,只是在后续的ADC芯片中采用正交采样时,才把信号变成覆信号。需要留意的是,这两种表达方式都是正确的,只是在后续的处置进程中,有一些分歧。本文仍然采用传统的实数信号表达方式。 在仿真MATLAB代码中发射信号的理想模子暗示为: Tx(i) = cos(2*pi*(fc*t(i) + (slope*t(i)^2)/2)); % 发射信号 实数信号发射信号时域图如图2所示: plot(Tx(1:1024));xlabel('点数'); ylabel('幅度'); title('TX发射信号时域图'); 图2 发射信号时域 发射信号时频图如图3所示: if i<=1024freq(i)=fc+slope*i*Tchirp/Nr; %发射信号时频图 只取第一个chirp freq_echo(i)=fc+slope*i*Tchirp/Nr;%回波信号频谱提早 end plot(t(1:1024),freq); xlabel('时候'); ylabel('频次'); title('TX发射信号时频图'); 图3 发射信号时频图 3.雷达参数与方针参数设备在MATLAB代码中设备雷达的参数和方针的参数,便于我们停止建模仿真尝试。具体参数以下所示: maxR = 200; % 雷达最大探测方针的间隔rangeRes = 1; % 雷达的间隔分率 maxV = 70; % 雷达最大检测方针的速度 fc= 77e9; % 雷达工作频次 载频 c = 3e8; % 光速 r0 = 90; % 方针间隔设备 (max = 200m) v0 = 10; % 方针速度设备 (min =-70m/s, max=70m/s) B = c / (2*rangeRes); % 发射信号带宽 (y-axis) B = 150MHz Tchirp = 5.5 * 2 * maxR/c; % 扫频时候 (x-axis), 5.5= sweep time should be at least 5 o 6 times the round trip time endle_time=6.3e-6; %余暇时候 slope = B / Tchirp; %调频斜率 f_IFmax= (slope*2*maxR)/c ; %最高中频频次 f_IF=(slope*2*r0)/c ; %当前中频频次 Nd=128; %chirp数目 Nr=1024; %ADC采样点数 vres=(c/fc)/(2*Nd*(Tchirp+endle_time));%速度分辨率 Fs=Nr/Tchirp; %模拟信号采样频次 t=linspace(0,Nd*Tchirp,Nr*Nd); %发射信号和接收信号的采样时候 Tx=zeros(1,length(t)); %发射信号 Rx=zeros(1,length(t)); %接收信号 Mix = zeros(1,length(t)); %差频、差拍、拍频、中频信号 4.回波信号模子假定静止的方针间隔雷达的间隔为R,电磁波在空气中传输速度为c,则接管天线接管到的信号比发射的信号提早τ=2R/c,所以理想情况下接管天线接收到的方针回波信号模子如公式(4)所示: S_{r}(t)=K A \cos \left\{2 \pi\left[f_{0}(t-\tau)+S(t-\tau)^{2} / 2\right]+\phi_{0}\right\}, t \in[0, T] (4) 由上述公式可知,回波信号具有和发射信号一样的信号形式,相对于发射信号在时候上有牢固延时τ,故而回波信号的相位可以表式为公式(5): p_{r}(t)=2 \pi\left[f_{0}(t-\tau)+S(t-\tau)^{2} / 2\right]+\phi_{0} (5) 在MATLAB中接收信号(雷达的回波信号)暗示为: Rx(i) = cos(2*pi*(fc*(t(i)-td(i)) + (slope*(t(i)-td(i))^2)/2)); %接收信号 实数信号接收信号的时域图如图4所示: %接收信号时域图plot(Rx(1:1024)); xlabel('点数'); ylabel('幅度'); title('RX接收信号时域图'); 图4 接收信号时域图 接收信号与发射信号的时频图如图5所示: %接收信号与发射信号的时频图plot(t(1:1024),freq); hold on; plot(td(1:1024)+t(1:1024),freq); xlabel('时候'); ylabel('频次'); title('接收信号与发射信号时频图'); legend ('TX','RX'); 图5 接收信号与发射信号的时频图 4.混频将接收到回波信号Sr(t)和发射信号St(t)停止混频,并经太低通滤波器后便可以获得一个单一频次的正弦波信号,如图中黑色的“IF signal”即是中频信号的频次,如图6和图7所示。 图6 混频乘法器 图7 中频信号模子 4.1 静止方针下测距按照公式推导,当在静止方针下时, 可以得赴任频信号的相位表达式为公式(6): \begin{aligned} p_{t}(t)-p_{r}(t) &=\left\{2 \pi\left[f_{0} t+S t^{2} / 2\right]+\phi_{0}\right\}-\left\{2 \pi\left[f_{0}(t-\tau)+S(t-\tau)^{2} / 2\right]+\phi_{0}\right\} \\ &=2 \pi f_{0} \tau+2 \pi S \tau t-\pi S \tau^{2} \end{aligned} (6) 此时可以很明显地看出,发射信号和双方针的回波信号的频次差为一个单频信号。按照公式(6),可以获得中频信号频次fm,如公式(7)所示: f_{m}=S \tau=\frac{S 2 R}{c}=\frac{2 B R}{c T} (7) 对中频信号停止 ADC 采样, 然后做 FFT 提取信号的频次信息, 假定 FFT 获得频谱的谱峰值对应的频次为fm , 则方针的间隔信息可以暗示为公式(8): R=\frac{c T f_{m}}{2 B} (8) 4.2 活动方针情况下测距假定,在电磁波的覆盖地区中,存在某一方针在t0时辰间隔发射天线为R0,以径向速度v阔别雷达,以阔别天线为正偏向,至于为什么可看文章(《调皮持续波:雷达道理 | 会商调频持续波雷达方针活动偏向与速度正负的关系?》) 那末接收到方针的回波信号模子公式照旧与双方针分歧,如公式(9)所示。 S_{r}(t)=K A \cos \left\{2 \pi\left[f_{0}(t-\tau)+S(t-\tau)^{2} / 2\right]+\phi_{0}\right\}, t \in[0, T] (9) 可是,τ有所改变,如公式(10)所示: \tau=\frac{2 R_{0}}{c}=\frac{2(R+v t)}{c}=t_{0}+\Delta{t} (10) 此时,经过混频后获得中频信号的相位以下所示: \begin{aligned} p_{t}(t)-p_{r}(t) &=\left\{2 \pi\left[f_{0}(t-\tau)+S(t-\tau)^{2} / 2\right]+\phi_{0}\right\}-\left\{2 \pi\left[f_{0}(t-\tau)+S(t-\tau)^{2} / 2\right]+\phi_{0}\right\} \\ &=2 \pi f_{0} \tau+2 \pi S \tau t+\pi S \tau^{2} \end{aligned} 代入τ后的等式变成: \begin{aligned} p_{t}(t)-p_{r}(t) &=\left\{2 \pi\left[f_{0} t+S t^{2} / 2\right]+\phi_{0}\right\}-\left\{2 \pi\left[f_{0}(t-\tau)+S(t-\tau)^{2} / 2\right]+\phi_{0}\right\} \\ &=2 \pi f_{0} \tau+2 \pi S \tau t-\pi S \tau^{2} \\ &=\frac{4 \pi f_{0}(R+v t)}{c}+\frac{4 \pi S(R+v t) t}{c}-\frac{4 \pi S(R+v t)^{2}}{c^{2}} \\ &=\frac{4 \pi f_{0}(R+v t)}{c}+\frac{4 \pi S(R+v t) t}{c}-\left(\frac{4 \pi S R^{2}}{c^{2}}+\frac{4 \pi S v^{2} t^{2}}{c^{2}}+\frac{8 \pi S R v t}{c^{2}}\right) \\ &=\frac{4 \pi R f_{0}}{c}+\frac{4 \pi f_{0} v t}{c}+\frac{4 \pi S R t}{c}+\frac{4 \pi S v t^{2}}{c}-\frac{4 \pi S R^{2}}{c^{2}}-\frac{4 \pi S v^{2} t^{2}}{c^{2}}-\frac{8 \pi S R v t}{c^{2}} \\ &=2 \pi\left(\frac{2 f_{0} v}{c}+\frac{2 S R}{c}-\frac{4 S R v}{c^{2}}\right) t+\pi\left(\frac{4 S v}{c}-\frac{4 S v^{2}}{c^{2}}\right) t^{2}+\frac{4 \pi R f_{0}}{c}-\frac{4 \pi S R^{2}}{c^{2}} \end{aligned} 很明显,按照上述公式可知,对于活动方针的信号的中频信号仍然是一个近似线性调频信号。 所以设中频信号的调频斜率Um,载频fm,初相ϕm别离以下: \begin{aligned} u_{m} &=\frac{4 S v}{c}-\frac{4 S v^{2}}{c^{2}} \\ f_{m} &=\frac{2 f_{0} v}{c}+\frac{2 S R}{c}-\frac{4 S R v}{c^{2}} \\ \phi_{m} &=\frac{4 \pi R f_{0}}{c}-\frac{4 \pi S R^{2}}{c^{2}} \end{aligned} 由于光速c即是3*10^8m/s,所以疏忽c的平方项,则中频信号的时宽带宽积Dm为: \begin{gathered} B_{m}=S_{m} T=\frac{4 S v}{c} T=\frac{4 B v}{c} \\ D_{m}=B_{m} T=\frac{4 v}{c} D \end{gathered} 其中,Bm中频信号的调频带宽,为D为发射信号时宽带宽积。上述公式可以表白,即使方针在几百米每秒的高速活动情况下,中频信号的时宽带宽积唯一本来的10^-6 倍,在毫米波雷达发射极大时宽带宽积(10^6)的信号情况下,中频信号Dm的数目级也只要10^0 。是以,可近似以为回波差拍信号是一单频信号,经过频谱分析(FFT)即能获得其中心频次。所以也可以将中频信号近似地写成公式(11): S(t)=A \sin \left(2 \pi f_{0} t+\phi_{0}\right) (11) 留意:公式(11)是近似值,疏忽了多普勒频移的影响,其中R为方针间隔, f_{0}=f_{m} , \phi_{0}=\phi_{m} 。 f_{0}=\frac{S 2 R}{c} , \phi_{0}=\frac{4 \pi R}{\lambda} 近似中频信号公式疏忽中频信号的频次与物体速度的依靠关系。在快速 FMCW 雷达中,其影响凡是很是小,且在处置完成多普勒 (速度维)FFT 后,即可轻松对其停止进一步校正,这就是多普勒相位抵偿。 混频进程在MATLAB中可以暗示为: Mix(i) = Tx(i).*Rx(i);%差频、差拍、拍频、中频信号混频后的信号频图,为实信号做傅里叶变更,如图8所示: plot(db(abs(fft(Mix(1:1024)))));%检察宽带的和频信号 将chirp的点数改成1024*256即可看到有一个门信号,但留意计较机内存。xlabel('频次'); ylabel('幅度'); title('中频信号频谱'); 图8 中频信号频谱(实信号) 此时要留意,本文彩用“数字信号的形式”来模拟发射信号与回波信号,现实上是不会经过这类方式实现的,发射信号和回波信号都是模拟信号。是以在本文中,混频以后获得的中频信号只要单一的频谱,即只保存了混频乘法器积化和差公式后的“差频”信号,“和频”信号由于MATLAB采用数字信号的形式致使采样率太低,N/Tchirp=1024/Tchirp=139MHz,对“和频信号”相当于欠采样,是以并不会保存高频信号,只保存方针的最大中频信号(27.27MHz),从而MATLAB自体态成一个低通(或带通)滤波器。 假如读者想要看到“和频”信号,则可以经过增加发射信号点数的点数,相当于增加采样率的形式来观察,但由于数据量很大,雷达载波也很高,是以不倡议大师尝试。调皮哥给大师尝试了,在MATLAB代码中约为35GHz,离77GHz还很远,相当于欠采样,但还可以收集到的部分高频信号。如图9中所示,类似于门函数的频带就是和频信号。 Nr=1024*256;%中频信号频谱 plot(db(abs(fft(Mix(1:1024*256)))));%检察宽带的和频信号 将chirp的点数改成1024*256即可看到有一个门信号,但留意计较机内存。 xlabel('频次'); ylabel('幅度'); title('中频信号频谱'); 图9 中频信号(全频带) 5.低通(带通滤波)本文的FMCW雷达信号处置建模仿真,由于MATLAB采样点数题目,低通滤波器相当于自带。如若依照增加采样点数的方式来实现低通滤波器的模拟,则可以实现如图10~12所示。 %% 低通滤波 停止频次30MHz 采样频次120MHzMix=lowpass(Mix(1:1024*256),30e6,120e6); plot(db(abs(fft(Mix(1:1024*256))))); xlabel('频次'); ylabel('幅度'); title('中频信号低通滤波器'); 图10 滤波后成果 图11 低通滤波幅频响应 图12 低通滤波成果 放大后保存的频次如图13所示: 图13 低通滤波成果(放大结果) 6.正交采样(IQ复采样)本文暂采用实数信号停止分析,是以暂差池实信号停止正交采样,后续偶然候更新在停止处置。 7.间隔估量假定单个扫描周期 ADC采样点数为 1024, 采样频次为Fs=139MHz, 式中 n 为 FFT 谱峰对应的频点(Index), 按照 T、 Fs、 N 之间的关系,间隔与频次关系的公式可进一步化简为: R=\frac{c T f_{m}}{2 B}=\frac{c T}{2 B} \frac{F_{s}}{N} n=\frac{c}{2 B} \frac{T F_{s}}{N} n=\Delta R * K * n=K * \Delta R * n (12) 其中,请留意,由于上述的采样点恰好是2的次幂,是以,计较以后系数K恰好为1,假如采样点数不是2的次幂,如200个点,然落后行256个点的FFT,那末K值就不能即是1。 将中频信号依照间隔门点数、chirp脉冲数排列为二维矩阵,当时域谱如图14所示。 signal = reshape(Mix,Nr,Nd);图14 间隔门点数、chirp脉冲数排列为二维矩阵(时域) 第一个chirp脉冲的间隔维FFT成果,实信号FFT后频谱对称,只保存一半的频谱,即512个点,如图15所示。 %% 间隔维FFTsig_fft = fft(signal,Nr)./Nr; sig_fft = abs(sig_fft); sig_fft = sig_fft(1:(Nr/2),:); figure; plot(sig_fft(:,1)); xlabel('间隔(频次)'); ylabel('幅度') title('第一个chirp的FTF成果') 图15 第一个chirp脉冲的间隔维FFT成果 间隔维FFT成果谱矩阵,如图16所示。 figure; mesh(sig_fft); xlabel('chirp脉冲数') ylabel('间隔(频次)'); zlabel('幅度') title('间隔维FTF成果') 图16 间隔维FFT成果 在MATLAB中,对于间隔维做FFT,目标就是找出中频频次峰值和频点,然后按照峰值地点的间隔门号,解算出方针的间隔。 如本文的间隔门号为91,间隔分辨率为1米,则实在间隔为:(91-1)*1=90米,合适预先设定的方针参数值。 8.速度估量对于两个相邻周期的信号,由于周时代隔时候Tc较短,间隔分辨率有限,两个周期内间隔维FFT谱中的峰值位置几近没有发生变化,可是由于相位比间隔加倍敏感,即周时代细小的间隔变化会引发中频信号的初相的变化。由傅里叶变更特征,信号的初相表现在峰值处的复数值对应的相位,计较相邻周期的相位差,即可获得方针的速度: \begin{aligned} &\phi_{0}=\frac{4 \pi d}{\lambda} \\ &\Delta \phi=\frac{4 \pi v T_{c}}{\lambda} \end{aligned} 其中,两个脉冲相邻的细小间隔变化为v*Tc,所以推导出两个脉冲间的速度为: v=\frac{\lambda \Delta \phi}{4 \pi T_{c}} 推行到多个脉冲,如128个,那末相位的变化是呈周期性的,速度维度做128点FFT后的峰值就是相位差,即获得速度对应的峰值和频点再经过解算即可获得方针的速度,这个进程就是速度维FFT。接下来停止速度解算。上述公式经过推导可以变成: \begin{aligned} &\Delta v=\frac{\lambda}{2 N T_{c}} \\ &v=\frac{\lambda \Delta \phi}{4 \pi T_{c}}=\frac{\lambda}{4 \pi T_{c}} \frac{2 \pi}{N} n=\frac{\lambda}{2 N T_{c}} n=k\cdot\Delta v \cdot n \end{aligned} 其中,相位的最大值为2π。由此,速度的解算依靠于速度分辨率和速度门号,速度门号即为速度维FFT以后拿到的峰值所对应的下标(相位变化的频点)。 其中,请留意,由于上述的采样点恰好是2的次幂,是以,计较以后系数k恰好为1,假如采样点数不是2的次幂,如200个点,然落后行256个点的速度维FFT,那末K值就不能即是1。 在MATLAB中的解算进程为: Mix=reshape(Mix,[Nr,Nd]);sig_fft2 = fft2(Mix,Nr,Nd); sig_fft2 = sig_fft2(1:Nr/2,1:Nd); sig_fft2 = fftshift (sig_fft2); RDM = abs(sig_fft2); RDM = 10*log10(RDM) ; doppler_axis = linspace(-100,100,Nd); range_axis = linspace(-200,200,Nr/2)*((Nr/2)/400); figure; mesh(doppler_axis,range_axis,RDM); xlabel('间隔通道'); ylabel('多普勒通道'); zlabel('幅度(dB)'); title('速度维FFT 间隔多普勒谱'); 速度维FFT成果如图17所示: 图17 速度维FFT成果 如本文的多普勒门号为10,速度分辨率为 vres= 1.1163m/s,则实在间隔为:(10-1)* 1.1163=10.04m/s,合适预先设定的方针参数值,其中这里的速度分辨率vres是由雷达工程师自立设定的,在FMCW雷达中可以增加调频持续波的余暇时候来增加速度分辨率,但要留意与最大不模糊速度连结平衡。 本文所触及的MATLAB仿真代码,请关注公众号:调皮的持续波,答复:“0503”获得。 本文到此竣事,希望对大师有所助益,感激大师阅读。 希望大师给调皮哥一个赞! 感谢大师! |
很早以前写的培训用的Makefile文档,整理好分享给大家。本文用Linux服务器下编写C程序
有一个有趣的段子说,不同阶段的学生写论文就如同打兔子:本科生是老师告诉你死兔子在
完全可行的副业,每年多赚20万不是问题!我自己做过很多副业,从头条号、公众号、淘宝
一、砂锅的历史二、砂锅的材质分类三、砂锅的器型分类四、砂锅的著名产地五、为什么砂
这篇文章大概发了一个月左右的时间,承蒙大家厚爱,收到了许多赞和评论。大家问的最多
被骗怎么办。答案是维权!!一下是我的维权过程。可能有点长。但比较详细。想看干货直接
大家好!我是喜欢把问题研究明白的调皮哥,感谢关注我。我创建了一个【雷达工程技术交
作者:cherry it up(来自豆瓣,点击可阅读原文“中立” “客观” “理性”的迷思)今
前言最近可能很多使用 Chrome 的用户都发现了,Chrome 浏览器右键菜单里的网页翻译失
大家好,我是 @调皮连续波 ,江湖人称“调皮哥”。正值五一假期,去哪里都人多,因此
首先,这里需要申明的一点!解决国内如何使用TikTok真的非常简单,没有大家及网上说的
破300赞 更新一下首先统一回复一下质疑最多的问题明明都是学校讲过得啊,简单的变形而
各位老少爷们儿,这好像是我第一次在知乎写文章!不一定能有多少人看的到,尤其是针对
【一】干货较多,希望兄弟们耐心看完。这一期讲的主要是这四个东西中的跟风。后面还会
渗透测试,是专业安全人员为找出系统中的漏洞而进行的操作。当然,是在恶意黑客找到这
有没有同感,一来到广州就懵了啊!广州好吃的、好看的实在是太多了!想买个特产,都不
{color{red}{看完这篇,再也不用为英语语法发愁啦(保真) !}} 这篇文章可以在 15
【本文章推荐实习信息——腾讯视频VIP商务合作渠道拓展】岗位信息在文末哦~欢迎关注,
C语言是当代人学习及生活中的必备基础知识,应用十分广泛,下面为大家带来C语言基础知
海关统计数据在线查询系统优化升级了,系统更好用啦!1.进入海关总署官网http://www.c
声明:本站内容由网友分享或转载自互联网公开发布的内容,如有侵权请反馈到邮箱 1415941@qq.com,我们会在3个工作日内删除,加急删除请添加站长微信:15924191378
Copyright @ 2022-2024 私域运营网 https://www.yunliebian.com/siyu/ Powered by Discuz! 浙ICP备19021937号-4