函数 > 信号处理 > 数字滤波 > 数字滤波器的时间响应
  
数字滤波器的时间响应
response(v, C1, n) - 返回 n 元素矢量,可给出输入矢量 v 对系数数组为 C1 的 FIR 或 IIR 滤波器的响应。该函数使用对卷积的直接计算。对于长输入信号,该方法可能会很慢。
fftfilt(v, C2, [nfft]) - 返回一个矢量,可给出输入矢量 v 对系数为 C2 的 FIR 滤波器的响应。该函数将可选长度为 nfft 的 DFT 应用到输入的连续段,然后将结果与重叠相加法结合。
* 
如果需要最终的瞬态响应,请对输入信号进行补零,以达到合适的长度,然后增大 n
对于 IIR 滤波器,必须始终使用 response
对于脉冲响应比输入信号短的多的 FIR 滤波器,可以使用 fftfilt,且通常可快速得到结果。
如果 nfft > length(x) + length(C) −1,则 fftfilt 不使用重叠相加法。相反,在对信号和滤波器矢量进行补零以使它们的长度为 nfft 后,其会在傅立叶域内一步完成信号和滤波器的卷积运算。
必须对 IIR 传递函数进行正则化,以使分母的常数项为 1。
自变量
v 是实值或复值信号矢量或多通道矩阵,单独按列进行滤波。
C1 是一个实值或复值矢量 (FIR) 或二列矩阵,表示滤波器的系数。如果是 IIR 滤波器,则第一列包含分子的系数,第二列包含分母的系数。
C2 是一个实值或复值矢量,表示 FIR 滤波器的系数。
n 是一个正整数,表示输出矢量的大小,不得大于输入的长度。
nfft (可选) 是一个正整数,表示重叠相加法中 FFT 的长度。其不得大于信号的长度。如果省略,nfft 为滤波器的长度。