嵌入式硬件篇---滤波器
文章目录
- 前言
- 一、模拟电子技术中的滤波器
- 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…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
