插入损耗(Insertion Loss):由于滤波器的引入对电路中原有信号带来的衰耗。
通带纹波:频响中通带的最大幅值和最小幅值之间的差值。正常的纹波一般小于1db。不过也视情况而言,通带纹波会导致通带内的幅值大小有变化,一般要求越高,纹波越小越好。通带纹波和滤波器的阶数有关系,阶数越大纹波越小。表达式为:-20log10(最大幅度)-(-20log10(最小幅度) [个人感觉通带纹波就是通带衰减ap,但是没找到资料确认]
通带容限误差 δp : δp ≥ 1/6 * ((pi* fp*M / Fs)^2) M是滤波器的长度 ,fp是通带截止频率,Fs是输入信号采样率
阻带容限误差 δs : δs ≥ fs*M/Fs fs是阻带截止频率
通带衰减 ap(Apass) :20*lg((1+δp) / (1-δp))
阻带衰减 as(Astop) :20*lgδs
通带截止频率 fp :信号在低于通带截止频率时,衰减量必须小于某个指标——通带纹波
阻带截止频率 fs :信号在高于阻带截止频率时,衰减量必须大于某个指标——阻带衰减
信号滤波后的频谱响应 = 滤波前的频谱 * 滤波器的频率响应
在CIC滤波器设计过程中,只要考虑的参数:通带纹波Apass、通带截止频率,阻带截止频率,阻带衰减
接下来,我们看图说话:
CIC滤波器:
半带滤波器:
补偿滤波器:我们用fdesign工具设计cic补偿滤波器
(参考博客:https://blog.csdn.net/wordwarwordwar/article/details/80561023)
1 Fs=1e6;
2 hd_cic = cascade(hd1,hd2,hd3,Hb1,Hb2); %%这里的dfilt,mfilt对象是用fdatool设计导出的,此处省略介绍(见于后续博客)
3
4 d4 = fdesign.ciccomp(1, ...
5 5,100,800,.0025,100,2000); % design a cic compensator filter
6 Hd(4) = design(d4);
7 hvt=fvtool(hd_cic,Hd(4),cascade(hd_cic,Hd(4)),\'Fs\',[Fs Fs/500 Fs], ... % plot whole response
8 \'ShowReference\', \'off\');
9
10 legend(hvt, \'CIC\',\'CIC compensator\', \'Whole response\',\'Location\', \'Northeast\');
d4是补偿滤波器
fdesign.ciccomp(滤波器delay,级数,通带截止频率,阻带截止频率,通带纹波,阻带衰减,当前滤波器输入信号的采样率);