射频指标之EVM

article/2025/10/30 23:51:59

说到EVM首先先介绍下EVM是什么,其是指目标功率与实际功率的一个矢量差,用下图可以比较详细的表示:

下面就以几个问题来讨论EVM的问题:

1.问题背景:

TC芯片输出的EVM正常,单独测试PA输出的EVM也正常,级联之后EVM指标就变得很差;请问这可能是什么问题?如何解

大神解答:

可微调下收发器跟PA之间的Matching,调到50欧姆

从表述来看,收发器和PA本身都没啥问题,不管是线性度还是电源;

但级联起来之后,就多了PA input端的Matching;

因为收发器内部有个DA(Driver Amplifier)换言之,这的Matching同时也是DA的Load-pull;如果没有调到50欧姆附近,那么会使DA线性度不好,以至于收发器出来的EVM不好,那么PA输出的EVM肯定就更差(PA是最大的非线性贡献者)

再者,如果这组Matching没调到50欧姆附近,那么能量会反射到收发器,打到VCO进而产生VCO pulling;那么当然EVM变差了。

2.问题背景:

1)、问题描述项目(高通平台),其中B39在高温测试时,16QAM时EVM指标临界超标(10~12%,RMS值)。但是常温测试时EVM指标正常(2%~3%),温度大概在40~50°时开始恶化。其余TDD频段指标常温、高低温正常;PCB没有同频段的Band2
2)、已做实验:
1>EVM指标随温度升高而恶化
2>与功率无关:因为高温下降功率降为closeloop(-20dbm)时,EVM指标无改善
3>EVM指标恶化时,频偏、相位误差指标正常;线性度ACLR正常,余量基本上有5~6db
4>对比了另外一个项目,电源处理上的滤波电容一致
5>将PA干掉,在PA输入口量测 load,并使用风枪加热到120°,发现常温和高温时,PA输入端的load位置变化不明显。也可以基本排除高温下laod变化造成了EVM的恶化。其余TDD频段的EVM指标正常
3)、现在怀疑是RFIC或者基带在处理IQ信号时可能有问题,大家还有那些验证方案吗?下面打算将PA BYPASS,逐级分析了。但是觉得PA应该不会影响信号调制吧

大神解答:

『2)与功率无关:因为高温下降功率降为closeloop(-20dbm)时,EVM指标无改善』
-20 dBm  不保证EVM就一定Pass!!当你有Carrier Leakage时   若输出功率处于Low Power Mode时,其Carrier Leakage的能量,会比主讯号还大,这导致SNR变差

而SNR跟EVM成反比

所以有Carrier Leakage时   低功率反而会让EVM劣化

检查步骤 : 

1.你Power不要降到-20 dBm那么低   降到5 dBm就可以了如果还是Fail  那说明跟PA线性度无关(但不代表PA是清白的  下面会讲)

2. 用频谱仪观察  功率-20 dBm时  主频处是否有上图那样一根突起因为你功率打23.5 dBm时  Carrier Leakage可能看不出来所以要用-20 dBm下去看   如果有   表示Carrier Leakage在作祟你重新Calibration看看

『3)EVM指标恶化时,频偏、相位误差指标正常』正常归正常   重点是有没有差异!!因为EVM包含振幅跟相位

如果高温跟常温的频偏、相位误差   差异不大方可说明跟I/Q讯号  晶振  甚至是VCO无关检查步骤 : 
1. 观察高温跟常温的频偏、相位误差   差异多少?

『将PA干掉,在PA输入口量测 load,并使用风枪加热到120°,发现常温和高温时,
  PA输入端的load位置变化不明显。也可以基本排除高温下laod变化造成了EVM的恶化。其余TDD频段的EVM指标正常』你还忽略了一点   PA的input

但由上图可知,PA输入端的Matching,其实也是DA(Driver Amplifier)的Load-pull,因此这部分的Load-pull若没调校好,会使DA输出功率的平坦度不够,导致在PA输入端,EVM已偏高的情况发生,再加上PA是主要的非线性贡献者,如此便会导致EVM更差。另外,若PA输入端的Matching未收敛至50奥姆,则表示会有功率反射,进而干扰LO,导致EVM变差;

检查步骤 : 
1.直接PA拔掉  焊铜管在PA input  去观察EVM如果高低温有所差异  表示你这现象跟PA无关  收发器一出来就有了那就跳到步骤2

