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

5G 毫米波滤波器的最优选择是什么?

新的选择有很多,但到目前为止还没有明确的赢家。

蜂窝电话技术利用大量的带带,为移动用途提供不断增加的带宽。 其中的每一个频带都需要透过滤波器将信号与其他频带分开,但目前用于手机的滤波器技术可能无法扩展到5G所规划的全部毫米波(mmWave)范围。

「毫米波时代终究会到来,但不是现在」,Resonant 企业发展部副总裁 Mike Eddy 表示,「地球探测卫星服务的频率是 23.8GHz,仅仅略低于为 5G 部署的毫米波频段,所以必须对其进行有效的过滤。 

到目前为止,这一切并没有发生。 FormFactor 射频部门业务发展总监 Anthony Lord 表示:「表面声波 (Surface acoustic wave ,SAW) 组件或体声波 (Bulk acoustic wave ,BAW) 组件的频率不会超过 10GHz。 

其中也有一项挑战。 「这些滤波器中没有一个可以在毫米级范围内工作,它们最高仅可以达到 6GHz 或 8GHz」,FormFactor 射频产品组的资深营销总监 Tim Cleary 表示,「对此,业界还没找到有效的解决方案。 

在目前的手机产品中,最常使用的是SAW和BAW滤波器。 虽然随着进一步的改进,它们可能会在一定程度上超过6GHz的范围,但距离毫米波设计针对的28GHz至70GHz范围仍有一些差距。 尽管目前对于空间限制较小的设备,有相应的解决方案,但这些解决方案并不适用于手机。 因此,这一领域仍需大力发展。

频带数量急剧增长

随着新的手机技术相继问世,更多的频带被开放使用。 术语「频带」可以有不同的含义,因为宽带带是进行分配和拍卖的,而单个通道指的是宽带带的子集。

小频带的数量正在急剧增加。 对于利用频分双工 (Frequency-domain duplexing , FDD) 的通道,有两个相邻的子频带 (一个用于发射,一个用于接收) 被一个小间隙隔开,以防止干扰。 当使用时域双工 (Time-domain duplexing,TDD) 时,整个通道就只有一个单频带。

这些频带或子频带中的每一个都需要一个带通滤波器。 随着频带的数量激增,所需的滤波器数量也呈爆炸式增长。 如今的手机可能会搭载超过60个滤波器。 5G 技术只会让这个数字有增无减,从而为毫米波频带增加非常高的频率。

理论上,一个带通滤波器会让该频带内的所有信号通过,并拒绝该频带外的所有频率。 我们可以简单地认为,它是将频带内的信号乘以1,频段外的信号乘以0。 然而,实际应用中的滤波器效果并不理想,带来了更多挑战。

滤波器的功能

现实中的滤波器,并不是在频带边缘戛然而止,相反,频带边缘呈弧状,衰减是倾斜的而不是垂直的。 中心频率、上限和下限的截止频率是滤波器的关键属性,截止频率是信号通过能力下降 3dB 的点( 对应于信号功率下降一半的点) 。 超过 3dB 衰减的斜率通常称为下摆 (skirt),下降趋势需要做到非常陡峭。

虽然单独设计这三个频率 (中心、上限和下限) 可能是个好办法,但在现实中,上限和下限截止频率会一起移动,以便设计中心频率和整体宽度,后者跟着中心频率一起移动。 而宽度通常就是中心频率的百分比。

设计更宽的通带可能是一项更大的挑战,一些 5G 带带的宽度可以达到中心频率的 20%。 这给滤波器的设计带来了很大的压力。

图 1:简化的带通滤波器,显示了中心频率 (f0)、通带的下限 (fL) 和通带的上限 (fH)。 通带的宽度为 B。 来源:Inductiveload - Own work, Public Domain

在接收器的前端,需要尽早过滤掉散噪声号,防止其进入射频链。 这意味着在信号离开天线之后就进行过滤。 利用支持波束转向的大规模多输入/多输出(multiple-in / multiple-out,MIMO)技术,可以使用天线组件阵列。 在这种情况下,每个组件都需要一个滤波器。

