D类音频应用EMI管理
1、前言
对于EMI,首先需要理解天线。频率和波长之间的关系,如下图所示。

作为有效天线所需的最短长度是λ/4。在空气中,介电常数是1,但是在FR4或玻璃环氧PCB的情况下,介电常数大约4.8。这种效应会导致信号在FR4材料介质包围的导线中传播速度变慢,本质上是一种 “波长缩短” 的效应。例如,200MHz信号的四分之一波长为16.7cm,但在内层PCB走线中,波长是: 16.7/√4.8=7.6cm。
即使长度小于λ/4,PCB走线也可以充当无意的天线,从而增加了麻烦和敏感性。表面走线也表现出这种波长缩短效应,因为表面走线一侧是空气,另一侧是PCB材料,所以总的介电常数也会发生变化。
类似PCB走线类的意外天线是数字系统中辐射噪声的主要来源。从辐射发射的角度来看,D类音频放大器本质上是一个数字系统。电磁学的一个关键原理是互易性。电流的流动可以产生磁场,磁通量的变化可以产生感应电流,同样,有利于接收的天线也有利于发射。如果无意天线的任何尺寸接近该天线被噪声电流激发的频率的四分之一波长,则该天线成为有效的辐射发射源。
如下图所示,是两种常见的天线设计:简单偶极子和鞭状天线,鞭状天线基本上是偶极子的一半,而水平地面基本上被诱导为偶极子的另一半。

天线旨在通过电能的辐射来发送和接收信号。如下图所示,PCB电路板中可能包含的无意天线包括以下几种:长走线、过孔、器件引线和引脚、未焊接的PCB板连接器和接头。

未端接的表面走线或未端接的内层走线可能成为无意的鞭状天线。由于布局不佳,不同射频电压下的走线可能会成为无意的偶极天线。此外,PCB的导电层可以充当偶极天线的另一分支,其平面本身耦合到电场中。
2、D类音频放大器
D类音频放大器具有高效率的特点,已成为消费市场的主流应用。它通过输入的模拟信号调制高频方波。方波本身可以是固定频率、可变频率或没有固定频率的简单随机脉冲。通常采用2阶巴特沃斯低通滤波器,滤除高频噪声并恢复原始音频信号。在 “无滤波器” 拓扑结构中,扬声器自身的电感作为滤波器的一部分。如下图所示,是一种常见的D类拓扑,采用脉宽调制 (PWM),使用固定频率的波形,并改变占空比,在低通滤波器后创建信号的移动平均值。

开关拓扑的优点是显而易见的: 高效率、低功耗和低热量,但提高效率并非没有成本,为了提高效率,需要一个尖锐、快速切换的方波,这可能会导致产生与数字系统中存在的意外伪影相同的伪影,因为能量高度集中在方波的边缘。此外,还会有一些过冲,导致波形在短时间内超过最大和最小电压,过冲会在输出频谱中产生额外的高频噪声,并且对于EMI和音频性能而言是不理想的。
3、优化EMI
PCB设计对优化EMI至关重要,一般规则包括以下几个方面。
• 在电源和地之间放置去耦电容器。电容的随意放置会加剧EMI问题。
• 电源平面应从PCB的边缘内缩。
• 避免分割接地平面或电源平面,防止产生缝隙。
• 所有高频时钟线进行适当的端接。
• PCB连接器信号进行适当的滤波。
• 良好的PCB设计应避免环形天线。环形天线包括明确传输路径的正向电流和返回电流任何路径。
最佳的方式是抑制给天线供电的电流源以阻止辐射。
对于音频设计,以下几点需要注意:
• 音频放大器到扬声器的走线尽可能短。PCB走线长度一旦达到λ/4,就会具有天线效应,发生明显的辐射。
• 对于无滤波器的D类系统,将放大器的输出连接到扬声器的走线和电缆长度可能是最大的RF发射源。
• D类输出信号线宽至少30mil。为了满足EMI要求,每个输出线宽应以60mil连接至扬声器。如果EMI滤波器放置在PCB板上,则必须尽可能靠近设备引脚放置。为了获得最佳的THD+N性能,输出信号的长度应相互匹配,以避免由于布线电阻的差异而导致THD+N的任何失配。
有效的措施是将铁氧体磁珠与扬声器串联放置在放大器附近。为了更好地理解铁氧体磁珠的抑制机制,将铁氧体磁珠分解成频率相关的电阻和电感元件-R(f) 和L(f) -,如下图所示。

