第二章 信号处理基础:采样定理、傅里叶变换、数字滤波器设计
各位同学,欢迎来到信号处理基础这一章。说实话,这一章的内容是雷达信号处理的根基。你想想看,雷达回波说到底就是一堆随时间变化的电压信号,我们得想办法把它变成能用的信息。这中间,采样、变换、滤波,三步缺一不可。
我在做某型机载火控雷达项目时,就遇到过采样率选低了,结果目标多普勒频率混叠,差点把低速目标当成杂波滤掉。嗯,从那以后,我对采样定理的理解就深刻多了。
2.1 采样定理:别让信号“说谎”
采样定理,也叫奈奎斯特-香农定理。说白了就一句话:采样频率必须大于信号最高频率的两倍。为什么?因为采样是对连续信号的离散化,频率信息会周期延拓。如果采样率不够,延拓的频谱就会重叠,产生混叠。
核心公式:
fs > 2 * fmax
其中 fs 是采样频率,fmax 是信号最高频率分量。
我个人习惯,在工程中会留出 20%~30% 的余量。比如信号最高频率 100 MHz,我至少用 250 MHz 采样。为什么?因为实际滤波器不是理想砖墙,带外抑制有限,留点余量心里踏实。
避坑指南:我曾经在调试某型雷达时,发现目标距离测量总是偏大。查了半天,原来是 ADC 采样时钟抖动太大,等效降低了有效采样率。记住,采样定理不仅要求频率够,还要求时钟质量够。
2.2 傅里叶变换:时域与频域的“翻译官”
傅里叶变换,是信号处理里最核心的工具。它把时域信号映射到频域,让我们能看到信号里有哪些频率成分。雷达里,目标的多普勒频移、距离分辨、杂波抑制,全得靠它。
离散傅里叶变换(DFT)的公式长这样:
X[k] = Σ x[n] * e^(-j*2π*k*n/N) (n=0 to N-1)
实际工程中,我们几乎不用 DFT,而是用快速傅里叶变换(FFT)。FFT 把计算量从 O(N²) 降到 O(N log N)。你想想看,如果做 1024 点的 DFT,直接算要 100 多万次乘法,用 FFT 只要 1 万次左右。这差距,在实时处理中就是能不能跑得动的区别。
经验之谈:我在做脉冲多普勒处理时,FFT 点数选多少很讲究。点数太少,频率分辨率不够,两个目标分不开;点数太多,计算量大,实时性差。一般我会根据目标速度分辨需求来算:Δf = fs / N,再换算成速度分辨率。
还有一个概念很重要——频谱泄露。为什么会有泄露?因为 FFT 是对有限长信号做周期延拓,如果截断的窗口不是信号周期的整数倍,频谱就会展宽。解决办法是加窗函数,比如汉宁窗、海明窗。
| 窗函数 | 主瓣宽度 | 旁瓣抑制 | 适用场景 |
|---|---|---|---|
| 矩形窗 | 最窄 | -13 dB | 频率分辨优先 |
| 汉宁窗 | 较宽 | -32 dB | 通用场景 |
| 海明窗 | 较宽 | -43 dB | 旁瓣抑制要求高 |
| 布莱克曼窗 | 最宽 | -58 dB | 强干扰抑制 |
嗯,这里要注意:加窗会降低频率分辨率。所以这是个 trade-off,你得根据实际需求来选。
2.3 数字滤波器设计:把想要的留下,不想要的滤掉
雷达信号处理里,滤波器无处不在。脉冲压缩要匹配滤波,动目标显示(MTI)要高通滤波,杂波抑制要自适应滤波。数字滤波器分两大类:FIR(有限冲激响应)和 IIR(无限冲激响应)。
FIR 滤波器:
- 优点:稳定,线性相位(不畸变波形)
- 缺点:阶数高,计算量大
- 适合:脉冲压缩、匹配滤波等对相位敏感的场景
IIR 滤波器:
- 优点:阶数低,计算量小
- 缺点:非线性相位,可能不稳定
- 适合:MTI 对消器、简单杂波滤波
我建议,在雷达信号处理中优先用 FIR。为什么?因为雷达对相位一致性要求极高,IIR 的非线性相位会破坏脉冲压缩的匹配效果。我曾经在一个项目里图省事用了 IIR,结果脉冲压缩后的旁瓣抬高了 3 dB,目标检测性能明显下降。后来老老实实换成 FIR,问题解决。
设计示例:一个 32 阶低通 FIR 滤波器
% MATLAB 代码示例
fs = 100e6; % 采样率 100 MHz
fpass = 10e6; % 通带 10 MHz
fstop = 15e6; % 阻带 15 MHz
% 设计滤波器
d = designfilt('lowpassfir', ...
'PassbandFrequency', fpass, ...
'StopbandFrequency', fstop, ...
'SampleRate', fs, ...
'PassbandRipple', 0.5, ...
'StopbandAttenuation', 60);
% 查看系数
coeffs = d.Coefficients;
fvtool(d); % 查看频率响应
实际工程中,我不会直接在 FPGA 里用 MATLAB 生成的浮点系数。我会先量化成定点数,比如 16 位。为什么?因为 FPGA 做浮点乘法太费资源,定点数又快又省。但量化会引入误差,需要仿真验证性能下降在可接受范围内。
小技巧:设计滤波器时,我习惯先定阻带衰减指标。雷达里杂波抑制通常需要 40~60 dB,所以阻带衰减至少设 60 dB。通带纹波控制在 0.5 dB 以内,避免信号失真。
2.4 三者关系:采样、变换、滤波的协同
这三个知识点不是孤立的。采样定理决定了你能处理的信号带宽;傅里叶变换让你在频域观察和处理信号;数字滤波器则是在时域或频域对信号进行整形。
举个例子,脉冲多普勒处理流程:
- ADC 采样(满足采样定理)
- 脉冲压缩(匹配滤波,本质是 FIR 滤波器)
- MTI 对消(高通滤波器,滤除地杂波)
- FFT 变换(得到多普勒频谱)
- CFAR 检测(在频域找目标)
你看,每一步都离不开这三块基础。所以,别觉得这些理论枯燥,它们是你以后做雷达系统设计的“内功”。内功不扎实,招式再花哨也没用。
好了,这一章就到这里。下一章我们讲雷达波形设计,看看怎么通过波形设计来兼顾距离分辨率和速度分辨率。到时候我会分享一个我踩过的坑——关于线性调频信号带宽和脉宽的选择,挺有意思的。