番外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常…...

大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

c++第七天 继承与派生2
这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分:派生类构造函数与析构函数 当创建一个派生类对象时,基类成员是如何初始化的? 1.当派生类对象创建的时候,基类成员的初始化顺序 …...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...