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…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