「如今的元件间距是基于毫米波的间距,也就是说间距大约是 5 毫」,Eddy 表示,「所以必须要适应这个间距。」目前,这对毫米波来说是不可能的,所以最终都是在讯号通过混频器之后进行过滤。

基站的空间充足,能够容纳尺寸较大的滤波器,但手机对尺寸有苛刻的要求。 在可预见的未来,小型滤波器的最佳频率可能是28GHz,因为这是手机可能使用的毫米波频率。 更高的频率更有可能用于塔与塔之间的通信,因为这些系统不像手机那样受空间限制。

「对于基站之类的使用场景,我们将依赖陶瓷介质滤波器和金属腔体滤波器」, Cadence 的 AWR 软件技术营销总监 David Vye 表示,「只不过它们永远无法满足移动设备内部的空间要求。」

在早期,28 GHz (或相近) 频带的滤波需求更加宽松。 「最初几年我们常常听到,手机中不会有任何毫米波滤波器」,3D Glass 首席技术官 Jeb Flemming 表示,「因为那时候还不会分解频段,主要使用天线进行滤波。」

既然如此,将天线做为一个滤波器可大致满足需求,但在某些时候,我们需要为天线组件准备真正的滤波器。 那么,这些毫米波滤波器究竟如何制造?

现有的滤波器技术

当今手机中的大多数滤波器都使用声波技术,其中涉及到压电材料,它们在电场影响下会发生轻微变形,物理变形后会产生电场。 因此,电讯号可以转换为机械振动,机械振动也可以转换为电讯号。 这些机械振动相当于晶体内的声波。

透过建立一种声学共振结构,可以将输入讯号施加到谐振器的一端。 该输入信号由许多不同频率的信号组成——有些是用于其他频段的信号,而有些则是环境噪声。 滤波器的首要任务是消除通带之外的任何讯号。

通带内的信号频率分量将引起声学共振,接着声波滤波器检测到这些声学共振,并将其转换回滤波器另一端的电域。 理想情况下,该输出将由输入信号组成,信号中所有不需要的频率都被清除。

这些声波滤波器有很多优点,包括通带干净、尺寸非常小和有利的成本结构,大批量生产也可降低成本。

在较低频率下, SAW 滤波器占主导地位。 使用这些滤波器时,材料表面的波被激发,并耦合到同一表面附近的输出端。

图 2:一个简化的 SAW 滤波器。 来源:Matthias Buchmeier — Own work, Public Domain

对于更高的频率,BAW 滤波器则占主导地位。 与低频率下的SAW相反,BAW不是在材料表面激发波,而是利用大量材料从顶部到底部产生共振,输出电极位于下方。 这需要更复杂的处理,因此它们的价格往往比SAW滤波器更昂贵。

图 3:一个简化的独立式 BAW (FBAR) 滤波器。 来源:Khpsoi — Own work, CC BY-SA 4.0

BAW 滤波器有两种基本版本,区别在于内部驻波的设置方式。 一个版本需要从底部到顶部进行反射,并且使用独立式谐振器 BAW (FBAR) 滤波器和空气腔完成这项工作。

另一个版本使用一系列看起来像声学镜(类似于光的布拉格反射器)的层,被称为固体安装谐振器(SMR)BAW 滤波器。

图 4:一个简化的固体安装谐振器 (SMR) BAW 滤波器。 来源:Khpsoi — Own work, CC BY-SA 4.0

SAW 和 BAW 滤波器都是使用 MEMS 加工技术制造而成,但它们似乎在更高的频率下会开始失效,这表明业界可能需要为毫米波频段寻找新的滤波器。

毫米波滤波器的选择

毫米波无线电讯号并不是新鲜事物。 例如,雷达和微波装置已经在使用它们,但这些往往是只能处理一两个频率的大型装置。 对于 5G,必须对更多频段进行更加精细的过滤,而且要能把它们安装到手机中。

SAW 和 BAW 已经不被纳入考虑范围,但 Resonant 公司拥有 XBAR 技术,并声称该技术可以扩大声学技术的可用范围。 该公司从头开始重新设计 BAW 滤波器,使用了不同的压电材料——铌酸锂 (lithium niobate),并将两个触点都放在顶端上,类似于 SAW。

