利用MATLAB设计低通滤波器和CIC滤波器

FDATool界面左下侧排列了一组工具按钮,其功能分别如下所述:
● 创建多速率滤波器(Create a Multirate Filter)
● 滤波器转换(TransForm Filter)
● 设置量化参数(Set Quantization Parameters)
● 实现模型(Realize Model)
● 零极点编辑器(Pole-zero Editor)
● 导入滤波器(Import Filter)
● 设计滤波器(Design Filter)

一、低通滤波器
设定低通滤波器的采样频率为112MHz,信号带宽为30MHz,,那么对于同相与正交分量分别具有15MHz带宽,因此低通滤波器的通频带为15MHz,参数配置如下(在MATLAB中调用fdatool函数)
利用MATLAB设计低通滤波器和CIC滤波器_第1张图片
滤波器界面介绍网址https://www.cnblogs.com/sunev/archive/2011/11/22/2258426.html
二、CIC滤波器
1、用MATLAB实现
当采用N级CIC滤波器级联时,主瓣电平A0与旁瓣电平A1的差值可表示
在这里插入图片描述
采用5级CIC滤波器级联,主瓣电平A0与旁瓣电平A1的差值为
在这里插入图片描述
利用MATLAB设计低通滤波器和CIC滤波器_第2张图片
在5级CIC滤波器中,内插因子设为30,采样速率设为3.125MHz。
2、用simulink实现

三、低通有限冲激响应(Fir)滤波器
1、用fdatool工具
滤波器类型(Filer Type)为低通(Low Pass)
设计方法(Design Method)为FIR,采用窗函数法(Window)
滤波器阶数(Filter order)定制为19(注意这里输入的数值是所要设计的滤波器的阶数减 1,本设计是20阶滤波器)
窗口类型为Kaiser,Beta为5
采样频率Fs为3125kHz,截止频率Fc为5kHz
最后单击Design Filter图标,让MATLAB计算FIR滤波器系数并作相关分析(在 FDATool 工具界面中,点击 File 选择 Export,在弹出窗口中点击 Export,即可在 MATLAB 中生成所设计的滤波器的抽头系数)
利用MATLAB设计低通滤波器和CIC滤波器_第3张图片
在这里插入图片描述
2、用MATLAB代码
恺撒窗(Kaiser Window) 
调用格式:w=kaiser(n,beta),根据长度 n 和影响窗函数旁瓣的β参数产生一个恺撒窗w。
fir1(n,Wn,Window),n 为阶数、Wn 是截止频率(如果输入是形如[W1 W2]的矢量时,本函数将设计带通/带阻滤波器。
[H,W ] = freqz(b,a,n)返回n点复频响应矢量H和n点的频率向量w。b和a为系统传递函数的分子和分母的系数向量。如果n没有指定,默认为512。

b = fir1(19,0.04,kaiser(20,5));
[h1,w1]=freqz(b,1);  
plot(w1/pi,20*log10(abs(h1))); 
axis([0,1,-70,5]); 
grid on;
xlabel('归一化频率/p') ;
ylabel('幅度/dB') ;

利用MATLAB设计低通滤波器和CIC滤波器_第4张图片

你可能感兴趣的:(利用MATLAB设计低通滤波器和CIC滤波器)