EMI抑制,铁氧体磁珠充当电阻器,直流电阻较小,电压降可忽略,这使得磁珠在感兴趣的频率显著低于1MHz的情况时,效果较好,应理解铁氧体磁珠两元件分压机制。Z1和Z2都是频率相关的,为了实现低通滤波器的期望功能,应存在以下关系: 在期望的频率下Z2 >Z1,在噪声频率下Z1>Z2。
铁氧体通常用作串联元件,分流元件是电容,可以是物理电容或集总电容。传递函数表明,随着频率(1/jωC)的增加,Z1增加,Z2减少,系统被阻尼到共振效应显著减弱的程度。D类功放固有的周期性方波的主要挑战是能量集中在谐波区间内。
抖频(展频)技术可以有效降低EMI,可以减少频谱中任何一点的能量。与传统的D类放大器相比,扩频调制方案具有关键优势,效率和低THD+N得以保持,但辐射噪声和EMI可以显著降低,如下图所示。

例如LM48511是一款扩频调制的D类音频放大器,包括一个内置的升压调节器,将电源电压驱动到7V,与未升压的放大器相比,增加了放大器输出功率和音频声压级,即使由电池等衰减性电压源供电,升压调节器也能使放大器保持恒定的输出电平。
LM48511放大器具有逻辑可选的扩频调制器,可降低EMI,消除了对输出滤波器或扼流圈的需求。如下图所示,扩频调制器为驱动桥接负载扬声器的标准H桥供电。在扩频模式下,开关频率在330KHz中心频率附近随机变化10%,从而减少了扬声器和相关电缆和走线的EMI发射。当固定频率的D类放大器在开关频率的倍频处出现大量的频谱能量时,LM48511放大器的扩频架构将该能量扩展到更大的频带上,从而降低了电路中的峰值噪声功率。

