嵌入式硬件篇---滤波器
文章目录
- 前言
- 一、模拟电子技术中的滤波器
- 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…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
