本节摘要:GNU Radio 把滤波器设计封装成 firdes 函数族,流图里的 Low Pass Filter 块背后就是"窗函数法加参数框"。本节讲清 firdes 四参数(增益、截止、过渡带、窗)的含义与取值,演示多速率链的完整设计流程,并用频谱对比实验验证滤波效果。
在 GRC 里双击任意滤波块,截止频率之外还有三个参数,对应 firdes.low_pass 的完整签名:
一个实用心法:过渡带别小于目标信号带宽的十分之一。比如处理 200 kHz 的 FM 信号,过渡带给 10 到 20 kHz 足够;把它压到 1 kHz,抽头数飙到数千,CPU 当场拉满而听感毫无差别——滤波器设计里最贵的错误就是"为用不到的指标付算力"。
把滤波从"单链路组件"升级成"架构工具":RTL-SDR 的 2.048 MHz 视野里,往往同时存在两个想收的信号(比如相邻的两个对讲机信道)。方案是并联分支——源块之后分两路,各自用 Frequency Xlating FIR Filter 把目标信道搬到零频并限带,再各自解调:
分支 A:Frequency Xlating FIR(中心频率偏移 +100 kHz,低通抽头按 12.5 kHz 信道设计,抽取 32 倍到 64 kSPS)接 Narrowband FM Receive 接 Audio Sink。
分支 B:同结构,偏移 -100 kHz,收另一个信道。
Frequency Xlating FIR 是"变频与滤波合一"的复合块:内部先乘复指数做频谱搬移(第 3.2 节的原理),再用设计好的抽头卷积滤波,一步完成两件事且省一次中间缓存。它的第四个参数 taps 需要自己给——参数框里直接写表达式 firdes.low_pass(1, samp_rate, 6e3, 2e3),设计逻辑与 6.1 节的 scipy 实验完全同构。

滤波效果不该靠耳朵,用频谱窗口量化验证。在 Xlating FIR 前后各挂一个 QT GUI Frequency Sink,跑起来对照:前级频谱是 2 MHz 宽视野、两座信道平台与一片噪声底;后级频谱只剩 12.5 kHz 宽的单信道、噪声底因带宽压缩而"抬高"(每赫兹功率密度不变,显示范围变了)。两图叠加换算后核对该信道的信噪比:若比宽带下改善约 10 到 12 dB,说明抽取链工作正确(32 倍带宽压缩对应理论 15 dB,实际留损耗余量)。
这个"前后各挂一块频谱"的调试手法值得固化为习惯:流图里每一级变换,都值得一对前后视窗。它把抽象的速率与带宽账变成肉眼可查的曲线,多数参数错误当场现形。
多级抽取的标准模板收尾本章:大倍数粗抽取在前,小倍数精抽取在后。以 2.048 MSPS 到 48 kHz 音频(约 42.7 倍)为例,推荐两段:先 8 倍(滤波器按 256 kHz 通带设计,抽头约 64 个,CPU 便宜),降速后再 5 倍多相抽取(通带 48 kHz,抽头数十个)。若一步到位设计 42.7 倍抽取,单级滤波器需要数千抽头——与第 6.1 节的账本完全吻合。GNU Radio 的 Rational Resampler 与 mmse resampler 块内部已按多相结构优化,直接用即可,关键是抽取比的分配要遵守"先粗后精"。
流图跑通后,值得用离线脚本验证"设计值"与"实际响应"是否一致——把 GRC 里 firdes 表达式复制到 scipy 里跑一遍 freqz,核对通带边缘、阻带衰减与群延迟三项。设计值与预期偏差超过 3 dB 时,通常是采样率参数填错(firdes 的 samp_rate 必须是该块的输入速率,抽取块前后不同)或过渡带过窄导致数值病态。五分钟的验证能省掉流图里"凭感觉调参数"的半小时,这个习惯在多级链路里尤其值钱——级联滤波器的总响应是各级乘积,任何一级的意外凹陷都会在最终输出里出现。
数字域不会——并联分支各自处理自己的样本副本,互不影响。真正的干扰发生在模拟域:两个目标信道都在 ADC 的 2 MHz 视野里,若其中一路有超强信号,8bit 量化的非线性会让它"污染"整段视野。对策是 8.1 节说的前端滤波,或把中心频率选得让强信号落在视野边缘外。
符号约定容易绕:偏移量等于"目标频率减去当前中心频率",表示把目标搬到零频所需的频率修正。验证方法很简单:偏移设好后看频谱窗口,目标信号应该正好出现在正中央——图形反馈比记符号约定可靠。
不是。显示上噪声底抬高约 15 dB(32 倍带宽压缩),但那是把同样的总噪声摊在更窄的频带上,每赫兹的噪声密度完全不变。判读时看单位带宽信噪比——它不变或略升都正常,明显下降才说明抽取前的抗混叠滤波没做好。
在并联分支里各加一个 AGC 块或不同的 Multiply Const——信道化之后每路是独立的处理链,增益可以各调各的。这正是并联架构的隐性收益:宽带里的强弱差异,在分路之后可以用各自的窄带链路分别优化,比单链路硬扛动态范围从容得多。
至此,接收链的每个环节——采样、滤波、变频、解调——都已在理论与实操双线上打通。下一章横向看硬件:同一套知识如何帮你在设备丛林里选对工具。