news 2026/4/2 16:21:16

LFM线性调频和脉冲压缩的理论总结与仿真

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LFM线性调频和脉冲压缩的理论总结与仿真

一、背景

使用雷达探测物体时,雷达发射电磁波,电磁波撞到物体后反射回来,雷达接收回波信号来判断物体的位置。想象一下,如果雷达发出的信号非常弱,信号还没有到达物体处或者回波还没回来就衰减差不多了,雷达就探测不到物体的位置。雷达发射信号的功率有限,那么如果要提高信号的总能量,就只能增加信号的持续时间。

这样是能探测到物体了,但是如果两个物体离得很近会发生什么呢。雷达发出的微波信号,在碰到第一个物体时返回,过一段时间碰到第二个物体的信号也会返回。由于回波信号的时间很长,雷达信号在接收第一个回波信号的过程中,第二个回波信号又来了,这就会造成两个信号叠加,雷达无法分辨出这两个距离过近的物体。

对于以上说明的情况来说,远距离探测和高分辨率是一对矛盾点。那么有没有什么方法,能够一定程度上在探测距离和分辨率指标上都有能有较好的表现呢,线性调频和脉冲压缩就是为了解决这个问题。

二、线性调频信号

顾名思义,线性调频信号(LFM)的瞬时频率随时间线性变化,频率

与时间

的关系和表示为

其中:

是脉冲的中心频率。

是调频率(或称啁啾率),表示频率变化的速度,单位是

,其中

是带宽,

是脉冲宽度。

LFM 信号的数学表达式可以写作

其中

是一个矩形窗函数,表示信号的时宽为

LFM 具有长时宽(T)和大带宽(B)的特点。长时宽意味着可以在保持峰值功率较低的同时,注入更多的总能量,从而提高雷达的作用距离(探测灵敏度)。大带宽能够提高雷达的距离分辨率

这个结论记住就好,即带宽越大,距离分辨力越好,下面会进行推导。

LFM 信号的优势在于它将长时宽(高能量)和大带宽(高分辨率)这两个通常相互矛盾的指标结合起来。

三、脉冲压缩

脉冲压缩是一种信号处理技术,它允许雷达在发射长脉冲(高能量)的同时,获得短脉冲(高分辨率)的效果。它通过对回波信号进行匹配滤波来实现。

首先雷达接收到目标反射回来的长 LFM 脉冲

然后需要对接收到的

进行匹配滤波,其被输入到一个匹配滤波器中,这个滤波器的冲激响应

是发射 LFM 信号

的时间反转和共轭:

匹配滤波器的输出

是输入信号

与滤波器冲激响应

的卷积:

由于

的匹配滤波器,当回波信号

与其匹配滤波器卷积时,输出信号的能量会被集中到时间轴上的一个非常窄的尖峰中。

压缩前的脉宽:

(长时宽)

压缩后的脉宽:

(窄时宽)

脉冲压缩带来的性能提升由时间带宽积 (Time-Bandwidth Product, TB) 决定。

四、LFM 表达式用复数的原因

现实世界中的信号只有实数,没有复数,因此使用复数作为信号表达式本质上是一种数学技巧,目的是更加便于分析处理信号。

在雷达或通信系统中实际发射接收到的信号,比如一个随时间变化的电压,肯定是实数,比如说

这个才是物理上真正存在的信号。

余弦函数虽然直观,但它有两个“隐藏成分”:正频率和负频率。而且当你做傅里叶变换、滤波、匹配滤波、时频分析等操作时,余弦会让公式变得又长又复杂,还容易出错。比如,如果你对 cos(θ) 做傅里叶变换,你会得到两个冲激——一个在正频率,一个在负频率。但在很多工程应用中(比如雷达),我们其实只关心正频率部分,因为负频率是数学产物,没有物理意义。