2. 拿一块裸版(上面完全没打组件)  或是废板   观察收发器输出到PA输入这端的阻抗
(因为要把收发器拔掉  再焊回去几乎不可能  所以要拿裸版或废板)

先看常温时的阻抗  如果已经50奥姆  那就加热到120度看会不会因电感电容在高温下的误差  而导致阻抗偏移;如果高温下阻抗会跑  你就换个温度稳定度较好的电感电容试试;如果常温时  就已经离50奥姆很远  那就把PA input调到50奥姆;然后把调好的电感电容值  更换到测试版子的PA input  再去做测试

『现在怀疑是RFIC或者基带在处理IQ信号时可能有问题,大家还有那些验证方案吗?下面打算将PA BYPASS,逐级分析了』

承上题  如果这现象  收发器一出来就有但是PA input的阻抗  高温常温都50奥姆附近那就是收发器问题  要嘛你重新校正不然就是发Case给高通   因为有可能高温会让DA的bias偏掉以致于高温下  收发器一出来EVM就很差那就是韧体或软件   这要高通才能解决

由上图可看出 ,bias确实会影响EVM或是基频的Modem有问题 ,那还是要请高通解决如果PA input没这现象,那基本上就是PA问题了那就是换料试试,看是单体问题,还是厂商问题如果换了两三颗结果都一样,那就是厂商问题要嘛请FAE来帮忙看,或是换颗Pin-to-pin的PA试试

【很多看似高深难解无思路的问题往往都出在电源上,我觉得可以从供电上去排查】

这有可能!!  原先我的想法是如果跟电源有关   理论上常温就Fail了   不会等到高温才Fail但是  电源线一定会有稳压电容而稳压电容的ESR会将涟波电流,转换为热能,若ESR越高,则转换的热能就越多

换句话说,随着涟波电流越大,ESR会使电容温度上升,ESR越大,则温度上升越多,

而温度上升,不仅对散热有所影响,对于电容值也会有所影响,
MLCC在温度稳定性,就不如钽质电容与铝电解电容,尤其是Y5V,温度升高时,其电容值会大幅下降。

而由下图可知,电容值的大小,也会影响稳压能力,换句话说,Y5V会因涟波电流加大,温度升高,电容值下降,而导致稳压能力下降,因此在挑选电容时,需额外注意温度的耐受度因素。

所以简单讲   若要证实问题是否出在高温使稳压电容的稳压能力下降这个环节上可以用示波器去观察  电源电压的Ripple是否会在高温时变大
(PA跟收发器的都要看  因为不确定是哪个电源的稳压出问题)如果是   换一个
1. ESR较小
2. 电容值较大 (理论上电容值越大  ESR越小  刚好跟第一点吻合)
3. 温度稳定度较好稳压电容试试   如果问题依旧那应该就跟电源的稳压无关

至于SAW Filter的影响

一个是温飘   但理论上这个因素  其主频功率会大幅衰减  而且只发生在高低通道另一个是Group Delay   有可能高温时Group Delay过大导致EVM Fail一样   做实验   把SAW Filter拔掉然后在input pin跟output pin   用铜管焊接  切记不可直接用锡短路  这样才能确保通路50奥姆

 

如果会有改善  表示凶手是SAW但近几年我是很少看到SAW引起的EVM Fail  而且还是只在高温

【PA输入端测试EVM正常吗?如不正常很可能是layout上的问题,不知道你用的是哪个transceiver,之前我遇到类似的问题WTR1605L(TDD B38 B40EVM高温差),后来通过改PCB弄好了。高通的transceiver很多都要求做净空,且transceiver第二层最好是相对完整地,TX线旁和下面不要走电源线。你可以先调下NV 04212,尝试在原来值的基础上增大或减小一个值(不能改动太大不然注册不上),看看有没有改善,有改善的话跟layout关系就比较大】

以WTR1605L的Layout Guide而言

确实是开宗明义就说 

记得之前问过Qualcomm   他们是回答说若铺铜  寄生效应会影响VCO的性能假设真的有铺铜好了   那理论上寄生效应肯定是常温就有为啥EVM在常温是OK  到高温才Fail?我的理解是  Phase Noise会在高温时恶化

 

由上图可看出  温度越高  Phase Noise越大而由下图可知  Phase Noise大  会提升讯号的Noise Floor意即信噪比会下降

而信噪比又跟EVM成反比因此EVM升高   导致Fail整个关系就是

高温 => Phase Noise恶化 => 信噪比下降 => EVM上升

