番外10:使用ADS对射频功率放大器进行非线性测试2(使用带宽20MHz的64QAM信号进行ACLR、EVM、CCDF测试)
番外10:使用ADS对射频功率放大器进行非线性测试2(使用带宽20MHz的64QAM信号进行ACLR、EVM、CCDF测试)
1、基本理论
功率放大器的非线性性能十分重要,特别是对于当前广泛使用的移动设备。由于其各种复杂的信号调制,功率放大器的实际的非线性性能最好要使用调制信号来进行测试,而不是单音或者双音信号。查阅文献,发现经常使用的测试调制信号为以下几种:
带宽为5MHz的W-CDMA信号(6.5dB左右的PAPR):High_Efficiency_Wideband_Power_Amplifier_with_Class-J_Configuration
带宽为20MHz的LTE信号(7.5dB左右的PAPR):
Broadband Class-JF−1 Continuum Mode_Design_Utilizing_Harmonic
带宽为20MHz的16QAM信号(5.5dB左右的PAPR):
A_Generalized_HighEfficiency_Broadband_ClassE_F3_Power_Amplifier_Based_on_Design_Space_Expanding_of_Load_Network
带宽为500KHz的MSK调制的GSM信号:
Design_of_Highly_Efficient_Broadband_Class-E_Power_Amplifier_Using_Synthesized_Low-Pass_Matching_Networks
带宽为270KHz的MSK调制的GSM信号:
Broadband_GaN_ClassE_Power_Amplifier_for_Load_Modulated_Delta_Sigma_and_5G_Transmitter_Applications
带宽为20MHz的64QAM信号(6.5dB左右的PAPR):
Design_of_Broadband_HighEfficiency_Power_Amplifier_Through_Interpolations_on_Continuous_Operation-Modes
等等等等
调制信号的重要非线性指标测试—ACLR
ACLR(Adjacent Channel Leakage Power Ratio)
测试目的:避免对邻近信道产生干扰;
LTE和ACLR测试除了需要测试自身带宽相同的邻信道泄漏功率比(E-UTRA ACLR),还需测试在5MHz(WCDMA)或1.6MHz(TDSCDMA)带宽内的ACLR(UTRA-ACLR1,UTRA-ACLR2)。
ACLR来源:载波的交调产物,宽带系统频率分量丰富,不同频率的载波之间在经过非线性器之后相互调制,比如f1+f2,2f1+f2,2f2+f1,2f1-f2,2f2-f1等产物,但真正落在相邻频段的只是三阶交调产物,3f1-2f2,3f2-2f1;ACLR产生的根源在于Transceiver和PA,其中PA占大头;
ACLR信号的基本要求(数据来自etsi.org):

调制信号的重要非线性指标测试—EVM
误差向量幅度(EVM, Error Vector Magnitude):误差向量(包括幅度和相位的矢量)是在一个给定时刻理想无误差基准信号与实际发射信号的向量差。简单来说发射的信号是不是会落在预期的星座点上,以下面的16QAM星座图为例,距离理想点越远,EVM也越大。而影响射频系统EVM的主要问题是其非线性,其中的大头是功率放大器的影响。

ACLR信号的基本要求(数据来自etsi.org):

调制信号的重要输入指标—CCDF &PAPR
CCDF :互补累计分布函数,可以这么理解,横坐标为X,纵轴表示概率,对应CCDF上的点值表示大于这个X的PAPR的概率。CCDF和PAPR基本相关,参考博客:
https://blog.csdn.net/xinyizhangwei/article/details/21173759
2、基于ADS的20MHz带宽—64QAM信号测试
拿出我自己设计的一个PA,其版图仿真的性能参数如下所示:
器件:CGH40010F
类型:自己设计的宽带E类
频率:2.5GHz-3.9GHz
PAE:61.649-70.339
DE:65.239-73.452
Gain:10.5-11.6dB
Pout:40.5-41.6dBm
建立如下的一个symbol,留出四个接口,分别为输入、输出、栅极电压、漏极电压:


在此使用ADS的VTB平台和SystemVue进行联合仿真,使用此VTB功能可能需要额外的许可证,在此从器件栏中选择:

选择第一个:

选择5G中的DL的发射分析组件:

按照下面的参数进行测试(其中Modulation选择为3,表示为64QAM。此外,1为QPSK,2为16QAM,4为256QAM。带宽为20MHz。输入信号的平均功率为20dbm):

整体的电路如下所示:

运行仿真,可能需要半个小时左右。
3、结果展示与分析
首先是输出信号的频谱图,目视ACLR在-3dbc左右:

测试也可以提供了准确的ACLR数值,如下表所示:

由此可见其ACLR性能还算可以,读者也可以和文章:
Design_of_Broadband_High-Efficiency_Power_Amplifier_Through_Interpolations_on_Continuous_Operation-Modes
中的测试进行对比,两者使用的同一个调制方式和输入信号的幅度(但是我这里是版图仿真结果)。
此处设置的输入功率平均为20dbm,这是为什么呢。下面给出大概的答案。输入和输出的平均功率如下表所示,由此可见输出信号的平均功率为33.8dBm,放大了13dB左右:

输入和输出的峰值功率如下所示,由此可见输出的峰值功率达到了40.9dbm左右,达到了晶体管的额定的功率,这是此处输入20dbm的一个原因:

仿真得到的EVM为1.259,如下所示,非常完美,但是是版图仿真得到的,而非实际测试,测试时可以加入噪声来进一步模拟实际情况。

下面对信号的CCDF和PAPR进行分析,得到的CCDF曲线如下所示:

无线信号从时域上观测是幅度不断变化的正弦波,幅度并不恒定,一个周期内的信号幅度峰值和其他周期内的幅度峰值是不一样的,因此每个周期的平均功率和峰值功率是不一样的。在一个较长的时间内,峰值功率是以某种概率出现的最大瞬态功率,通常概率取为0.01。在这个概率下的峰值功率跟系统总的平均功率的比就是峰均比。此处在CCDF为1时的横坐标基本代表了信号的PAPR,此处为8.5dB左右。
此处测试基本完成,下面有空介绍一下在ADS如何使用DPD来提升PA的线性度。作者也是初学者,如有错误欢迎评论区指出。
4、应用数字预失真DPD
此处输入功率修改为18.7dBm。创建如下的DPD原理图(使用ADS模板,路径ADS2023\examples\Signals_and_Systems\Wireless):

设置输入信号为18.7dbm:

放置待测PA:

设置待测参数,为64QAM的带宽20MHz的3GHz信号(只需要修改NR开头的参数):

点击运行,需要十分钟左右。
4、DPD后的结果对比
预失真前后的频谱图对比:

输入信号、放大后的原始信号、预失真后的信号的ACLR对比:

输入信号、放大后的原始信号、预失真后的信号的输入均值功率、峰值功率表:

输入信号、放大后的原始信号、预失真后的信号的EVM性能:

由此可见设计的PA在3GHz内满足设计的要求。但是此处设计的PA频率范围为2.5GHz-3.9GHz。在此对3.8GHz的信号和2.5GHz的信号进行测试。
下面是3.8GHz的非线性测试简要结果:


下面是2.6GHz的非线性测试简要结果:


相关文章:
番外10:使用ADS对射频功率放大器进行非线性测试2(使用带宽20MHz的64QAM信号进行ACLR、EVM、CCDF测试)
番外10:使用ADS对射频功率放大器进行非线性测试2(使用带宽20MHz的64QAM信号进行ACLR、EVM、CCDF测试) 1、基本理论 功率放大器的非线性性能十分重要,特别是对于当前广泛使用的移动设备。由于其各种复杂的信号调制,功…...
Ubuntu搭建maven私服
1.安装JDK8 已经是JDK8的需要配置环境变量,如果是更高版本的JDK则需要修改nexus配置文件 2.下载nexus安装包 百度网盘下载:链接:https://pan.baidu.com/s/1DfKqql8tZNQXEBxAEH7UyA 提取码:hx4p安装到有磁盘的目录如下所示&…...
【JavaWeb】Servlet基础
文章目录1.Tomcat服务器安装注意事项2.编写WebApp3.BS系统角色和协议4.模拟Servlet4.1模拟sun公司4.2模拟Tomcat服务器4.3模拟WebApp开发者5.开发一个带有Servlet的WebApp5.1创建一个名为crm的项目5.2 在项目中创建一个名为WEB-INF的文件(必须)5.3在WEB-…...
pinia + pinia-plugin-persistedstate + 组合式API 写法,持久化失效问题
持久化失效卡了一天的问题安装使用就不多说了,主要是针对持久化失效的几个问题说明和解决方法首先是组合式写法,配置持久化export const useUserStore defineStore(user, () > {},{persist: true} )defineStore 第三个参数,具体可以看 p…...
ptrace 调式详解
在程序出现bug的时候,最好的解决办法就是通过 GDB 调试程序,然后找到程序出现问题的地方。比如程序出现 段错误(内存地址不合法)时,就可以通过 GDB 找到程序哪里访问了不合法的内存地址而导致的。本文不是介绍GDB不是使…...
【AI绘画】绝美春天插画,人人都是插画师
春天,自然界重新苏醒,生机勃勃,百花争艳,万籁俱寂。一切都被新的生命活力所染上。春风拂面,一股清新的空气流过,仿佛带着一种神秘的力量,让人心旷神怡,心情舒畅、轻松愉悦。 突然&a…...
蓝桥杯入门即劝退(二十四)重复的子字符串(被秒杀)
欢迎关注点赞评论,共同学习,共同进步! ------持续更新蓝桥杯入门系列算法实例-------- 如果你也喜欢Java和算法,欢迎订阅专栏共同学习交流! 你的点赞、关注、评论、是我创作的动力! -------希望我的文章…...
针对序列级和词元级应用微调BERT(需修改)
对于序列级和词元级自然语言处理应用,BERT只需要最小的架构改变(额外的全连接层),如单个文本分类(例如,情感分析和测试语言可接受性)、文本对分类或回归(例如,自然语言推…...
(四十七)大白话表锁和行锁互相之间的关系以及互斥规则是什么呢?
今天我们接着讲,MySQL里是如何加表锁的。这个MySQL的表锁,其实是极为鸡肋的一个东西,几乎一般很少会用到,表锁分为两种,一种就是表锁,一种是表级的意向锁,我们分别来看看。 首先说表锁…...
织梦TXT批量导入TAG标签并自动匹配相关文章插件
织梦TXT批量导入TAG标签并自动匹配相关文章插件是一种非常有用的插件,它可以帮助网站管理员快速地将TAG标签添加到文章中,并自动匹配相关文章。 以下是该织梦TXT批量导入TAG标签插件的几个优点: 1、提高网站的SEO效果:TAG标签是搜…...
Sentinel架构篇 - 10分钟带你看滑动窗口算法的应用
限流算法 以固定时间窗口算法和滑动时间窗口算法为例,展开两种限流算法的分析。 固定时间窗口算法 在固定的时间窗口内,设置允许固定数量的请求进入。如果超过设定的阈值就拒绝请求或者排队。 具体的,按照时间划分为若干个时间窗口&#…...
redis主从复制
<1> redis主从复制介绍: 首先来介绍一下什么是redis主从复制 Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库。但如果当把数据存储在单个Redis的实例中,当读写体量比较大的时候,服务端就很难承受…...
近期常见组件漏洞更新:
(1)mysql 5.7 在2023年1月17日,发布了到5.7.41版本 mysql 8.0 在2023年1月17日,发布了到8.0.32版本 MySQL :: Download MySQL Community Serverhttps://dev.mysql.com/downloads/mysql/ (2)Tomcat8在202…...
深度学习常用的激活函数总结
各种激活函数总结 目录一、sigmoid二、tanh三、ReLU系列1.原始ReLU2.ReLU改进:Leaky ReLU四、swish五、GeLU一、sigmoid 优点: 1.可以将任意范围的输出映射到 …...
Java编程问题top100---基础语法系列(二)
Java编程问题top100---基础语法系列(二)六、如何测试一个数组是否包含指定的值?简单且优雅的方法:自己动手写逻辑对象数组JDK 8 APIJDK 9 API Set.of()七、重写(Override)equlas和hashCode方法时应考虑的问题理论上讲&…...
网页打印与导出word实现在A4纸上相同效果
在工作中遇到这样一个需求,客户要求: 1、实现在浏览器中打印和导出到word中,要求浏览器打印出来的效果和word中打印的效果基本一致。2、打印的内容要自动分页,第一页的顶部有文件头,最后一页的底部有页尾。 这里记录一…...
备战英语6级——记录复习进度
开始记录—— 学习:如何记录笔记? 1:首先我认为:电脑打字比较适合我! 2:先记笔记,再“填笔记”! 记笔记就是一个框架,记录一个大概的东西。后面需要在笔记中࿰…...
实例10:四足机器人运动学逆解可视化与实践
实例10: 四足机器人运动学逆解单腿可视化 实验目的 了解逆运动学的有无解、有无多解情况。了解运动学逆解的求解。熟悉逆运动学中求解的几何法和代数法。熟悉单腿舵机的简单校准。掌握可视化逆向运动学计算结果的方法。 实验要求 拼装一条mini pupper的腿部。运…...
Elasticsearch7.8.0版本优化——路由选择
目录一、Elasticsearch 如何知道一个文档存放在哪个分片二、不带 routing 查询三、带 routing 查询一、Elasticsearch 如何知道一个文档存放在哪个分片 其实是通过这个公式来计算出来:shard hash(routing) % number_of_primary_shardsrouting 默认值是文档的 id&a…...
Go常量的定义和使用const,const特性“隐式重复前一个表达式”,以及iota枚举常量的使用
Go常量的定义和使用const,以及iota枚举常量的使用Go常量constGo中常量的定义和使用Go特性const,"隐式重复前一个表达式"iota 实现枚举常量Go常量const Go语言中的const整合了C语言中的宏定义常量,const只读变量枚举变量 绝大多数情况下,Go常…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
