CIC 滤波器——长度为 5 的不同级联数CIC滤波器的频谱特性

CIC 滤波器——用Matlab仿真长度为 5 的不同级联数CIC滤波器的频谱特性


clc; % 清空命令行窗口
clear; %清空工作区
close all;


% % % CIC 滤波器
%E6_5_CompareCIC.M
%例6-5:
%用Matlab仿真长度为 5 的不同级联数CIC滤波器的频谱特性。

M=5;         %滤波器长度
b=ones(1,M);
delta=[1,zeros(1,1023)];
s1=filter(b,1,delta);  %求取滤波器冲激响应
s2=filter(b,1,s1);     %求取滤波器冲激响应
s3=filter(b,1,s2);     %求取滤波器冲激响应
s4=filter(b,1,s3);     %求取滤波器冲激响应
s5=filter(b,1,s4);     %求取滤波器冲激响应

Spec1=20*log10(abs(fft(s1))); %求取滤波器频谱特性
Spec1=Spec1-max(Spec1);
Spec2=20*log10(abs(fft(s2))); %求取滤波器频谱特性
Spec2=Spec2-max(Spec2);
Spec3=20*log10(abs(fft(s3))); %求取滤波器频谱特性
Spec3=Spec3-max(Spec3);
Spec4=20*log10(abs(fft(s4))); %求取滤波器频谱特性
Spec4=Spec4-max(Spec4);
Spec5=20*log10(abs(fft(s5))); %求取滤波器频谱特性
Spec5=Spec5-max(Spec5);

f=0:length(Spec1)-1;
f=2*f/(length(Spec1)-1);     %对频率轴进行归一化处理

plot(f,Spec1,'-',f,Spec2,'.',f,Spec3,'--',f,Spec5,'-.');axis([0 0.2 -25 0]);
xlabel('归一化频率');ylabel('幅度(dB)');
legend('D=1','D=2','D=3','D=5');
title('不同级联数的5阶CIC滤波器的频谱特性','fontsize',10);
grid;

 级数为5,不同级联CICI滤波器的频谱图。

从图中可以看出,对于归一化通带频率为0.2的通带衰减来讲,单级滤波器为3.8dB,2级滤波器为7.5dB,5级滤波器则已达到18.9dB。或者反过来讲,对于给定的通带衰减要求,多级滤波器的通带范围要低于单级滤波器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值