所以总结就是铺铜的寄生效应  会使VCO的Phase Noise变差但常温时  还不至于使Phase Noise变差到使EVM Fail但高温时  Phase Noise本身就已经会变差了再加上个寄生效应  那Phase Noise就会劣化到使EVM Fail的地步了

如果要确认是否这原因那肯定是PA input就会有高温EVM Fail的现象了顺便检查Layout

3.问题背景:

最近还在做实验确认EVM问题
1)高温时确实从WTR的输出就已经恶化了
2)高通Review了PCB,暂时没有发现净空区处理明显异常的地方
3)单板在60°左右时EVM最差,过了65°后EVM指标又开始下降至5%~7%左右。如果是相噪引起该问题的话,那么相噪随着温度的上升又下降了一些,这个我不是很懂,请问相噪随着温度的升高会再降低吗?
4)同一块不良板,更换同一晶振厂家的新芯片【XO重新校准】,再去测试高温EVM,此时EVM在4~5%左右,不良板恢复正常了。如果是寄生效应引起的EVM恶化,我的理解是无论是否更换XO,不良单板的EVM都会恶化的。因为寄生效应是不变的,相噪也是不变的
——有没有这个可能性:晶振间的相噪不一致,导致叠加寄生效应产生的相噪后的总相噪不一致。所以不良板在同一厂家的晶振上表现也不一致?
5)频谱仪测量了下PMIC输出(WTR的相噪),没有明显的突起
6)如果是相噪恶化的话,我的理解是所有频段的EVM都会受到影响吧

C神解答:

1).【请问相噪随着温度的升高会降低吗?】

由你的实验看来,现象大概是这样吧:

由下图可知,VCO的Phase Noise确实是会跟着温度变化,当offset frequency =20MHz跟1MHz时(绿色曲线跟灰色曲线);我们可以看到其Phase Noise在室温时(25摄氏度)是最小的,之后随着温度上升,其Phase Noise也跟着上升;

但其他的Offset Frequency就未必是这种趋势,例如Offset Frequency= 10KHz时(黑色曲线),60度的Phase Noise就比40(25)度时还小,所以还要看你的offsetfrequency,换句话说,还要看真正影响Tx信号的PhaseNoise是哪个Offset frequency;但原则上是不管哪个Offset Frequency室温的Phase Noise都会是最小的;

当然你会说,上图那是VCO啊,跟XO有啥关联?

问题是VCO也是由XO来的:

如果XO有这趋势,那VCO也或多或少也会有这趋势;

2).【把不良板的XO干掉,在XO_OUT PIN脚外供19.2MHz的信号源后,不良板的EVM恢复正常】

【同一块不良板,更换同一晶振厂家的新芯片【XO重新校准】,再去测试高温下EVM,此时EVM在4%~5%左右,不良板恢复正常】

如果今天你外灌19.2MHz依旧无改善,那我怀疑Phase Noise的恶化是来自于VCO,那就要进一步作WTR的SWAP实验;目前现象跟着XO走,那Root cause应该就是XO;

3).【有没有这个可能性:晶振间的相噪不一致,导致叠加寄生效应产生的相噪后的总相噪不一致,所以不良板在同一厂家晶振上表现也不一致?】

绝对有啊! 因为你说手上的单板不是所有单板在高温时EVM都偏高,也有EVM正常的单板
那基本上就先屏除Design因素  也就是Layout
因为如你所说  若是Layout造成
不管换不换XO  都是会Fail
更何况高通也Review过了   认为没啥问题  那应该更可屏除这因素
一般而言   若是Design issue原则上会每个单板都有问题
但若是部份单板有问题  Fail Rate并非百分百   那就比较会是Material issue
量产时  因为量大  更可看出这趋势

当然你会说,同一厂家的晶振理论上Performance都一致啊,怎么会是Material issue?

这说法基本上不太对,即便同一厂家同一型号的料,也会有些料的Performance特别差的;

因为可能某批料在生产过程中,也许是制程因素或是封装因素之类的,导致性能特别差,每颗料都会有Data Code,这或许就可以观察得出;

所以量产时经常出现这现象;

4.【如果相噪恶化的话,我的理解是所有频段的EVM都会受到影响吧】

理论上是这样的,因为所有频段的LO都是来自XO,既然XO是元凶,那应该所有频段的EVM都会受影响;

你可以做实验,同样温度下,好板与坏板在其他band的EVM是否有所差异?

有可能其实其他band也是有差异的,只是因为都pass,所以忽略了;

