不同采样率脉冲响应的卷积

Convolution of impulse responses of different sampling rates

我正在构建一个级联滤波器(一个 CIC 抽取器和一个低通滤波器),我对频率和脉冲响应很感兴趣。

知道CIC抽取器具有与移动平均滤波器(MA)相似的脉冲响应,我按以下方式计算CIC抽取器的脉冲响应

%parameters of cic
D=300; %deci factor
M=1;   %delays of comb
Stages=3; 
% get impulse response estimated based on MA
N=M*D;
B=ones(1,N);
B2=conv(B,B);
B3=conv(B2,B);
b_cic=B3*N^(-Stages); % FIR coefs and impulse response

假设我的输入信号的采样率为 600kHz,这意味着 CIC 抽取器的输出为 2kHz。假设 FIR 低通滤波器的系数如下

b_lp=[b_1 b_2 b_3 b_4 b_5]; % the values are not important right now 

所以我的问题来了,我可以通过乘以频率响应来估计级联的滤波器响应(我知道我必须考虑不同的采样率和响应长度):

[Hcic,Fcic]=freqz(b_cic,1,300*1000,fs);
[Hlp,Flp]=freqz(b_lp,1,1000,fs/300);

但是,我想知道是否可以在考虑下采样的情况下对时域中的脉冲响应进行卷积? 例如:

b_cas = con(b_cic,b_lp); % <--- I know that this does not work due to different sampling rates

到目前为止,我无法使用 google 或此处找到内容。

我知道我可以对不同的过滤器使用内置的 matlab 函数并使用

级联它们
dsp.FilterCascade

您需要查看两个滤波器在输入速率 (600 kHz) 下的频率响应。如果您将 FIR 低通滤波器的脉冲响应上采样到 CIC 分离器的输入速率并将两者进行卷积,您应该得到两个滤波器级联的组合脉冲响应。