当前位置: 首页 > 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…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系&#xff0c;以下是深入解析&#xff1a; 门铃FIFO溢出的本质 在RapidIO系统中&#xff0c;门铃消息FIFO是硬件控制器内部的缓冲区&#xff0c;用于临时存储接收到的门铃消息&#xff08;Doorbell Message&#xff09;。…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...