但是,它与SAW的主要区别在于,使用XBAR时,触点不会有物理上的移动。 「使用 SAW,金属棒会进行物理移动,也就意味着它们在金属迁移过程中失去了动力。」Eddy 指出。

图 5:2019 年 世界移动通信大会 (MWC) 上展示的 XBAR 原型,中间的小方块是过滤器。 资料来源:Resonant

「当我们对这种结构进行建模时,XBAR提供了5G所需的能量、带宽和功率处理能力——尤其是当我们专注于3至5 GHz时」,Eddy表示,「现在我们正在研究5到7.1 GHz的WiFi,然后是7到9 GHz的超宽频。 该模型可以用于毫米波吗? 我们认为可以。」

XBAR 滤波器看起来很有前景,重点在于,它代表了在这个频率范围内的一种新方法。 其他两种众所周知的毫米波滤波器技术是波导和腔体滤波器。 但与使用声波的SAW和BAW滤波器不同,它们使用电磁波进行共振,二者都有广泛的结构选择,通常用于微波应用。

这些谐振器的尺寸通常根据频率范围而定,尺寸或间距在四分之一波长范围内。 频率越高,波长越短,滤波器越小。 对于 5G 频率,谐振器的尺寸在缩小——但仍然不能够装入手机。

「有一种成为『波导腔』的介质,它的高度和宽度决定了可以通过它传播的能量」Cadence 的 Vye 表示,「低于该频率,能量不会传播,高于某个频率,就会出现调制问题。」

谐振器(通常作为柱子来实现)的使用有助于减少不必要的模式。 「波导腔滤波器内部有一些柱子」, Vye 表示,「它的作用与陶瓷滤波器相同,特性是根据柱子的尺寸,在特定频率下停止或传递能量。 谐振器之间的物理尺寸将影响带宽,而谐振器的数量会影响衰减,即滤波器越多,衰减越快。 但这样一来,就增加了滤波器的长度,也增加了过滤器的材料成本。」

图 6:一个使用柱子作为谐振器的简化波导滤波器。 来源:维基百科用户 SpinningSpark

对基站而言,由于可以容纳更大的尺寸,该技术是适合的; 但对于手机而言,这种滤波器的尺寸依然太大。

微带滤波器是频率高达 30 GHz 时的另一种选择。 透过这种设计,在PCB上创建微带线以支持电磁共振。 不过依然存在制造差异问题,而且PCB材料普遍被认为质量欠佳。

「PCB 的厚度变化、材料介电常数的变化、印刷时线宽的变化以及温度,都会改变通带频率」,Eddy 表示。

此外还有其他选择可供考虑。 「材料特性确实会推动性能表现,但市场上的材料屈指可数,」Flemming 表示,「这些 Q 值非常高的共振陶瓷材料很特殊,通常价格更高。 一直以来,多层陶瓷帽(multi-layer ceramic caps,MLCC)是一种合理的材料,但它们在25GHz左右开始失效。」

整合基板的波导

毫米波频率的波长较短,因此在硅或其他材料中制作波导成为可能。 「这几乎就像MEMS,因为正在创建这些通道,微波讯号可以通过蚀刻区然后在硅芯片上进行金属化。」Vye 解释道。

3D Glass 透过光刻工艺在玻璃而非硅中制作波导,透过暴露在紫外线下选择性地将非晶玻璃转化为晶体。 被转化的结晶玻璃(实际上是陶瓷)更适合蚀刻,更便于创建通孔特征。

「陶瓷在酸中的蚀刻速度比玻璃快 60 倍」,Flemming 表示,「我们可以制作空腔,但采用的是定时蚀刻,因为这种陶瓷层有玻璃贯穿其中。」

可以通过这种方式制造电感器等结构,也可以用这种方式创建带有谐振器的腔,用于毫米波滤波。 「如果将金属线用作谐振器,且几乎蚀刻掉所有玻璃」,Flemming表示,「那麽谐振器大部分都将漂浮在空中。 由于 5G 毫米波的限制因素是材料,所以如果能去除材料,并使其在空中漂浮且坚固耐用,就算是成功了。 悬浮的带状线可以达到40到50 GHz左右,而我们展示了10%到15%的带宽,这是相当广泛的范围。」

