CIC 滤波器——不同长度的单级CIC滤波器的频谱特性

news2024/10/5 13:44:22

CIC 滤波器

% 多速率信号处理过程的关键是设计满足要求的抗混叠滤波器:

% 第一:滤波器在有用信号频段内的纹波系数满足要求;

% 第二:抽取或内插处理后,在有用信号频段内不产生频谱混叠;

% 第三:滤波器占用硬件资源少且运算速度快。

%

% CIC(积分梳状)滤波器及半带滤波器因为具有速度快、占用资源少等特点,

% 在多速率信号处理中得到了广泛的应用。

% CIC滤波器的结构简单,没有乘法器,只有加法器、积分器和寄存器,

% 适合于工作在高采样率条件下,而且CIC滤波器是一种基于零点相消的FIR滤波器,

% 已经被证明是在高速抽取或者插值系统中非常有效的单元。

CIC 滤波器——不同长度的单级CIC滤波器的频谱特性


%
% E6_3_SigCIC.m
% 用matlab仿真不同长度的单级CIC滤波器的频谱特性
% 
M = 2; %滤波器长度
b = ones(1,M);
delta = [1,zeros(1,1023)];
s = filter(b,1,delta); %求取滤波器冲激响应
Spec = 20*log10(abs(fft(s))); %求取滤波器频谱特性
Spec2 = Spec-max(Spec);
f = 0:length(Spec)-1;
f = 2*f/(length(Spec)-1); %对频率轴进行归一化处理

M=5;  %滤波器长度
b=ones(1,M);
delta=[1,zeros(1,1023)];
s=filter(b,1,delta);  %求取滤波器冲激响应
Spec=20*log10(abs(fft(s))); %求取滤波器频谱特性
Spec5=Spec-max(Spec);

M=7; %滤波器长度
b=ones(1,M);
delta=[1,zeros(1,1023)];
s=filter(b,1,delta); %求取滤波器冲激响应
Spec=20*log10(abs(fft(s))); %求取滤波器频谱特性
Spec7=Spec-max(Spec);

M=8; %滤波器长度
b=ones(1,M);
delta=[1,zeros(1,1023)];
s=filter(b,1,delta); %求取滤波器冲激响应
Spec=20*log10(abs(fft(s))); %求取滤波器频谱特性
Spec8=Spec-max(Spec);

% plot(f,Spec2,f,Spec5,f,Spec7,f,Spec8);axis([0 1 -50 0]);grid;
% xlabel('归一化频率');ylabel('幅度(dB)');
% legend('M=2','M=5','M=7','M=8');
% grid;
plot(f,Spec2,'-',f,Spec5,'.',f,Spec8,'--');
axis([0 1 -50 0]);
xlabel('归一化频率');
ylabel('幅度(dB)');
legend('M=2','M=5','M=8');
title('不同长度的单级CIC滤波器的频谱特性','fontsize',10);
grid on;

上图中 横坐标为归一化频率,数值1相当于数据速率的一半。当滤波器的长度M远大于1时,第一旁瓣电平相对于主瓣电平的差值几乎是固定的13.46dB。显然,这样小的阻带衰减远不能满足较高的滤波要求。解决该问题的方法是对滤波器进行级联,每增加一级滤波器,则旁瓣电平衰减增加13.46dB。采用5级CIC滤波器级联,则旁瓣电平衰减变为67.3dB。增加滤波器级联数目虽然可以解决旁瓣电平衰减减小的问题,但是会带来其他不利影响。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/464405.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ASM磁盘组增加磁盘

