项目:雷达线性调频 (LFM) 信号三维模糊函数仿真与分析系统
项目简介
本项目是一个基于 MATLAB 的雷达信号处理仿真系统,专注于线性调频(LFM)信号的生成及其模糊函数(Ambiguity Function, AF)的深入分析。系统通过构建基带 LFM 信号模型,模拟了信号在时延和多普勒频移下的匹配滤波响应,重点展示了 LFM 信号特有的“斜刀刃”状模糊函数结构。
该工具能够直观地呈现 LFM 信号在距离-多普勒平面上的耦合特性,验证其距离分辨率和多普勒容限,为雷达波形设计和参数评估提供可视化的理论支持。
功能特性
- LFM 信号生成:根据预设的脉冲宽度($T_p$)和调频带宽($B$),生成复包络基带 LFM 信号,并进行时域和频域(FFT)分析。
- 模糊函数数值计算:通过网格化计算方法,遍历时延和多普勒频移,计算信号的自模糊函数矩阵 $|X(tau, f_d)|$。
- 多维可视化分析:
*
时频域分析图:展示信号实虚部波形及归一化频谱。
*
三维视图:绘制三维网格图,直观展示模糊函数的主峰及其脊线走向。
*
二维耦合分析:生成等高线图,并叠加理论耦合脊线($f_d = -Ktau$),验证距离-多普勒耦合效应。
*
特征截面图:绘制零多普勒切片(距离维)和零时延切片(速度维),分析旁瓣水平及信号分辨率。
系统算法与实现逻辑
本项目的核心逻辑实现在 main.m 函数中,具体流程如下:
1. 参数定义与初始化
系统首先定义了雷达信号的基本参数:
- 脉冲宽度 $T_p$ 设为 10 $mu s$。
- 带宽 $B$ 设为 10 MHz,对应的调频斜率 $K = B/T_p$。
- 采样频率 $f_s$ 设为带宽的 4 倍,以满足奈奎斯特采样定理并保证仿真精度。
2. 信号生成
- 时域:利用公式 $s(t) = text{rect}(t/T_p) cdot e^{j pi K t^2}$ 生成复信号。
- 频域:通过补零 FFT 计算信号频谱,并转换为对数刻度(dB)以便于观察。
3. 模糊函数核心计算
这是算法最关键的部分,采用直接积分法的离散化实现:
- 系统设定了时延范围 $[-T_p, T_p]$ 和多普勒扫描范围 $[-B, B]$。
- 外层循环:遍历每一个多普勒频移 $f_d$。
- 多普勒调制:对原信号 $s(t)$ 施加相位旋转项 $e^{j 2 pi f_d t}$,模拟动目标回波。
- 匹配滤波:使用
xcorr 函数计算调制后信号与原信号的互相关。 - 矩阵构建:从互相关结果中提取对应时延范围的有效数据,逐行填充构建模糊函数矩阵
AF,最后进行归一化处理。
4. 结果可视化
代码利用 MATLAB 绘图工具生成四组图表:
* 左图:时域波形的实部(I路)和虚部(Q路)。
* 右图:信号的幅度谱,归一化显示。
* 使用
mesh 函数绘制,视角设定为方位角 35°、仰角 45°,清晰展示 LFM 信号特有的斜状脊线。
* 使用
contourf 绘制平面投影。
*
理论验证:在图中叠加了一条白色虚线,该线对应公式 $slope = -K cdot tau$,用于验证仿真得到的脊线斜率是否符合理论预期。
*
距离维($f_d=0$):展示脉冲压缩后的波形,标注 $-1/B$ 和 $1/B$ 宽度,反映距离分辨率。
*
速度维($tau=0$):展示多普勒切片,标注 $-1/T_p$ 和 $1/T_p$ 宽度,反映信号对多普勒频移的敏感度。
关键代码细节分析
xcorr 的使用策略:代码中利用 xcorr 来代替卷积积分计算互相关。由于 xcorr 输出长度为 $2N-1$,代码包含了专门的索引计算逻辑(idx_start, idx_end),确保从相关结果中截取的数据与时延向量 tau_vec 精确对齐。- 多普勒步长:为了平衡计算速度和精度,多普勒维度的扫描步长设为 $B/60$,足以描绘出模糊函数的轮廓。
- 单位换算:在绘图阶段,所有时间单位转换为微秒 ($mu s$),频率单位转换为兆赫兹 (MHz),幅度转换为分贝 (dB),增强了图表的可读性。
系统要求
- MATLAB R2016a 或更高版本。
- Signal Processing Toolbox(用于
xcorr, fft 等函数)。
使用方法
- 确保 MATLAB 的当前工作路径包含
main.m 文件。 - 在 MATLAB 命令窗口输入
main 并回车。 - 系统将自动执行计算,并在完成后弹出 4 个图形窗口展示分析结果。
- 控制台会输出计算进度提示及仿真完成信息。