这些充满空气的空腔可以延伸到更高的回程频率。 「我们正在70到150 GHz范围内进行大量的客户开发」,他指出,「有人称之为5G,有人称之为6G。」

过去的滤波器设计涉及多种制造环节以优化性能,但是变量太多,要求也很严格,不过现在我们可以使用模拟工具,以便在构建滤波器之前对其结构进行优化。

这有助于解决细节问题,因为细节很重要。 「如何封装以及如何连接到电路的其他部分非常重要」 Cadence 的 Vye 表示,「人们放弃了对设计进行经验测试,依赖 EM (电磁仿真) 技术来进行设计。」

Cadence 此前与 3D Glass 合作,使用 AWR Microwave Office 进行设计和模拟,所以非常熟悉 3D Glass 的工作。 「在一个损耗非常低的结构内有金属谐振器,这个结构透过小玻璃基座悬浮在空中,形成非常小的滤波器——尽管并不像声波滤波器那样小。」Cadence 的 Vye 表示。®®

结论

玻璃工艺的经济性十分诱人。 考虑到对体积的需求,可以使用面板代替晶圆。 一个9'x9'面板可以装下很多滤波器,因此,虽然如今的工作是在6英寸和8英寸晶圆上进行,而且一些客户希望转向12英寸晶圆,但他们看到了一条降低成本的清晰路径。

虽然还有一些令人兴奋的可能性即将出现,但这些可能性还没有准备好进行商业生产,在滤波器技术领域尚未出现真正的赢家。 5G 手机中的毫米波尚未完全实现,因此还有一些时间。 但值得注意的是,业界目前面临的问题是制定一个可靠的计划和路线图,而不是一些可能奏效的想法。

 

相关文章:

5G 毫米波滤波器的最优选择是什么?

新的选择有很多,但到目前为止还没有明确的赢家。 蜂窝电话技术利用大量的带带,为移动用途提供不断增加的带宽。 其中的每一个频带都需要透过滤波器将信号与其他频带分开,但目前用于手机的滤波器技术可能无法扩展到5G所规划的全部毫米波&#…...

构造函数和析构函数

概念:对象的初始化和清理是非常重要的,一个对象在使用之前,需要进行初始化,使用完成后也需要及时清理数据,简单来说构造函数时用来初始化成员属性的,析构函数时用来清理数据的。 C中利用构造函数和析构函数…...

卷积神经网络(CNN)详解

文章目录 引言1.卷积神经网络(CNN)的诞生背景2.卷积神经网络(CNN)介绍2.1 什么是卷积神经网络?2.2 卷积神经网络(CNN)的基本特征2.2.1 局部感知(Local Connectivity)2.2.…...

NoSQl注入学习

文章目录 什么是NOSQL相关概念数据库文档集合 MongoDB 基础语法创建数据库创建集合插入文档更新文档查询文档 Nosql注入PHP 中的 MongoDB 注入重言式注入联合查询注入JavaScript 注入布尔盲注 Nodejs 中的 MongoDB 注入 从一道题中学习nosql注入 参考: Nosql 注入从…...

借助LlamaIndex实现简单Agent

借助LlamaIndex实现简单Agent 1 简介 智能体的构建发展是一个趋势,借助LlamaIndex简单实现Agent。本文主要借助LlamaIndex中的FunctionTool和Workflow。Workflow是使用事件流的方法实现。 2 构建公共类 由于LlamaIndex中的OpenAI无法直接连接国内大模型&#xf…...

MCGS昆仑通太屏笔记

4.3寸:4013ef/e1 7寸:7032kw 特点: 如果是使用组态屏进行调试使用,选择com1如果是实际项目使用,选择com2 操作步骤: 先创建设备窗口,再创建用户界面 在设备窗口界面,依次设置如下…...

纯FPGA控制AD9361的思路和实现之一 概述

我们知道PS通过内存映射方式方式用户的IP,具体是将用户的逻辑做成AXI_LITE_SALVE外设,PS做为AXI_LITE_MASTER去控制。 在ZYNQ系统中存在PS所以这个架构和思路很流行,ADI出的配置软件无线电子板的DEMO基本都是基于这样的架构。比如下图【上截…...

