郑州做网站企业汉狮,四川省建设建设监理协会网站,品牌宣传型网站有哪些,页面设计结课总结一、为什么现在越来越多设备用的是 FMCW 雷达#xff1f;
近年来#xff0c;FMCW#xff08;调频连续波#xff09;雷达成为毫米波感知的绝对主流。从智能汽车、智能家居#xff0c;到工业液位计、安防雷达、生命体征检测#xff0c;背后的核心技术几乎都是 FMCW。
原因…一、为什么现在越来越多设备用的是 FMCW 雷达近年来FMCW调频连续波雷达成为毫米波感知的绝对主流。从智能汽车、智能家居到工业液位计、安防雷达、生命体征检测背后的核心技术几乎都是 FMCW。原因很简单功耗低精度高成本低能同时测距离 速度 角度模块化成熟77GHz / 60GHz / 24GHz因此现在是学习 FMCW 雷达最好的时代。二、FMCW 雷达一句话核心原理先讲人话FMCW 的本质就是比较“我现在发的频率”和“回波的频率”之间的差从而解出距离。FMCW 发出去的是一个频率随时间线性变化的信号Chirp目标回来的信号是一个被延迟的版本两者相减 → 得到一个拍频信号拍频 ∝ 距离。非常优雅。三、发射信号是一条“斜坡”Chirp WaveformFMCW 不像一般无线电那样只发固定频率而是频率从 f0 连续扫到 f0B形成一条上升的斜坡。数学表达f ( t ) f 0 k t , k B T chirp f(t) f_0 kt,\quad k\frac{B}{T_\text{chirp}}f(t)f0kt,kTchirpB其中B 为扫频带宽Tchirp 为 chirp 时长k 为调频斜率Hz/s四、回波信号只是“被延迟”的自己目标距离 R会导致回波延迟τ 2 R c \tau \frac{2R}{c}τc2R因此回波信号可理解为发射信号向右平移了 τ。五、混频 —— FMCW 的灵魂步骤发射信号 Tx 与延迟回波 Rx 做乘法混频beat ( t ) T x ( t ) ⋅ R x ∗ ( t ) \text{beat}(t) Tx(t)\cdot Rx^*(t)beat(t)Tx(t)⋅Rx∗(t)会得到一个低频正弦信号拍频f b e a t k ⋅ τ f_{beat} k \cdot \taufbeatk⋅τ代入 τf b e a t 2 k R c f_{beat} \frac{2kR}{c}fbeatc2kR六、拍频如何转换成“距离”根据上式可反推距离R c ⋅ f b e a t 2 k R \frac{c \cdot f_{beat}}{2k}R2kc⋅fbeat这就是 FMCW 测距的基本原理。七、如果目标在动会出现多普勒频移目标速度 v 会引入额外频移f d 2 v λ f_d \frac{2v}{\lambda}fdλ2vFMCW 中最终的频率变成f f b e a t ± f d f f_{beat} \pm f_dffbeat±fd于是通过快时间 FFT → 距离慢时间 FFT → 速度即可得到Range-Doppler Map距离-速度图。八、生活类比理解 FMCW 的最好方式你可以把 FMCW 理解为你吹一个一直变尖的哨子听回声的音调差就知道墙有多远。九、为什么 FMCW 比脉冲雷达更受欢迎特性FMCW脉冲雷达功耗✅ 低❌ 高成本✅ 低❌ 高抗噪性能✅ 强一般距离分辨率高中多目标分辨易难噪声系数需求中高FMCW 已成为毫米波雷达的绝对主流。 真正的核心亮点FMCW 距离谱动画MATLAB演示FMCW 的理论虽然不难但如果能看到发射信号回波信号拍频信号FFT 距离谱随目标移动而变化那么理解速度会提升 10 倍。因此下面提供一个可直接运行的 MATLAB 动画脚本。它能生成一段 MP4 动画演示目标距离从 10m 移动到 40m 时距离谱Beat Frequency FFT如何随之漂移。10.1 动画内容示意逻辑动画包含两部分可视化① 上半部分Time Domain蓝色Tx 发射信号红色Rx 回波信号绿色Beat 拍频随着距离变远Rx 延迟变大Beat 频率升高② 下半部分Range Spectrum对混频后的 Beat 做 FFT峰值出现的位置就是“目标距离”随着目标移动峰值会从 10m → 40m 平滑移动直观展示 FMCW 测距的原理10.2 MATLAB 动画脚本可直接运行将以下代码保存为fmcw_range_spectrum_animation.m然后在 MATLAB 里直接运行会生成fmcw_range_spectrum.mp4 完整脚本如下含注释%% FMCW 雷达距离谱动画演示% 作者雷达物联% 功能生成一段目标由近到远移动时FMCW 距离谱(Range Spectrum)的动画clear;clc;close all;%% 1. 基本物理与雷达参数c3e8;% 光速 (m/s)fc77e9;% 载频 77 GHzB200e6;% 调频带宽 200 MHzTchirp40e-6;% 单个 Chirp 时长 40 usslopeB/Tchirp;% 调频斜率 (Hz/s)Fs2e6;% 采样率 2 MHz示意用可根据需要调整Nsround(Tchirp*Fs);% 每个 chirp 的采样点数t(0:Ns-1)/Fs;% 时间轴%% 2. 目标运动设定从 10m 移动到 40mR_start10;% 起始距离 (m)R_end40;% 结束距离 (m)Nframes120;% 动画帧数也等价于 chirp 个数R_veclinspace(R_start,R_end,Nframes);% 每帧的目标距离%% 3. 视频输出设置生成 MP4 文件videoFileNamefmcw_range_spectrum.mp4;vVideoWriter(videoFileName,MPEG-4);v.FrameRate30;% 帧率open(v);%% 4. Figure 初始化figfigure(Color,k,Position,[1001001200675]);% 预先计算 FFT 尺寸和距离轴Nfft2^nextpow2(Ns);fbeat(0:Nfft/2-1)*Fs/Nfft;% 拍频频率轴正频R_axisc*fbeat/(2*slope);% 映射到距离轴maxRangeToShow80;% 图上显示的最大距离m%% 5. 动画主循环fork1:Nframes RkR_vec(k);% 当前帧目标距离tau2*Rk/c;% 往返时间延迟% ---------- 5.1 生成 Tx Rx ----------% 发射信号 (FMCW Chirp)txexp(1j*2*pi*(fc*t0.5*slope*t.^2));% 回波信号时间延迟后的 chirpt_delayt-tau;rxexp(1j*2*pi*(fc*t_delay0.5*slope*t_delay.^2));rx(ttau)0;% 在信号“还没回来”之前置 0避免非物理% ---------- 5.2 混频得到 beat signal ----------beattx.*conj(rx);% ---------- 5.3 对 beat 做 FFT 得到距离谱 ----------BFfft(beat,Nfft);BFBF(1:Nfft/2);% 只取正频PBFabs(BF);% 幅度谱PBFPBF/max(PBF);% 归一化方便显示%% ---------- 5.4 绘图 ----------clf(fig);% 上半部分时间域信号只画一小段subplot(2,1,1);Ns_showmin(500,Ns);% 显示前 500 个点plot(t(1:Ns_show)*1e6,real(tx(1:Ns_show)),Color,[0.20.81.0]);hold on;plot(t(1:Ns_show)*1e6,real(rx(1:Ns_show)),Color,[1.00.40.4]);plot(t(1:Ns_show)*1e6,real(beat(1:Ns_show)),Color,[0.61.00.6]);grid on;set(gca,Color,[0.050.050.1],XColor,[0.90.90.9],YColor,[0.90.90.9]);xlabel(Time (\mus),Color,[0.90.90.9]);ylabel(Amplitude,Color,[0.90.90.9]);title(sprintf(Time-domain Signals (R %.1f m),Rk),Color,[0.950.950.95]);legend({Tx,Rx,Beat},TextColor,[0.90.90.9],Location,northeast);% 下半部分距离谱subplot(2,1,2);stem(R_axis,PBF,Marker,none,LineWidth,1.5,Color,[0.20.81.0]);xlim([0maxRangeToShow]);ylim([01.05]);grid on;set(gca,Color,[0.050.050.1],XColor,[0.90.90.9],YColor,[0.90.90.9]);xlabel(Range (m),Color,[0.90.90.9]);ylabel(Normalized Magnitude,Color,[0.90.90.9]);title(FMCW Range Spectrum (Beat Frequency FFT),Color,[0.950.950.95]);% 标记当前目标距离hold on;[~,idxPeak]max(PBF);R_peakR_axis(idxPeak);line([R_peak R_peak],[01.05],Color,[10.50],LineStyle,--,LineWidth,1.2);text(R_peak,1.02,sprintf( %.1f m,R_peak),Color,[10.80.4],...HorizontalAlignment,left,VerticalAlignment,top,FontSize,10);% 整体标题sgtitle(FMCW Radar – Moving Target Range Spectrum Animation,...Color,[0.950.950.95],FontSize,14);drawnow;% 将当前帧写入视频framegetframe(fig);writeVideo(v,frame);end%% 6. 结束close(v);disp([动画已生成,videoFileName]);10.3 运行效果示意动画逻辑运行后你会看到发射信号 Tx蓝色回波信号 Rx红色拍频信号 Beat绿色FFT 距离谱下半部分的尖峰尖峰会随帧数从 10m → 40m 平滑移动这是极清晰、极直观的 FMCW 测距动态演示。十一、最终总结FMCW 的思想非常优雅用时间换频率用频率换距离。通过 MATLAB 的可视化动画我们不再仅仅停留在公式上而是能够“看到”回波延迟 → 拍频变化拍频变化 → FFT 峰值移动峰值移动 → 距离连续变化这正是 FMCW 雷达测距的本质。