相关文章:
D类音频应用EMI管理
1、前言 对于EMI,首先需要理解天线。频率和波长之间的关系,如下图所示。 作为有效天线所需的最短长度是λ/4。在空气中,介电常数是1,但是在FR4或玻璃环氧PCB的情况下,介电常数大约4.8。这种效应会导致信号在FR4材…...
第N8周:使用Word2vec实现文本分类
文章目录 一、数据预处理1.加载数据2.构建词典3.生成数据批次和迭代器 二、模型构建1.搭建模型2.初始化模型3.定义训练与评估函数 三、训练模型1.拆分数据集并运行模型 四、总结 🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者&a…...
100天精通Python(爬虫篇)——第113天:爬虫基础模块之urllib详细教程大全
文章目录 1. urllib概述2. urllib.request模块 1. urllib.request.urlopen()2. urllib.request.urlretrieve()3. urllib.request.Request()4. urllib.request.install_opener()5. urllib.request.build_opener()6. urllib.request.AbstractBasicAuthHandler7. urllib.request.…...
光谱相机与普通相机的区别
一、成像目的 普通相机:主要目的是记录物体的外观形态,生成人眼可见的、直观的二维图像,重点在于还原物体的形状、颜色和纹理等视觉特征,以供人们进行观赏、记录场景或人物等用途。例如,拍摄旅游风景照片、人物肖像等…...
Mysql数据 新增、修改和删除操作时,这些变化如何被转换为Kafka消息?
Mysql数据 新增、修改和删除操作时,这些变化如何被转换为Kafka消息? 为了在FlinkCDC中配置MySQL同步到Kafka,并采用debezium-json数据格式,我们需要了解当执行新增、修改和删除操作时,这些变化如何被转换为Kafka消息。下面我们将详细介绍这些变化情况,并提供具体的数据样…...
《Python 机器视觉:开启智能视觉新时代》
《Python 机器视觉:开启智能视觉新时代》 一、Python 机器视觉的基石(一)关键库的强大力量(二)环境搭建的便捷路径 二、核心功能与奇妙应用(一)图像的奇幻处理(二)目标检…...
uniapp实现为微信小程序扫一扫的功能
引言 随着微信小程序的快速发展,越来越多的开发者开始关注和学习微信小程序的开发。其中,微信小程序的扫一扫功能是非常常用且实用的功能之一。通过扫描二维码,用户可以获取到相关的信息或者实现特定的功能。 正文 在过去,开发者需要使用微信开发者工具以及相关的开发文档…...
【微信小程序】4plus|搜索框-历史搜索 | 我的咖啡店-综合实训
升级版1-清空全部的再次确认 实现功能: 历史搜索记录展示-历史搜索记录展示10条点击跳转-点击历史搜索记录可同步到搜索框并自动搜索全部删除-可一次性全部删除历史搜索记录全部删除-有再次确认操作展示 进行搜索后留下搜索记录 点击垃圾桶图标,显示【清空全部】 点击【清…...
使用FFmpeg进行拉流和推流操作
FFmpeg是一款强大的多媒体处理工具,可以用于视频的录制、转换、推流和拉流等操作。下面将详细介绍如何使用FFmpeg进行拉流和推流操作。 1. FFmpeg推流操作 推流是将本地的音视频流推送到流媒体服务器上,例如主播将本地电脑上的画面推流到直播平台的流媒…...
Unity微信小游戏接入开放数据域
demo地址:https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/tree/main/Demo/Ranking 官方说明: https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/main/Design/OpenData.md 准备一个Canvas,…...
Spring Boot的开发工具(DevTools)模块中的热更新特性导致的问题
问题: java.lang.ClassCastException: class cn.best.scholarflow.framework.system.domain.entity.SysUser cannot be cast to class cn.best.scholarflow.framework.system.domain.entity.SysUser (cn.best.scholarflow.framework.system.domain.…...
Elasticsearch安装和数据迁移
Elasticsearch安装和数据迁移 Elasticsearch安装 下载并解压Elasticsearch 首先下载Elasticsearch的tar.gz文件,并将其解压: wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.8.2-linux-x86_64.tar.gz tar -xzf elastics…...
Numpy指南:解锁Python多维数组与矩阵运算(下)
文章一览 前言一、排序1.1 numpy.sort1.2 numpy.argsort1.3 numpy.lexsort 二、数组操作2.1 数组元素迭代2.2 数值舍入计算2.3数值取整2.4 数组去重2.5 数组拼接2.6 数组行列交换 三、文件读写3.1 np.fromfile() 读文件3.2 np.loadtxt() 读文件3.3 用 csv 模块逐行处理 CSV 格式…...
路由器刷机TP-Link tp-link-WDR5660 路由器升级宽带速度
何在路由器上设置代理服务器? 如何在路由器上设置代理服务器? 让所有连接到该路由器的设备都能够享受代理服务器的好处是一个不错的选择,特别是当需要访问特定的网站或加速网络连接的时候。下面是一些您可以跟随的步骤,使用路由器…...
VB.NET在 Excel 二次开发中的全面应用
摘要: 本文详细阐述了如何运用VB.NET进行 Excel 的二次开发。首先介绍了开发环境的搭建,包括安装 Visual Studio 及引用 Excel 对象库。接着深入探讨了各种基础操作,如创建 Excel 应用程序对象、打开与操作工作簿、处理工作表与单元格数据等。…...
uni-app使用组件button遇到的问题
在HBuilder X工具中新建一个空白项目, 1、新建一个about页 然后在pages.json文件里加上路由 2、然后看下导航的方法,发现找不到navigateTo方法 参考:button | uni-app官网 第3行和第4行的代码倒是没问题的,第5行的代码有问题执行…...
如何在Express.js中处理异常情况?
在 Express.js 中处理异常情况是确保应用程序稳定性和安全性的重要方面。未处理的错误可能会导致应用崩溃或暴露敏感信息给用户。以下是几种常见的处理异常的方法: 1. 使用 try...catch 和 async/await 对于异步操作,如数据库查询、文件系统访问等&…...
CKA认证 | Day7 K8s存储
第七章 Kubernetes存储 1、数据卷与数据持久卷 为什么需要数据卷? 容器中的文件在磁盘上是临时存放的,这给容器中运行比较重要的应用程序带来一些问题。 问题1:当容器升级或者崩溃时,kubelet会重建容器,容器内文件会…...
ArcGIS Pro地形图四至角图经纬度标注与格网标注
今天来看看ArcGIS Pro 如何在地形图上设置四至角点的经纬度。方里网标注。如下图的地形图左下角经纬度标注。 如下图方里网的标注 如下为本期要介绍的例图,如下: 图片可点击放大 接下来我们来介绍一下 推荐学习:GIS入门模型构建器Arcpy批量…...
策略模式以及优化
使用场景 在一个条件语句中又包含了多个条件语句 具体策略类会过多 把抽象策略和具体策略放在一个枚举类里。 方法 exe() 相当于抽象策略,而A和B就相当于实现了抽象策略的具体策略 这样就只需要一个枚举类就可以解决具体策略类过多的问题 public enum Strategy {A{O…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...
