0基础 | 硬件滤波 C、RC、LC、π型
一、滤波概念
(一)滤波定义
滤波是将信号中特定波段频率滤除的操作,是抑制和防止干扰的重要措施。通过滤波器实现对特定频率成分的筛选,确保目标信号的纯净度,提升系统稳定性。
(二)滤波器分类
- 高通滤波器:允许信号中较高频率成分通过,抑制低频信号。
- 低通滤波器:允许信号中较低频率成分通过,抑制高频信号。
- 带通滤波器:设定低频截止频率 (f_{p1}) 和高频截止频率 (f_{p2}),仅允许频率在 (f_{p1}) 与 (f_{p2}) 之间的信号通过,其余频率信号被衰减。
- 带阻滤波器:与带通滤波器相反,衰减频率在 (f_{p1}) 到 (f_{p2}) 之间的信号,允许该范围外的信号通过。
(三)本文重点
聚焦单片机系统电源纹波抑制,讲解电容(C)、RC、LC、π型滤波器的原理及应用,涉及电阻、电容、电感、电源等基础知识。
二、电容(C)滤波
(一)技术理论
- 本质:电容通过充电与放电实现蓄能,其两端电压不能突变,可将纹波信号平滑为直流信号,达到滤波效果。
- 关键特性:利用电容充放电时间常数,对高频信号呈现低阻抗,对低频信号呈现高阻抗,从而实现频率选择性滤波。
(二)疑问解答
- 为什么大电容滤低频,小电容滤高频?
- 实际电容存在寄生电阻与电感,与交流信号作用时会产生谐振。
- 谐振频率公式:(f = )(注:原文公式 (f = 1/2_c) 为简化描述,实际谐振频率与寄生电感相关)。
- 大电容寄生电感较大,谐振频率低,适合滤除低频信号;小电容寄生电感小,谐振频率高,适合滤除高频信号。
- 实际电容存在寄生电阻与电感,与交流信号作用时会产生谐振。
- PCB设计时,大电容还是小电容靠近IC?
- 数字IC(如单片机):工作频率高,小电容靠近IC,减少高频供电环路,提升滤波与EMC效果,大电容外接于小电容外侧。
- 模拟IC或驱动类IC:开关频率低,需提供瞬时大电流,大电容靠近IC,小电容辅助滤除高频噪声。
- 数字IC(如单片机):工作频率高,小电容靠近IC,减少高频供电环路,提升滤波与EMC效果,大电容外接于小电容外侧。
(三)产品应用
- 单片机电源引脚:小电容(如0603封装,100nF)直接并联于VDD引脚,滤除高频噪声
- 驱动IC与信号管脚:大电容(如100μF/10V)为驱动IC提供瞬时电流,小电容(如10nF)用于信号管脚滤波。
- 电源IC滤波:在电源输入输出端并联大电容与小电容组合,抑制纹波(如3V电源搭配100μF电解电容+100nF瓷片电容)。
三、RC滤波
(一)技术理论
- 类型:属于低通滤波器,由电阻(R)与电容(C)串联组成。
- 原理:电阻消耗能量,电容存储能量,通过RC时间常数 (= R C) 抑制高频信号,允许低频信号通过。
- 局限:电阻耗能,仅适用于信号滤波,不适用于电源滤波(电源滤波需低损耗方案)。
(二)产品应用
- 运放输入端:在运放输入信号路径串联电阻(10Ω~100Ω)并接地电容(几百pF),滤除高频干扰,稳定输入信号。
- 开关电源SW处:抑制开关噪声,降低EMC干扰,但可能影响电源效率,需结合示波器调试优化参数。参数建议:电阻10Ω100Ω,电容100pF1nF,根据实际噪声频率调整。
四、LC滤波
(一)技术理论
- 类型:属于低通滤波器,由电感(L)与电容(C)组合而成。
- 原理:电感抑制高频电流变化,电容滤除高频电压纹波,无电阻耗能,适用于电源滤波。
- 截止频率:(f = ),通过选择电感值与电容值设定滤波频段。
(二)产品应用
- BUCK/BOOST电源拓扑:将PWM脉冲电压滤波为平滑直流电压,如BUCK电路中电感串联于电源路径,电容并联输出端。
- 电机类设备电源:电机产生低频干扰,LC滤波器抑制电源与电机之间的双向干扰,提升系统稳定性。典型参数:电感10μH100μH,电容10μF100μF,根据负载电流与噪声频率设计。
五、π型滤波器
(一)技术理论
- 结构:包含两个电容器和一个电感(或电阻),形成“π”型结构,实现双向滤波(输入输出双向噪声抑制)。
- 类型:分为LCπ型(电感居中,电容并联两端)和RCπ型(电阻居中,适用于低电流信号)。
(二)产品应用
- 电源输入处:在电源入口并联两个电容(如10μF+100nF),中间串联电感(如22μH),抑制外部电源噪声进入系统,同时减少系统噪声反灌。
- 电机电源隔离:降低电机启停时的电流波动对主电源的干扰,同时防止主电源噪声影响电机控制精度。
六、总结
滤波器是硬件设计中抑制干扰、提升稳定性的关键环节。电容滤波凭借低成本与易用性成为基础方案,RC滤波适用于信号调理,LC与π型滤波器则在电源系统中发挥核心作用。实际设计需结合具体场景(如数字/模拟电路、高频/低频噪声)选择滤波器类型,并通过仿真与调试优化参数,确保系统可靠运行。
以上图片有些来源于网络,仅供学习参考使用
相关文章:
0基础 | 硬件滤波 C、RC、LC、π型
一、滤波概念 (一)滤波定义 滤波是将信号中特定波段频率滤除的操作,是抑制和防止干扰的重要措施。通过滤波器实现对特定频率成分的筛选,确保目标信号的纯净度,提升系统稳定性。 (二)滤波器分…...
C++ 编程指南34 - C++ 中 ABI 不兼容的典型情形
一:概述 ABI(Application Binary Interface)是二进制层面的接口规范。如果一个库的 ABI 发生了变化,那么基于旧 ABI 编译的代码可能在运行时与新库不兼容(即使接口名字都一样也不行)。那么在C++中编程中,哪些情形会导致ABI不兼容呢?下面逐一列举一下。 二:C++ 中 ABI…...
【动态规划】深入动态规划:背包问题
文章目录 前言01背包例题一、01背包二、分割等和子集三、目标和四、最后一块石头的重量|| 完全背包例题一、完全背包二、 零钱兑换三、零钱兑换||四、完全平方数 前言 什么是背包问题,怎么解决算法中的背包问题呢? 背包问题 (Knapsack problem) 是⼀种组…...
NVIDIA AI Aerial
NVIDIA AI Aerial 适用于无线研发的 NVIDIA AI Aerial 基础模组Aerial CUDA 加速 RANAerial Omniverse 数字孪生Aerial AI 无线电框架 用例构建商业 5G 网络加速 5G生成式 AI 和 5G 数据中心 加速 6G 研究基于云的工具 优势100% 软件定义通过部署在数字孪生中进行测试6G 标准化…...
计算机视觉6——相机基础
一、数字相机基本工作原理 (一)像素概念 数字相机生成二维图像,图像最小单元是像素。 每个像素对应三维世界中某个特定方向,像素值衡量某一时刻来自该方向的光照强度/颜色 ,即相机度量每个像素的光照情况并保存到对…...
入门到精通,C语言十大经典程序
以下是十个经典的C语言程序示例,这些程序涵盖了从基础到稍复杂的应用场景,适合初学者和有一定基础的开发者学习和参考。 1. Hello, World! 这是每个初学者学习编程时的第一个程序,用于验证开发环境是否正确配置。 #include <stdio.h>…...
【毕设】Python构建基于TMDB电影推荐系统
个性化电影推荐系统 这是一个基于FastAPI开发的现代化电影推荐系统,结合了协同过滤和深度学习技术,为用户提供个性化的电影推荐服务。 主要功能 🎯 个性化电影推荐🔍 电影搜索与浏览⭐ 电影评分系统💝 收藏夹功能&a…...
嵌入式常见概念的介绍
目录 一、MCU、MPU、ARM (一)MCU(微控制器) (二)MPU(微处理器) (三)ARM(架构) 二、DSP (一)数字信号处理…...
富兴号:拨云见日,打造普洱品质典范
在高端普洱茶市场的混沌格局中,价格与品质的天平严重失衡,消费者往往深陷 “高价却难觅好茶” 的困境。而新兴品牌富兴号强势崛起,奋力冲破这一迷局,致力于重塑 “号级茶” 的卓越品质,为茶叶赋予珍贵的品鉴与收藏价值…...
【WORD】批量将doc转为docx
具体步骤进行: 打开Word文档,按下AltF11快捷键,打开VBA编辑器。在VBA编辑器中,左侧的“项目资源管理器”窗口会显示当前打开的Word文档相关项目。找到您要添加代码的文档项目(通常以文档名称命名)…...
Linux内存管理架构(1)
0.内存空间架构 1.用户空间 在 Linux 系统中,应用程序通过 malloc() 申请内存,并通过 free() 释放内存时,底层的内存管理是由 glibc(GNU C Library)中的内存分配器实现的。glibc 的内存分配器负责与操作系统的内核交互…...
Ubuntu 各个常见长期支持历史版本与代号
文章目录 1. Ubuntu 历史版本与代号2. 查看当前系统版本 在 Ubuntu 操作系统里,每个版本都有一个别具特色的名字。该名字由一个形容词与一个动物名称构成,且形容词和动物名称的首字母是一样的。例如 “Warty Warthog(长疣的疣猪)”…...
信息安全管理与评估2021年国赛正式卷答案截图以及十套国赛卷
2021年全国职业院校技能大赛高职组 “信息安全管理与评估”赛项 任务书1 赛项时间 共计X小时。 赛项信息 赛项内容 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 第一阶段 平台搭建与安全设备配置防护 任务1 网络平台搭建 任务2 网络安全设备配置与防护 第二…...
在线上定位1G日志文件中的异常信息时,我这样做合适吗
1G级线上日志文件 的异常定位系统性方案 一、快速定位流程 import datetime import randomdef generate_springboot_log(file_name, file_size_gb):# 模拟Spring Boot日志内容log_levels ["INFO", "DEBUG", "WARNING", "ERROR"]cla…...
Transformer模型中的两种掩码
模型训练通常使用 批处理batch来提升训练效率。而实际中Transformer的输入序列(如句子、文本片段)长度往往不一致。为了让这些样本可以组成一个统一的形状 [B, T] 的张量给GPU进行并行计算提高效率,需要将较短的序列填充(pad&…...
FastAPI-MPC正式发布,新的AI敏捷开发利器
FastAPI-MCP发布:零配置构建微服务控制平台的革命性实践 引言 在微服务架构日益复杂的今天,如何快速实现API接口的标准化管理与可视化控制成为开发者面临的核心挑战。近日,FastAPI-MCP工具的发布引发了技术社区广泛关注,其宣称能…...
Spring Boot 项目基于责任链模式实现复杂接口的解耦和动态编排!
全文目录: 开篇语前言一、责任链模式概述责任链模式的组成部分: 二、责任链模式的核心优势三、使用责任链模式解耦复杂接口1. 定义 Handler 接口2. 实现具体的 Handler3. 创建订单对象4. 在 Spring Boot 中使用责任链模式5. 配置责任链6. 客户端调用 四、…...
学习笔记八——内存管理相关
📘 目录 内存结构基础:栈、堆、数据段Rust 的内存管理机制(对比 C/C、Java)Drop:Rust 的自动清理机制Deref:为什么 *x 能访问结构体内部值Rc:多个变量“共享一个资源”怎么办?Weak&…...
Deepseek Bart模型相比Bert的优势
BART(Bidirectional and Auto-Regressive Transformers)与BERT(Bidirectional Encoder Representations from Transformers)虽然均基于Transformer架构,但在模型设计、任务适配性和应用场景上存在显著差异。以下是BART…...
Python在糖尿病分类问题上寻找具有最佳 ROC AUC 分数和 PR AUC 分数(决策树、逻辑回归、KNN、SVM)
Python在糖尿病分类问题上寻找具有最佳 ROC AUC 分数和 PR AUC 分数(决策树、逻辑回归、KNN、SVM) 问题模板解题思路1. 导入必要的库2. 加载数据3. 划分训练集和测试集4. 数据预处理5. 定义算法及其参数6. 存储算法和对应指标7. 训练模型并计算指标8. 找…...
达梦数据库-学习-20-慢SQL优化之CTE等价改写
目录 一、环境信息 二、介绍 三、优化过程 1、原始SQL 2、源SQL执行时间 3、原始SQL执行计划 4、拆分问题 5、过滤性 6、统计信息收集 7、改写思路一 8、改写SQL一 9、改写SQL一的执行计划 10、改写思路二 11、改写SQL二 12、改写SQL二的执行计划 一、环境信息…...
软件生命周期模型:瀑布模型、螺旋模型、迭代模型、敏捷开发、增量模型、快速原型模型
目录 1.软件生命周期 2.软件生命周期模型 2.1瀑布模型 缺点【存在的问题】: 优点: 2.2 螺旋模型 特点: 2.3 迭代模型 优点: 2.4 敏捷开发 2.5 增量模型 增量模型一般和迭代模型一起使用: 2.6 快速原型模型…...
AI agents系列之全面介绍
随着大型语言模型(LLMs)的出现,人工智能(AI)取得了巨大的飞跃。这些强大的系统彻底改变了自然语言处理,但当它们与代理能力结合时,才真正释放出潜力——能够自主地推理、规划和行动。这就是LLM代理大显身手的地方,它们代表了我们与AI交互以及利用AI的方式的范式转变。 …...
Ubuntu 下通过 Docker 部署 WordPress 服务器
最近想恢复写私人博客的习惯,准备搭建一个wordpress。 在这篇博客中,我将记录如何在 Ubuntu 环境下通过 Docker 部署一个 WordPress 服务器。WordPress 是一个流行的内容管理系统(CMS),它让用户能够轻松地创建和管理网…...
Elasticsearch生态
目录 Elasticsearch核心概念 Elasticsearch实现全文检索的原理 Elasticsearch打分规则 常用的查询语法 ES数据同步方案 Elasticsearch生态非常丰富,包含了一系列工具和功能,帮助用户处理、分析和可视化数据,Elastic Stack是其核心部分&a…...
idea配置spring MVC项目启动(maven配置完后)
springmvc项目在idea中配置启动总结,下面的内容是在maven配置好后进行的。 配置 Tomcat 服务器 添加 Tomcat 到 IDEA: File → Settings → Build, Execution, Deployment → Application Servers → 点击 → 选择 Tomcat Server。 指定 Tomcat 安装目…...
大模型微调数据集怎么搞?基于easydataset实现文档转换问答对json数据集!
微调的难点之一在与数据集。本文介绍一种将文档转换为问答数据集的方法,超级快! 上图左侧是我的原文档,右侧是我基于文档生成的数据集。 原理是通过将文档片段发送给ollama本地模型,然后本地模型生成有关问题,并基于文…...
【排序算法】快速排序
目录 一、递归版本 1.1 hoare版本 问题1:为什么left 和 right指定的数据和key值相等时不能交换? 问题2:为什么跳出循环后right位置的值⼀定不⼤于key? 1.2 挖坑法 1.3 lomuto前后指针版本 二、快排优化 2.1 时间复杂度的计算 2.1.…...
爬虫:IP代理
什么是代理 代理服务器 代理服务器的作用 就是用来转发请求和响应 在爬虫中为何需要使用代理? 有些时候,需要对网站服务器发起高频的请求,网站的服务器会检测到这样的异常现象,则会讲请求对应机器的ip地址加入黑名单ÿ…...
JUC.atomic原子操作类原理分析
摘要 多线程场景下共享变量原子性操作除了可以使用Java自带的synchronized关键字以及AQS锁实现线程同步外,java.util.concurrent.atomic 包下提供了对基本类型封装类(AtomicBoolean|AtomicLong|AtomicReference|AtomicBoolean) 以及对应的数组封装。对于已有的包含…...
【XCP实战】AUTOSAR架构下XCP从0到1开发配置实践
目录 前言 正文 1.CAN功能开发 1.1 DBC的制作及导入 1.2 CanTrcv模块配置 1.3 Can Controller模块配置 1.4 CanIf模块配置 2.XCP模块集成配置配置 2.1.XCP模块配置 2.2.XCP模块的Task Mapping 2.3.XCP模块的初始化 3.在链接文件中定义标定段 4.编写标定相关的测试…...
【STM32】STemWin库,使用template API
目录 CubeMX配置 工程文件配置 Keil配置 STemwin配置 GUIConf.c LCDConf.c 打点函数 修改屏幕分辨率 GUI_X.c 主函数 添加区域填充函数 移植过程中需要一些参考手册,如下 STemwin使用指南 emWin User Guide & Reference Manual CubeMX配置 参考驱…...
Web开发-JavaEE应用动态接口代理原生反序列化危险Invoke重写方法利用链
知识点: 1、安全开发-JavaEE-动态代理&序列化&反序列化 2、安全开发-JavaEE-readObject&toString方法 一、演示案例-WEB开发-JavaEE-动态代理 动态代理 代理模式Java当中最常用的设计模式之一。其特征是代理类与委托类有同样的接口,代理类…...
C语言中while的相关题目
一、题目引入 以下程序中,while循环的循环次数是多少次? 二、代码分析 首先要明确的一点 while循环是当循环条件为真 就会一直循环 不会停止 while中i是小于10的 说明i可以取到0 1 2 3 4 5 6 7 8 9 进入第一个if判断i小于1为真时执行continue i0是为真的 执行continue 后…...
在Ubuntu下交叉编译 Qt 应用程序(完整步骤)
1、下载交叉编译器下: st-example-image-qt wayland-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1-snapshot.sh 通过网盘分享的文件:STM32项目 链接: https://pan.baidu.com/s/1hTvJT2r6czWCrKSuNEZCuw?pwdth7t 提取码: th7t --来自百度网盘超级…...
深入剖析 Axios 的 POST 请求:何时使用 qs 处理数据
在前端开发中,Axios 是一个广泛使用的用于发送 HTTP 请求的库,特别是在处理 POST 请求时,数据的处理方式会直接影响到请求能否正确被后端接收和处理。其中,使用 qs 库对数据进行处理是一个常见的操作点,本文将深入探讨…...
Python中NumPy的随机操作
在数据科学、机器学习和科学计算中,随机数的生成和操作是不可或缺的一部分。NumPy作为Python中强大的数值计算库,提供了丰富的随机数生成工具,能够满足从简单随机数生成到复杂概率分布模拟的多种需求。本文将深入探讨NumPy的随机操作功能&…...
从代码学习深度学习 - 多头注意力 PyTorch 版
文章目录 前言一、多头注意力机制介绍1.1 工作原理1.2 优势1.3 代码实现概述二、代码解析2.1 导入依赖序列掩码函数2.2 掩码 Softmax 函数2.3 缩放点积注意力2.4 张量转换函数2.5 多头注意力模块2.6 测试代码总结前言 在深度学习领域,注意力机制(Attention Mechanism)是自然…...
通过扣子平台工作流将数据写入飞书多维表格
1. 进入扣子平台,并创建工作流扣子 扣子是新一代 AI 大模型智能体开发平台。整合了插件、长短期记忆、工作流、卡片等丰富能力,扣子能帮你低门槛、快速搭建个性化或具备商业价值的智能体,并发布到豆包、飞书等各个平台。https://www.coze.cn…...
python专题2-----用python生成多位,值均是数字的随机数
有很多方法可以用 Python 生成 多位随机数。我将向您介绍几个常用的方法,并解释它们的优缺点(此处以4位随机数为例): 1. 使用 random.randint() 这是最简单直接的方法: import randomrandom_number random.randint…...
Mybatis的简单介绍
文章目录 MyBatis 简介 1. MyBatis 核心特点2. MyBatis 核心组件3. MyBatis 基本使用示例(1) 依赖引入(Maven)(2) 定义 Mapper 接口(3) 定义实体类(4) 在 Service 层调用 4. MyBatis 与 JPA/Hibernate 对比 MyBatis 简介 MyBatis 是一款优秀的 持久层框…...
山东大学软件学院创新项目实训(11)之springboot+vue项目接入deepseekAPI
因为该阶段是前后端搭建阶段,所以没有进大模型的专项训练,所以先用老师给的deepseek接口进行代替 且因为前端设计部分非本人负责且还没有提交到github上,所以目前只能先编写一个简易的界面进行功能的测试 首先进行创建model类 然后创建Cha…...
Qt绘图事件
目录 1.绘图事件 1.1绘图事件 1.2声明一个画家对象 2.画线、画圆、画矩形、画文字 2.1画线 编辑 2.2画圆 2.3画矩形 2.4画文字 3.设置画笔 3.1设置画笔颜色 3.2设置画笔宽度 3.3设置画笔风格 4.设置画刷 4.1填色 4.2设置画刷风格 5.绘图高级设置 5.1设置抗锯…...
Linux 内核 BUG: Android 手机 USB 网络共享 故障
众所周知, 窝日常使用 ArchLinux 操作系统, 而 ArchLinux 是一个滚动发行版本, 也就是各个软件包更新很快. 然而, 突然发现, Android 手机的 USB 网络共享功能 BUG 了. 经过一通排查, 发现是 Linux 内核造成的 BUG. 哎, 没办法, 只能自己动手修改内核代码, 修复 BUG 了. 本文…...
程序化广告行业(82/89):解锁行业术语,开启专业交流之门
程序化广告行业(82/89):解锁行业术语,开启专业交流之门 在程序化广告这个充满活力与挑战的行业里,持续学习是我们不断进步的动力源泉。一直以来,我都期望能和大家一起深入探索这个领域,共同成长…...
Linux的网络配置的资料
目前有两种方式,network和NetworkManager。 network方式是在CentOS 6及更早版本中引入的配置方法,支持使用配置文件的方式管理网卡的配置。 NetworkManager是在CentOS 7及后续的版本中使用的配置方法,支持使用命令行和图形化界面的方式来管理…...
linux: 文件描述符fd
目录 1.C语言文件操作复习 2.底层的系统调用接口 3.文件描述符的分配规则 4.重定向 1.C语言文件操作复习 文件 内容 属性。所有对文件的操作有两部分:a.对内容的操作;b.对属性的操作。内容是数据,属性其实也是数据-存储文件,…...
每天学一个 Linux 命令(16):mkdir
每天学一个 Linux 命令(16):mkdir 命令简介 mkdir(Make Directory)是 Linux 和类 Unix 系统中用于创建新目录的基础命令。它允许用户快速创建单个目录、多级嵌套目录,并能灵活设置目录权限。 主要用途 创建单个目录:快速生成新的空目录。递归创建多级目录:自动生成缺…...
Java微服务注册中心深度解析:环境隔离、分级模型与Eureka/Nacos对比
在微服务架构体系中,注册中心如同神经系统般承担着服务发现与健康管理的核心职能。本文将从生产环境实践出发,系统剖析注册中心的环境隔离策略、分级部署模型,并通过Eureka与Nacos两大主流组件的全方位对比,帮助开发者构建高可用服…...
c++:new关键字
目录 基本语法 使用举例 应用场景 使用 new 时的注意事项 基本语法 Type* ptr new Type;Type 是你要创建的类型(可以是基本类型、结构体、类等) new Type 表示在堆上创建一个 Type 类型的对象 ptr 是一个指针,指向这个对象 使用举例 …...