续昨天的问题,DATA磁盘组空间不足的问题,客户也紧张,一早就讨论方案,新增2个2T的磁盘,将原来2个500G磁盘下线,下午存储端配置后,下面就是主机和数据库的事情(为了避免客户信息泄露&a…

生成树协议 STP

文章目录 1 概述2 生成树协议 STP2.1 桥 ID(Bridge ID)2.2 路径开销(Path Cost)2.3 示例 3 扩展 1 概述 #mermaid-svg-QRMpkzeB3Xf66zNv {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#3…

【学习笔记】- 零基础学React

React是用于构建用户界面的JavaScript库。想要深入学习 react ,就应该从 jsx 入手 react脚手架初始化项目 >> npm install -g create-react-app >> create-react-app proname >> npm run start运行之后,出现以下画面,至此…

DHCP服务

~ 安装和配置 DHCP 服务,为办公区域网络提供地址上网; ~ 创建地址池 inside_pool,地址池范围 192.168.0.100 - 192.168.0.200; ~ 根据题目 要求正确的配置网关和DNS信息; ~ 修改AppSrv 的dhcp服务器默认备份时间为150秒&#x…

案例3:Java汽车保养维修系统设计与实现开题报告

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

dll文件丢失怎么恢复,修复丢失dll的全部方法分享

dll文件丢失怎么恢复?其实DLL 或称为动态链接库文件,是 Windows 操作系统中的重要文件之一,它包含了被应用程序或操作系统内部使用的函数和程序代码。当应用软件或系统内置应用启动时,会自动加载对应的 DLL 文件以获得所需要的程序…

ArcGIS Pro、R、INVEST等多技术融合下生态系统服务权衡与协同动态分析

第一章、生态系统服务讲解 1.生态系统服务概念和基本理论 ​ 2.生态系统服务评估方法与模型讲解 ​ ​ 3.生态系统服务权衡与协同研究方法与意义 ​ 4.文献可视化分析 ​ ​ 第二章、平台基础 一、ArcGIS Pro介绍1. ArcGIS Pro简介2. ArcGIS Pro基础3. ArcGIS Pro数据预处理4…

FLink 里面的时间语义说明

本文说明一下flink的时间语义 处理时间(processTIme) 执行相关操作的机器系统时间。 如果flink的流式处理程序是基于processtime。那么代码中所有的操作都是将基于运算符的机器系统时钟时间。每小时的processTime window包括在系统时钟指示完整一个小时…

直线导轨水平仪零位调整方法

对于直线导轨的使用,相信很多人都知道,这主要是因为直线导轨的使用范围非常广泛,小到抽屉,大到机械设备,我们都能看到他的身影,接触得多自然就熟悉了。 事实上,大家对直线导轨的了解可能就仅限于…

BM41-输出二叉树的右视图

题目 请根据二叉树的前序遍历,中序遍历恢复二叉树,并打印出二叉树的右视图 数据范围: 0≤n≤10000 要求: 空间复杂度 O(n),时间复杂度 O(n) 如输入[1,2,4,5,3],[4,2,5,1,3]时,通过前序遍历的结果[1,2,4,…

Redis——BigKey问题

目录 MoreKey案例 测试数据 如何向redis数据库中一次性的插入100W条数据 如何将 100W条数据一次性写入redis数据库中 遍历百万、千万级别数据能否使用keys *? 生产上如何限制keys *、flushdb、flushall等危险命令? 不使用keys *使用什么遍历? 使…

Spring学习小结_2

文章目录 篇112 Bean的生命周期Bean实例属性填充循环引用Aware接口Spring IoC 整体流程总结 13 Spring整合MyBatis剖析 篇1 Spring学习小结_1 https://blog.csdn.net/m0_58730471/article/details/130075657?spm1001.2014.3001.5501 12 Bean的生命周期 Spring Bean的生命周期…

当下火爆出圈的 ChatGPT ,你了解多少?

ChatGPT 是什么?ChatGPT 有什么特点?ChatGPT 可以做什么?ChatGPT 初体验 当下 AI 聊天程序 ChatGPT 可谓如火如荼,因它给出的答案通常更为合理且更有人情味,全网讨论度非常高。 ChatGPT 是什么? ChatGPT 是…

仪表板展示 | X-lab开放实验室GitHub开源项目洞察大屏

背景介绍 X-lab开放实验室是一个开源软件产业开放式创新的共同体,由来自国内外著名高校、创业公司、部分互联网与IT企业的专家学者与工程师所构成,目前已在包括开源治理标准制定、开源社区行为度量与分析、开源社区流程自动化、开源全域数据治理与洞察等…

CSS - 实现容器溢出后隐藏滚动条并且能正常滚动,盒子高度超出后不显示滚动条但是能正常滚动(附带详细示例,完美解决方案)

前言 网上很多都会使用 JS 来实现,其实纯 CSS 就能完成。 本文实现了 当外层容器盒子溢出时,去掉滚动条的显示(但能正常滚动),适用于 Vue、React 等全部前端项目, 您可以直接复制示例源码,运行…

Android性能优化—ViewPagers + Fragment缓存优化

大家看标题,可能会有点儿懵,什么是ViewPagers,因为在很久之前,我们使用的都是ViewPager,但是现在更多的是在用ViewPager2,因此用ViewPagers(ViewPager、ViewPager2)来代替两者&#…

第10届蓝桥杯省赛真题剖析-2019年3月24日Scratch编程初中级组

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第126讲。 第10届蓝桥杯省赛,这是2019年3月24日举办的省赛Scratch考试真题,比赛是在线下举办的…

分组双轴图:揭示数据中的关联性和趋势变化

简介 分组双轴图是一种数据可视化图表,指有多个(≥2)Y轴的数据图表,多为分组柱状图折线图的结合,图表显示更为直观,可以很好地展示不同指标之间的关系,帮助用户更好地理解数据,做出…

深度学习 - 44.MMOE 与 Gate 之多目标学习

目录 一.引言 二.摘要 Abstract 三.介绍 Introduction 四.相关工作 RELATED WORK 1.DNN 中的多任务学习 2.SubNet 集成与 Expert 混合 3.多任务学习应用 五.建模方法 MODELING APPROACHES 1.Shared-bottom Multi-task Model 2.Mixture-of-Experts 3.Multi-gate Mixt…

美团B端“加速度”

配图来自Canva可画 一提起本地生活服务,相信绝大多数人并不会感到陌生,人们经常使用的餐饮外卖,便是本地生活服务的重要组成部分之一。而在消费者线上消费习惯逐渐养成、本地生活服务需求日渐增长等多方因素的共同影响下,本地生活…