DPD(Digital Pre-Distortion,数字预失真)

news2024/11/16 19:57:20

什么是DPD

下图中图A是一个理想PA的输入输出关系,它具有线性特性,也就是说输出信号的功率与输入信号功率具有线性关系。但是,现实中使用的PA却不具备理想PA的线性特性。如图C所示,现实PA的输出与输入是非线性关系。为了让非理想PA也能有近似于理想PA的线性特性,可以通过DPD来做补偿,如图B所示,DPD在信号输入PA前进行补偿。非线性PA(图C)在DPD(图B)的补偿作用下,可以达到近似于理想线性PA(图A)的效果。

图片来源于参考文献【1】

为什么需要DPD

下图是一个输出功率与输入功率关系的示意图。对于非线性PA,随着输入功率的增加,它的输出功率与输入功率不会一直是线性关系,会存在一个转折点,也就是压缩点(Compression Region),它开始于实际输出功率与理想线性输出功率差1dB的点。自此之后,PA就会呈现明显的非线性特性。图中示意图可以看到,输入信号的波峰被削掉。

图片来源于参考文献【2】

非线性PA带来的主要问题就是随着输入功率的增大会出现信号失真(Distortion),从而会引起ACLR(Adjacent Channel Leakage Ratio,相邻频道泄漏比)和EVM(Error Vector Magnitude,误差向量幅度)的恶化。从下图示意图可以看到,输入信号经过PA放大后,会产生一些不希望的信号,这些信号主要来自于输入信号频率的谐波(harmonics)和交调(intermodulation)。

图片来源于参考文献【3】

 

下图示意图是一个中心频率为1.85GHz 的2*20MHz信号经过SKY66391-12 PA之后的频谱图。从图中可以看到,TX1的发射功率24.47dBm,TX2的发射功率24.26dBm,它们在相邻信道的功率有约-10dBm左右,临信号功率泄露比较明显。

图片来源于参考文献【2】

下图是加入了DPD之后的效果示意图,从图中可以看到,在信号输入PA前,通过DPD对输入信号做补偿,这样信号在经过PA之后,信号失真的幅度将会被大大降低,这样就可以很大程度上降低ACLR和EVM等指标。

图片来源于参考文献【3】

关于DPD相关的技术知识非常复杂,本文只是对DPD做简要介绍,了解什么是DPD,为什么需要DPD,想要了解更多详细的内容可以参考更多参考文献。

参考:

  1. Altera原版文章:数字预矫正(DPD)3.ppt
  2. Digital Predistortion for RF Communications: From Equations to Implementation | Analog Devices
  3. Predistortion Techniques vs. Operation in | Maxim Integrated
  4. Ultrawideband Digital Predistortion (DPD): The Rewards (Power and Performance) and Challenges of Implementation in Cable Distribution Systems | Analog Devices
  5. Digital Predistortion of Power Amplifiers for Wireless applications, Lei Ding, Georgia Institute of Technology, 2004

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/61104.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HCIA 笔记(1)

一、什么是计算机网络: 二、什么是云技术? 云技术 包含 云存储(百度网盘) 、云计算(分布式计算) 三、计算机技术是怎么实现的? 答:抽象语言(高级语言、汇编语言等&…

数据库、计算机网络,操作系统刷题笔记7

数据库、计算机网络,操作系统刷题笔记7 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle&…

用代码实现全自动化批量下单官网的 iPhone-14-Pro 集成智能下单购物系统,附源码可直接运行

用代码实现全自动化批量下单官网的 iPhone-14-Pro 集成智能下单购物系统,附源码可直接运行。 环境搭建: 1、首先打开谷歌浏览器 输入:chrome://version/ 查看浏览器的版本; 2、打开这个链接: http://chromedriver.storage.googleapis.com/index.html 找到和自己浏览器…

uni-app入门:HBuilderX安装与项目创建

1.HBuilderX下载与安装 2.新建 uni-app 项目并运行到微信开发者工具 1.HBuilderX下载与安装uni-app 官方推荐使用 HBuilderX 来开发 uni-app 类型的项目。 主要好处: 模板丰富 完善的智能提示 一键运行 当然,依然可以根据自己的喜好,选…

(附源码)php小型网络舆情平台设计 毕业设计 252324

小型网络舆情平台设计 摘 要 随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用php技术建设…

作业11:优化算法比较

目录1. 编程实现图6-1,并观察特征2. 观察梯度方向3. 编写代码实现算法,并可视化轨迹4. 分析上图,说明原理(选做)1) 为什么SGD会走“之字形”?其它算法为什么会比较平滑?2&#xff09…

C#获取子文件夹及其中所有的文件

