You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CIC-decimator频响测试异常求助:单位脉冲法与FVTOOL结果不符

CIC抽取器频响测试问题排查

测试方法的核心问题

当抽取因子R>1时,直接用单位脉冲输入后做FFT的方法无法正确获取完整频响,原因如下:

  • CIC抽取器的抽取环节会丢弃R-1个采样,单位脉冲经过抽取后,输出的有效非零点数太少,FFT分辨率不足,直接导致旁瓣信息丢失。
  • FVTOOL是基于CIC的理论频响公式计算的,而你的测试是基于实际抽取后的输出做FFT,两者的计算前提完全不同。

正确的测试步骤(针对R>1的情况)

  • 生成足够长的单位脉冲序列:输入序列长度至少设为N = R * L,其中L是FFT点数(建议取2的整数次幂,比如1024、2048),保证抽取后仍有足够多的点参与FFT。
  • 严格遵循CIC结构流程:先经过积分器,再做抽取,最后经过梳状器(禁止先抽取再滤波,顺序错误会直接导致频响失真)。
  • 补零提升FFT分辨率:抽取后的输出序列如果长度不足,补零到FFT点数L后,再执行fft+abs+20*log10(x)计算。
  • 对齐频轴:FFT的频轴要对应归一化频率(0到0.5,对应0到Fs/2),注意抽取后的采样率为Fs/R,频轴需调整为f = (0:L-1)/(L) * (Fs/(2*R))。

代码排查要点

  • 确认CIC结构正确性:带sigma-delta的CIC要检查sigma-delta量化后的信号是否正确输入积分器,积分器、梳状器的阶数是否和FVTOOL中的设置一致。
  • 检查抽取时机:必须在积分器之后、梳状器之前执行抽取,这是CIC抽取器的标准结构。
  • 输入序列长度验证:如果输入的单位脉冲仅1个非零点,经过R=2的抽取后输出可能只有1个非零点,FFT后只能得到直流分量,旁瓣自然丢失。需延长输入序列长度,比如生成长度为2048的序列,仅第一个点为1、其余为0,抽取后仍有1024个点,FFT才能获取足够频域信息。

内容的提问来源于stack exchange,提问作者马慧超

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 19:48:17