北斗短报文终端与5G融合:构建空天地海一体化通信新生态

随着北斗三号全球组网完成,短报文通信服务从区域覆盖迈向全球通达,其与5G技术的深度融合,正开创“空天地海一体化”通信新时代。深圳作为全国北斗产业高地,汇聚了遨游通讯等领军企业,其推出的北斗短报文终端通过技术创…...

Meteonorm8-免费使用教程(详细教程-免费)

Meteonorm介绍 Meteonorm 8 是一款专业的气象数据生成软件,广泛应用于太阳能、建筑能效、农业气候研究等领域。它提供全球范围内高精度的气象数据,支持多种数据源和插值方法,帮助用户获取特定地点的长期气象统计信息。 Meteonorm核心功能 …...

nohup的使用

最近远程连接服务器跑程序的时候,总是碰到本地电脑息屏或者ssh断开导致程序中断,往往一觉醒来不是程序跑完了而是因为各种原因本地中断了。为此想到了nohup这个命令,可以让程序在我本地电脑关机后也可以在远端服务器上面运行。 命令如下&…...

如何查看HTTP状态码?

目录 一、HTTP状态码查看方法 1. ​​浏览器开发者工具​​ 2. ​​命令行工具​​ 3. ​​服务器日志分析​​ 二、HTTP状态码分类与核心含义 1. ​​信息类(1xx)​​ 2. ​​成功类(2xx)​​ 3. ​​重定向类&#xff08…...

2025.04.19【Chord diagram】| 弦图绘制技巧大全

Customization Apply customization to the circular chart: color, background, track height and more. Chart types Learn how to use other chart types like line chart, barcharts, vertical ablines and more. 文章目录 CustomizationChart types 什么是弦图&#xff…...

解码 Web Service:从技术原理到应用场景的深度剖析

Web Service 是一种基于网络的、分布式的计算技术,它允许不同的应用程序之间通过网络进行通信和交互。以下是关于 Web Service 的详细介绍: 一、定义与概念 Web Service 是一种可以通过 Web 协议(如 HTTP)进行访问的软件组件&am…...

hackmyvm-airbind

收集信息 arp-scan -l nmap -sS -v 192.168.195.162 访问扫描到的ip,直接跳转到登录页面,利用admin/admin弱口令登录 在settings.php中找到一处文件上传,上传一句话木马,上传成功 反弹shell 上传php-reverse-shell.php 抓包&am…...

[HCIP] OSPF 综合实验

题目 实验需求 1.R5为TSP,其上只能配置IP地址; R5与其他所有直连设备间均使用公有IP;环回地址为100.1.1.1/32 2.R4设备为企业出口路由器 3.整个OSPF环境IP基于172.16.0.0/16划分; 4.所有设备均可访问R5的环回; 5…...

arkTs:使用setTimeout / setInterval 实现透明度切换的轮播图

使用setTimeout / setInterval 实现透明度切换的轮播图 1 主要内容说明1.1 setTimeout1.2 setInterval1.3 表格 2 举例说明2.1 图片变化的内容说明2.2 源码相关内容说明2.3 源码A2.4源码A的运行效果展示2.4.1 效果截图2.4.2 效果视频 3.结语4.定位日期 1 主要内容说明 1.1 set…...

苍穹外卖项目中所涉及到的测试内容

1.使用JWT令牌封装用户令牌,并且设置相应的拦截器校验JWT的有效性,从而确保了项目的安全可靠 1.基本功能测试: 验证合法JWT是否能够正常通过拦截器的校验 验证非法的JWT能否正常通过拦截器的校验 2.可靠性测试: 3.易用性测试 …...

案例驱动的 IT 团队管理:创新与突破之路:第五章 创新管理:从机制设计到文化养成-5.2 技术决策民主化-5.2.3草根创新的孵化土壤构建

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 草根创新的孵化土壤构建:IT团队技术决策民主化的底层实践1. 背景与挑战:传统技术决策体系的失效1.1 行业现状与痛点1.2 草根创新的价值潜力 2. 机制设…...

