番外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常…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
图解JavaScript原型:原型链及其分析 | JavaScript图解
忽略该图的细节(如内存地址值没有用二进制) 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么:保存在堆中一块区域,同时在栈中有一块区域保存其在堆中的地址(也就是我们通常说的该变量指向谁&…...
Python爬虫(四):PyQuery 框架
PyQuery 框架详解与对比 BeautifulSoup 第一部分:PyQuery 框架介绍 1. PyQuery 是什么? PyQuery 是一个 Python 的 HTML/XML 解析库,它采用了 jQuery 的语法风格,让开发者能够用类似前端 jQuery 的方式处理文档解析。它的核心特…...
SQLSERVER-DB操作记录
在SQL Server中,将查询结果放入一张新表可以通过几种方法实现。 方法1:使用SELECT INTO语句 SELECT INTO 语句可以直接将查询结果作为一个新表创建出来。这个新表的结构(包括列名和数据类型)将与查询结果匹配。 SELECT * INTO 新…...