复数表示只保留有用的一半。复指数信号在数学上有个神奇的性质:它的傅里叶变换只出现在正频率。这就相当于把余弦“拆开”,只取我们关心的那一半(称为解析信号或复包络)。这样做的好处是

计算简单:导数、积分、卷积、傅里叶变换都更容易。

避免负频率干扰:专注处理正频率,符合实际系统带通特性。

便于调制解调建模:现代通信和雷达系统普遍用“复基带模型”,把高频载波去掉,只处理低频的复包络,大大简化设计。

我们在仿真或理论分析时用复数形式,但在真正发射信号前,会取它的实部。所以复数只是中间工具,最终还是要回到实数世界。

五、距离分辨率推导

先定性分析一下。

如果你发射一个纯正弦波(比如连续波,带宽 B≈0),那它看起来“平平无奇”,持续很久都一样,你根本没法判断回波是早到 1 纳秒还是晚到 1 纳秒——分辨率极差。

但如果你发射一个变化剧烈的信号(比如一个很窄的脉冲,或者频率快速扫过的 LFM 信号),它的“特征”很明显,稍微时间错开一点,波形就对不上了——就能分辨得很细。

而信号“变化有多快”,在频域里就体现为带宽 B 越大。所以:带宽越大 → 时间分辨力越高 → 距离分辨率越好(ΔR 越小)。

雷达波走的是“来回”路径。如果目标距离是

,那么电磁波走过的总路程是

,所需时间(时延)为:

所以,距离差

对应时间差

因此要提高距离分辨率(降低

),就要能分辨很小的

有个信号处理的基本原理(来自傅里叶变换的不确定性原理),一个信号在时域的“最小可分辨时间间隔”大约是其频域带宽的倒数:

综合可得

误区 正确理解

“载频越高,分辨率越好” ❌ 分辨率只看带宽 B,不是载频 f**c。你可以用 1 GHz 载频 + 10 MHz 带宽,也可以用 10 GHz 载频 + 10 MHz 带宽,分辨率一样!

“脉冲越窄,分辨率越好” ✅ 对于简单脉冲雷达是对的,因为窄脉冲天然带宽大(B≈1/脉宽)。但脉冲压缩技术让我们可以用宽脉冲+大带宽达到同样效果,还能提高能量。

六、关于中心频率的定义

情况一:LFM 以载频

为中心(对称调频)

起始频率:

终止频率:

带宽:

最高频率

这种定义在理论分析、匹配滤波设计中很常见。

情况二:LFM 从某个起始频率开始单向扫描(更贴近工程实际)

很多雷达系统并不强制让 LFM 以

为中心,而是这样定义:

起始频率:

终止频率:

带宽:

此时,中心频率(也叫“射频载频”)通常定义为:

所以最高频率

七、MATLAB 脉压仿真

%% LFM 脉冲压缩仿真(含 SLL 和 SNR 分析)

clear; close all; clc;

%% 系统参数

c = 3e8; % 光速 (m/s)

fc = 1e9; % 载频 1 GHz(仅用于显示,基带仿真可忽略)

B = 10e6; % 带宽 10 MHz

T = 10e-6; % 脉宽 10 微秒

fs = 50e6; % 采样率(需 > 2*B,这里取 50 MHz)

ts = 1/fs;

N = round(T * fs); % 采样点数

t = (-N/2 : N/2 - 1)' * ts; % 时间向量(对称)

%% 1. 生成基带 LFM 信号(复数形式)

K = B / T; % 调频率

s = exp(1j * pi * K * t.^2); % 基带 LFM

s(t < -T/2 | t > T/2) = 0; % 加矩形窗(实际已由 t 范围限制)

%% 2. 频域分析

S = fftshift(fft(s)); % fft 计算出的结果直流和低频在两端,高频在中间。

% fftshif 的作用是使得直流和低频在中心,高频在两端。

f = (-N/2 : N/2-1)' * fs / N; % 频率轴(基带)

%% 3. 脉冲压缩:匹配滤波