建议直接用band7做实验,因为由下图可知:Phase Noise会跟频段有关;

而band7的频率范围跟B38/B40最相近;所以理论上,坏板B7的EVM应该也会比好板来的高,只是没有Fail;

如果没有太大差异,那合理解释就是Offset frequency不同

仔细看B7的Tx频率范围和B38/B40是不同,因此即便同温度同一颗XO,但Phase Noise的影响不同;

另外解Bug时常会遇到【牵一发不动全身】的现象,如下图:

如你讲的  理论上XO出问题   所有Band都要出事但实际上只有B38/B40出事因此   解Bug时不可因为只有B38/B40出事  其他Band都无事就判定XO是清白的再举个例子  天下Bug出电源理论上PA电源有问题   所有Tx 性能都会劣化但实际上  很可能就只有EVM出事  ACLR是好的所以解Bug时   不可因为Tx性能劣化非全面性就判定PA电源是清白的这种『牵一发不动全身』的现象我不太会解释   但实际作案子时  遇过非常多次这点要特别注意


http://chatgpt.dhexx.cn/article/EpVkdPrn.shtml

相关文章

.lib 静态链接库 的破解方法(局限)(1)

因为之前程序调用了一个试用版的.lib库 , 而这个库有时间限制 , 导致程序在试用期过后不能使用 . 然后编译之后要破解一下编译出来的程序 , 很难受 闲来无事,突然想破解一下.lib , 毕竟是个代码库 , 看看是不是破解完了在编译 , 能正常使用 结果当然是能正常用了 不然就没这…

InfluxDB源码编译、安装、配置及主从同步实现

先扯点蛋 公司有个项目要求使用InfluxDB时序数据库储存点东西。第一次听说还有这种数据库,哈哈哈,孤陋寡闻了,先从各位大佬的博客看起,慢慢学习,逐渐了解了之后在服务器上进行安装。直接使用官方包进行安装很简单&…

一种破解静态链接库(.lib)的简单方法

一种破解静态链接库(.lib)的简单方法 作者:游蓝海 博客:http://blog.csdn.net/you_lan_hai 最近,在研究某代码时,遇到这样一个问题:整个解决方案中,有一个工程没有cpp源码,只有头文件跟一个静…

Linux下静态库生成和使用

一.静态库概念 1.库是预编译的目标文件(object files)的集合,它们可以被链接进程序。静态库以后缀为”.a”的特殊的存档(archive file)存储。 2.标准系统库可在目录/usr/lib与/lib中找到。比如,在类Unix系统中C语言的数序库一般…

libuvc介绍及简单使用

libuvc是一个用于USB视频设备的跨平台库,构建在libusb之上,编译libuvc时需要依赖libusb。libuvc的License为BSD,最新发布版本为0.0.6,源码地址: https://github.com/libuvc/libuvc libuvc支持在非windows系统上直接编译&#xff0…

linux下封装函数库——动态库.so和静态库.a(代码实现及链接方式)

在linux环境下的链接库分为静态链接库(.a库)和动态链接库(.so库),其作用是把C程序编译好做成一种可执行链接文件,主程序文件调用这些程序的函数接口是可以使用a库或so库,在主程序中只需要includ…

Hyperledger fabric应用的多机部署(自动化一键部署)

前面关于fabric部署的介绍都是基于单机环境下的,实际生产环境中一般会根据应用场景将节点分开部署在多台物理机上,面临的难题主要是不同主机间的节点如何通过网络进行通信。文章最后会分享一键完成多机增加组织的自动化部署脚本。 前言 这里仍然以balan…

Linux系统编程makefile制作动态库和静态库

目录 制作动态库 制作静态库 首先准备简单的add.c&#xff0c;sub.c,main.c,head.h.具体代码如下 #head.h文件 int Add(int a, int b); int Sub(int a, int b);#add.c文件 #include <stdio.h> int Add(int a, int b) {return a b; }#sub.c文件 #include <stdio.h&…

Linux动态库的下载与配置(以libevent库为例)

** Linux动态库的下载与配置 ** 本章以下载、安装、配置libevent库为例(安装libevent的前提是已经成功安装openssl库) 一、libevent的下载 https://libevent.org/ //官网下载源码包如果学习下载1.0版本为好&#xff0c;使用可以下载2.0版本 1.如果Linux已经进行桥接联网&am…

Linux下编译安装libusb动态库(.so) - libus1-0 vs libusb-0.1