探秘Python 工匠:案例、技巧与工程实践:解锁Python进阶的通关秘籍

重要的放前面 Python 工匠:案例、技巧与工程实践 探秘Python 工匠:案例、技巧与工程实践:解锁Python进阶的通关秘籍 在Python的编程世界中,从入门小白到技术大牛的进阶之路往往充满挑战。Python工匠:案例、技巧与工…...

【langchain4j】Springboot如何接入大模型以及实战开发-AI问答助手(一)

langchain4j介绍 官网地址:https://docs.langchain4j.dev/get-started langchain4j可以说是java和spring的关系,spring让我们开发java应用非常简单,那么langchain4j对应的就是java开发ai的 “Spring” 他集成了AI应用的多种场景&#xff0c…...

解决Windows update服务启动拒绝访问的问题 | wuauserv 注册表拒绝访问的方法

在某些情况下,为了配置系统更新相关服务(例如禁用 Windows 自动更新),我们需要更改注册表中 wuauserv 项的权限。本教程将带你一步步操作,成功获取并修改权限。 修改注册表路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv 步骤一:打开注册表编辑…...

精益数据分析(5/126):解锁创业成功的关键密码

精益数据分析(5/126):解锁创业成功的关键密码 大家好!我一直坚信在技术与商业不断融合的当下,持续学习是保持进步的唯一途径。之前我们一起探讨了《精益数据分析》的部分内容,今天咱们接着深入学习&#x…...

Cribl 优化EC2 ip-host-region 数据

We’ve seen examples of using the magical powers of regex to customize Functions, extract fields, and filter events in real time. In this section, we’ll show you how to sprinkle your Lookups with regex magic. Lets walk through a Pipeline that demonstrates…...

【java实现+4种变体完整例子】排序算法中【桶排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格

以下是桶排序的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格: 一、桶排序基础实现 原理 将数据分到有限数量的桶中,每个桶内部使用其他排序算法(如插入排序或快速排序)&#xf…...

栈(c++)

今天介绍两种在c中写“栈”方法 1. #include <bits/stdc.h> using namespace std;class mystack { private:int a[1000];int curr -1; public:void push(int);void pop();int top();bool empyt();int size(); };int main() {mystack n;while(true){int a;cout<<&…...

GraphRAG与RAG的区别和原理简介

第一章 图谱与向量的共生逻辑 1.1 知识载体的局限性 向量空间模型虽能高效捕捉文本语义相似性&#xff0c;却无法解析知识的深层关联。例如&#xff0c;当用户询问“特斯拉4680电池与续航里程的关系”&#xff0c;向量检索可能仅返回技术参数片段&#xff0c;而无法解释化学成…...

vue2技术练习-开发了一个宠物相关的前端静态商城网站-宠物商城网站

为了尽快学习掌握相关的前端技术&#xff0c;最近又实用 vue2做了一个宠物行业的前端静态网站商城。还是先给大家看一下相关的网站效果&#xff1a; 所以大家如果想快速的学习或者掌握一门编程语言&#xff0c;最好的方案就是通过学习了基础编程知识后&#xff0c;就开始利用…...

[每周一更]-(第140期):sync.Pool 使用详解:性能优化的利器

文章目录 一、什么是 sync.Pool&#xff1f;二、sync.Pool 的基本作用三、sync.Pool 的主要方法四、sync.Pool 的内部工作原理五、sync.Pool 适用场景六、使用示例示例 1&#xff1a;基本使用输出示例&#xff1a;示例 2&#xff1a;并发使用 七、一个基于 sync.Pool 的 **Benc…...

Prompt-Tuning 提示词微调

1. Hard Prompt 定义&#xff1a; Hard prompt 是一种更为具体和明确的提示&#xff0c;要求模型按照给定的信息生成精确的结果&#xff0c;通常用于需要模型提供准确答案的任务. 原理&#xff1a; Prompt Tuning原理如下图所示&#xff1a;冻结主模型全部参数&#xff0c;在…...

sqli-labs之Less-7 GET注入写shell

