这次整理状态变量滤波器报告时,我发现 HP/LP 的通带增益和 BP 的中心峰值不能混着读,尤其是 Q=10 时,10 kHz 附近的峰值很容易误导判断。
analogexp/state-variable-filter
做状态变量滤波器实验时,我最后卡住的地方其实是读数位置。
题目给了三类增益:高通 AHp、低通 ALp、带通 ABp。如果直接看三路输出在中心频率附近的峰值,很容易得到一个看似漂亮、但定义不一致的结果。尤其在 Q=10 这种高 Q 条件下,高通和低通也会在中心频率附近抬起来;那个峰值不能替代它们各自通带里的增益。
指标怎么拆
我后来把这次实验的目标拆成五个量,先把读数口径固定下来:
- 高通高频通带增益:20 dB。
- 低通低频通带增益:20 dB。
- 带通中心频率峰值增益:40 dB。
- 中心频率:10 kHz。
- 带宽:1 kHz。
前两项说的是 HP 和 LP 在各自通带内的平坦增益,第三项说的是 BP 在 f0 处的峰值。它们不是同一个读取位置。
用标准二阶分母统一三路输出
状态变量滤波器可以先写成统一的二阶分母:
D(s) = s^2 + (w0 / Q)s + w0^2三路输出分别写成:
H_HP(s) = KPASS * s^2 / D(s)H_BP(s) = KBP * (w0 / Q)s / D(s)H_LP(s) = KPASS * w0^2 / D(s)这里我把增益拆成两个参数:
KPASS=10:决定 HP 高频通带和 LP 低频通带,对应 20 dB。KBP=100:决定 BP 在中心频率处的峰值,对应 40 dB。
这样网表、绘图脚本和报告表格能沿用同一套说法。否则同一个参数在几处文字里意思变来变去,后面很容易越改越乱。
Q 和带宽
中心频率和带宽给定后,Q 直接确定:
f0 = 10 kHzBW = 1 kHzQ = f0 / BW = 10我把这一步写进报告,是为了让后面的 -3 dB 点有来源:带通曲线应该围着 10 kHz 展开,上下两个 -3 dB 频率相差约 1 kHz。
对带通通道来说,在 s=jw0 处:
|(w0 / Q)jw0 / D(jw0)| = 1所以 KBP=100 会直接给出 40 dB 的中心频率增益。
验证时看哪些点
我更倾向于把验证表写成“读取位置明确”的形式:
| 指标 | 读取位置 | 目标 |
|---|---|---|
| HP 通带增益 | 高频通带,例如 1 MHz | 20 dB |
| LP 通带增益 | 低频通带,例如 100 Hz | 20 dB |
| BP 峰值增益 | 10 kHz | 40 dB |
| 中心频率 | BP 上下 -3 dB 几何中心 | 10 kHz |
| 带宽 | BP 上下 -3 dB 频率差 | 1 kHz |
这个表比单纯写“HP、BP、LP 均满足”更稳。每一项都写清楚在哪个频点读,后面改报告时也不容易又把 10 kHz 附近的峰值拿去当通带读数。
图也要服务指标
实验报告里的幅频图除了三条曲线,我还补了三条参考线:
- 20 dB:HP/LP 通带增益目标。
- 40 dB:BP 中心峰值目标。
- 37 dB:BP 的 -3 dB 参考线。
再加上一条 f0=10 kHz 的竖线,读者就能直接看出:HP 和 LP 在中心频率附近冲到高处,是高 Q 二阶网络的峰值;通带增益仍然要回到高频通带和低频通带去读。
报告也要跟着同步
这类实验一旦网表、图和报告各说各的,后面调的就不只是电路参数,还要回头清理自己留下的矛盾。
我现在更愿意把报告生产流程拆成四步:
- 先固定传递函数和参数名。
- 用同一套公式生成仿真网表和绘图脚本。
- 把报告里的公式、参数表、调参过程、验证表同步改掉。
- 最后搜索旧说法,比如
KQ=100、HP @ 10kHz、LP @ 10kHz,确认没有残留矛盾。
整理完之后,报告里的指标定义、参数选择、仿真验证和文字解释终于能对上。
先分清楚读数位置
状态变量滤波器实验里,我最后记住的是:读数位置要先分清楚。
KPASS=10 对应 HP/LP 通带 20 dB,KBP=100 对应 BP 中心频率 40 dB,Q=10 对应 1 kHz 带宽。只要这三件事在网表、图和报告里保持一致,后面的验证就不会互相打架。
继续读