最近在调试代码的过程中&#xff0c;发现libusb库中的一些方法没办法debug到&#xff0c;所以试着下载了一版源码&#xff0c;编译安装到指定的目录。这样&#xff0c;在工程的pro文件中&#xff0c;直接指定库和头文件的目录就可以引用自己编译的libusb库了。 在网上查了相关的…

linux编译生成动态库、静态库,以及使用

一、介绍 在实际开发过程中&#xff0c;当代码的文件较多&#xff0c;可以将一部分代码编译成动态库或者静态库然后再加载到程序中使用 编译过程 1、预编译 2、编译 3、汇编 4、链接 静态库和动态库的差异 1、链接静态库简单理解就是复制目标代码嵌入可执行文件中 2、动态库是…

Linux·libusb源码编译

libusb系列--Linux下libusb源码编译​​ ​ ​源码下载及解压​​ ​​下载源码​​ ​​解压下载的源码压缩包​​ ​​打开终端​​ ​​准备编译环境​​ ​​安装make dh-autoreconf​​ ​​安装 libudev-dev​​ sudo ​./autogen.sh​ ​​​​sudo ./configure --prefi…

ESP32如何用makefile直接编译生成.a静态库

目录 编译痛点前提环境编译准备makefile代码编译痛点 开发过esp系列的攻城狮们都知道,esp32的sdk包含了编译器、组件代码和例程代码,编译都是基于cmake的,都是整体一起编译,CMakeList.txt,component.mk,project.mk等等一系列和编译相关的文件,如果你想要自己编译一个自…

Linux 环境下的静态库生成与使用

目录 一&#xff0c;简介 二&#xff0c;如何生成静态链接库 1.准备测试程序 三&#xff0c;如何使用静态链接库 1.生成静态链接库 2.使用静态链接库 一&#xff0c;简介 这里我们只讲 Linux 环境下的静态库与动态库的生成与使用&#xff0c; Windows直接用VS直接就能生成…

Linux 下libusb编译与生成动态链接库

一、前言 上一篇文章提到了怎样使用Ubuntu 安装libusb&#xff0c;忘了如何将如何编译。 二、libusb使用GCC 编译 正常来讲&#xff0c;使用 gccc xxx.c -o xxx -I/usr/include -lusb-1.0 就可以了&#xff0c;如下图&#xff1a; 但是&#xff0c;当使用Ubuntu 12.04 使用…

关于libusb开源库的使用

关于libusb开源库的使用 文章目录 关于libusb开源库的使用1. 概述1.1 介绍1.2 用法 2. API接口2.1 分类2.2 初始化/反初始化2.3 获取设备2.4 打开/关闭设备2.5 根据ID打开设备2.6 描述符相关函数2.6.1 获得设备描述符2.6.2 获得/释放配置描述符 2.7 detach/attach驱动2.7.1 两种…

【Linux】 自动化编译工具make

目录 一&#xff1a;make工具 二&#xff1a;Makefile 三&#xff1a;Makefile基本规则 四&#xff1a;make是如何工作的 五&#xff1a;示例(五个阶段的Makefile) 5.1 第一阶段Makefile 5.2 第二阶段Makefile 5.3 第三阶段Makefile 5.4 第四阶段Makefile 5.5 第五阶…

【Linux操作系统】动态库,静态库的制作和使用,软链接、硬链接简介

目录 软硬链接咋创建一个软链接&#xff1f;咋创建一个软链接&#xff1f; 文件的三个时间动静态库制作静态库静态库的使用制作动态库动态库的使用 秃头侠们好呀&#xff0c;今天来说 软硬连接&#xff0c;动静态库 软硬链接 咋创建一个软链接&#xff1f; ln -s log.txt log…

【Linux】零基础学习动静态库打包

文章目录 一、软硬链接二、动静态库理解动静态库静态库的打包使用静态库打包Makefile编写动态库的打包使用动态库打包Makefile编写对于小版本的理解 总结 一、软硬链接 站在先前的讲过的文件系统的角度来看&#xff0c;下图test这个文件有自己独立的inode&#xff0c;在他的ino…

Linux | 动静态库 | 动静态链接 | makefile库打包 | 第三方库使用

文章目录 何为动静态库库文件的链接静态链接静态库打包动态链接动态库打包 第三方库的使用静态库的使用动态库的使用 在系统层面上的动态链接理解 何为动静态库 静态库(.a)&#xff1a;在程序编译链接时将静态库二进制码拷贝到程序代码中&#xff0c;程序运行时不再需要外部的静…