% 匹配滤波器 = s 的时间反转共轭

h = conj(flipud(s)); % flipud 的作用是上下翻转数组

y = conv(s, h, 'same'); % 脉压输出(无噪声)

% 卷积操作的输出 y 的长度必须与输入信号 s 的长度相同。

y = y / max(abs(y)); % 归一化主瓣为 1

% 添加白噪声(用于 SNR 计算)

SNR_in_dB = 10; % 输入信噪比(dB)

noise_power = var(s) / (10^(SNR_in_dB/10)); % 根据输入 SNR 设置噪声功率

n = sqrt(noise_power/2) * (randn(size(s)) + 1j*randn(size(s)));

y_noisy = conv(s + n, h, 'same');

y_noisy = y_noisy / max(abs(y)); % 仍用无噪主瓣归一化(便于比较)

%% 4. 计算 SLL(旁瓣抑制比)

mag_y = abs(y);

[~, main_idx] = max(mag_y); % 主瓣位置,~为忽略输出变量值

% 排除主瓣附近区域(比如 ±2 个主瓣宽度),找最大旁瓣

mainlobe_width_samples = round(1/(B*ts)); % 理论主瓣宽度 ≈ 1/B

% 1/B 是时间宽度(秒),ts 是采样间隔(秒/点),这个式子是求主瓣占多少个采样点

% 加round是因为数组的下标必须是整数

mask = true(size(mag_y)); % size 返回数组的维度,比如 500 行 1 列: [500 1]

% true 用于创建一个逻辑数组,维度与 size

% 返回的完全相同,默认值都为true

mask(max(1, main_idx - mainlobe_width_samples) : min(end, main_idx + mainlobe_width_samples)) = false;

% 把主瓣附近区域设为 false,表示“这些不是旁瓣,不能参与最大旁瓣搜索”

% 上面两行的结果:mask 是一个逻辑数组,主瓣区域为 false,其余为 true

max_sidelobe = max(mag_y(mask)); % 只取出 mask 为 true 的那些点(即旁瓣区域的幅度值)找最大值

% SLL(dB)= 20log10(最大旁瓣幅度 / 主瓣幅度) = 20log10(最大旁瓣幅度)(因为主瓣=1)

SLL_dB = 20 * log10(max_sidelobe); % 因为主瓣已归一化为 1

%% 5. Peak SNR(在有噪输出中计算)计算方法:主瓣峰值处的信号功率 / 噪声功率

peak_signal_power = abs(y_noisy(main_idx))^2; % 峰值处信号功率

% 噪声功率估计:用远离主瓣的区域

noise_region = mag_y < 0.1; % 假找出所有幅度小于 0.1 的位置

% 为什么选 0.1?

% 主瓣归一化为 1,LFM 的第一旁瓣约 0.22(-13 dB),更远的旁瓣迅速衰减

% 所以 远离主瓣的区域(如 |t| > 3/B)幅度通常 << 0.1

% 这些区域几乎没有信号能量,只有噪声

if any(noise_region) % any 判断一个数组中是否存在任何非零元素

noise_power_est = mean(abs(y_noisy(noise_region)).^2);

% 用于得到噪声功率估计值

else

noise_power_est = var(y_noisy - y); % var() 计算方差:对零均值噪声,方差 = 功率

end

Peak_SNR_dB = 10 * log10(peak_signal_power / noise_power_est);

%% 6. 绘图

figure('Position', [100, 100, 1200, 900]);

% (a) 时域

subplot(3,1,1);

plot(t*1e6, real(s), 'b');

xlabel('时间 (\mus)'); ylabel('幅度');

title('LFM 信号(时域,实部)');

grid on;

% (b) 频域

subplot(3,1,2);

plot(f/1e6, abs(S), 'r');

xlabel('频率 (MHz)'); ylabel('|S(f)|');

title('LFM 信号频谱(基带)');

