嵌入式硬件篇---滤波器
文章目录
- 前言
- 一、模拟电子技术中的滤波器
- 1. 基本概念
- 功能
- 实现方式
- 2. 分类
- 按频率响应
- 低通滤波器
- 高通滤波器
- 带通滤波器
- 带阻滤波器
- 按实现方式
- 无源滤波器
- 有源滤波器
- 3. 设计方法
- 巴特沃斯滤波器(Butterworth)
- 切比雪夫滤波器(Chebyshev)
- 贝塞尔滤波器(Bessel)
- 4. 实现示例
- 一阶RC低通滤波器
- 二阶有源低通滤波器(Sallen-Key拓扑)
- 5. 应用场景
- 音频处理
- 通信系统
- 电源设计
- 二、数字电子技术中的滤波器
- 1. 基本概念
- 功能
- 实现方式
- 2. 分类
- 按实现方式:
- FIR滤波器(有限脉冲响应)
- IIR滤波器(无限脉冲响应)
- 按频率响应:
- 3. 设计方法
- FIR滤波器设计
- 窗函数法
- 频率采样法
- IIR滤波器设计
- 双线性变换法
- 脉冲响应不变法
- 4. 实现示例
- FIR低通滤波器
- IIR低通滤波器
- 5. 应用场景
- 音频处理
- 图像处理
- 通信系统
- 三、信号系统中的滤波器
- 1. 基本概念
- 功能
- 实现方法
- 2. 分类
- 按信号类型
- 连续时间滤波器
- 离散时间滤波器
- 按应用场景
- 抗混叠滤波器
- 重建滤波器
- 3. 设计方法
- 频域设计
- 时域设计
- 4. 实现示例
- 抗混叠滤波器
- 功能
- 实现
- 重建滤波器
- 功能
- 实现
- 5. 应用场景
- 数据采集系统
- 音频编解码
- 雷达信号处理
- 四、总结
- 模拟滤波器
- 数字滤波器
- 信号系统中的滤波器
- 总结
前言
本文仅仅简单介绍了模拟电子技术、数字电子技术、信号与系统中的滤波器。
一、模拟电子技术中的滤波器
1. 基本概念
功能
功能:对模拟信号进行频率选择,允许某些频率通过,抑制其他频率。
实现方式
实现方式:基于**电阻(R)、电容(C)、电感(L)和运算放大器(Op-Amp)**等模拟元件。
2. 分类
按频率响应
低通滤波器
低通滤波器(LPF):允许低频通过,抑制高频。
高通滤波器
高通滤波器(HPF):允许高频通过,抑制低频。
带通滤波器
带通滤波器(BPF):允许某一频带通过,抑制其他频带。
带阻滤波器
带阻滤波器(BSF):抑制某一频带,允许其他频带通过。
按实现方式
无源滤波器
无源滤波器:仅使用R、L、C元件。
有源滤波器
有源滤波器:使用R、C和运算放大器。
3. 设计方法
巴特沃斯滤波器(Butterworth)
- 通带平坦,无纹波。
- 过渡带较宽,滚降较慢。
切比雪夫滤波器(Chebyshev)
- 通带或阻带有纹波。
- 过渡带较窄,滚降较快。
贝塞尔滤波器(Bessel)
- 相位响应线性,群延迟恒定。
- 适用于信号保真度要求高的场景。
4. 实现示例
一阶RC低通滤波器
特性:简单但滚降较慢(-20dB/十倍频程)。
二阶有源低通滤波器(Sallen-Key拓扑)
优点:滚降更快(-40dB/十倍频程),可调增益。
5. 应用场景
音频处理
音频处理:低通滤波器用于去除高频噪声。
通信系统
通信系统:带通滤波器用于选择特定信道。
电源设计
电源设计:低通滤波器用于平滑输出电压。
二、数字电子技术中的滤波器
1. 基本概念
功能
功能:对数字信号进行频率选择,通过数字算法实现滤波。
实现方式
实现方式:基于数字信号处理器(DSP)、FPGA或软件算法。
2. 分类
按实现方式:
FIR滤波器(有限脉冲响应)
仅依赖当前和过去输入。
线性相位,稳定性高。
IIR滤波器(无限脉冲响应)
依赖当前输入和过去输出。
非线性相位,计算效率高。
按频率响应:
与模拟滤波器类似(LPF、HPF、BPF、BSF)。
3. 设计方法
FIR滤波器设计
窗函数法
窗函数法:通过加窗截断理想滤波器响应。
频率采样法
频率采样法:在频域直接设计。
IIR滤波器设计
双线性变换法
双线性变换法:将模拟滤波器转换为数字滤波器。
脉冲响应不变法
脉冲响应不变法:保持脉冲响应不变。
4. 实现示例
FIR低通滤波器
特点:无反馈,稳定性高。
IIR低通滤波器
特点:有反馈,计算效率高。
5. 应用场景
音频处理
音频处理:FIR滤波器用于均衡器设计。
图像处理
图像处理:IIR滤波器用于边缘检测。
通信系统
通信系统:数字滤波器用于信道均衡。
三、信号系统中的滤波器
1. 基本概念
功能
功能:在信号处理系统中对信号进行预处理或后处理。
实现方法
实现方式:可以是模拟滤波器、数字滤波器或混合滤波器。
2. 分类
按信号类型
连续时间滤波器
连续时间滤波器:处理模拟信号。
离散时间滤波器
离散时间滤波器:处理数字信号。
按应用场景
抗混叠滤波器
抗混叠滤波器:在ADC前滤除高频分量。
重建滤波器
重建滤波器:在DAC后平滑输出信号。
3. 设计方法
频域设计
频域设计:基于傅里叶变换或拉普拉斯变换。
时域设计
时域设计:基于卷积或差分方程。
4. 实现示例
抗混叠滤波器
功能
功能:在ADC前滤除高于采样频率一半的信号。
实现
实现:模拟低通滤波器。
重建滤波器
功能
功能:在DAC后去除采样引入的高频镜像。
实现
实现:模拟低通滤波器。
5. 应用场景
数据采集系统
数据采集系统:抗混叠滤波器用于ADC前端。
音频编解码
音频编解码:重建滤波器用于DAC后端。
雷达信号处理
雷达信号处理:带通滤波器用于目标检测。
四、总结
模拟滤波器
模拟滤波器:适合高频、实时信号处理,设计简单但灵活性低。
数字滤波器
数字滤波器:适合复杂信号处理,灵活性高但需要计算资源。
信号系统中的滤波器
信号系统中的滤波器:根据信号类型和处理需求选择模拟或数字实现。
滤波器设计需综合考虑频率响应、相位特性、计算复杂度和实现成本,以满足具体应用需求。
总结
以上就是今天要讲的内容,本文仅仅简单介绍了模拟电子技术、数字电子技术、信号与系统中的滤波器。
相关文章:
嵌入式硬件篇---滤波器
文章目录 前言一、模拟电子技术中的滤波器1. 基本概念功能实现方式 2. 分类按频率响应低通滤波器高通滤波器带通滤波器带阻滤波器 按实现方式无源滤波器有源滤波器 3. 设计方法巴特沃斯滤波器(Butterworth)切比雪夫滤波器(Chebyshevÿ…...

JAVA最新版本详细安装教程(附安装包)
目录 文章自述 一、JAVA下载 二、JAVA安装 1.首先在D盘创建【java/jdk-23】文件夹 2.把下载的压缩包移动到【jdk-23】文件夹内,右键点击【解压到当前文件夹】 3.如图解压会有【jdk-23.0.1】文件 4.右键桌面此电脑,点击【属性】 5.下滑滚动条&…...
《筑牢元宇宙根基:AI与区块链的安全信任密码》
在科技浪潮汹涌澎湃的当下,元宇宙已不再是科幻作品中的遥远构想,而是逐渐步入现实,成为人们热议与探索的前沿领域。从沉浸式的虚拟社交,到创新的数字经济模式,元宇宙的发展前景广阔,潜力无限。但要让元宇宙…...
云原生周刊:云原生和 AI
开源项目推荐 FlashMLA DeepSeek 于北京时间 2025 年 2 月 24 日上午 9 点正式开源了 FlashMLA 项目。FlashMLA 是专为 NVIDIA Hopper 架构 GPU(如 H100、H800)优化的高效多头潜在注意力(MLA)解码内核,旨在提升大模型…...
rust笔记9-引用与原始指针
Rust 中的指针类型和引用类型是理解其内存管理机制的关键部分。& 引用和 * 原始指针在底层原理上确实都可以认为是指针,它们都存储了某个内存地址,并指向该地址处的数据。然而,它们在安全性、使用方式和编译器支持上有显著的区别。下面我会详细解释它们的异同点,帮助你…...

信而泰CCL仿真:解锁AI算力极限,智算中心网络性能跃升之道
引言 随着AI大模型训练和推理需求的爆发式增长,智算中心网络的高效性与稳定性成为决定AI产业发展的核心要素。信而泰凭借自主研发的CCL(集合通信库)评估工具与DarYu-X系列测试仪,为智算中心RoCE网络提供精准评估方案,…...

本地部署AI模型 --- DeepSeek(二)---更新中
目录 FAQ 1.Failed to load the model Exit code: 18446744072635812000 FAQ 1.Failed to load the model Exit code: 18446744072635812000 问题描述: 🥲 Failed to load the model Error loading model. (Exit code: 18446744072635812000). Unkn…...
c++类知识点复习与总结
类 c 是一种人机交互的面向对象的编程语言,面向对象思想主要体现在 类 上。 类是具有相同属性和相同行为的对象的集合, 具有封装,继承,多态的特性。 类的定义 class 类名 { }; 封装 例如:人就是一种类…...

C++的allactor
https://zhuanlan.zhihu.com/p/693267319 1 双层内存配置器 SGI设计了两层的配置器,也就是第一级配置器和第二级配置器。同时为了自由选择,STL又规定了 __USE_MALLOC 宏,如果它存在则直接调用第一级配置器,不然则直接调用第二级配…...

【2025深度学习环境搭建-2】pytorch+Docker+VS Code+DevContainer搭建本地深度学习环境
上一篇文章:【2025深度学习环境搭建-1】在Win11上用WSL2和Docker解锁GPU加速 先启动Docker!对文件内容有疑问,就去问AI 一、用Docker拉取pytorch镜像,启动容器,测试GPU docker pull pytorch/pytorch:2.5.0-cuda12.4…...

在CentOS 7上安装和使用Spleeter音频分离工具的详细步骤
在音频处理领域,Spleeter是一款优秀的开源工具,能够帮助用户轻松实现音频文件中人声和背景音的分离。本文将详细介绍在CentOS 7系统上安装和配置Spleeter的步骤,以及如何使用Spleeter进行音频分离。 准备环境: 在开始安装Spleeter之前&…...

【1】VS Code 新建上位机项目---C#基础语法
VS Code 新建上位机项目---C#基础语法 1 基本概念1.1 准备工具1.2 新建项目2 C#编程基础2.1 命名空间和类2.2 数据类型2.3 控制台输入输出2.3.1 输入输出: write 与 read2.3.2 格式化 : string.Foramt() 与 $2.3.3 赋值与运算2.4 类型转换2.4.1 数值类型之间的转换:(int)2.4…...
电脑经常绿屏(蓝屏)怎么办(解决方法)?
一、排查系统与驱动问题 进入安全模式修复系统 强制重启电脑 3 次触发恢复环境,选择 疑难解答 > 高级选项 > 启动设置 > 重启,按 F5 或 5 进入带网络连接的安全模式3。 在安全模式下,尝试卸载最近安装的软件或更新,尤其…...

clickhouse--本地表和分布式表,副本机制,分片集群
1、本地表和分布式表 ck的表分为两种: 分布式表 一个逻辑上的表,可以理解为数据库中的视图,一般查询都查询分布式表。分布式表引擎会将我们的查询请求路由本地表进行查询,然后进行汇总最终返回给用户。本地表 实际存储数据的表。 …...
react hook useReducer
useReducer useReducer 是 React 中用于状态管理的 Hook,与 useState 不同,它更适合处理复杂的状态逻辑. const [state, dispatch] useReducer(reducer, initialArg, init?) reducer 是一个处理函数,用于更新状态, reducer 里面包含了两个…...
告别阻塞,迎接高效:掌握 AsyncIOScheduler 实现异步任务调度
前言 时间在编程中是宝贵的,直接关联到效率与灵活性,尤其在异步编程里,如何优雅地管理定时任务简直是一门“艺术”。如果你还在用 time.sleep() 来控制延时任务,恐怕你早已体会过它的“痛苦”:程序卡住、线程阻塞、性能急剧下滑。想象一下,你的程序如同一个永远无法按时…...

【基于SprintBoot+Mybatis+Mysql】电脑商城项目之加入购物车和显示购物车列表
🧸安清h:个人主页 🎥个人专栏:【Spring篇】【计算机网络】【Mybatis篇】 🚦作者简介:一个有趣爱睡觉的intp,期待和更多人分享自己所学知识的真诚大学生。 目录 🚀1.加入购物车-数…...

再谈影刀RPA成长学习路线
近期,我将使用影刀RPA开发各电商平台移动端商品信息爬取,实战流程会在QQ群里分享,欢迎大家进群,一起探讨交流! 1. 影刀RPA学习路线概述 1.1 学习目标与意义 学习影刀RPA的目标在于掌握一种高效的工作自动化工具,以提…...

PHP-综合4
[题目信息]: 题目名称题目难度PHP-综合42 [题目考点]: PHP综合训练[Flag格式]: SangFor{Ouk3i63BuShgxqdRcn_9kMNqKFDe5j4f}[环境部署]: docker-compose.yml文件或者docker tar原始文件。 http://分配ip:2087[题目writeup]:…...
学习笔记-沁恒第五讲-米醋
一,设置音量 上次 这次 #include "uart.h" #include "debug.h" void audio_init() { Usart3_Init(); } void audio_play(u8 num) { u8 string[]{0x7e,0x05,0x41,0x00,num,0x05^0x41^0x00^num,0xef}; u8 i; for(i0;i<7;i) { USART_Se…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...

HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...

实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...
WEB3全栈开发——面试专业技能点P7前端与链上集成
一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染(SSR)与静态网站生成(SSG) 框架,由 Vercel 开发。它简化了构建生产级 React 应用的过程,并内置了很多特性: ✅ 文件系…...
LangChain 中的文档加载器(Loader)与文本切分器(Splitter)详解《二》
🧠 LangChain 中 TextSplitter 的使用详解:从基础到进阶(附代码) 一、前言 在处理大规模文本数据时,特别是在构建知识库或进行大模型训练与推理时,文本切分(Text Splitting) 是一个…...