← 返回目录课程:《MATLAB通信雷达仿真资料包》
02

02 信号生成基础:正弦波、脉冲与线性调频信号构造

学习使用MATLAB生成基本雷达与通信波形,掌握时频域参数设置方法
章节导航 难度:入门类型:概念框架
本页抓手

掌握MATLAB通信雷达仿真资料包在信号生成基础中的定位、故障信号与验证顺序。

机制词
模块接口流程状态日志
可复用材料
代码片段排障表检查清单架构图
本节对象

围绕 MATLAB通信雷达仿真资料包、信号生成基础、信号生成 展开。

排障先看这三点

  1. 先核对信号生成基础的前置条件、异常信号和验收结果
  2. 再用伪代码把实现动作固定下来
  3. 最后用稳定性与可观测性验证结果是否可复现

联调卡点

信号生成基础能跑不代表稳定,真正要确认的是对象边界、状态变化和验证证据。

本节围绕MATLAB通信雷达仿真资料包建立一条更容易复测的联调路径。

从波形到信号:雷达与通信仿真的起点

准备区01正弦波确认频率与相位参数02脉冲信号设定脉宽与重复周期执行区01线性调频验证带宽与时宽乘积02时间轴检查采样率避免混叠验收区01频谱验证对比时频域特征一致性02边界条件确认幅度归一化与数…

在雷达与通信系统的仿真中,第一步往往不是搭建复杂的链路,而是生成一个“干净”的波形。正弦波、脉冲和线性调频信号(Linear Frequency Modulation, LFM)是构成绝大多数雷达探测脉冲和通信调制载波的基础。如果连基础信号的参数(频率、脉宽、带宽)都设置错误,后续的匹配滤波、目标检测或信道估计将毫无意义。本节的核心任务,就是掌握在 MATLAB 中构造这三种信号的方法,并理解它们的时频域特征如何影响系统边界

工程动作

在开始任何信号生成前,先明确三个边界条件:采样率(决定最高可恢复频率)、信号时长(决定频率分辨率)和幅度归一化(避免后续处理中的数值溢出)

信号生成基础的对象步骤与验收点

信号生成的核心机制可以拆解为一条清晰的路径:定义时间轴 → 构造波形 → 验证时频域特征。这条路径在 MATLAB 中对应三个关键对象:t(时间向量)、y(信号向量)和 fft(快速傅里叶变换)。最容易出错的步骤发生在第一步——时间轴的定义。如果采样率 fs 与信号最高频率不满足奈奎斯特定理(fs ≥ 2 * f_max),生成的信号将出现频谱混叠,且 MATLAB 不会给出任何警告

正弦波:频率与相位的精确控制

正弦波是最基础的信号,其构造公式为 y = A * sin(2 * pi * f * t + phi)。在实际工程中,我们通常使用 cos 函数来生成同相分量(I路),使用 sin 生成正交分量(Q路)。一个常见的误区是忘记将模拟频率 f 与数字角频率区分开。在 MATLAB 中,t 是离散时间点,f 是模拟频率(单位 Hz),两者相乘后乘以 2*pi 才得到相位

常见误区

直接使用 sin(2*pi*f*t) 时,若 t 的步长 1/fs 不是 1/f 的整数倍,生成的波形在视觉上会呈现“包络抖动”,但这并非信号本身的问题,而是采样点与信号周期未对齐导致的视觉假象

脉冲信号:脉宽与占空比的边界定义

雷达脉冲通常由矩形窗函数与正弦波相乘得到。构造脉冲的关键在于定义“脉宽”(Pulse Width, PW)和“脉冲重复间隔”(Pulse Repetition Interval, PRI)。在 MATLAB 中,可以通过逻辑索引或 pulsetran 函数实现。需要注意的是,矩形脉冲的频谱是 sinc 函数,其主瓣宽度为 2/PW。如果后续系统带宽小于这个主瓣宽度,脉冲能量会被滤除,导致检测灵敏度下降

代码验证:构造并检查线性调频信号

线性调频信号(LFM)是脉冲压缩雷达的核心波形,其瞬时频率随时间线性变化。构造 LFM 的公式为 y = A * exp(1j * (2 * pi * f0 * t + pi * K * t.^2)),其中 K = B / T 为调频斜率,B 为带宽,T 为脉宽。下面的代码演示了如何生成一个 LFM 脉冲并验证其时频关系

% 参数设置
fs = 10e6;          % 采样率 10 MHz
T = 10e-6;          % 脉宽 10 us
B = 5e6;            % 带宽 5 MHz
f0 = 1e6;           % 起始频率 1 MHz
% 时间轴与信号生成
t = 0 : 1/fs : T - 1/fs;
K = B / T;
lfm_signal = exp(1j * (2 * pi * f0 * t + pi * K * t.^2));
% 验证:计算瞬时频率(通过相位差分)
inst_freq = diff(unwrap(angle(lfm_signal))) / (2*pi) * fs;
% 检查起始频率与终止频率
f_start = inst_freq(1);
f_end = inst_freq(end);
fprintf('起始频率: %.2f MHz, 终止频率: %.2f MHz\n', f_start/1e6, f_end/1e6)

阅读这段代码时,重点看信号生成基础的伪代码,以及它如何用稳定性与可观测性证明结果可复测。

这段代码验证了 LFM 信号的频率边界:f_start 应接近 f0(1 MHz),f_end 应接近 f0 + B(6 MHz)。如果结果偏差超过 1%,通常是因为采样率不足导致相位差分计算误差,或者 t 向量的长度不是 2 的幂次,影响了 FFT 分析的精度

真实项目场景

在某型气象雷达的脉冲压缩模块调试中,工程师发现匹配滤波后的主瓣宽度比理论值宽了 20%。排查后发现,LFM 信号的带宽 B 在生成时被错误地设置为 B = 5e6,而系统实际使用的采样率 fs = 10e6 刚好满足奈奎斯特定理,但未留出过渡带余量。最终将采样率提升至 12.5e6(即 2.5 * B),问题解决。这个案例说明,信号生成基础验证结果必须包含对采样率与带宽比值的检查