用途:在 MATLAB 中设计、实现并验证数字滤波器,帮助选择架构、生成代码并用图形与数值验证结果。
主要能力:分析输入信号(频谱、长度、干扰位置),计算过渡带占比 trans_pct;根据模式(流式/离线)与相位要求(零相位/线性相位/不关心)筛选可行架构;用 designfilt 设计 FIR/IIR,流式 IIR 可用 SystemObject=true 返回 dsp.SOSFilter;用 filterAnalyzer 对比多个设计,展示幅频与群延迟;用数值核对通带纹波与阻带衰减。
使用方式:先读 INDEX.md,调用任何已索引函数前先读对应卡片并在回复顶部标注 Preflight。代码写入 .m 文件后用 run_matlab_file 运行,出错改文件重跑,不把多行代码直接放进 evaluate_matlab_code。设计前需确认 Fs、响应类型、边缘频率、Rp/Rs、Mode 与 Phase;缺少 Fs 或 Mode/Phase 时先询问。设计时用 designfilt(..., SampleRate=Fs),绘图用 freqz(d,[],Fs)/grpdelay(d,[],Fs)。IIR 优先 SOS/CTF 形式。trans_pct<2% 时须做窄过渡带比较,只展示可行方案并说明排除理由。
适用场景:噪声信号清理、干扰去除、FIR/IIR 滤波器设计、流式或离线滤波。
限制:未提供 Fs 且非归一化频率时不能设计;未说明 Mode 或 Phase 时不得默认离线或零相位;filtfilt 会平方幅频响应并等效加倍阶数,需说明;具体收费、平台与效果资料暂未提供。