xlim([-B/2/1e6-1, B/2/1e6+1]);

grid on;

% (c) 脉冲压缩输出

subplot(3,1,3);

time_axis = (-length(y)/2 : length(y)/2 - 1)' * ts;

plot(time_axis*1e6, abs(y_noisy), 'k', 'LineWidth', 1.2);

hold on;

plot(time_axis(main_idx)*1e6, abs(y_noisy(main_idx)), 'ro', 'MarkerSize',8, 'MarkerFaceColor','r');

% 标出最大旁瓣

[~, sid_idx] = max(mag_y .* mask); % 在旁瓣区域找最大值

plot(time_axis(sid_idx)*1e6, abs(y_noisy(sid_idx)), 'bo', 'MarkerSize',6, 'MarkerFaceColor','b');

xlabel('时间 (\mus)'); ylabel('归一化幅度');

title(sprintf('脉冲压缩输出 | SLL = %.1f dB | Peak SNR = %.1f dB', SLL_dB, Peak_SNR_dB));

legend('脉压输出','主瓣峰值','最大旁瓣','Location','best');

grid on;

xlim([-3/B*1e6, 3/B*1e6]); % 显示约 ±3 个主瓣宽度

上面程序的执行结果如下:

八、指标

8.1 旁瓣抑制比

什么是旁瓣抑制比,第七节仿真图图3展示了对 LFM 信号的脉冲压缩结果,很明显是由主瓣和若干个较小的旁边组成的,想象一下,如果旁瓣的幅度与主瓣相比并没有小很多的话,雷达会不会认为它是另一个回波脉压的主瓣了,这就可能会造成雷达的虚警。旁瓣抑制比就是反应旁瓣相对于主瓣幅度大小的指标。

计算方法如下:

主瓣峰值幅度:记为

所有旁瓣中最大的那个幅度:记为

旁瓣抑制比:

SLL 不加窗的典型值:13.2dB。这是因为压缩后的波形近似

,其第一旁瓣就是 -13.2 dB。

这意味着:最强的旁瓣有主瓣约 22% 的高度。

使用加窗的方法能够改善 LFM 的 SLL。例如:Hamming 窗可将 SLL 降到 -41 dB,代价是主瓣变宽(距离分辨率下降)、峰值 SNR 降低。这里不展开。

8.2 峰值信噪比

在脉冲压缩输出的主瓣峰值时刻,信号功率与噪声功率之比:

脉压后信号峰值功率

输出噪声功率

SLL 与 Peak SNR 的权衡关系:

方法 SLL(旁瓣) Peak SNR 主瓣宽度(分辨率)

理想 LFM(无窗) -13.2 dB(差) 最大(最优) 最窄(最优)

加 Hamming 窗 ≈ -41 dB(好) ↓ 损失 ~1.8 dB ↑ 变宽 ~1.8 倍

加 Taylor 窗(-30 dB) -30 dB(较好) ↓ 损失 ~0.8 dB ↑ 略微变宽

SLL 决定你“看不看得清真假目标”,Peak SNR 决定你“能不能从噪声里看到真目标”——LFM 脉冲压缩要在两者之间找平衡。

九、坐标问题

9.1 时域坐标有负值的解释

观察第七节图1,发现 LFM 信号的时域图的时间轴有负值,这是为什么?

在雷达信号处理(尤其是脉冲压缩)的仿真中,时间轴出现负值,并不是因为时间真的倒流了,而是出于 信号对齐、数学对称性和便于分析 的考虑。核心原因在于让信号“以零时刻为中心”。

在理论分析和仿真中,我们常常希望:

LFM 脉冲对称地分布在 t = 0 附近

匹配滤波后的主瓣峰值正好出现在 t = 0

这样做的好处是:

数学表达简洁(比如 LFM 相位写成

频谱是实偶函数或纯相位,便于理解

脉压输出的主瓣自然落在时间原点,不用额外计算延迟

举个例子,假设你有一个 10 微秒的 LFM 脉冲。如果从 t = 0 开始

t = 0 : ts : T-ts; % [0, T)

匹配滤波后,主瓣峰值会出现在 t ≈ T = 10 μs 处(因为卷积延迟)

你想看“目标回波对齐时刻”,还得手动找峰值位置

如果以 t = 0 为中心(含负时间):

t = (-T/2 : ts : T/2 - ts); % [-5μs, +5μs)

信号关于 0 对称

匹配滤波器也对称设计

输出主瓣自动出现在 t = 0

旁瓣左右对称,SLL 计算更直观

9.2 从匹配滤波角度看

匹配滤波器的冲激响应是:

如果原始信号 s(t) 定义在 [−T/2, T/2],

那么 h(t) 也在 [−T/2,T/2]

两者卷积后,最大输出(相关峰)自然出现在 t = 0

这称为 零相位对齐(zero-phase alignment),是信号处理中的标准做法。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/23 7:39:02

紫金桥组态软件的功能特点及实际优势

一、核心功能特点1. 数据采集与通信能力紫金桥组态软件支持多种工业通信协议&#xff0c;包括Modbus、OPC UA、OPC DA等主流协议&#xff0c;能够与国内外常见的PLC、DCS、智能仪表等设备进行稳定通信。软件的数据采集周期可配置&#xff0c;最短可达毫秒级&#xff0c;满足多数…

作者头像 李华
网站建设 2026/3/24 23:35:17

宇树 Qmini 双足机器人训练个人经验总结

前提说明&#xff1a;为什么不建议在云端直接跑渲染&#xff1f;#我最开始的目标是&#xff1a;训练、渲染、视频录制全部在 AutoDL 上完成&#xff0c;不经过本地运行。然而现实是&#xff1a;即使用 Xvfb 等虚拟显示器启动 Isaac Gym&#xff0c;也会发生视频保存全黑的情况。…

作者头像 李华
网站建设 2026/3/19 17:58:36

【Java】浅谈synchronized与ReentrantLock

目录澄清误解synchronized 与 ReentrantLock对比乐观锁 vs 悲观锁公平锁 vs 非公平锁synchronized的锁升级ReentrantLock的CLH队列可重入与CAS的关系总结前言&#xff1a; 上一篇在对比锁与volatile机制的时候&#xff0c;因为没有太多考虑synchronized 和ReentrantLock的区分&…

作者头像 李华
网站建设 2026/3/30 5:41:10

Winlator安卓神器:手机秒变Windows电脑的7大实战技巧

Winlator安卓神器&#xff1a;手机秒变Windows电脑的7大实战技巧 【免费下载链接】winlator Android application for running Windows applications with Wine and Box86/Box64 项目地址: https://gitcode.com/GitHub_Trending/wi/winlator 还在为手机无法运行Windows应…

作者头像 李华
网站建设 2026/3/29 0:22:37

如何快速掌握StarRocks:索引机制深度解析与性能优化实战指南

如何快速掌握StarRocks&#xff1a;索引机制深度解析与性能优化实战指南 【免费下载链接】starrocks StarRocks是一个开源的分布式数据分析引擎&#xff0c;用于处理大规模数据查询和分析。 - 功能&#xff1a;分布式数据分析&#xff1b;大规模数据查询&#xff1b;数据分析&a…

作者头像 李华
网站建设 2026/4/1 0:09:49

Cap录屏神器终极使用宝典:快速上手到专业录制

还在为录制屏幕视频而头疼吗&#xff1f;传统录屏软件要么收费昂贵&#xff0c;要么操作复杂&#xff0c;要么水印烦人。Cap作为一款开源跨平台的视频录制工具&#xff0c;彻底解决了这些痛点。无论你是需要制作在线教学视频、产品演示还是技术分享&#xff0c;Cap都能轻松应对…

作者头像 李华