验证注入点&#xff1a;单引号报错&#xff0c;)) 根据提示&#xff0c;是想让我们试试写shell 第一个条件 secure_file_priv 写shell即MySQL需要对外写文件&#xff0c;但默认MySQL是不允许outfile来导出数据的&#xff0c;先动手在MySQL确认一下。 MySQL特性&#xff0c;se…...

数据库基础-B+树

查询类型 全表扫描&#xff0c;不提供索引&#xff0c;扫描所有集合中的数据。根据指定key值查询指定点范围查询&#xff0c;在指定区间内查询 有很多方法能够进行快速扫面数据&#xff0c;但是再快复杂度也是O(N)&#xff0c;我们的目标是想办法将查询复杂度降低到O(logN)。…...

智能语音备忘录:SpeechRecognition与gTTS的奇妙融合

引言&#xff1a;智能语音备忘录的时代已经到来 在这个信息爆炸的时代&#xff0c;我们每天需要处理大量的事务和信息。传统的文字记录方式虽然可靠&#xff0c;但在效率上往往难以满足快节奏生活的需求。想象一下&#xff0c;如果你能在驾车、散步或是灵感突现的任何时刻&…...

C++项目 —— 基于多设计模式下的同步异步日志系统(3)(日志器类)

C项目 —— 基于多设计模式下的同步&异步日志系统&#xff08;3&#xff09;&#xff08;日志器类&#xff09; 整体思想设计日志消息的构造C语言式的不定参函数的作用函数的具体实现逻辑1. 日志等级检查2. 初始化可变参数列表3. 格式化日志消息4. 释放参数列表5. 序列化和…...

2025/4/19 数据库的流程控制函数

单行函数_流程函数 要点: 流程处理函数可以根据不同的条件 执行不同的处理流程 可以在SQL语句中实现不同的条件选择,MySQL中的流程处理函数主要包括if() ifnull() 和 case() 函数 多行函数_聚合函数 和单行函数的区别: 单行函数是作用在每一行 最终结果可能是多行结果 多行…...

代码随想录打家劫舍+树形DP入门

动态规划part07 198.打家劫舍 视频讲解&#xff1a;https://www.bilibili.com/video/BV1Te411N7SX https://programmercarl.com/0198.%E6%89%93%E5%AE%B6%E5%8A%AB%E8%88%8D.html dp数组&#xff1a;进入房屋i能够偷得得最大金额dp[i]递推公式&#xff1a;根据不相邻原则…...

Http基础

目录 定义 一、请求部分&#xff08;Request&#xff09; 1. 请求行&#xff08;Request Line&#xff09; 常见请求方法&#xff1a; 2. 请求头&#xff08;Request Headers&#xff09; 3. 请求体&#xff08;Request Body&#xff09; 二、响应部分&#xff08;Respo…...

【Unity】bug记录——部分物体突然不受animator控制

博主烘焙完灯光后突然发现有的物体的动画失效了&#xff0c;不会动&#xff0c;测试发现是因为勾了static&#xff08;但是有些勾了static的物体就没事&#xff09;&#xff0c;修改static为Contribute GI Static&#xff08;只针对光照静态&#xff09;就行...

Zephyr、FreeRTOS、RT-Thread 邮箱(Mailbox)对比分析

一、核心特性对比 特性ZephyrFreeRTOSRT-Thread消息类型支持指针或4字节数据&#xff08;依赖架构&#xff09;仅支持指针传递支持任意数据类型&#xff08;需指定消息长度&#xff09;容量固定容量&#xff08;静态初始化配置&#xff09;动态容量&#xff08;基于队列长度&a…...

xilinx fpga中pll与mmcm的区别

Xilinx中的PLL&#xff08;锁相环&#xff09;和MMCM&#xff08;混合模式时钟管理器&#xff09;都是用于时钟管理的关键组件&#xff0c;但它们之间存在一些显著的区别。以下是对两者的详细比较&#xff1a; 1. 功能特性 PLL&#xff08;锁相环&#xff09;&#xff1a; 主…...

Python语法系列博客 · 第8期[特殊字符] Lambda函数与高阶函数:函数式编程初体验

