当前位置: 首页 > news >正文

嵌入式硬件篇---滤波器


文章目录

  • 前言
  • 一、模拟电子技术中的滤波器
    • 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)

  1. 通带平坦,无纹波
  2. 过渡带较宽,滚降较慢

切比雪夫滤波器(Chebyshev)

  1. 通带或阻带有纹波
  2. 过渡带较窄,滚降较快

贝塞尔滤波器(Bessel)

  1. 相位响应线性,群延迟恒定
  2. 适用于信号保真度要求高的场景。

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&#xff…...

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]:…...

学习笔记-沁恒第五讲-米醋

一&#xff0c;设置音量 上次 这次 #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?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

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..."系列算法协商失败问题 摘要&#xff1a; 近期&#xff0c;在使用较新版本的OpenSSH客户端连接老旧SSH服务器时&#xff0c;会遇到 "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的重载​ 四、智能指针…...