首先用FolderBrowserDialog获取目标文件夹,如果不要求可视化也可以直接在文本框中输入,从其的SelectedPath属性中就可以获取目标路径。 FolderBrowserDialog folder new FolderBrowserDialog(); folder.ShowDialog(); string Root folder.SelectedPat…

三台机器搭建redis集群过程及问题记录

文章目录1. 前言2. 搭建集群3. 遇到的问题4. 相关文章1. 前言 Redis版本 5.0.4 服务器版本 Linux CentOS 6;CentOS 7;CentOS 9; redis集群需要至少要三个master节点,我们这里搭建三个master节点,并且给每个master再搭…

Spring boot 启动流程及外部化配置

平时我们开发Spring boot 项目的时候,一个SpringBootApplication注解加一个main方法就可以启动服务器运行起来,那它到底是怎么运行起来的呢? Main 入口 我们首先从main方法来看源码,逐步深入: SpringBootApplicatio…

Python实现Stacking回归模型(随机森林回归、极端随机树回归、AdaBoost回归、GBDT回归、决策树回归)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 Stacking通常考虑的是异质弱学习器(不同的学习算法被组合在一起),st…

(附源码)SSM宠物领养系统 毕业设计 031654

SSM宠物领养系统 摘 要 如今,随着人们生活水平不断提高,人们的生活在物质满足的基础上,更多的人将生活的重点放在追求精神享受的过程中。于此同时,Internet铺天盖地的普及,使得这样的人纷纷通过Internet的方式去寻找精…

(十一) 共享模型之无锁【CAS 与 volatile】

一、问题引出(P158) 1. 取款案例 interface Account {// 获取余额Integer getBalance();// 取款void withdraw(Integer amount);/*** 方法内会启动 1000 个线程,每个线程做 -10 元 的操作* 如果初始余额为 10000 那么正确的结果应当是 0*/st…

Seata概述基础

分布式事务原因: 单体架构的spring事务不能跨机器,不能跨数据源 分布式事务的概念: 一个业务流程,在分布式系统(微服务)中,每个业务模块都是一个分支,保证每个业务分支一起成功&am…

ROS1 LTS版本安装教程

Abstract: "ROS is primarily targeted at the Ubuntu , though other Linux systems as well as Mac OS X, Android, and Windows are supported to varying degrees. " 一、系统要求 ROS版本系统版本长期支持ROS Kinetic KameWily: amd64、i386 Xenial: amd64、i…

JSP住宅小区物业管理系统(源代码+开题报告+论文+答辩PPT)科大云炬

小区物业管理毕业设计 (论文) 目 录 摘要--------------------------------------------------------------------------------------------1 ABSTRACT-----------------------------------------------------------------------------------2 第1章…

制作composer包提供sdk扩展

目录 1、初始化包 2、将代码推送到github远程仓库 3、为写好扩展包打上tag标签标记当前代码版本 4、将包发布到包管理平台 初始化包,生成 Creates a basic composer.json file in current directory composer init composer init 按照引导就可以生成了 , 详细的…

Python学习笔记 - 异常处理

前言 为了增强程序的健壮性,计算机程序的编写也需要考虑如何处理一些异常的情况,Python 语言提供了异常处理功能,本博文主要介绍 Python 异常处理机制。 一 异常处理举例 为了学习 Python 异常处理机制,首先看下面进行除法运算的…

MySQL的主从复制与读写分离详解

MySQL的主从复制与读写分离详解读写分离概述什么是读写分离为什么要读写分离什么时候要读写分离MySQL主从复制与读写分离主从复制的概念MySQL支持的复制类型主从复制的工作过程主从复制示例保证MySQL主从服务器时间同步主节点服务器配置从节点服务器设置验证MySQL读写分离MySQL…

Vue3 学习笔记 —— Hooks、全局函数和变量、Vue3 插件

目录 1. Hooks 1.1 Vue2 中的 mixins 1.1.1 mixins 是什么? 1.1.2 mixins 缺点? 1.2 Vue3 中的 Hooks 1.2.1 Vue3 Hooks 是什么? 1.2.2 Vue3 内置 hooks 举例 1.2.3 自定义 Hooks 2. 全局函数和全局变量 2.1 app.config.globalProp…

【深入设计模式】适配器模式—一切皆有可能

文章目录1. 适配器模式1.1 适配器模式简介1.2 适配器模式结构1.3 适配器模式示例2. 适配器模式在源码中的应用3. 总结适配器这个词来源于硬件领域,是一个独立的硬件设备接口,允许硬件或电子接口与其它硬件或电子接口相连,比如常见的电源适配器…