上一期小练习解答&#xff08;第7期回顾&#xff09; ✅ 练习1&#xff1a;找出1~100中能被3或5整除的数 result [x for x in range(1, 101) if x % 3 0 or x % 5 0]✅ 练习2&#xff1a;生成字符串长度字典 words ["apple", "banana", "grape…...

黑马商城(五)微服务保护和分布式事务

一、雪崩问题 二、雪崩-解决方案&#xff08;服务保护方案&#xff09; 请求限流&#xff1a; 线程隔离&#xff1a; 服务熔断&#xff1a; 服务保护组件&#xff1a; 三、Sentinel 引入依赖&#xff1a; <!--sentinel--> <dependency><groupId>com.aliba…...

Java 编译与反编译深度解析

Java 编译与反编译深度解析 1. 编译过程详解 (1) 完整编译流程 .java 文件 → 词法分析 → 语法分析 → 语义分析 → 字节码生成 → .class 文件│ │ │ │↓ ↓ ↓ ↓识别关键字 生成抽象语法树 类型…...

Java集合框架中的List、Map、Set详解

在Java开发中&#xff0c;集合框架是处理数据时不可或缺的工具之一。今天&#xff0c;我们来深入了解一下Java集合框架中的List、Map和Set&#xff0c;并探讨它们的常见方法操作。 目录 一、List集合 1.1 List集合介绍 1.2 List集合的常见方法 添加元素 获取元素 修改元素…...

国产的 Java Solon v3.2.0 发布(央企信创的优选)

Solon 框架&#xff01; Solon 是新一代&#xff0c;Java 企业级应用开发框架。从零开始构建&#xff08;No Java-EE&#xff09;&#xff0c;有灵活的接口规范与开放生态。采用商用友好的 Apache 2.0 开源协议&#xff0c;是“杭州无耳科技有限公司”开源的根级项目&#xff…...

机器学习决策树

一、何为决策树 决策树&#xff08;Decision Tree&#xff09;是一种分类和回归方法&#xff0c;是基于各种情况发生的所需条件构成决策树&#xff0c;以实现期望最大化的一种图解法。由于这种决策分支画成图形很像一棵树的枝干&#xff0c;故称决策树。它的运行机制非常通俗易…...

Java集合及面试题学习

知识来源沉默王二、小林coding、javaguide 1、ArrayList list.add("66") list.get(2) list.remove(1) list.set(1,"55") List<String> listnew ArrayList<>(); 底层是动态数组 添加元素流程&#xff1a;判断是否扩容&#xf…...

【内置函数】84个Python内置函数全整理

Python 内置函数全集&#xff08;完整分类 参数详解 示例&#xff09; 文章目录 Python 内置函数全集&#xff08;完整分类 参数详解 示例&#xff09;一、数值与数学函数abs(x)divmod(a, b)pow(x, y, modNone)round(number[, ndigits])sum(iterable, /, start0)hash(obj) …...

【LeetCode 热题 100】双指针 系列

&#x1f4c1;283. 移动零 对于该题目&#xff0c;需要注意的是两个地方&#xff0c;一是保持非零元素的相对顺序&#xff0c;以及O(1)的空间复杂度。 采用双指针的思路&#xff0c;将数组划分成3个区间,。 [0 , left]&#xff1a;该区间内元素全是非零元素。 [left1 , right…...

实现批量图片文字识别(python+flask+EasyOCR)

话不多说,向上效果图 1)先说框架版本 为什么要先说框架版本呢,因为我在各种版本中尝试了两天,总算确定了如下版本适合我,至于其他的版本,各位自己去尝试 python 3.9.7 EasyOCR 1.7.2 flask 3.0.3 2)执行操作效果图 2.1)多选文件 2.2)图片预览 2.3)提取选中文件 2.4)提取所有文…...

[Swift]pod install成功后运行项目报错问题error: Sandbox: bash(84760) deny(1)

操作&#xff1a; platform :ios, 14.0target ZKMKAPP do# Comment the next line if you dont want to use dynamic frameworksuse_frameworks!# Pods for ZKMKAPPpod Moyaend pod install成功后运行报错 报错&#xff1a; error: Sandbox: bash(84760) deny(1) file-writ…...