CN117546420A - 硬件的模型架构搜索与优化 - Google Patents
硬件的模型架构搜索与优化 Download PDFInfo
- Publication number
- CN117546420A CN117546420A CN202280043748.2A CN202280043748A CN117546420A CN 117546420 A CN117546420 A CN 117546420A CN 202280043748 A CN202280043748 A CN 202280043748A CN 117546420 A CN117546420 A CN 117546420A
- Authority
- CN
- China
- Prior art keywords
- signal
- processing units
- dpd
- subset
- parameterized model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000005457 optimization Methods 0.000 title description 10
- 238000012545 processing Methods 0.000 claims abstract description 247
- 238000000034 method Methods 0.000 claims abstract description 125
- 230000008569 process Effects 0.000 claims abstract description 20
- 238000006243 chemical reaction Methods 0.000 claims description 124
- 230000006870 function Effects 0.000 claims description 95
- 238000013507 mapping Methods 0.000 claims description 22
- 230000001131 transforming effect Effects 0.000 claims 1
- 238000013501 data transformation Methods 0.000 abstract description 62
- 230000006978 adaptation Effects 0.000 description 82
- 238000012549 training Methods 0.000 description 71
- 238000003860 storage Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 14
- 238000007781 pre-processing Methods 0.000 description 14
- 238000013528 artificial neural network Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 239000002800 charge carrier Substances 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 3
- 238000012887 quadratic function Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- IJGRMHOSHXDMSA-UHFFFAOYSA-N Atomic nitrogen Chemical compound N#N IJGRMHOSHXDMSA-UHFFFAOYSA-N 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000003362 replicative effect Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 229920002430 Fibre-reinforced plastic Polymers 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000001413 far-infrared spectroscopy Methods 0.000 description 1
- 239000011151 fibre-reinforced plastic Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000012633 leachable Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 229910052757 nitrogen Inorganic materials 0.000 description 1
- 230000009022 nonlinear effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000007725 thermal activation Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Landscapes
- Amplifiers (AREA)
Abstract
提供了与使用模型体系结构搜索硬件配置相关的系统、设备和方法。一种示例设备包括:用于接收输入信号的输入节点;处理单元池,用于执行一个或多个算术运算和一个或多个信号选择运算,其中所述池中的每个处理单元与对应于数据变换运算的至少一个参数化模型相关联;以及控制块,用于基于第一参数化模型来配置池中的处理单元的第一子集,其中处理单元的所述第一子集处理输入信号以生成第一信号。
Description
相关申请的交叉引用
本申请要求2021年5月12日提交的题为“使用神经网络进行功率放大器线性化的数字预测”的第63/187536号美国临时专利申请和2022年4月29日提交的题为“硬件的模型架构搜索和优化”的第17/732175号美国非临时专利申请的优先权和权益,其内容通过引用并入本文,如同在下文中充分阐述一样,并用于所有适用目的。
技术领域
本公开一般涉及电子器件,并且更具体地涉及使用模型架构搜索技术(例如,神经架构搜索(NAS))来配置硬件块(例如,用于功率放大器的线性化的数字预失真(DPD)硬件)。
背景技术
RF系统是以大约3千赫兹(kHz)到300千兆赫(GHz)的RF范围内的电磁波形式发送和接收信号的系统。RF系统通常用于无线通信,蜂窝/无线移动技术是一个突出的例子,但也可以用于诸如有线电视的有线通信。在这两种类型的系统中,其中各种部件的线性起着至关重要的作用。
RF部件或诸如RF收发器之类的系统的线性在理论上易于理解。也就是说,线性通常是指部件或系统提供与输入信号成正比的输出信号的能力。换句话说,如果部件或系统是完全线性的,则输出信号与输入信号的比率的关系是直线。在现实生活中的部件和系统中实现这种行为要复杂得多,并且必须解决对线性的许多挑战,通常以牺牲一些其他性能参数为代价,例如效率和/或输出功率。
功率放大器(PA)由固有非线性的半导体材料制成,并且必须在相对高的功率电平下工作,在考虑RF系统的线性设计时,功率放大器通常是首先要分析的部件。具有非线性失真的PA输出可能导致调制精度降低(例如,误差矢量幅度(EVM)降低)和/或带外发射。因此,无线RF系统(例如,长期演进(LTE)和毫米波或第五代(5G)系统)和电缆RF系统都具有严格的PA线性规范。
DPD可用于增强PA的线性。通常,DPD涉及在数字域中对作为PA输入的信号进行预失真,以减少和/或消除预计由PA引起的失真。预失真可通过PA模型来表征。可以基于来自PA的反馈(即,基于PA的输出)来更新PA模型。PA模型在预测PA将引入的失真方面越准确,对PA输入的预失真在减少放大器引起的失真影响方面就越有效。
在RF系统中执行DPD不是一项容易的任务,因为多种因素会影响DPD的成本、质量和稳健性。物理约束,如空间/表面积以及法规,可能会对DPD的要求或规范造成进一步的约束。由于在最先进的RF系统中使用的采样率不断增加,DPD变得特别具有挑战性,因此在设计DPD时必须进行权衡和独创性。
附图说明
为了提供对本公开及其特征和优点的更完整理解,结合附图参考以下描述,其中相同的附图标记表示相同的部分,其中:
图1A提供了根据本公开的一些实施例的示例性射频(RF)收发器的示意框图,其中可以实现参数化的基于模型的数字预失真(DPD)。
图1B提供了根据本公开的一些实施例的示例性基于间接学习架构的DPD的示意框图,其中可以实现参数化的基于模型的配置。
图1C提供了根据本公开的一些实施例的示例性基于直接学习架构的DPD的示意框图,其中可以实现参数化的基于模型的配置。
图2A提供了根据本公开的一些实施例的用于基于间接学习架构的DPD的离线训练以及在线适应和致动的方案的图示。
图2B提供了根据本公开的一些实施例的用于基于直接学习架构的DPD的离线训练以及在线适应和致动的图示。
图3提供了根据本公开的一些实施例的基于查找表(LUT)的DPD致动器电路的示例性实现的图示。
图4提供了根据本公开的一些实施例的基于LUT的DPD致动器电路的示例性实现的图示。
图5提供了根据本公开的一些实施例的基于LUT的DPD致动器电路的示例性实现的图示。
图6提供了根据本公开的一些实施例的从具有一对一功能映射的硬件设计导出的示例性软件模型的图示。
图7提供了根据本公开的一些实施例的用于训练DPD操作的参数化模型的示例性方法的图示。
图8提供了根据本公开的一些实施例的将DPD操作建模为可微分功能块序列的示例性参数化模型的示意图。
图9是示出根据本公开的一些实施例的用于训练DPD操作的参数化模型的示例性方法的流程图。
图10提供了示出根据本公开的一些实施例的用于执行用于在线致动和自适应的DPD操作的示例性方法的流程图。
图11提供了根据本公开的一些实施例的硬件块序列到可微分功能块序列的示例性映射的示意图。
图12提供了根据本公开的一些实施例的硬件块序列到可微分功能块序列的示例性映射的示意图。
图13提供了示出根据本公开的一些实施例的用于训练映射到目标硬件的参数化模型的方法的流程图。
图14提供了示出根据本公开的一些实施例的用于在基于参数化模型配置的目标硬件上执行操作的方法的流程图。
图15提供了示出根据本公开的一些实施例的示例性数据处理系统的框图,该系统可以被配置为使用神经网络来实现或控制执行硬件块配置的至少一部分。
具体实施方式
综述
本公开的系统、方法和装置每个都具有若干创新实施例,其中没有一个单独负责本文公开的所有期望属性。本说明书中描述的主题的一个或多个实现方式的细节在以下描述和附图中阐述。
为了使用本文提出的神经网络来说明DPD,首先了解可能在RF系统中发挥作用的现象可能是有用的。以下基本信息可以被视为可以适当解释本公开的基础。提供此类信息仅用于解释目的,因此不应以任何方式解释为限制本公开及其潜在应用的广泛范围。
如上所述,在考虑RF系统的线性设计时,PA通常是要分析的第一个组件。具有线性和高效的PA对于无线和电缆RF系统是必不可少的。虽然线性对于诸如低噪声放大器之类的小信号放大器也很重要,但线性的挑战对于PA来说尤其明显,因为这样的放大器通常需要产生相对高水平的输出功率,并且因此特别容易进入不能再忽视非线性行为的某些操作条件。一方面,当放大器对具有高功率电平的信号进行操作(这种操作条件通常被称为“饱和操作”)时,用于形成放大器的半导体材料的非线性行为往往会恶化,从而增加其输出信号中的非线性失真量,这是非常不希望的。另一方面,在相对高的功率电平下操作(即,在饱和下操作)的放大器通常也以其最高效率工作,这是非常期望的。因此,线性度和效率(或功率水平)是两个性能参数,对于这两个参数,通常必须找到可接受的折衷,因为在这些参数中的一个方面的改进是以牺牲另一个参数为次优为代价的。为此,术语“回退”在本领域中被用来描述输入功率(即,提供给待放大放大器的信号的功率)应该降低多远以实现期望的输出线性度的测量(例如,回退可以被测量为提供最大功率的输入功率与提供期望线性度的输入功率之间的比率)。因此,减小输入功率可以在线性方面提供改进,但是导致放大器的效率降低。
同样如上所述,DPD可以对PA的输入进行预失真,以减少和/或消除由放大器引起的失真。为了实现这一功能,在高水平上,DPD涉及形成PA如何影响输入信号的模型,该模型定义了要应用于输入信号的滤波器的系数(这种系数被称为“DPD系数”),以试图减少和/或消除由放大器引起的输入信号的失真。以这种方式,DPD将试图通过对要提供给放大器的输入信号应用相应的修改来补偿放大器对要发送的信号应用不期望的非线性修改。
DPD算法中使用的模型通常是自适应模型,这意味着它们是在迭代过程中通过基于进入放大器输入的数据和从放大器输出的数据之间的比较逐渐调整系数而形成的。DPD系数的估计基于输入和输出数据(即,PA的输入和输出)的有限序列的获取,通常称为“捕获”,并形成反馈回路,其中基于捕获的分析来调整模型。更具体地说,传统的DPD算法基于通用记忆多项式(GMP)模型,该模型涉及形成一组通常被称为“更新方程”的多项式方程,并在宽的解空间中搜索方程的合适解,以更新PA的模型。为此,DPD算法解决了一个反问题,即根据一组观测值计算产生这些观测值的偶然因素的过程。
在存在非线性效应的情况下求解逆问题可能具有挑战性,并且可能是不适定的。特别地,本公开的发明人意识到,基于GMP的PA模型可能由于信号动力学和存储多项式数据所需的有限存储器深度而具有局限性,特别是在现有技术的RF系统中使用的不断增加的采样率的情况下。
可用于高频的固态器件在现代半导体技术中具有重要意义。部分由于其大的带隙和高迁移率,基于III-N的晶体管(即,采用具有来自周期表第III族的至少一种元素(例如Al、Ga、In)的第一子晶格和氮(N)的第二子晶格的化合物半导体材料作为沟道材料的晶体管),例如基于GaN的晶体管,对于高频应用可能是特别有利的。特别地,可以使用GaN晶体管来构建PA。
虽然GaN晶体管在截止频率和效率方面具有所需的特征,但它们的行为由于被称为电荷捕获的效应而变得复杂,其中晶体管沟道中的缺陷位点捕获电荷载流子。捕获电荷的密度在很大程度上取决于栅极电压,其中栅极电压通常与信号幅度成比例。更为复杂的是,相反的效果可能同时与电荷捕获的效果竞争。也就是说,当一些电荷载流子被缺陷位点捕获时,其他电荷载流子从陷阱中释放,例如,由于热激活。这两种效应具有截然不同的时间常数:每当栅极电压增加时,缺陷部位都可能迅速充满陷阱电荷,而陷阱电荷的释放则较慢。释放时间常数可以是10微秒,最高可达毫秒,在4G或5G数据的符号周期的时间尺度上,这种影响通常非常明显,尤其是对于包含突发的数据。
本公开的各种实施例提供了旨在改进在为RF系统(例如但不限于毫米波/5G技术的无线RF系统)提供线性且高效的放大器(例如,PA)方面的上述一个或多个缺点的系统和方法。特别地,本公开的各方面提供了用于使用可微分构建块对硬件操作进行行为建模并利用在目标硬件上收集的数据集执行模型架构搜索(例如,可微分神经架构搜索(DNAS))的技术。虽然本公开的各方面描述了用于应用模型架构搜索来优化用于线性化RF收发器处的功率放大器的DPD布置的技术,但是本文公开的技术适合用于优化任何合适的硬件块和/或子系统的配置。
根据本公开的一个方面,计算机实现的系统可以实现用于执行模型体系结构搜索以优化目标硬件的配置以执行特定数据转换的方法。数据转换可以包括线性和/或非线性操作,并且通常可以包括将信号的表示从一种形式改变为另一种形式的操作。目标硬件可以包括至少可以执行算术运算和/或信号选择操作(例如,复用和/或解复用)的处理单元池。可以在包括处理单元池和相关联的能力、期望的硬件资源约束和/或与数据转换相关联的硬件操作的搜索空间上执行模型架构搜索。还可以执行模型架构搜索以实现与数据转换相关联的特定期望性能度量,例如,最小化与数据转换相关联的误差度量。
如本文所使用的,处理单元池可以包括但不限于数字硬件块(例如,包括组合逻辑和门的数字电路)、通用处理器、数字信号处理器和/或执行指令代码(例如,软件和/或固件)的微处理器、模拟电路、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。通常,处理单元(或简单地说是硬件块)可以是具有定义的输入、输出和/或控制信号的电路。此外,多个处理单元(例如,电路块)可以以定义的方式连接,以形成子系统来执行数据转换,例如,包括转换序列。硬件配置优化可以在功能级别(例如,具有输入输出对应关系)和/或在子系统级别(例如包括操作序列)执行。
为了执行模型体系结构搜索,计算机实现的系统可以接收与处理单元池相关联的信息。所接收的信息可以包括与处理单元池相关联的硬件资源约束、硬件操作和/或硬件能力。计算机实现的系统可以进一步接收与数据转换操作相关联的数据集。数据集可以在目标硬件上收集,并且可以包括输入数据、输出数据、控制数据等。计算机实现的系统可以使用接收到的硬件信息和接收到的数据集来训练与数据转换相关联的参数化模型。训练可以包括更新与配置池中的处理单元的至少子集相关联的参数化模型的至少一个参数(以执行数据转换)。计算机实现的系统可以为池中的处理单元的至少子集输出一个或多个配置。
在一些方面中,计算机实现的系统可以进一步生成参数化模型,例如,通过生成池中的每个处理单元与多个可微分功能块中的不同功能块之间的映射。也就是说,池中的每个处理单元与每个可微分功能块之间存在一一对应关系。
在一些方面中,数据转换操作可以包括至少第一数据转换和第二数据转换的序列,并且训练可以包括计算与第一数据转换相关联的第一参数(例如,第一可学习参数)和与第二数据转换相关联的第二参数(例如第二可学习的参数)。在一些方面中,计算与第一数据转换相关联的第一参数和与第二数据转换相关的第二参数可以进一步基于反向传播和损失函数。在一些方面中,序列中的第一数据转换或第二数据转换可以与可执行指令代码相关联。换言之,参数化模型可以对由数字电路和/或模拟电路实现的硬件操作和/或可由处理器执行的指令代码(例如,固件)进行建模。
在某些方面中,数据转换操作可以与DPD相关联,用于对非线性电子部件(例如,PA)的输入信号进行预失真。在一个示例中,数据转换可以对应于DPD致动。在这方面,序列中的第一数据转换可以包括基于第一参数从输入信号中选择存储器项。序列中的第二数据转换可以包括基于第二参数,使用一组基函数和所选择的存储器项来生成与非线性电子部件的非线性特性相关联的特征参数。与数据转换操作相关联的序列可以进一步包括第三数据转换,包括基于特征参数生成预失真信号。在另一示例中,数据转换可以对应于DPD自适应。在这方面,序列中的第一数据转换可以包括基于第一参数从指示非线性电子部件的输出或输入信号的反馈信号中选择存储器项。序列中的第二数据转换可以包括基于第二参数,使用一组基函数和所选择的存储器项来生成与非线性电子部件的非线性特性相关联的特征。与数据转换操作相关联的序列可以进一步包括第三数据转换,该第三数据转换包括基于特征和第二信号(例如,对应于用于间接学习DPD的预失真信号或用于直接学习DPD在输入信号和反馈信号之间的差)的更新系数。
在一些方面中,计算机实现系统可以包括存储指令的存储器和一个或多个计算机处理器,其中当指令由一个或多个计算机处理器执行时,使得一个或多个计算机处理器进行用于配置目标硬件的模型体系结构搜索方法。在其他方面中,模型体系结构搜索方法可以是编码在非暂时性可计算可读存储介质中的指令的形式,该指令在由一个或多个计算机处理器执行时使得一个或多个计算机处理器来执行该方法。
根据本公开的另一方面,一种装置可以包括用于接收输入信号的输入节点和用于执行一个或多个算术操作和/或一个或多个信号选择操作(例如,复用和/或解复用)的处理单元池。池中的每个处理单元可以与对应于数据转换(例如,包括线性和/或非线性操作)的至少一个参数化模型(例如,NAS模型)相关联。该装置还可以包括控制块,用于基于第一参数化模型来配置和/或选择处理单元的至少第一子集以处理输入信号以生成第一信号。在一些方面中,可以基于池中的每个处理单元到多个可微分构建块中的不同构建块以及在目标硬件或硬件约束上收集的输入数据集或输出数据集中的至少一个的映射来离线训练第一参数化模型。例如,训练可以基于多个可微分构建块上的NAS。
在一些方面中,数据转换可以包括一系列数据转换。例如,数据转换可以包括第一数据转换,然后是第二数据转换,其中第一数据转换将输入信号转换为第一信号,第二数据转换将第一信号转换为第二信号。在一些方面中,数据转换序列可以通过数字硬件块(例如,数字电路)和执行指令代码(例如,软件或固件)的处理器的组合来执行。例如,处理单元的第一子集可以包括执行第一转换的数字硬件块(例如,数字电路),并且控制块可以进一步配置池中的处理单元的第二子集以实施执行第二转换的指令代码。
在某些方面中,该装置可以是用于对非线性电子部件(例如,PA)的输入信号进行预失真的DPD装置。例如,在输入节点处接收的输入信号可以对应于非线性电子部件的输入信号,并且第一信号可以对应于预失真信号。该装置还可以包括存储器,用于基于第一参数化模型和DPD系数来存储与非线性电子部件的一个或多个非线性特性相关联的一个或者多个查找表(LUT)。该装置还可以包括DPD块,该DPD块包括处理单元的第一子集。对于DPD致动,处理单元的第一子集可以基于第一参数化模型从输入信号中选择第一存储器项。处理单元的第一子集可以进一步基于一个或多个LUT和所选择的第一存储器项来生成预失真信号。在一些方面中,对于使用间接学习架构的DPD自适应,处理单元的第一子集可以基于第一参数化模型进一步从与非线性电子部件的输出相关联的反馈信号中选择第二存储器项。控制块还可以基于第一参数化模型来配置处理单元的第二子集以执行指令代码,从而基于所选择的第二存储器项、基函数集合和输入信号来计算或更新DPD系数。指令代码还可以使得处理单元的第二子集基于计算出的系数和基函数集合来更新一个或多个LUT中的至少一个。在其他方面中,对于使用直接学习架构的DPD自适应,控制块可以进一步基于第一参数化模型来配置处理单元的第二子集以执行指令代码以基于所选择的第一存储器项、基函数集以及输入信号和反馈信号之间的差,并且基于计算出的系数和基函数集合更新一个或多个LUT中的至少一个。
本文描述的系统、方案和机制有利地利用NAS技术来搜索用于配置硬件以执行特定数据转换的最佳配置。本公开对于优化执行诸如DPD之类的复杂数据转换的硬件的配置可能是特别有利的,因为在寻找最优配置时使用启发式搜索可能是复杂的、耗时的,从而增加了部署新硬件的成本和/或上市时间。此外,本公开对于利用附加的系统约束和/或多个优化目标来优化配置可能是特别有利的。此外,基于模型架构搜索的硬件配置对于某些转换(从输入到输出)可能是特别有利的,这些转换不能容易地由数学函数表示,或者可能需要非常高阶的多项式。
具有DPD布置的示例RF收发器
图1A提供了根据本公开的一些实施例的示例性RF收发器100的示意框图,其中可以实现参数化的基于模型的DPD。如图1A所示,RF收发器100可以包括DPD电路110、发射机电路120、PA 130、天线140和接收机电路150。
DPD电路110被配置为接收由x表示的输入信号102,该输入信号102可以是数字采样序列并且可以是矢量。通常,如本文所使用的,本图中使用的每个小写粗体斜体单字母标签(例如,图1A中所示的标签x、z、y和y’)指的是矢量。在一些实施例中,输入信号102x可以包括频域中的一个或多个激活信道,但是,为了简单起见,描述了仅具有一个信道(即,带内频率的单个频率范围)的输入信号。在一些实施例中,输入信号x可以是基带数字信号。DPD电路110被配置为基于输入信号102x生成可以由z表示的输出信号104。DPD输出信号104z可以被进一步提供给发射机电路120。为此,DPD电路110可以包括DPD致动器112和DPD自适应电路114。在一些实施例中,致动器112可以被配置为基于输入信号102x和由DPD自适应电路114计算的DPD系数来生成输出信号104z,如下面更详细描述的。
发射机电路120可以被配置为将信号104z从基带信号上变频为更高频率的信号,例如RF信号。发射机120生成的RF信号可以被提供给PA 130,PA 130可以被实现为包括N个单独PA的PA阵列。PA 130可以被配置为放大由发射机120生成的RF信号(因此,PA 130可以由基于DPD电路110的输出的驱动信号驱动),并输出放大的RF信号131,放大的RF信息131可以由y(例如,矢量)表示。
在一些实施例中,RF收发器100可以是无线RF收发器,在这种情况下,它还将包括天线140。在无线RF系统的背景下,天线是一种设备,用作在空间中无线传播的无线电波和在发射机、接收机或收发器中使用的金属导体中移动的电流之间的接口。在传输期间,RF收发器的发射机电路可以提供电信号,该信号由PA放大,并且该信号的放大版本被提供给天线的端子。然后,天线可以将来自PA输出的信号的能量作为无线电波进行辐射。天线是所有无线电设备的重要组成部分,用于无线电广播、广播电视、双向无线电、通信接收机、雷达、手机、卫星通信和其他设备。
具有单个天线元件的天线通常将广播在球面波阵面中的所有方向上均匀辐射的辐射方向图。相控天线阵列通常是指用于将电磁能聚焦在特定方向上,从而产生主波束的天线元件的集合,这一过程通常被称为“波束成形”。相控天线阵比单天线系统具有许多优势,如高增益、执行方向控制的能力以及同时通信。因此,相控阵天线阵列在无数不同的应用中被更频繁地使用,例如移动/蜂窝无线技术、军事应用、飞机雷达、汽车雷达、工业雷达和Wi-Fi技术。
在RF收发器100是无线RF收发器的实施例中,放大的RF信号131y可以被提供给天线140,天线140可以被实现为包括多个天线元件(例如N个天线元件)的天线阵列。天线140被配置为无线地发送放大的RF信号131y。
在RF收发器100是相控天线阵列系统的无线RF收发器的实施例中,RF收发器100可以进一步包括波束形成器布置,其被配置为改变提供给PA阵列130的各个PA的输入信号,以操纵由天线阵列140产生的波束。这种波束形成器布置没有在图1中具体示出,因为它可以以不同的方式实现,例如,作为模拟波束形成器(即,在模拟域中修改要由PA阵列130放大的输入信号,即,在这些信号已经从数字域转换到模拟域之后),作为数字波束形成器(即,要由PA阵列130放大的输入信号在数字域中被修改,即,在这些信号从数字域转换到模拟域之前),或者作为混合波束形成器,即,要被PA阵列130放大器的输入信号部分地在数字域中和部分地在模拟域中被更改)。
理想情况下,来自PA130的放大的RF信号131y应该只是发射机电路120的输出的上变频和放大版本,例如,输入信号102x的上变频、放大器和波束成形版本。然而,如上所述,放大的RF信号131y可以在主信号分量之外具有失真。这种失真可以由PA130的响应中的非线性引起。如上所述,可能希望减少这种非线性。因此,RF收发器100可以进一步包括反馈路径(或观察路径),该反馈路径允许RF收发器分析来自PA130的放大的RF信号131y(在传输路径中)。在一些实施例中,反馈路径可以如图1A所示实现,其中反馈信号151y’可以从PA130提供给接收机电路150。然而,在其他实施例中,反馈信号可以是来自探测天线元件的信号,该探测天线元件被配置为感测由天线140(图1A中未具体示出)发送的无线RF信号。
因此,在各种实施例中,PA130的输出或天线140的输出的至少一部分可以作为反馈信号151提供给接收机电路150。接收机电路150的输出耦合到DPD电路110,特别是耦合到DPD自适应电路114。以这种方式,接收机电路150的输出信号151(y’)可以通过接收机电路150提供给DPD自适应电路114,该输出信号是基于反馈信号151的信号,反馈信号151又指示来自PA 130的输出信号131(y)。DPD自适应电路114可以处理接收到的信号,并更新由DPD致动器电路112施加到输入信号102x的DPD系数,以产生致动器输出104z。基于致动器输出z的信号被提供作为PA130的输入,这意味着DPD致动器输出z可以用于控制PA130的操作。
根据本公开的各方面,包括DPD致动器电路112和/或DPD自适应电路114的DPD电路110可以基于参数化模型170来配置。参数化模型170可以由参数化模型训练系统172(例如,诸如图15中所示的数据处理系统2300的计算机实现的系统)使用模型体系结构搜索技术(例如,DNAS)离线生成和训练,这将在下面参考图2A-2B和图3-14更全面地讨论。此外,DPD致动器电路112和/或DPD自适应电路114可以被配置为使用如图1B所示的间接学习架构或使用如图1C所示的直接学习架构来实现DPD。
如图1A进一步所示,在一些实施例中,发射机电路120可以包括数字滤波器122、数模转换器(DAC)124、模拟滤波器126和混频器128。在这样的发射机中,预失真信号104z可以由数字滤波器122在数字域中滤波,以生成滤波的预失真输入,即数字信号。数字滤波器122的输出然后可以由DAC 124转换为模拟信号。由DAC 124生成的模拟信号然后可以由模拟滤波器126进行滤波。模拟滤波器126的输出然后可以由混频器128上变频为RF,混频器128可以接收来自本地振荡器(LO)162的信号以将来自模拟滤波器126经滤波的模拟信号从基带转换为RF。实现发射机电路120的其他方法也是可能的并且在本公开的范围内。例如,在另一种实现方式(在附图中未示出)中,数字滤波器122的输出可以由DAC 124直接转换为RF信号(例如,在直接RF架构中)。在这样的实现中,由DAC 124提供的RF信号然后可以由模拟滤波器126进行滤波。由于在该实施方式中DAC 124将直接合成RF信号,因此在这样的实施方式中,图1A中所示的混频器128和本地振荡器162可以从发射机电路120中省略。
如图1A进一步所示,在一些实施例中,接收机电路150可以包括数字滤波器152、模数转换器(ADC)154、模拟滤波器156和混频器158。在这样的接收机中,反馈信号151可以由混频器158下变频到基带,混频器158可以从本地振荡器(LO)160(其可以与本地振荡器160相同或不同)接收信号,以将反馈信号151从RF转换到基带。混频器158的输出然后可以由模拟滤波器156进行滤波。模拟滤波器156的输出然后可以由ADC 154转换为数字信号。然后,由ADC 154产生的数字信号可由数字滤波器152在数字域中滤波,以产生经滤波的下变频反馈信号151y’,其可为指示PA 130的输出y的数字值序列,且其也可建模为向量。反馈信号151y’可以被提供给DPD电路110。实现接收机电路150的其他方法也是可能的并且在本公开的范围内。例如,在另一种实现方式(在附图中未示出)中,RF反馈信号151y’可以由ADC 154直接转换为基带信号(例如,在直接RF架构中)。在这样的实现中,由ADC 154提供的下变频信号然后可以由数字滤波器152进行滤波。由于在该实现中ADC 154将直接合成基带信号,因此在这样的实施例中,图1A中所示的混频器158和本地振荡器160可以从接收机电路150中省略。
上述RF收发器100可以有进一步的变化。例如,虽然关于基带频率描述了上变频和下变频,但是在RF收发器100的其他实施例中,可以使用中频(IF)代替。IF可以用在超外差无线电接收机中,其中在完成对接收信号中的信息的最终检测之前,将接收到的RF信号移位到IF。由于几个原因,转换为IF可能很有用。例如,当使用几个阶段的滤波器时,它们都可以设置为固定频率,这使它们更容易构建和调谐。在一些实施例中,RF发射机120或接收机150的混频器可以包括几个这样的IF转换级。在另一示例中,尽管在RF收发器100的发射(TX)路径(即,用于将由发射机120处理的信号的信号路径)和接收(RX)路径(例如,用于将被接收机150处理的信号)中的每一个中示出了单路混频器,但是在一些实施例中,TX路径混频器128和RX路径混频器158可以分别实现为正交上变频器和下变频器,在这种情况下,它们中的每一个将包括第一混频器和第二混频器。例如,对于RX路径混频器158,第一RX路径混频器可以被配置为通过混合反馈信号151和由本地振荡器160提供的本地振荡器信号的同相分量来执行下变频以生成同相(I)下变频的RX信号。第二RX路径混频器可以被配置为通过将反馈信号151与本地振荡器160提供的本地振荡器信号的正交分量(正交分量是在相位上与本地振荡器信号同相分量偏移90度的分量)进行下变频以生成正交(Q)下变频的RX信号。可以将第一RX路径混频器的输出提供给I信号路径,并且可以将第二RX路径混合器的输出提供到Q信号路径,Q信号路径可以与I信号路径实质上异相90度。通常,发射机电路120和接收机电路150可以使用零IF架构、直接转换RF架构、复杂IF架构、高(实)IF架构或任何合适的RF发射机和/或接收机架构。
通常,RF收发器100可以是被配置为支持在大约3kHz到300GHz的RF范围内的电磁波形式的信号的发送和接收的任何设备/装置或系统。在一些实施例中,RF收发器100可以用于无线通信,例如,在任何合适的蜂窝无线通信技术的基站(BS)或用户设备(UE)设备中,例如全球移动通信系统(GSM)、码分多址(CDMA)或LTE。在另一示例中,RF收发器100可以用作毫米波无线技术(例如,5G无线)的BS或UE设备,或者在例如BS或UE中使用(即,高频/短波长频谱,例如,具有在大约20和60GHz之间的范围内的频率,对应于在大约5和15毫米之间的范围中的波长)。在又一示例中,RF收发器100可以用于使用Wi-Fi技术(例如,2.4GHz的频带,对应于大约12cm的波长,或者5.8GHz的频带、频谱,对应于约5cm的波长)的无线通信,例如,在诸如台式机、膝上型计算机、视频游戏控制台、智能手机、平板电脑、智能TV、数字音频播放器、汽车、打印机等。在一些实现中,支持Wi-Fi的设备可以例如是智能系统中的节点,该节点被配置为与其他节点(例如,智能传感器)进行数据通信。仍然在另一个示例中,RF收发器100可以用于使用蓝牙技术的无线通信(例如,从大约2.4到大约2.485GHz的频带,对应于大约12cm的波长)。在其他实施例中,RF收发器100可用于发送和/或接收无线RF信号,用于通信以外的目的,例如,在汽车雷达系统中,或在诸如磁共振成像(MRI)的医疗应用中。在其他实施例中,RF收发器100可以用于有线通信,例如在有线电视网络中。
图1B提供了根据本公开的一些实施例的示例性基于间接学习架构的DPD 180的示意框图,其中可以实现参数化的基于模型的配置。在一些方面中,图1A的DPD电路110可以如图1B所示来实现,并且参数化模型训练系统172可以训练参数化模型170以配置DPD电路100用于基于间接学习的自适应。为了简单起见,在图1B中未示出发射机电路120和接收机电路150,并且仅示出了与执行DPD相关的元件。
对于间接学习,DPD自适应电路114可以使用观测到的接收信号(例如,反馈信号151y’)作为参考来预测对应于该参考的PA输入样本。用于预测输入样本的函数被称为逆PA模型(用于线性化PA 130)。一旦与观测到的数据相对应的输入样本的预测是好的(例如,当预测的输入样本和预失真信号104z之间的误差满足某些标准时),估计的逆PA模型被用于将发送数据(例如,输入信号102x)预失真到PA 130。也就是说,DPD自适应电路114可以计算由DPD致动器电路112用来对输入信号102x进行预失真的反向PA模型,其可以由c表示,对应于逆PA模型,并且用系数c更新DPD致动电路112,如虚线箭头所示。在一些示例中,DPD自适应电路114可以使用最小二乘近似来求解系数组c。
图1C提供了根据本公开的一些实施例的示例性基于直接学习架构的DPD 190的示意框图,其中可以实现参数化的基于模型的配置。在一些方面中,图1A的DPD电路110可以如图1C所示来实现,并且参数化模型训练系统172可以训练参数化模型170以配置DPD电路用于直接学习。为了简单起见,在图1B中未示出发射机电路120和接收机电路150,并且仅示出了与执行DPD相关的元件。
对于直接学习,DPD自适应电路114可以使用输入信号102x作为参考,以最小化观测到的接收数据(例如,反馈信号151y’)和发送数据(例如输入信号102X)之间的误差。在一些示例中,DPD自适应电路114可以使用迭代技术来计算由DPD致动器电路112用来预失真输入信号102x的M个系数的集合,该集合可以由c表示。例如,DPD自适应电路114可以基于先前计算的系数(在先前迭代中)和当前估计的系数来计算当前系数。DPD自适应电路114可以计算系数以最小化指示输入信号102x和反馈信号151y’之间的差的误差。DPD自适应电路114可以用系数c来更新DPD致动电路112,如虚线箭头所示。
在一些方面中,图1B的基于间接学习的DPD180或图1C的基于直接学习的DPD 190中的DPD致动器电路112可以使用如下所示的Volterra级数或GMP模型(其是Volterra级数的子集)来实现DPD致动:
z[n]=∑i,j∑kcijkfk(||x[n-i]||)x[n-j], (1)
其中z[n]表示预失真信号104z的第n个样本,fk(.)表示DPD模型的第k个函数(例如包括一组M个基函数),cijk表示DPD系数的集合(例如用于组合M个基函数的集合),x[n-i]和x[n-j]分别表示延迟了i和j个样本数的输入信号102的样本,||x[n-i]||表示样本x[n-i]的包络或振幅。在某些情况下采样延迟i和j的值可能取决于PA130对预失真感兴趣的非线性特性,x[n-i]和x[n-j]可以称为i、j交叉存储器项。虽然等式(1)示出了GMP模型被应用于输入信号102x的包络或幅度,但是各方面不限于此。一般来说,DPD致动器电路112可以直接或在根据由P()表示的预处理函数预处理输入信号102x之后将DPD致动应用于输入信号102X,该预处理函数可以是幅度函数、幅度平方或任何合适的函数。
在一些方面中,DPD致动电路112可以使用一个或多个查找表(LUT)来实现等式(1)。例如,项可以存储在LUT中,其中i,j个交叉存储器项的LUT可以表示为:
因此,DPD致动电路112的操作可以包括从输入信号102x中选择第一存储器项(例如x[n-i]和x[n-j]),并且基于LUT和所选择的第一存储器项来生成预失真信号104z,这将在下面参考图3-5更全面地讨论。对于使用图1C中所示的直接学习架构的DPD自适应,DPD自适应电路114的操作可以包括基于所选择的第一存储器项和基函数fk集合来计算DPD系数(例如系数ck集合),以及基于所计算的系数来更新一个或多个LUT。另一方面,对于使用图1B所示的间接学习结构的DPD自适应,DPD自适应电路114的操作可以包括选择来自反馈信号151y’的第二存储器项(例如y’[n-i]和y’[n-j]),基于所选择的第二存储器项和所述基函数fk集合来计算DPD系数(例如系数ck集合)并且基于所计算的系数来更新所述一个或多个LUT。因此,DPD电路110可以包括各种电路,例如用于存储各种交叉存储器项的LUT的存储器、用于存储器项选择的多路复用器、乘法器、加法器、以及用于执行指令以执行DPD操作(例如,致动和适配)的各种其它数字电路和/或处理器。
根据本公开的各方面,参数化模型训练系统172可以训练参数化模型170以配置DPD致动电路112和/或DPD自适应电路114来执行这些DPD促动和自适应(间接和/或直接学习)操作。下面将参照图2A-2B和图3-14更全面地讨论根据训练的参数化模型170来训练参数化模型170(在离线期间)和配置DPD硬件以用于致动和自适应(在在线期间)的机制。为了简单起见,使用与图1A-1C中相同的信号表示来讨论图2A-2B和图3-14。例如,符号x可以指对PA进行线性化的DPD致动器电路的输入信号,符号z可以指由DPD提供的输出信号(预失真信号),符号y可以指PA的输出,符号y’可以指指示PA的输出的观测到的接收信号,符号c可以指用于组合与PA的特征或非线性相关联的基函数的DPD系数。此外,输入信号102x和预失真信号104z可以称为传输数据(TX),并且反馈信号151y’可以被称为观测数据(ORx)。
硬件的示例模型体系结构搜索
本公开的一个方面提供了被配置为使用NN和深度学习算法的DPD布置(例如DNAS)来发现可以映射到DPD硬件块的最优内核。这种DPD布置可能特别适合于为GMP模型设计的基于LUT的DPD致动器(例如,如等式(1)所示)。在一些实施例中,基于LUT的DPD致动器可以包括多路复用器,该多路复用器从多个输入信号中选择一个信号(例如,用于存储器选择)。在一些实施例中,基于LUT的DPD致动器可以包括LUT(例如,如方程(2)所示),其被配置为将一个信号作为输入并根据该输入产生输出,如下面将参考图3-6更全面地讨论的。
与传统的NAS不同,在传统的NAS中,对候选神经网络架构的可微超集执行优化以使用反向传播和梯度下降搜索为手头的问题选择一个神经网络架构,本公开的各方面使用可微分构建块对硬件操作进行行为建模,并利用在目标硬件上收集的数据集执行DNAS。硬件可以是具有定义的输入输出和控制信号的电路,或者是具有以定义的方式连接的多个电路块的子系统。优化不仅可以在功能级别(即输入输出对应关系)上执行,还可以在子系统中执行的操作序列上执行。在一个实施例中,用于使用DNAS的实现可以包括DPD致动器、传输信号路径和在微处理器上运行的DPD自适应引擎。
图2A和2B是关于图1A-1C讨论的,以说明应用于DPD硬件的模型架构搜索机制。图2A提供了用于基于间接学习体系结构的DPD的离线训练以及在线适应和致动的方案200的图示(例如DPD 180)。方案200包括图2A左侧所示的离线训练和图2A右侧的在线适应和致动DPD。
在一些实施例中,离线训练系统(例如,参数化模型训练系统172)可以包括收发器系统、处理器和存储器系统。收发器系统可以基本上类似于其中要实现DPD致动和自适应的目标系统。例如,收发器系统可以包括PA(例如,PPA 130)、传输路径(其中输入信号102x可由DPD致动器电路112预失真并经由PA 130传输)和观察路径(其中可接收指示PA 130的输出的反馈信号151y’),基本上类似于图1A的RF收发器100。
处理器和内存系统(例如,诸如图15中所示的数据处理系统2300的计算机实现的系统)可以被配置为执行收发器系统的传输和观测数据的多个捕获,如捕获202所示,包括测量的和/或信号。特别地,对于间接学习DPD,捕获202可以包括从目标硬件捕获的预失真信号104z和反馈信号151y’和/或用于相应输入信号的期望预失真信号和/或反馈信号。更具体地说,捕捉可以以特定的间隔执行(例如,每0.5秒、1秒、2秒或更长时间),每个捕获可以包括输入信号102x的L个采样、预失真信号104z的M个连续采样和/或反馈信号151y’的N个采样,其中L、M、N可以相同或不同。
处理器和存储器系统可以生成具有到致动器电路112和DPD自适应电路114处的硬件块或电路的1对1映射的参数化模型170。处理器和存储器系统可以进一步基于硬件约束204来生成参数化模型170(例如,目标资源利用率或功耗)。处理器和存储器系统可以进一步执行优化算法,该优化算法获取传输和观测捕获202并优化参数化模型170的致动器模型参数和自适应模型参数。
在完成优化之后,处理器和存储器系统可以将优化的参数化模型170(具有优化的参数)转换为配置,例如,致动器配置212和自适应引擎配置214,其可以加载到固件上,用于配置用于在线操作的对应硬件。在一些示例中,可以针对具有某些非线性特性的特定类型的PA 130来训练参数化模型170,并且因此致动器配置212和自适应引擎配置214可以分别包括用于配置DPD致动器和DPD自适应引擎的参数,以预先补偿那些非线性特性。在一些示例中,致动器配置212可以指示用于配置用于DPD致动的LUT的信息,并且自适应引擎配置214可以指示与用于自适应DPD致动器所使用的系数的基函数相关联的信息。
在一些实施例中,用于致动和适配的片上DPD子系统可以包括DPD致动器电路112、PA 130、传输路径(其中输入信号102x可以被DPD致动器回路112预失真并经由PA 130传输)、观察路径(其中可以接收指示PA 130的输出的反馈信号151y’)、捕获缓冲器220、,以及处理器和存储器系统(例如,包括处理器核心240),如图2A的右侧所示。DPD致动器112可以包括LUT(例如,方程(2))和存储器项可编程延迟和多路复用器。处理器和存储器系统可以被配置为根据离线训练的参数来配置DPD致动器112的存储器项可编程延迟和多路复用器(例如,由致动器配置212指示)。处理器和存储器系统可以根据离线训练的参数(例如,由自适应引擎配置214指示)来执行存储器项选择和基函数生成(如DPD自适应电路114处的特征生成232所示)和捕获缓冲器220中的数据。特别地,对于间接学习DPD,处理器和存储器系统可以在捕获缓冲器220处捕获由DPD致动器电路112输出的预失真信号104z和反馈信号151y’。处理器和存储器系统可以进一步使用所选择的存储器项和生成的基函数来求解一组线性组合系数(由DPD自适应电路114处的求解器和致动器映射230示出)。在一些示例中,求解器和致动器映射230可以利用最小二乘近似技术来求解线性组合系数的集合。处理器和存储器系统还可以根据离线训练的参数从求解的系数和基函数生成LUT条目(例如,由自适应引擎配置214指示)并且映射到对应的存储器项LUT。此外,在一些方面中,DPD致动器电路112可以由数字硬件块或电路来实现,并且DPD自适应电路114可以由执行指令代码的处理器核心240来实现(例如,固件),其执行特征生成232以及求解器和致动器映射230。
图2B提供了用于基于直接学习架构的DPD的离线训练和在线DPD自适应和致动的方案250的图示(例如,DPD 190)。图2B的方案250在许多方面类似于图2A的方案200为了简洁,不重复对这些元件的讨论,并且这些元件可以采用本文公开的任何实施例的形式。
如上参考图1C所述,对于直接学习DPD,DPD自适应电路114可以计算系数以最小化指示输入信号102x和反馈信号151y’之间的差的误差。因此,在方案250中,对于图2B左侧的离线训练,离线处理器和存储器系统(例如,诸如图15所示的数据处理系统2300的计算机实现的系统)可以执行对来自目标硬件的输入信号102x和反馈信号151y’的多个捕获。也就是说,捕获202可以包括从目标硬件收集的输入信号102x和反馈信号151y’和/或对应输入信号的期望反馈信号。此外,如图2B的右侧所示,用于致动和自适应的芯片上DPD子系统可以在捕获缓冲器220处捕获输入信号102x和反馈信号151y’。特征生成232可以基于输入信号102x和反馈信号151y’。此外,在一些示例中,求解器和致动器映射230可以使用迭代求解方法来求解DPD致动器电路112所使用的一组线性组合系数。使用模型体系结构搜索技术的目标硬件的离线参数化模型训练示例
因此,在某些方面中,计算机实现的系统(例如,图1A的参数化模型训练系统172和/或图15的数据处理系统2300)可以实现离线训练方法,该离线训练方法用于执行模型体系结构搜索以优化目标硬件的硬件配置以执行特定数据转换(例如,DPD致动和/或自适应),如图2A和2B的离线训练中所示。数据转换可以包括线性和/或非线性操作。目标硬件(例如,图2A右侧所示的片上DPD子系统)可以包括至少可以执行算术运算和/或信号选择运算的处理单元池(例如,复用和/或解复用)。可以在包括处理单元池和相关联的能力、期望的硬件资源约束的搜索空间上执行模型架构搜索(例如,HW约束204)、和/或与数据转换相关联的硬件操作。还可以执行模型架构搜索以实现与数据转换相关联的特定期望性能度量,例如,最小化与数据转换相关联的误差度量。
为了执行模型体系结构搜索,计算机实现的系统可以接收与处理单元池相关联的信息。所接收的信息可以包括硬件资源约束(例如HW约束204)、硬件操作(例如,信号选择、乘法、加法、用于表查找的地址生成等)和/或与处理单元池相关联的硬件功能(例如,速度、延迟等)。计算机实现的系统可以进一步接收数据集(例如捕获202)。数据集可以在目标硬件上收集,并且可以包括输入数据、输出数据、控制数据等。也就是说,数据集可以包括从目标硬件测量的信号和/或期望的信号。在一些示例中,数据集可以包括输入信号102x、预失真信号104z和/或反馈信号151y’的捕获,例如,这取决于使用的是直接学习DPD架构还是间接学习DPD体系。计算机实现的系统可以使用所接收的硬件信息和所接收的数据集来训练参数化模型(例如参数化模型170)。训练可以包括更新与配置池中的处理单元的至少一个子集相关联的参数化模型的至少一个参数(以执行数据转换)。计算机实现的系统可以为池中的处理单元的至少子集输出一个或多个配置(例如,致动器配置212和自适应引擎配置214)。
在一些方面,计算机实现的系统可以进一步生成参数化模型,例如,通过生成池中的每个处理单元与多个可微分功能块中的不同功能块之间的映射。也就是说,池中的每个处理单元与每个可微功能块之间存在一一对应关系。
在一些方面中,数据转换操作可以包括至少第一数据转换和第二数据转换的序列,并且训练可以包括计算与第一数据转换关联的第一参数(例如,第一可学习参数)和与第二数据转换关联的第二参数(例如,第二可学习参数)。在一些方面中,计算与第一数据转换相关联的第一参数和与第二数据转换相关的第二参数可以进一步基于反向传播和损失函数(例如,通过使用梯度下降搜索)。在一些方面中,序列中的第一数据转换或第二数据转换可以与可执行指令代码相关联。换言之,参数化模型可以对由数字电路和/或模拟电路和/或者指令代码实现的硬件操作进行建模(例如,固件)。
在为离线训练建模DPD致动的示例中,序列中的第一数据转换可以包括基于第一参数从输入信号中选择存储器项(例如输入信号102x)。序列中的第二数据转换可以包括基于所述第二参数使用一组基函数(例如fk(.))和所选择的存储器项来生成与PA 130的非线性特性相关联的特征参数。与数据转换操作相关联的序列可以进一步包括第三数据转换,包括基于所述特征参数生成预失真信号(例如,预失真信号104z)。
在为离线训练建模DPD自适应的示例中,序列中的第一数据转换可以包括基于第一参数从指示所述非线性电子部件的输出的反馈信号(例如,反馈信号151y’)或所述输入信号中选择存储器项。序列中的第二数据转换可以包括基于第二参数使用一组基函数(例如fk)、DPD系数(例如ck)和所选择的存储器项生成与PA 130的非线性特性相关联的特征。与数据转换操作相关联的序列可以进一步包括第三数据转换,该第三数据转换包括基于特征和第二信号更新系数。当使用间接学习DPD时,第二信号可以对应于预失真信号104z(例如,如图1B所示)。或者,当使用直接学习DPD时,第二信号可以对应于输入信号102x和反馈信号151y’之间的差(例如,如图1C所示)。
基于使用模型体系结构搜索技术训练的参数化模型的示例在线硬件操作
在某些方面中,可以基于如本文所讨论的针对在线操作而训练的参数化模型(例如,参数化模型170)来配置装置。例如,该装置可以包括用于接收输入信号的输入节点和用于执行一个或多个算术运算(例如,乘法、加法等)和/或一个或多个信号选择运算(例如,多路复用和/或解多路复用、地址生成等)的处理单元池。池中的每个处理单元可以与对应于数据转换(例如,包括线性运算、非线性运算、DPD运算等)的至少一个参数化模型(例如NAS模型)相关联。该装置还可以包括控制块(例如,控制寄存器)以基于第一参数化模型(例如,参数化模型170)来配置和/或选择所述处理单元的至少第一子集,用于处理所述输入信号以生成第一信号。在一些方面中,可以基于池中的每个处理单元到多个可微分构建块中的不同构建块的映射以及在目标硬件上收集的输入数据集或输出数据集中的至少一个或硬件约束来离线训练第一参数化模型(例如,目标资源利用率和/或功耗)。例如,如本文所讨论的,训练可以基于多个可微分构建块上的NAS。
在一些方面中,数据转换可以包括一系列数据转换。例如,数据转换可以包括第一数据转换,然后是第二数据转换,其中第一数据转换将输入信号转换为第一信号,第二数据转换将第一信号转换为第二信号。在一些方面,数据转换序列可以通过数字硬件块(例如数字电路)和执行指令代码的处理器(例如,软件或固件)的组合来执行。例如,处理单元的第一子集可以包括用于执行第一转换的数字硬件块(例如数字电路),并且控制块可以进一步配置池中的处理单元的第二子集以执行用于执行第二转换的指令代码。
在某些方面,该装置可以是DPD装置(例如,DPD电路110),用于对非线性电子部件的输入信号进行预失真。例如,接收到的输入信号可以对应于输入信号102x,非线性电子部件可以对应于PA 130,并且第一信号可以对应于预失真信号104z。该装置还可以包括存储器,用于基于第一参数化模型来存储与非线性电子部件的一个或多个非线性特性相关联的一个或者多个查找表(LUT)。该装置还可以包括DPD块,该DPD块包括处理单元的第一子集以基于第一参数化模型从输入信号中选择第一存储器项(例如,方程(1)中所示的[n-i]和x[n-j]项)。处理单元的第一子集可以进一步基于一个或多个LUT(例如等式2示出的Li,j)和所选择的第一存储器项(例如,用于DPD驱动)来生成预失真信号。在一些方面中,处理单元的第一子集还可以基于第一参数化模型从与非线性电子部件的输出相关联的反馈信号(例如反馈信号151y’)中选择第二存储项(例如y’[n-i]和y’[n-j])。控制块还可以基于第一参数化模型来配置处理单元的第二子集以执行指令代码,从而基于所选择的第二存储器项和基函数集合来计算DPD系数(例如,系数集ck),并且基于所计算的系数和基函数的集合来更新一个或多个LUT中的至少一个(例如,用于DPD自适应)。
基于LUT的DPD致动器实现示例
如上所述,在一些实施例中,基于LUT的DPD致动器可以包括多路复用器,其在多个输入信号中选择一个信号。在一些实施例中,基于LUT的DPD致动器包含LUT,LUT被配置为将一个信号作为输入并根据该输入产生输出。图3-5示出了用于基于LUT的DPD致动器的各种实施方式。
图3提供了根据本公开的一些实施例的基于LUT的DPD致动器电路300的示例性实现的图示。例如,图1A-1C、2A-2B的DPD致动器电路112可以如图3所示来实现。如图3所示,基于LUT的DPD致动器电路300可以包括复数到幅度转换电路310、抽头延迟线312、多个LUT320、322、324、326、复数乘法器330和加法器340。为了简单起见,图3示出了三个延迟抽头312。然而,基于LUT的DPD致动器电路300可以被缩放为包括任何合适数量的延迟抽头312(例如,11、2、3、4、5、10、100、200、500、1000或更多)。
基于LUT的DPD致动器电路300可以接收输入信号102x,例如,包括采样块x[n],其中N可以从0到(N-1)变化,并且可以表示为x0,x1,…,xN-1。在一些情况下,输入信号102x可以是数字基带复数同相正交相位(IQ)信号。复数到幅度转换电路310可以计算每个复数样本x[n]的绝对值或幅度。抽头延迟线312可以生成输入信号102x的幅度的延迟版本,例如|x0|,|x1|,…,|xN-1|。LUT 320(例如的LUT)可以将信号|x[n]|的幅度作为输入并产生输出以类似的方式,LUT 322(例如的LUT)可以将信号|x[n-1]|的幅度作为输入并产生输出LUT 324(例如的LUT)可以将信号|x[n-2]|的幅度作为输入并生成输出并且LUT 326(例如的LUT)可以将信号|x[n-3]|的幅度作为输入并产生输出LUT 320、322、324、326的输出然后在复数乘法器330处分别与x[n-j1]、x[n-j2]、x[n-j3]和x[n-j4]相乘。来自复数乘法器330的输出的乘积在加法器340处求和,以提供用于致动器300的输出z[n],其中该输出可以对应于预失真信号104z。
虽然图3将LUT 320、322、324、326示出为单独的LUT,每个LUT对应于特定的i,j交叉存储器项(例如,对PA130的某些非线性特性建模),通常,基于LUT的DPD致动器电路400可以以任何合适的形式存储LUT 320、322、324、326。
图4提供了根据本公开的一些实施例的基于LUT的DPD致动器电路400的示例性实现的图示。例如,图1A-1C、2A-2B的DPD致动器电路112可以如图4所示来实现。图4的基于LUT的DPD致动器电路400在许多方面类似于图3的基于LUT的DPD驱动器电路300;为了简洁,不重复对这些元件的讨论,并且这些元件可以采用本文公开的任何实施例的形式。
在图4中,基于LUT的DPD致动器电路400可以利用多个LUT来生成预失真信号样本z[n],而不是如图3的基于LUT的DPD致动器电路300中那样针对每个预失真样本z[n]的单个LUT。为了简单起见,图4示出了利用两个LUT(LUT A 420和LUT B 422)来生成每个预失真样本z[n]的基于LUT的DPD致动器电路400。然而,基于LUT的DPD致动器电路400可以被缩放以使用任何合适数量的LUT(例如,大约3、4或更多),以生成每个预失真样本z[n]。此外,为了不混淆图4的附图,图4仅示出了用于前两个样本x0和x1的LUT A420和LUT B 422,但是可以针对延迟样本x2、x3、…、xn-1中的每一个包括LUT A42和LUT 422。
如图4所示,对于样本x[n],LUT A420可以将信号|x[n]|的幅度作为输入并产生输出而LUT B 422可以将信号|x[n]|幅度作为输入且产生输出以类似的方式,对于样本x[n-1],LUT A420可以将信号|x[n-1]|的幅度作为输入并生成输出而LUT B 422可以将信号|x[n-1]|幅度作为输入且生成输出等等。在一些示例中,LUT A420和LUT B 422可以各自对PA130的不同非线性特性进行建模。在复数乘法器330处,每个样本x[n],x[n-1],…,x[n-N-1]的LUT 420和422的输出…与相应的存储器项x[n-j1],x[n-j2],…,相乘。来自复数乘法器330的输出的乘积在加法器340处求和,以提供用于致动器300的输出z[n],其中该输出可以对应于预失真信号104z。
虽然图4将LUT 420和422示出为单独的LUT,每个LUT对应于特定的i,j个交叉存储器项,但是通常,基于LUT的DPD致动器电路400可以以任何合适的形式存储LUT 420、422。
图5提供了根据本公开的一些实施例的基于LUT的DPD致动器电路500的示例性实现的图示。例如,图1A-1C、2A-2B的DPD致动器电路112可以如图5所示来实现。图5的基于LUT的DPD致动器电路500在许多方面类似于图3的基于LUT的DPD驱动器电路300;为了简洁,不重复对这些元件的讨论,并且这些元件可以采用本文公开的任何实施例的形式。如图5所示,基于LUT的DPD致动器电路500可以包括抽头延迟线312、多个信号复用器510、多个预处理电路514(例如由预处理函数P(.)表示)、多个LUT 520、多个信号复用器512、多个乘法器330和加法器340。为了不混淆图5的附图,图5仅示出了用于第一样本x0的信号复用器510、预处理电路514、LUT 520和信号复用器512,但是可以以与用于样本x0类似的方式,为延迟样本x1,x2,…,xN-1中的每一个布置信号复用器510、预处理电路514、LUT 520以及信号复用器512。
如图5所示,抽头延迟线312产生输入信号102x的延迟版本,例如,表示为x0,x1,…,xN-1。每个多路复用器510基于选择信号511在所有可能的输入中选择一个信号xi。每个信号复用器512基于选择信号513在所有可能的输入中选择一个信号xj。每个预处理电路514对各自选择的信号xi进行预处理。预处理可以是复杂的包络或幅度计算、幅度平方、缩放函数或任何合适的预处理函数。每个LUT 520将处理后的信号P(xi)作为输入并产生输出Li,j(P(xi))。LUT 520的输出然后在复数乘法器330处与信号复用器512选择的相应信号相乘。来自复数乘法器330的输出的乘积在加法器340处求和,以提供用于致动器300的输出z[n],其中该输出可以对应于预失真信号104z。
图3-5中所示的用于基于LUT的DPD致动器的硬件实现可以用于驱动DPD块的模型架构搜索。在一些方面中,用于复用器510的选择信号511、用于复用器512的选择信号513和LUT 520可以被映射到作为模型架构搜索的一部分而训练的可学习参数,这将在下面更全面地讨论。
将硬件块映射到参数化模型元素
根据本公开的各方面,计算机实现的系统可以创建DPD致动器硬件的软件模型(例如,图3-5中所示的基于LUT的DPD致动器),其捕获相关硬件约束(例如,允许的内存项、LUT、模型大小等)。软件模型可以包括模型中的自适应步骤(例如,在间接学习DPD的情况下的线性最小二乘自适应或在直接学习DPD情况下的迭代解),以确定DPD系数c的集合(例如,如上面的等式(1)中所示)。在一些实施例中,非线性LUT基函数(例如fk(.))可以是任意的(GMP将它们限制为多项式)。例如,可以使用NN层的序列。在一些实施例中,可以使用用权重w参数化的矢量点积来对存储器项复用进行建模。
非线性函数可以在离线预训练阶段与存储器项的选择一起被共同优化,并且可以在部署后操作中在没有自适应的情况下使用(即,改变预训练参数的任何方式)。
在一些实施例中,可以使用“可学习”复用层来实现存储器项的选择的优化。这可以用来执行具有可学习参数的“N选择M”(M<N)运算。
在一些实施例中,LUT基函数和“可学习”复用层的参数可以被训练以最小化最终的最小二乘误差。例如,在一些实施例中,这可以使用具有反向传播的梯度下降来完成。
在一些示例中,软件模型的生成可以包括在专门设计的可微构建块中复制硬件操作,将硬件事件序列再现为可微计算图,以及利用硬件能力和约束离线优化硬件配置。
图6是关于图5讨论的,并且为了简单起见,图6可以使用相同的附图标记来指代与图5中相同的元件。图6提供了根据本公开的一些实施例的从具有一对一功能映射的硬件设计导出的示例性软件模型600的图示。如图6所示,软件模型600可以包括对LUT操作建模的第一部分602和对存储器项选择操作建模的第二部分604。
在第一部分602中,LUT 520操作DPD硬件之一可以将输入信号|x[i]|的幅度作为输入并生成输出Li(|x[i]|)。软件模型600可以将LUT 520表示为关于其输入|x[i]|的任意函数620。LUT 520操作可以表示为参数化模型170中的NN层,并且在一些情况下,可以使用另一个NN来训练,如下面将参照图7-9更全面地讨论的。
在第二部分604中,在DPD硬件上操作的多路复用器510可以基于选择信号511从多个输入信号x[n],x[n-1],x[n-2],...,x[n-M]中选择一个信号x[n-i]。软件模型600可以将多路复用器510的操作表示为一组权重624,如w[0],w[1],w[2],...,w[M]所示,在乘法器622处乘以输入信号[n],x[n-1],x[n-2],...,x[n-M],并且在加法器626处对乘积求和,如610所示。如进一步所示,权重w[i]=1和所有其他权重w[k≠i]=0,以及因此加法器626的输出对应于所选择的信号x[n-i]。软件模型600还可以使用如610所示的类似操作来对图5的多路复用器512的信号选择操作进行建模。通常,软件模型600可以以多种方式对复用器510和/或512的操作进行建模,以提供相同的信号选择功能。复用器510的操作(用于存储器项选择)可以被表示为参数化模型170中的NN层,并且权重w[0],w[1],w[2],...,w[M]可以被训练为模型架构搜索的一部分,这将在下面参考图7-9进行更全面的讨论。
DPD安排的自动模型发现示例
图7提供了根据本公开的一些实施例的用于训练DPD操作的参数化模型的示例性方法700的图示。方法700可以由计算机实现的系统来实现(例如,图1A的参数化模型训练系统172和/或图15所示的数据处理系统2300)。在一些方面中,方法700可以被实现为图2A和/或2B中所示的离线训练的一部分。在高层,方法700执行模型架构搜索以优化DPD硬件的硬件配置(例如,图1A-1C和2A-2B的DPD致动器电路112和DPD自适应电路114),以预补偿PA的非线性(例如,图1A-1C和2A-2B的PA130)。方法700可以复制DPD致动电路112和/或DPD自适应电路114的硬件操作。
在一些方面中,计算机实现系统可以包括存储指令的存储器和一个或多个计算机处理器,其中,当指令由一个或多个计算机处理器执行时,使一个或更少个计算机处理器进行方法700的操作。在其他方面中,方法700的操作可以是编码在非暂时性可计算可读存储介质中的指令的形式,当指令由计算机实现的系统的一个或多个计算机处理器执行时,使一个或多个计算机处理器执行方法700。
在710,计算机实现的系统可以接收在目标硬件上收集的测量信号和/或期望信号的捕获。目标硬件可以类似于图1的RF收发器100、图1B的间接学习DPD180和/或图1C的直接学习DPD 190。捕获可以类似于捕获202。特别地,捕获可以包括输入信号102x、预失真信号104z和/或从目标硬件捕获的反馈信号151y’和/或相应的期望信号。
在712,计算机实现的系统可以生成捕获的信号的延迟版本(以复制抽头延迟线312),从捕获的信号中选择存储器项(以复制多路复用器510和512操作),和/或对准捕获的信号(根据特定的参考采样时间)。
在714,计算机实现的系统可以执行DPD特征生成。DPD特征生成可以包括应用各种基函数716(例如fi,j(P(xi)))来生成与PA130相关联的特征(或非线性特征)。DPD特征生成可以输出所有可能的特征。
在718,计算机实现的系统可以执行特征选择。例如,特征选择可以从DPD特征生成输出的可能特征中选择一个或多个特征。该选择可以基于某个标准或阈值,例如,当某一阶非线性或非线性的组合超过阈值时。在一些示例中,如果在714处由特征生成输出的特征指示存在三阶非线性而不是五阶非线性,则特征选择可以选择与三阶非线性相关联的特征。此外,可以针对三阶非线性生成一组基函数。作为另一示例,如果特征生成输出的特征指示存在三阶非线性和五阶非线性,则特征选择可以选择与三阶非线性相关联的特征和与五阶非线性相关的特征。此外,可以针对三阶非线性生成基函数的集合,并且可以针对五阶非线性生成另一组基函数。作为另一示例,如果由特征生成输出的特征指示三阶非线性和五阶非线性之间的相关性,则特征选择可以选择与三阶非线性相关联的特征和与五阶非线性相关的特征。此外,可以针对三阶非线性和五阶非线性生成一组基函数。
在720,计算机实现的系统可以基于由特征(例如,存储器项和基函数)选择输出的所选特征和DPD系数来计算乘积和以生成如图5所示的预失真信号104。
在722,计算机实现的系统可以确定均方误差(MSE)损失(例如,目标或期望发射信号与预失真信号之间的差)。
计算机实现的系统可以执行反向传播以调整718处的特征选择、714处的特征生成和/或712处的延迟/存储器项选择,并且可以重复方法700直到MSE损失满足某些标准(例如,阈值)。
在一些方面中,计算机实现的系统可以训练NN 732以生成如730所播种的基函数。为此,NN 732可将输入信号102x和/或反馈信号151y’的各种存储器项作为NN 732的输入,并且NN 732可以生成基函数fi,j(|xi|)。在这种情况下,基函数可以是任何任意函数,并且不一定在数学上可以表示为多项式。
图8提供了根据本公开的一些实施例的将DPD操作建模为可微分功能块序列的示例性参数化模型800的示意图。模型800可以由计算机实现的系统生成(例如,图1A的参数化模型训练系统172和/或图15所示的数据处理系统2300)。模型800可以类似于参数化模型170。在一些方面中,参数化模型800可以被生成为图2A和/或2B中所示的离线训练的一部分。在高层,DPD硬件(例如DPD电路10)可以包括处理单元池(例如,包括数字硬件块或电路、模拟电路、ASIC、FPGA和/或执行固件的处理器),并且模型800可以将每个处理单元映射到多个可微分功能块中的不同功能块。在一些方面中,计算机实现的系统可以利用与图2A-2B的离线训练和/或图7的方法700中基本相似的机制来生成参数化模型800。
如图8所示,模型800将DPD致动建模为由可学习参数或权重θ参数化的特征生成830和在数字硬件块804上执行的矩阵乘法850。例如,数字硬件块804可以对应于DPD致动器电路112中的数字电路。模型800进一步将DPD自适应建模为可微分功能块,其复制在数字硬件块806和在处理器上运行的固件808上执行的DPD自适应过程。例如,数字硬件块806和运行固件808的处理器可以对应于DPD自适应电路114中的数字电路和处理器。在一些方面中,数字硬件块804和数字硬件块806可以对应于相同的数字硬件块。在其他方面中,数字硬件块804中的至少一个数字硬件块不是数字硬件块806的一部分。
如图8中进一步所示,模型800可以接收数据集802。数据集802可以基本上类似于图2A-2B的捕获202和/或710处的捕获。例如,数据集802可以包括从目标硬件(例如,RRF收发器100)测量的输入信号102x和/或反馈信号151y’的捕获。对于DPD致动,模型800可以基于输入信号102x执行特征生成830(通过可学习的参数或权重θ进行参数化)以输出特征矩阵A。模型800可以在特征矩阵A和一组系数之间执行矩阵乘法850。
模型800可以对在数字硬件块806上执行的捕获操作810和预处理操作820进行建模。预处理操作820可以预处理输入信号102x和反馈信号151y’,并分别输出预处理信号x’和y’。在一些方面中,预处理操作820可包括将反馈信号151y’与输入信号102x时间对准。预处理操作820可取决于使用直接学习DPD还是间接学习DPD。对于直接学习DPD,输出预处理信号x’可以对应于输入信号102x,并且输出预处理的信号y’可以对应对准之后的输入信号102X和反馈信号151y’之间的差。对于间接学习DPD,输出预处理信号x’可以对应于反馈信号151y’,并且输出预处理的信号y’可以对应于输入信号102x。对于DPD自适应,模型800可以包括执行作为DPD自适应固件的一部分的特征生成840和求解器860(例如,用于在线操作的处理器上执行的指令代码)。如图所示,模型800可以基于输出的预处理信号x’执行特征生成840(通过相同的可学习参数或权重θ进行参数化作为用于DPD致动的特征生成830),以输出特征矩阵换言之,可以从用于直接学习DPD的输入信号102x或从用于间接学习DPD地反馈信号151y’生成特征矩阵。模型800可以进一步应用求解器860来求解系数其中,当使用间接学习DPD架构时, 在其他情况下,当使用直接学习DPD架构时,求解器860可以使用迭代解(例如)来求解系数模型800可以进一步提供用于DPD致动的更新系数(例如,用于矩阵乘法850)。计算机实现的系统可以通过执行具有反向传播的梯度下降搜索来优化模型800的参数(例如θ),如虚线箭头所示。
图9和图10彼此相关地进行讨论,以图示针对目标DPD硬件离线执行的模型架构搜索过程以及在目标DPD五金件上的对应的在线DPD操作。目标硬件可以包括处理单元池,该处理单元池可以执行用于执行DPD致动和DPD自适应的算术运算和/或信号选择操作(例如,多路复用和/或解多路复用)。处理单元池可以包括数字电路、模拟电路、处理器、ASIC、FPGA等。在某些方面,目标DPD硬件可以包括数字线路和至少可以执行指令代码的处理器。
图9提供了示出根据本公开的一些实施例的用于训练DPD的参数化模型的示例性方法900的流程图。方法900可以由计算机实现的系统(例如,图1A的参数化模型训练系统172和/或图15所示的数据处理系统2300)来实现。在一些方面中,方法900可以被实现为图2A和/或2B中所示的离线训练的一部分。在高级上,方法900执行模型架构搜索以优化DPD硬件的硬件配置(例如,图1A-1C和2A-2B的DPD致动器电路112和DPD自适应电路114)以预补偿PA的非线性(例如,图1A-1C和2A-2B的PA 130)。方法900可以复制DPD致动电路112和/或DPD适配电路114的硬件操作,并且执行用于配置实际DPD致动电路112和/或DPD自适应电路114用于在线操作的模型架构。方法900可以利用与图7的方法700和图8的模型800中类似的机制。
在一些方面中,计算机实现系统可以包括存储指令的存储器和一个或多个计算机处理器,其中,当指令由一个或多个计算机处理器执行时,使一个或更少个计算机处理器进行方法900的操作。在其他方面中,方法900的操作可以是编码在非暂时性可计算可读存储介质中的指令的形式,当指令由计算机实现的系统的一个或多个计算机处理器执行时,使一个或多个计算机处理器执行方法900。
在910,计算机实现的系统可以接收包括从目标硬件收集的测量信号和/或期望信号的输入。目标硬件可以类似于图1的RF收发器100、图1B的间接学习DPD 180和/或图1C的直接学习DPD 190。输入可以类似于捕获202和/或数据802。在一个例子中,输入可以包括对输入信号102x的捕获(用于到PA 130的输入)和观察到的接收信号或表示PA 130的输出和/或所需信号的反馈信号151y’(例如,期望的PA输入和/或输出信号)。
在912,计算机实现的系统可以基于可学习权重w来选择可编程延迟。在一个示例中,可编程延迟可以对应于图3-5的抽头延迟线312,并且可学习权重w可以对应于用于对复用器510和512处的信号选择建模的权重w,如图6所示。
在914,计算机实现的系统可以基于可学习的权重w来选择存储器项。存储器项可以对应于上面参考图2A-2B和3-5所讨论的i,j个交叉存储器项的组合。
在916,计算机实现的系统可以使用具有可学习参数θ的基函数来生成特征A,例如类似于图8的特征生成840。如上所述,特征生成840可以通过在线操作期间在处理器上执行固件或指令代码来实现。
在918,计算机实现的系统可以解决的自适应问题,例如,类似于图8的求解器860。
在920,计算机实现的系统可以训练可学习的参数w和θ以最小化由表示的误差。
在一个方面中,方法900的910、912、914、916、918和920处的操作可以被视为数据转换902、903、904、905和906的序列,其可以被映射到NN层的序列。这样,计算机实现的系统可以进一步执行从920返回到912的反向传播922,以调整或更新可学习参数w和θ。作为反向传播922的一部分,计算机实现的系统可以更新用于存储器项选择的可学习参数w。例如,如果相对于参数w的梯度朝向某个方向,则反向传播922可以朝向该方向优化参数w。以类似的方式,如果相对于参数θ的梯度朝着某个方向,则反向传播922可以优化参数θ朝着那个方向。在反向传播之后,如果需要,可以重复900的方法,然后进行另一反向传播922。通常,该过程可以继续,直到920处的误差满足某些标准,在此期间可学习参数w和θ被视为受过训练。然后,训练好的参数化模型就可以用于推理了(例如,以配置DPD硬件)。换句话说,方法900训练由参数w和θ通过复制DPD硬件操作表示的参数化模型(例如,参数化模型170),并且训练的参数化模型(例如训练的参数w和θ)可以用于配置用于在线自适应和致动的实际DPD硬件电路。
图10提供了示出根据本公开的一些实施例的用于1000执行用于在线致动和自适应的DPD操作的示例性方法的流程图。方法1000可以通过DPD装置来实现(例如,DPD电路110、间接学习DPD 180和/或直接学习DPD 190)。DPD设备可以是基于LUT的,例如,包括类似于图5的基于LUT DPD致动器500的基于LUT的DPD致动器。在一些方面中,方法1000可以被实现为图2A和/或2B中所示的在线适应和致动的一部分。如下所示,方法1000在DPD设备上执行的操作对应于用于训练参数化模型的方法900的操作(例如,可学习参数w和θ),以及训练的参数w和θ直接用于在线操作。
在1002处,DPD设备接收测量的和/或期望的信号的输入。在一些示例中,输入可以包括从DPD设备的输入节点接收的输入信号102x。在一些示例中,可以从DPD设备的捕获缓冲器(例如捕获缓冲器220)获得输入。输入可以包括对输入信号102x(对于到PA 130的输入)的捕获和观察到的接收信号或表示PA 130的输出和/或所需信号(例如,期望的PA输入和/或输出信号)的反馈信号151y’。
在1004处,DPD装置可基于训练的权重w来生成存储器项和延迟样本,例如,对应于方法900的914处的操作。存储器项可以对应于上面参考图2A-2B和3-5讨论的i,j个交叉存储器项的组合。
对于DPD致动,在1012处,DPD设备可以基于所选择的存储器项来配置DPD设备的致动器(例如DPD致动器电路112)。例如,致动器可以如图5所示来实现,并且DPD设备可以基于所选择的存储器项来配置可编程延迟(例如延迟312)和多路复用器(例如多路复用器510和512)。在一些情况下,DPD设备还可以配置LUT以存储基函数和系数的组合(例如,如等式(2)所示)。
对于DPD自适应,在1006处,DPD装置可以使用具有训练参数θ的基函数来生成特征A,例如对应于方法900的916处的操作。在1008处,DPD装置可以解决例如与方法900的918处的操作相对应的自适应问题在1010,例如,如等式(2)所示,DPD设备可以基于求解的系数来编程LUT值(用于DPD设备处的LUT)。
示例可微分顺序运算
序列运算可以被建模为可微计算图。相同的操作序列可以用可微分的功能块来再现。虽然上面参考图6-10讨论的顺序硬件操作的可微分功能块的映射是在DPD致动和DPD适配的上下文中讨论的,但是类似的技术可以是任何合适的硬件操作。在图11和12中示出了可微分顺序操作的一些示例。
图11提供了根据本公开的一些实施例的硬件块序列到差分功能块序列的示例性映射1100的示意图。如图11所示,目标硬件1102可以对输入信号x执行二次函数1110,随后执行有限脉冲响应(FIR)滤波器1112(示为Conv 1D),其是一维(1D)卷积。FIR滤波器1112可以包括滤波器系数,其可以由h表示。这些硬件操作可以被映射到参数化模型1104,其中硬件操作和可微分功能块之间具有1-1的对应关系。如图所示,硬件上的二次函数1110和FIR1112的序列被分别映射到参数化模型1104中的可微功能块1120和1122的序列。梯度下降算法可以与反向传播一起应用于如虚线箭头所示的损失函数以优化参数化模型1104。例如,二次函数1110和FIR 1112的运算的输出可以与期望的参考信号进行比较,并且可以用函数来计算误差,并且可以作为反向传播的一部分来计算相对于h(例如)和相对于x(例如)的梯度。在参数化模型1104被训练之后,可以根据训练的参数化模型1104来配置目标硬件1102(例如,训练的FIR系数)。
图12提供了根据本公开的一些实施例的硬件块序列到差分功能块序列的示例性映射1200的示意图。如图12所示,目标硬件1202可以执行预补偿1210(例如,DPD)以线性化下游非线性组件1220的某些非线性(例如,PA 130)。预补偿1210可以包括应用于输入信号x的数据转换序列B_11212、B_2 1214、B3_1216、…、B_N 1218。这些数据转换中的至少一些可以基于可学习参数来配置。这些硬件操作可以被映射到参数化模型1204,其中硬件操作和可微分功能块之间具有1-1的对应关系。如图所示,硬件上的数据转换序列B_1 1212、B_21214、B3_1216、…、B_N 1218分别映射到参数化模型1204中的可微功能块序列1222、1224、1226、…、1228。梯度下降算法可以与反向传播一起应用,如虚线箭头所示,以优化参数化模型1204中的可学习参数。在参数化模型1104被训练之后,目标硬件1102可以根据参数化模型1104来配置(例如,训练的参数)。
用于训练映射到目标硬件的参数化模型并将训练的参数化的模型应用于目标硬件的示例方法
图13提供了示出根据本公开的一些实施例的用于训练映射到目标硬件的参数化模型的方法1300的流程图。方法1300可以由计算机实现的系统(例如,图1A的参数化模型训练系统172和/或图15所示的数据处理系统2300)来实现。在一些方面中,方法1300可以被实现为图2A和/或2B中所示的离线训练的一部分。在高层,方法1300执行模型体系结构搜索以优化DPD硬件(例如图1A-1C和2A-2B的DPD致动器电路112和DPD自适应电路114)的硬件配置,以预补偿PA的非线性(例如,图1A-1C和2A-2B的PA 130)。在图13中,每个操作以特定顺序示出一次,但是操作可以根据需要并行执行、重新排序和/或重复。
在一些方面中,计算机实现系统可以包括存储指令的存储器和一个或多个计算机处理器,其中,当指令由一个或多个计算机处理器执行时,使一个或更少个计算机处理器进行方法1300的操作。在其他方面中,方法1300的操作可以是编码在非暂时性可计算可读存储介质中的指令的形式,当指令由计算机实现的系统的一个或多个计算机处理器执行时,使一个或多个计算机处理器执行方法1300。
在1302,计算机实现的系统可以接收与处理单元池相关联的信息。处理单元池可以是目标硬件,对于该目标硬件,参数化模型(例如,参数化模型170)将使用模型体系结构搜索(例如,DNAS)来训练技术。处理单元池可以包括数字电路、模拟电路、用于执行指令代码的处理器(例如,固件)、ASIC、FPGA等。处理单元池可以执行一个或多个算术运算和一个或多个信号选择运算。该信息可以包括硬件约束、硬件操作、硬件能力。
在1304,计算机实现的系统可以接收与数据转换操作相关联的数据集(例如,非线性运算、线性运算)。数据集可以包括输入信号、与从目标硬件测量的输入信号相对应的输出信号和/或期望的信号。在一个例子中,数据转换操作可以是DPD操作,并且数据集可以包括对输入信号102x(用于到PA 130的输入)的捕获以及观察到的接收信号或表示PA 130的输出和/或期望信号的反馈信号151y’(例如,期望的PA输入和/或输出信号)。
在1306,计算机实现的系统可以基于数据集和与处理单元池相关联的信息来训练与数据转换操作相关联的参数化模型。训练可以包括更新与配置池中的处理单元的至少子集相关联的参数化模型的至少一个参数(例如可学习的参数)。
在1308,计算机实现的系统可以基于训练输出用于池中的处理单元的至少子集的一个或多个配置。例如,一个或多个配置可以指示与从训练更新的至少一些可学习参数相关联的信息。
在一些方面中,方法1300可以进一步生成参数化模型。生成可能包括生成所述池中的每个处理单元到多个可微分功能块中的一个的映射,例如,如上面参考图8-12所讨论的。
在一些方面中,数据转换操作可以包括至少第一数据转换和第二数据转换的序列,并且在1306处的训练可以包括计算与第一数据转换相关联的第一参数(例如可学习的参数)和与第二数据转换相关联的第二参数(例如可学习的参数)。在某些方面,所述计算与第一数据转换相关联的第一参数和与所述第二数据转换相关联的第二数据进一步基于反向传播和损失函数。在一些方面中,所述序列中的第一数据转换或所述第二数据转换与可执行指令代码相关联。在一些示例中,第一数据转换可以由目标硬件处的数字电路执行,并且第二数据转换可以在由目标硬件的处理器执行的固件中实现。
在某些方面中,数据转换操作与DPD(例如,DPD电路110、直接学习DPD 180和/或DPD 190)相关联,用于对非线性电子部件的输入信号进行预失真。例如,如本文所讨论的,输入信号可以对应于输入信号102x,并且非线性电子部件可以对应于PA 130。在第一示例中,数据转换可以对应于DPD致动。因此,序列中的第一数据转换可以包括基于第一参数(例如,如上参考图9所述的可学习权重w)从输入信号中选择存储器项(例如如上所述的i,j交叉存储器项)。序列中的第二数据转换可以包括使用一组基函数和所选择的存储项来生成与非线性电子部件的非线性特性相关联的特征(例如,如上面参考图8-9所讨论的特征矩阵A),其中该生成可以基于第二参数(例如,可学习的参数θ,如上面参考图8-9所讨论的那样)。与数据转换操作相关联的序列可以进一步包括第三数据转换,该第三数据转换包括基于特征生成预失真信号。
在第二示例中,数据转换可以对应于DPD自适应。因此,序列中的第一数据转换可以包括从指示非线性电子部件的输出的反馈信号(例如反馈信号151y’)或输入信号中选择存储器项,其中该选择基于第一参数(例如,如上参考图9所述的可学习权重w)。序列中的第二数据转换可以包括使用一组基函数和所选择的存储项来生成与非线性电子部件的非线性特性相关联的特征(例如如上面参考图8-9所讨论的特征矩阵A),其中该生成可以基于第二参数(例如如以上参考图8-9所讨论的可学习的参数θ)。与数据转换操作相关联的序列可以进一步包括包括更新系数的第三数据转换(例如,如以上参考图1A-1C、2A-2B、8-9所讨论的系数c)。在间接学习DPD的示例中,第一数据转换可以包括基于第一参数从反馈信号中选择存储器项,并且第三数据转换包括基于预失真信号更新系数(例如,信号104z),如上面参考图1B所讨论的。在用于直接学习DPD的示例中,第一数据转换可以包括基于第一参数从输入信号中选择存储器项,并且第三数据转换可以包含基于反馈信号和输入信号之间的差来更新系数,如以上参考图1C所讨论的。在一些方面中,作为在1306处训练参数化模型的一部分,计算机实现的系统可以执行反向传播以更新第二参数以生成基函数集合,例如,如上文参考图7和图9所讨论的。在一些方面中,作为在1308处输出一个或多个配置的一部分,计算机实现的系统可以输出一个或者多个配置,该一个或者更多个配置可以进一步指示与存储器项或者基函数集合的选择相关联的查找表(LUT)配置中的至少一个。例如,一个或多个配置可以类似于如上参考图2A-2B所述的致动器配置212和/或自适应发动机配置214。
图14提供了示出根据本公开的一些实施例的用于在基于参数化模型配置的目标硬件(例如,设备)上执行操作的方法1400的流程图。在一些方面中,方法1400可以由DPD设备(例如DPD电路110、间接学习DPD 180和/或直接学习DPD 190)来实现,参数化模型针对该DPD设备进行训练。在一些方面中,方法1400可以被实现为图2A和/或2B中所示的在线适应和致动的一部分。在图14中,每个操作以特定顺序示出一次,但是操作可以根据需要并行执行、重新排序和/或重复。
在1402处,该装置可以接收输入信号。
在1404,该装置可以基于与数据转换(例如,非线性运算、线性运算、DPD运算等)相关联的参数化模型(例如参数化模型170)来配置处理单元池中的至少第一处理单元子集。处理单元池可以包括数字硬件块或数字电路、模拟硬件块或模拟电路、处理器、ASIC、FPGA等。处理单元的第一子集可以执行一个或多个信号选择和一个或一个以上算术运算。
在1406,该装置可以对输入信号执行数据转换,其中执行数据转换可以包括使用处理单元的第一子集来处理输入信号以生成第一信号。
在一些方面中,方法1400可以包括该装置基于参数化模型来配置处理单元池中的处理单元的第二子集,其中执行数据转换还可以包括使用处理单元的第一子集来处理第一信号以生成第二信号。也就是说,数据转换可以包括一系列数据转换。在一些方面中,处理单元的第一子集可以包括数字硬件块(例如,数字电路)、处理单元的第二子集包括一个或多个处理器,并且执行数据转换可以包括使用数字硬件块来处理输入信号以生成第一信号,以及在一个或多个处理器上执行指令代码以处理第一信号以生成第二信号。在一些方面中,方法1400可以包括该装置基于参数化模型来配置处理单元池中的处理单元的第三子集。执行数据转换还可以包括使用处理单元的第三子集来处理第二信号以生成第三信号。在一些方面中,处理单元的第一子集与处理单元的第三子集相同。在其他方面中,处理单元的第一子集中的至少一个处理单元不在处理单元的第三子集中。
在一些方面中,用于配置处理单元的第一子集的参数化模型可以基于在池中的每个处理单元到多个可微分构建块中的不同构建块(例如,如以上参考图2A-2B、6、7-12所讨论的)以及在目标硬件上收集的输入数据集、在目标硬件中收集的输出数据集或硬件约束中的至少一个之间的映射来训练。在一些方面中,用于处理单元的第一子集的配置的参数化模型基于NAS在多个可微分构建块上被进一步训练。
在某些方面中,该装置可以是用于执行DPD致动和DPD自适应的DPD装置(例如,DPD电路110、间接学习DPD180和/或直接学习DPD190)。在DPD致动的示例中,输入信号可以与非线性电子部件(例如PA 130)的输入(例如输入信号102x)相关联。在1406处处理输入信号以生成第一信号可以包括基于参数化模型(例如,基于参数化模型中训练的权重w)从输入信号中选择第一存储项(例如,i,j个交叉存储器项),并且基于与非线性电子部件的一个或多个非线性特性相关联的一个或者多个LUT(例如LUT 320、322、324、326、420、422和/或520)和第一选择的存储项生成预失真信号(例如输出信号104z),其中第一信号可以对应于预失真信号。在一些示例中,可以基于参数化模型来配置一个或多个LUT(例如,基于在参数化模型中训练的参数θ)。在使用间接学习的DPD自适应示例中(例如,如图1B所示),该装置还可以基于参数化模型从与非线性电子部件相关联的反馈信号中选择第二存储器项(例如,参数化模型中训练的权重w)。该装置还可以基于参数化模型来配置处理单元池中的处理单元的第二子集,以执行指令代码,从而基于所选择的第二存储器项和一组基函数来计算DPD系数(例如系数c)。指令代码还可以使得处理单元的第二子集基于计算出的系数和基函数集合来更新一个或多个LUT中的至少一个。在使用直接学习的DPD自适应示例中(例如,如图1C)所示,该装置还可以基于参数化模型来配置处理单元池中的处理单元的第二子集,以执行指令代码,从而基于所选择的第一存储器项和一组基函数来计算DPD系数(例如系数c)。指令代码还可以使得处理单元的第二子集基于计算出的系数和基函数集合来更新一个或多个LUT中的至少一个。
图15提供了示出根据本公开的一些实施例的示例性数据处理系统2300的框图,该系统可以被配置为使用神经网络来实现或控制硬件块配置的至少一部分。在一个示例中,数据处理系统2300可以被配置为使用本文所讨论的模型体系结构搜索技术(例如DNAS)来训练用于配置目标硬件的参数化模型(例如参数化模型170)。在另一示例中,数据处理系统2300可以被配置为基于如本文所讨论的训练参数化模型所提供的配置来配置DPD硬件。
如图15所示数据处理系统2300可以包括至少一个处理器2302,例如硬件处理器2302,通过系统总线2306耦合到存储器元件2304。这样,数据处理系统可以将程序代码存储在存储器元件2304内。此外,处理器2302可以执行经由系统总线2306从存储器元件2304访问的程序代码。在一个方面,数据处理系统可以被实现为适合于存储和/或执行程序代码的计算机。然而,应当理解,数据处理系统2300可以以包括能够执行本公开中描述的功能的处理器和存储器的任何系统的形式来实现。
在一些实施例中,处理器2302可以执行软件或算法来执行如本公开中所讨论的活动,特别是与使用如本文所述的神经网络执行DPD相关的活动。处理器2302可以包括提供可编程逻辑的硬件、软件或固件的任何组合,包括作为非限制性示例的微处理器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、专用集成电路(IC)(ASIC)或虚拟机处理器。处理器2302可通信地耦合到存储器元件2304,例如在直接存储器存取(DMA)配置中,使得处理器2302可以从存储器元件2304。
通常,存储器元件2304可以包括任何合适的易失性或非易失性存储器技术,包括双倍数据速率(DDR)随机存取存储器(RAM)、同步RAM(SRAM)、动态RAM(DRAM)、闪存、只读存储器(ROM)、光介质、虚拟存储区域、磁存储器或磁带存储器,或任何其他合适的技术。除非另有规定,否则本文讨论的任何存储器元件都应被解释为包含在广义的“存储器”中。可以在任何数据库、寄存器、控制列表、高速缓存或存储结构中提供被测量、处理、跟踪或发送到数据处理系统2300的任何组件或从数据处理系统的任何组件发送的信息,所有这些都可以在任何合适的时间段被引用。任何这样的存储选项都可以包括在本文所使用的广义“存储器”中。类似地,本文中描述的任何潜在处理元件、模块和机器都应被解释为包含在广义的“处理器”中。本图中所示的每个元件,例如,示出用于使用如图1-13所示的神经网络执行DPD的DPD布置的任何元件也可以包括用于在网络环境中接收、发送和/或以其他方式通信数据或信息的合适接口,使得它们可以与例如数据处理系统2300通信。
在某些示例实现中,使用如本文所概述的神经网络执行DPD的机制可以通过编码在一个或多个有形介质(可能包括非临时性媒体)中的逻辑(例如,ASIC、DSP指令、处理器或其他类似机器执行的软件(可能包括目标代码和源代码)中提供的嵌入式逻辑)来实现。在其中一些情况下,内存元素,例如图15所示的存储器元件2304可以存储用于本文所述的操作的数据或信息。这包括能够存储被执行以执行本文所述的活动的软件、逻辑、代码或处理器指令的存储器元件。处理器可以执行与数据或信息相关联的任何类型的指令,以实现本文详细描述的操作。在一个示例中,处理器,例如图15中所示的处理器2302,可以将元素或物品(例如,数据)从一种状态或事物转换到另一种状态或者事物。在另一示例中,本文概述的活动可以用固定逻辑或可编程逻辑(例如,由处理器执行的软件/计算机指令)来实现,并且本文所标识的元件可以是某种类型的可编程处理器、可编程数字逻辑(例如,FFPGA、DSP、可擦可编程只读存储器(EPROM)、电可擦可编程序只读存储器(EEPROM))或包括数字逻辑、软件、代码、电子指令或其任何合适的组合的ASIC。
存储器元件2304可以包括一个或多个物理存储器设备,例如本地存储器2308和一个或多个大容量存储设备2310。本地存储器可以指通常在程序代码的实际执行期间使用的RAM或其他非持久性存储器设备。大容量存储设备可以实现为硬盘驱动器或其他持久数据存储设备。处理系统2300还可以包括一个或多个高速缓冲存储器(未示出),其提供至少一些程序代码的临时存储,以便减少在执行期间必须从大容量存储设备2310检索程序代码的次数。
如图15所示,存储器元件2304可以存储应用程序2318。在各种实施例中,应用程序2318可以存储在本地存储器2308、一个或多个大容量存储设备2310中,或者与本地存储器和大容量存储装置分开。应当理解,数据处理系统2300可以进一步执行操作系统(图15中未示出),该操作系统可以促进应用2318的执行。以可执行程序代码的形式实现的应用2318可以由数据处理系统2300执行,例如,通过处理器2302。响应于执行应用程序,数据处理系统2300可以被配置为执行这里描述的一个或多个操作或方法步骤。
可选地,被描绘为输入设备2312和输出设备2314的输入/输出(I/O)设备可以耦合到数据处理系统。输入设备的示例可以包括但不限于键盘、诸如鼠标之类的定点设备等。输出设备的示例可以包括但不限于监视器或显示器、扬声器等。在一些实施例中,输出设备2314可以是任何类型的屏幕显示器,例如等离子体显示器、液晶显示器(LCD)、有机发光二极管(OLED)显示器、电致发光(EL)显示器,或者任何其他指示器,例如表盘、气压计或LED。在一些实施方式中,该系统可以包括用于输出设备2314的驱动器(未示出)。输入和/或输出设备2312、2314可以直接或通过介入I/O控制器耦合到数据处理系统。
在一个实施例中,输入和输出设备可以被实现为组合的输入/输出设备(在图15中用虚线围绕输入设备2312和输出设备2314示出)。这种组合设备的一个例子是触敏显示器,有时也称为“触摸屏显示器”或简称“触摸屏”。在这样的实施例中,对设备的输入可以通过诸如用户的触笔或手指之类的物理对象在触摸屏显示器上或附近的移动来提供。
可选地,网络适配器2316也可以耦合到数据处理系统,以使其能够通过介入的专用或公共网络耦合到其他系统、计算机系统、远程网络设备和/或远程存储设备。网络适配器可以包括用于接收由所述系统、设备和/或网络发送到数据处理系统2300的数据的数据接收器,以及用于将数据从数据处理系统2300发送到所述系统和/或网络的数据发送器。调制解调器、电缆调制解调器和以太网卡是可以与数据处理系统2300一起使用的不同类型的网络适配器的示例。
示例
示例1包括一种设备,该设备包括用于接收输入信号的输入节点处理单元池,用于执行一个或多个算术运算和一个或多个信号选择运算,其中池中的每个处理单元与对应于数据转换运算的至少一个参数化模型相关联以及控制块,用于基于第一参数化模型来配置池中的处理单元的第一子集,其中处理单元的所述第一子集处理输入信号以生成第一信号。
在示例2中,示例1的设备可以可选地包括其中处理单元的第一子集执行一个或多个信号选择操作中的至少第一信号选择操作。
在示例3中,示例1-2中任一者的装置可任选地包括其中数据转换操作包括线性数据转换操作。
在示例4中,示例1-3中任一者的装置可任选地包括其中数据转换操作包括非线性数据转换操作。
在示例5中,示例1-4中任一个的设备可以可选地包括,其中处理单元的第一子集包括数字硬件块,用于处理输入信号以生成第一信号;并且所述控制块进一步配置所述处理单元的第二子集以执行指令代码来处理所述第一信号以生成第二信号,其中所述处理所述第二信号与所述第一参数化模型相关联。
在示例6中,示例1-5中任一个的装置可以可选地包括其中处理单元的第三子集处理第二信号以生成第三信号,其中处理单元第三子集基于第一参数化模型来配置。
在示例7中,示例1-6中任一者的装置可任选地包括其中处理单元的第一子集与处理单元的第三子集相同。
在示例8中,示例1-6中任一者的装置可任选地包括其中处理单元的第一子集中的至少一个处理单元不在处理单元的第三子集中。
在示例9中,示例1-8中任一者的装置可任选地包括,其中处理单元的第一子集包括一组数字硬件块以处理输入信号以产生第一信号;并且所述控制块进一步配置包括另一组数字硬件块的所述处理单元的第二子集以处理所述第一信号以产生第二信号。
在示例10中,示例1-9中任一个的设备可以可选地包括,其中基于池中的每个处理单元与多个可微分构建块中的不同构建块之间的映射来训练用于处理单元的第一子集的配置的第一参数化模型;以及在目标硬件上收集的输入数据集、在目标硬件中收集的输出数据集或硬件约束中的至少一个。
在示例11中,示例1-10中的任何一个的设备可以可选地包括,其中基于在多个可微分构建块上的神经架构搜索来进一步训练用于处理单元的第一子集的配置的第一参数化模型。
在示例12中,示例1-11中任一个的设备可以可选地包括输入信号与非线性电子部件的输入相关联;所述装置还包括存储器,用于基于所述第一参数化模型来存储与所述非线性电子部件的一个或多个非线性特性相关联的一个或者多个查找表(LUT);以及数字预失真(DPD)块,其包括处理单元的第一子集以基于第一参数化模型从输入信号中选择第一存储器项;并且基于所述一个或多个LUT和所选择的第一存储器项来生成预失真信号;并且第一信号对应于预失真信号。
在示例13中,示例1-12中任一个的设备可以可选地包括,其中处理单元的第一子集基于第一参数化模型进一步从与非线性电子部件的输出相关联的反馈信号中选择第二存储器项;并且所述控制块进一步基于所述第一参数化模型来配置所述处理单元的第二子集以执行指令代码,从而基于所选择的第二存储器项和基函数集合来计算DPD系数;并且基于所计算的系数更新所述一个或多个LUT中的至少一个LUT。
在实例14中,实例1-13中任一者的装置可任选地包括,其中控制块进一步配置处理单元的第二子集以执行指令代码以基于所选择的第一存储器项和一组基函数来计算DPD系数;以及基于所计算的系数来更新所述一个或多个LUT中的至少一个。
示例15包括一种用于将数字预失真(DPD)应用于非线性电子部件的输入信号的装置,该装置包括与参数化模型相关联的处理单元池;以及配置组件,用于基于参数化模型来选择池中的处理单元的至少子集和处理单元的第二子集,其中处理单元的第一子集基于参数化的模型和DPD系数将输入信号转换为预失真信号;并且所述处理单元的所述第二子集至少部分地基于指示所述非线性电子部件的输出的反馈信号来更新所述DPD系数。
在示例16中,示例15的设备可以可选地包括,其中处理单元的第一子集通过基于参数化模型从输入信号生成第一存储器项来将输入信号转换为预失真信号;以及基于第一存储器项、一组基函数和DPD系数来生成预失真信号。
在示例17中,示例15-16中任一个的设备可以可选地包括,其中处理单元的第一子集基于参数化模型进一步从反馈信号或输入信号生成第二存储器项;并且所述处理单元的第二子集进一步基于所述第二存储器项和所述基函数集合来更新所述系数集合。
在示例18中,示例15-17中的任何一个的装置可以可选地包括其中处理单元的第二子集进一步基于输入信号更新系数集。
在示例19中,示例15-17中任一个的装置可以可选地包括其中处理单元的第二子集进一步基于指示反馈信号和输入信号之间的差的误差来更新系数集。
在示例20中,示例15-19中任一者的装置可任选地包括存储器以捕获反馈信号及输入信号或预失真信号中的至少一者,其中处理单元的第一子集进一步基于反馈信号与输入信号或经预失真信号之间的对准来产生第二存储器项。
在示例21中,示例15-20中任一者的装置可任选地包括,其中处理单元的第一子集包括一个或一个以上数字硬件块以将输入信号转换为预失真信号;并且所述处理单元的所述第二子集至少包括用于执行指令代码以更新所述系数的处理器。
在示例22中,示例15-21中任一者的装置可任选地包括其中参数化模型包括与池中的处理单元具有一一对应关系的多个可微分功能块,且其中使用梯度下降搜索来训练参数化模型。
示例23包括一种方法,该方法包括接收输入信号基于与数据转换相关联的参数化模型来配置处理单元池中的至少第一处理单元子集,其中所述第一处理单元子集执行一个或多个信号选择和一个或多个算术运算;以及对输入信号执行数据转换,其中执行数据转换包括使用处理单元的第一子集处理输入信号以生成第一信号。
在示例24中,示例23的方法可以可选地包括基于参数化模型配置处理单元池中的处理单元的第二子集,其中执行数据转换还包括使用处理单元的所述第二子集处理第一信号以生成第二信号。
在示例25中,示例23-24中任一者的方法可任选地包括处理单元的第一子集包括数字硬件块;处理单元的第二子集包括一个或多个处理器;并且执行数据转换包括使用数字硬件块来处理输入信号以生成第一信号;以及在所述一个或多个处理器上执行指令代码以处理所述第一信号以产生所述第二信号。
在示例26中,示例23-25中任一个的方法可以可选地包括,其中基于下列来训练用于配置处理单元的第一子集的参数化模型:所述池中的每个处理单元与多个可微构建块中的不同构建块之间的映射;以及在所述目标硬件上收集的输入数据集、在所述目标硬件中收集的输出数据集或硬件约束中的至少一个。
在示例27中,示例23-26中任一者的方法可任选地包括其中输入信号与非线性电子元件的输入相关联;处理输入信号以生成第一信号包括基于参数化模型从输入信号中选择第一存储器项;以及基于与所述非线性电子部件的一个或多个非线性特性和所述第一选择存储器项相关联的一个或者多个查找表(LUT)来生成预失真信号,所述第一信号对应于所述预失真信号。
在示例28中,示例23-27中任一个的方法可以可选地包括:基于参数化模型,从与非线性电子部件相关联的反馈信号中选择第二存储器项;基于所述参数化模型,将所述处理单元池中的处理单元的第二子集配置为执行指令代码,以基于所选择的第二存储器项和基函数集合来计算DPD系数;以及基于所计算的系数来更新所述一个或多个LUT中的至少一个。
在示例29中,示例23-27中任一者的方法可任选地包括基于参数化模型配置处理单元池中的处理单元的第二子集以执行指令代码以基于所选择的第一存储器项和基函数集合来计算DPD系数;以及基于所计算的系数来更新所述一个或多个LUT中的至少一个。
示例30包括一种方法,该方法包括由计算机实现的系统接收与处理单元池相关联的信息;由所述计算机实现的系统接收与数据转换操作相关联的数据集;基于所述数据集和与所述处理单元池相关联的信息,训练与所述数据转换操作相关联的参数化模型,其中所述训练包括更新与配置所述池中的处理单元的至少子集相关联的所述参数化模型的至少一个参数;基于所述训练,输出用于所述池中的处理单元的至少子集的一个或多个配置。
在示例31中,示例30的方法可任选地包括,其中所述处理单元池执行一个或多个算术操作和一个或多个信号选择操作。
在示例32中,示例30-31中任一项的方法可以任选地包括生成所述参数化模型,其中生成包括生成所述池中的每个处理单元到多个可微分功能块中的一个的映射。
在示例33中,示例30-32中任一项的方法可任选地包括,其中训练所述参数化模型还基于由与所述处理单元池相关联的信息指示的硬件资源约束。
在示例34中,示例30-33中任一项的方法可任选地包括,其中所述数据转换操作包括至少第一数据转换和第二数据转换的序列,以及其中训练包括计算与所述第一数据转换相关联的第一参数和与所述第二数据转换相关联的第二参数。
在示例35中,示例30-34中任一项的方法可任选地包括,其中所述计算与第一数据转换相关联的第一参数和与所述第二数据转换相关联的第二数据进一步基于反向传播和损失函数。
在示例36中,示例30-35中任一项的方法可任选地包括,其中所述序列中的第一数据转换或所述第二数据转换与可执行指令代码相关联。
在示例37中,示例30-36中任一项的方法可任选地包括,其中所述数据转换操作与数字预失真(DPD)相关联,所述数字预失真用于对非线性电子部件的输入信号进行预失真;序列中的第一数据转换包括基于第一参数从输入信号中选择存储器项;所述序列中的第二数据转换包括基于所述第二参数,使用一组基函数和所选择的存储项来生成与所述非线性电子部件的非线性特性相关联的特征;并且与数据转换操作相关联的序列还包括第三数据转换,包括基于特征生成预失真信号。
在示例38中,示例30-37中任一项的方法可任选地包括,其中所述数据转换操作与数字预失真(DPD)相关联,所述数字预失真用于对非线性电子部件的输入信号进行预失真;序列中的第一数据转换包括基于第一参数从指示非线性电子部件的输出的反馈信号或输入信号中选择存储器项;所述序列中的第二数据转换包括基于所述第二参数,使用一组基函数和所选择的存储项来生成与所述非线性电子部件的非线性特性相关联的特征;并且与数据转换操作相关联的序列还包括第三数据转换,该第三数据转换包括基于特征和第二信号更新系数。
在示例39中,示例30-38中任一者的方法可任选地包括,其中第一数据转换包括基于第一参数从反馈信号中选择存储器项;以及所述第三数据转换包括基于从所述DPD生成的预失真信号来更新所述系数。
在示例40中,示例30-39中任一者的方法可任选地包括,其中第一数据转换包括基于第一参数从输入信号中选择存储器项;以及所述第三数据转换包括基于所述反馈信号和所述输入信号之间的差来更新所述系数。
在示例41中,示例30-40中任一个的方法可以可选地包括,其中训练参数化模型包括执行反向传播以更新用于选择存储器项的第一参数。
在示例42中,示例30-41中任一个的方法可以可选地包括,其中训练参数化模型还包括执行反向传播以更新第二参数以生成基函数集合。
在示例43中,示例30-42中任一项的方法可任选地包括其中输出一个或多个配置包括,输出所述一个或多个配置,进一步指示与所述存储器项或所述基函数集合的所述选择相关联的查找表(LUT)配置中的至少一个。
示例44包括计算机实现的系统,该系统包括包括指令的存储器;以及一个或多个计算机处理器,其中所述指令在由所述一个或多个计算机处理器执行时,使所述一个或多个计算机处理器执行操作,所述操作包括接收与处理单元池相关联的信息,其中所述处理单元池执行一个或多个算术计算和一个或多个信号选择;接收与数据转换相关联的数据集;基于所述数据集和与所述处理单元池相关联的信息,训练与所述数据转换相关联的参数化模型,其中所述训练所述参数化模型包括更新与配置所述池中的所述处理单元的至少一个子集相关联的参数化模型的至少一个参数;基于所述训练,输出用于所述池中的处理单元的至少子集的一个或多个配置。
在示例45中,示例44实现的计算机可以可选地包括其中操作进一步包括通过在所述池中的每个处理单元之间生成到多个可微分功能块中的一个的映射来生成所述参数化模型。
在示例46中,示例44-45中任一者所实施的计算机可任选地包括:所述数据转换包括至少第一数据转换和第二数据转换的序列;并且训练参数化模型包括基于反向传播和损失函数,计算与所述第一数据转换相关联的第一参数和与所述第二数据转换相关联的第二参数。
在示例47中,示例44-46中任一者所实施的计算机可任选地包含其中处理单元的子集包括与所述第一数据转换相关联的一个或多个数字硬件块;一个或多个处理器,用于执行与所述第二数据转换相关联的指令代码。
在示例48中,示例44-47中任一者所实施的计算机可任选地包括,其中所述数据转换操作与用于对到非线性电子部件的输入信号进行预失真的数字预失真(DPD)致动或DPD自适应中的至少一个相关联;并且输出所述一个或多个配置包括输出DPD致动配置或DPD自适应配置中的至少一种。
示例49包括非瞬态可计算可读存储介质,其包括指令,当由一个或多个计算机处理器执行时,使所述一个或更多计算机处理器执行操作,包括接收与处理单元池相关联的信息,其中所述处理单元池执行一个或多个算术计算和一个或多个信号选择;生成所述池中的每个处理单元到多个可微分功能块中的一个的映射;接收与数据转换相关联的数据集;训练参数化模型以配置所述池中的处理单元的至少一个子集以执行所述数据转换,在训练基于数据集、与处理单元池相关联的信息的情况下,并且包括更新与配置池中的处理单元的至少子集相关联的参数化模型的至少一个参数;基于所述训练,输出用于所述池中的处理单元的至少子集的一个或多个配置。
在示例50中,示例49的非瞬态可计算可读存储介质可以可选地包括,其中所述数据转换包括至少第一数据转换和第二数据转换的序列;训练还包括基于反向传播和损失函数更新与所述第一数据转换相关联的第一参数和与所述第二数据转换相关联的第二参数。
在示例51中,示例49-50中任一示例的非瞬态可计算可读存储介质可以可选地包括:其中所述数据转换操作与数字预失真(DPD)相关联,所述数字预失真用于对非线性电子部件的输入信号进行预失真;并且序列中的第一数据转换包括基于第一参数从输入信号中选择存储器项;并且所述序列中的第二数据转换包括基于所述第二参数,使用一组基函数和所选择的存储项来生成与所述非线性电子部件的非线性特性相关联的特征;并且所述序列还包括第三数据转换,所述第三数据转换包括基于所述特征生成预失真信号。
在示例52中,示例49-51中任一示例的非瞬态可计算可读存储介质可以可选地包括:其中,所述数据转换与数字预失真(DPD)相关联,所述数字预失真用于对非线性电子部件的输入信号进行预失真;序列中的第一数据转换包括基于第一参数从指示非线性电子部件的输出的反馈信号或输入信号中选择存储器项;所述序列中的第二数据转换包括基于所述第二参数,使用一组基函数和所选择的存储项来生成与所述非线性电子部件的非线性特性相关联的特征;所述序列还包括第三数据转换,所述第三数据转换包括基于所述特征和第二信号更新系数;所述第一数据转换和所述第二数据转换将由所述处理单元的子集执行;所述第三数据转换将通过在所述池中的至少另一个处理单元上执行指令代码来执行。
变形和实现
本文参考作为PA的驱动信号的“PA的输入信号”,即,基于本文所述的输入信号x生成的信号,来解释基于使用NAS训练的模型来执行DPD配置的各种实施例,DPD布置基于DPD系数对输入信号x应用预失真。然而,在基于使用NAS训练的模型配置的DPD的其他实施例中,“PA的输入信号”可以是用于偏置N个PA的偏置信号。因此,本公开的实施例还涵盖基于使用NAS训练的模型配置的DPD布置,所述NAS类似于本文所述和附图中所示的NAS,不同之处在于,代替修改PA的驱动信号,DPD布置可以被配置为修改PA的偏置信号,这可以基于由DPD适配电路(例如本文所述的DPD自适应电路)生成的控制信号来完成,其中PA的输出基于用于偏置PA的偏置信号。在本公开的其他方面中,可以如本文所述调整PA的驱动信号和偏置信号,以使用神经网络实现DPD。
虽然本文中参考PA提供了一些描述,但一般来说,基于本文中提出的使用NAS的模型配置的DPD的各种实施例可应用于PA以外的放大器,例如低噪声放大器、可变增益放大器等,以及除了放大器之外的RF收发器的非线性电子部件(即可能表现出非线性行为的部件)。此外,尽管本文参考毫米波/5G技术提供了一些描述,但通常,本文中提出的使用神经网络的DPD的各种实施例可应用于毫米波/5G以外的任何技术或标准的无线通信系统、无线通信系统以外的任何无线RF系统和/或无线RF系统以外的RF系统。
尽管以上参考如图1A-1C、2A-2B和3-15所示的示例性实施方式描述了本公开的实施方式,但本领域技术人员将意识到,上述各种教导可应用于多种其他实施方式。
在某些情况下,本文讨论的特征可适用于汽车系统、安全关键工业应用、医疗系统、科学仪器、无线和有线通信、无线电、雷达、工业过程控制、音频和视频设备、电流传感、仪器(可以是高精度的)和其他基于数字处理的系统。
在以上实施例的讨论中,系统的组件,例如多路复用器、乘法器、加法器、延迟抽头、滤波器、转换器、混频器和/或其他组件,可以容易地被替换、替换或以其他方式修改,以适应特定的电路需要。此外,应该注意的是,使用互补的电子设备、硬件、软件等为在各种通信系统中实现与应用硬件配置的模型架构搜索相关的本公开的教导提供了同样可行的选择。
用于使用本文所提出的硬件配置的模型体系结构搜索技术的各种系统的部分可以包括执行本文所描述的功能的电子电路。在一些情况下,系统的一个或多个部分可以由专门配置用于执行本文所述功能的处理器提供。例如,处理器可以包括一个或多个专用组件,或者可以包括被配置为执行本文所述功能的可编程逻辑门。电路可以在模拟域、数字域或混合信号域中操作。在一些情况下,处理器可以被配置为通过执行存储在非瞬态计算机可读存储介质上的一个或多个指令来执行本文所述的功能。
在一个示例实施例中,可以在相关联的电子设备的板上实现本图的任意数量的电路。该板可以是通用电路板,该通用电路板可以容纳电子设备的内部电子系统的各种组件,并且进一步提供用于其他外围设备的连接器。更具体地,板可以提供电连接,通过该电连接系统的其他组件可以电通信。任何合适的处理器(包括DSP、微处理器、支持芯片组等)、计算机可读的非瞬态存储器元件等可以基于特定的配置需求、处理需求、计算机设计等适当地耦合到板。诸如外部存储器、附加传感器、用于音频/视频显示的控制器和外围设备的其他组件可以作为插入卡、经由电缆连接到板,或者集成到板本身中。在各种实施例中,本文所描述的功能可以以仿真形式实现为在一个或多个可配置(例如,可编程)元件内运行的软件或固件,所述一个或多个可配置元件布置在支持这些功能的结构中。提供仿真的软件或固件可以在包括允许处理器执行那些功能的指令的非暂时性计算机可读存储介质上提供。
在另一示例实施例中,本图的电路可以被实现为独立模块(例如,具有被配置为执行特定应用或功能的相关组件和电路的设备),或者被实现为插入到电子设备的特定应用硬件中的插件模块。注意,本公开的特定实施例可以部分地或全部地容易地包括在片上系统(SOC)封装中。SOC表示将计算机或其他电子系统的组件集成到单个芯片中的IC。它可能包含数字、模拟、混合信号,以及通常的RF功能:所有这些功能都可以在单个芯片基板上提供。其他实施例可以包括多芯片模块(MCM),其中多个独立的IC位于单个电子封装内并且被配置为通过电子封装彼此紧密交互。
还必须注意的是,这里概述的所有规格、尺寸和关系(例如,图1A-1C、2A-2B、3-5和15中所示的设备和/或RF收发器的部件的数量)仅出于示例和教学的目的而提供。在不脱离本公开的精神或所附权利要求的范围的情况下,可以显著地改变这样的信息。应当理解,该系统可以以任何合适的方式进行合并。沿着类似的设计备选方案,本图中所示的电路、组件、模块和元件中的任何一个都可以组合成各种可能的配置,所有这些都清楚地在本说明书的广泛范围内。在前面的描述中,已经参考特定的处理器和/或组件布置描述了示例实施例。在不脱离所附权利要求的范围的情况下,可以对这样的实施例进行各种修改和改变。因此,说明书和附图应被视为说明性的,而不是限制性的。
注意,在本文提供的众多示例中,可以根据两个、三个、四个或更多个电组件来描述相互作用。然而,这样做只是为了清楚和举例说明。应当理解,该系统可以以任何合适的方式进行合并。根据类似的设计备选方案,图中所示的任何组件、模块和元件都可以组合成各种可能的配置,所有这些都清楚地在本规范的广泛范围内。在某些情况下,通过仅参考有限数量的电元件来描述给定流集合的一个或多个功能可能更容易。应当理解,图及其教导的电路是容易扩展的,并且可以容纳大量的部件以及更复杂/复杂的布置和配置。因此,所提供的示例不应限制电路的范围或抑制电路的广泛教导,因为电路可能应用于无数其他架构。
注意,在本说明书中,对包括在“一个实施例”、“示例实施例”,“实施例”和“另一个实施方案”、“一些实施方案”,“各种实施方案”和“其他实施方案”以及“替代实施方案”等中的各种特征(例如,元件、结构、模块、组件、步骤、操作、特性等)的引用旨在意味着任何这样的特征被包括在本公开的一个或多个实施方案中,但是在相同的实施例中可以组合,也可以不必组合。此外,如本文所用,包括在权利要求中,在项目列表中(例如,以“至少一个”或“一个或多个”等短语开头的项目列表)所用的“或”表示包容性列表,使得例如,[A、B或C中的至少一个]的列表表示A或B或C或AB或AC或BC或ABC(即A和B和C)。
使用本领域技术人员常用的术语来描述说明性实施例的各个方面,以将其工作的实质传达给本领域其他技术人员。例如,术语“连接的”是指在没有任何中间设备/组件的情况下连接的事物之间的直接电连接,而术语“耦合”是指连接的事物之间的直接电连接,或通过一个或多个无源或有源中间设备/组件的间接连接。在另一个例子中,术语“电路”是指一个或多个无源和/或有源部件,它们被布置为彼此协作以提供期望的功能。此外,如本文所用,术语“基本上”、“近似地”、“大约地”等可用于基于本文所述或本领域已知的特定值的上下文,通常指例如在目标值的+/-20%以内、在目标值+/-10%以内。
本领域技术人员可以确定许多其他的改变、替换、变化和修改,并且本公开包括落入示例和所附权利要求的范围内的所有这样的改变、替代、变化、更改和修改。注意,上述装置的所有可选特征也可以相对于本文所述的方法或过程来实现,并且示例中的细节可以在一个或多个实施例中的任何地方使用。
Claims (20)
1.一种设备,该设备包括:
用于接收输入信号的输入节点;
处理单元池,用于执行一个或多个算术运算和一个或多个信号选择运算,其中池中的每个处理单元与对应于数据转换运算的至少一个参数化模型相关联;以及
控制块,用于基于第一参数化模型来配置所述池中的处理单元的第一子集,其中
所述处理单元的第一子集处理所述输入信号以生成第一信号。
2.根据权利要求1所述的设备,其中所述处理单元的第一子集执行所述一个或多个信号选择操作中的至少第一信号选择操作。
3.根据权利要求1所述的设备,其中
所述处理单元的第一子集包括数字硬件块,用于处理所述输入信号以生成第一信号;并且
所述控制块进一步配置所述处理单元的第二子集以执行指令代码来处理所述第一信号以生成第二信号,其中所述处理所述第二信号与所述第一参数化模型相关联。
4.根据权利要求3所述的设备,其中所述处理单元的第三子集处理所述第二信号以生成第三信号,并且其中所述处理单元的第三子集基于所述第一参数化模型来配置。
5.根据权利要求1所述的设备,其中基于以下来训练用于所述处理单元的第一子集的配置的第一参数化模型:
所述池中的每个处理单元与多个可微分构建块中的不同构建块之间的映射;以及
在目标硬件上收集的输入数据集、在目标硬件中收集的输出数据集或硬件约束中的至少一个。
6.根据权利要求1所述的设备,其中
所述输入信号与用于非线性电子部件的输入相关联;
所述设备进一步包括:
存储器,用于基于所述第一参数化模型存储与所述非线性电子部件的一个或多个非线性特性相关联的一个或者多个查找表(LUT);和
数字预失真(DPD)块,包括所述处理单元的第一子集以:
基于所述第一参数化模型,从所述输入信号中选择第一存储器项;和
基于所述一个或多个LUT和所选择的第一存储器项生成预失真信号;和
对应于所述预失真信号的第一信号。
7.根据权利要求6所述的设备,其中
所述处理单元的所述第一子集还基于所述第一参数化模型从与所述非线性电子部件的输出相关联的反馈信号中选择第二存储器项;和
所述控制块进一步基于所述第一参数化模型来配置所述处理单元的第二子集以执行指令代码以:
基于所选择的第二存储器项和一组基函数来计算DPD系数;和
基于所计算的系数更新所述一个或多个LUT中的至少一个。
8.根据权利要求6所述的设备,其中所述控制块进一步配置所述处理单元的第二子集以执行指令代码以:
基于所选择的第一存储器项和一组基函数来计算DPD系数;和
基于所计算的系数更新所述一个或多个LUT中的至少一个。
9.一种用于将数字预失真(DPD)应用于非线性电子部件的输入信号的设备,所述设备包括:
与参数化模型相关联的处理单元池;和
配置组件,用于基于所述参数化模型来选择所述池中的处理单元的至少第一子集和处理单元的第二子集,
其中:
所述处理单元的第一子集基于所述参数化模型和DPD系数将输入信号变换为预失真信号;和
所述处理单元的第二子集至少部分地基于指示所述非线性电子部件的输出的反馈信号来更新DPD系数。
10.根据权利要求9所述的设备,其中所述处理单元的第一子集通过以下方式将输入信号变换为预失真信号:
基于所述参数化模型从所述输入信号生成第一存储器项;和
基于所述第一存储器项、一组基函数和所述DPD系数来生成所述预失真信号。
11.根据权利要求10所述的设备,其中
所述处理单元的第一子集还基于所述参数化模型从所述反馈信号或所述输入信号生成第二存储器项;和
所述处理单元的第二子集还基于所述第二存储器项和所述基函数集合来更新所述系数集合。
12.根据权利要求9所述的设备,其中
所述处理单元的第一子集包括一个或多个数字硬件块,用于将所述输入信号转换为所述预失真信号;和
所述处理单元的第二子集至少包括用于执行指令代码以更新所述DPD系数的处理器。
13.根据权利要求9所述的设备,其中所述参数化模型包括与所述池中的处理单元具有一一对应关系的多个可微分功能块,且其中使用梯度下降搜索来训练所述参数化模型。
14.一种方法,该方法包括:
接收输入信号;
基于与数据转换相关联的参数化模型来配置处理单元池中的至少第一处理单元子集,其中所述第一处理单元子集执行一个或多个信号选择和一个或多个算术运算;以及
对所述输入信号执行数据转换,其中执行数据转换包括使用所述处理单元的第一子集处理所述输入信号以生成第一信号。
15.根据权利要求14所述的方法,进一步包括:
基于所述参数化模型配置所述处理单元的池中的处理单元的第二子集,
其中执行数据转换还包括使用所述处理单元的所述第二子集处理第一信号以生成第二信号。
16.根据权利要求15所述的方法,其中
所述处理单元的第一子集包括数字硬件块;
是处理单元的第二子集包括一个或多个处理器;并且
执行数据转换包括:
使用所述数字硬件块来处理所述输入信号以生成所述第一信号;以及
在所述一个或多个处理器上执行指令代码以处理所述第一信号以产生所述第二信号。
17.根据权利要求14所述的方法,其中基于下列来训练用于配置处理单元的第一子集的参数化模型:
所述池中的每个处理单元与多个可微构建块中的不同构建块之间的映射;以及
在所述目标硬件上收集的输入数据集、在所述目标硬件中收集的输出数据集或硬件约束中的至少一个。
18.根据权利要求14所述的方法,其中
所述输入信号与用于非线性电子部件的输入相关联;
所述处理输入信号以产生所述第一信号包括:
基于所述参数化模型,从所述输入信号中选择第一存储器项;和
基于与所述非线性电子部件的一个或多个非线性特性和所述第一选择存储器项相关联的一个或者多个查找表(LUT)来生成预失真信号,所述第一信号对应于所述预失真信号。
19.根据权利要求18所述的方法,还包括:
基于参数化模型,从与所述非线性电子部件相关联的反馈信号中选择第二存储器项;和
基于所述参数化模型,将所述处理单元的池中的处理单元的第二子集配置为执行指令代码以:
基于所选择的第二存储器项和基函数集合来计算DPD系数;以及
基于所计算的系数来更新所述一个或多个LUT中的至少一个。
20.根据权利要求18所述的方法,还包括:
基于所述参数化模型,将所述处理单元的池中的处理单元的第二子集配置为执行指令代码以:
基于所选择的第一存储器项和基函数集合来计算DPD系数;以及
基于所计算的系数来更新所述一个或多个LUT中的至少一个。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/187,536 | 2021-05-12 | ||
US17/732,715 | 2022-04-29 | ||
US17/732,715 US20220376659A1 (en) | 2021-05-12 | 2022-04-29 | Model architecture search and optimization for hardware |
PCT/US2022/028293 WO2022240731A1 (en) | 2021-05-12 | 2022-05-09 | Model architecture search and optimization for hardware |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117546420A true CN117546420A (zh) | 2024-02-09 |
Family
ID=89794350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280043748.2A Pending CN117546420A (zh) | 2021-05-12 | 2022-05-09 | 硬件的模型架构搜索与优化 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117546420A (zh) |
-
2022
- 2022-05-09 CN CN202280043748.2A patent/CN117546420A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9906428B2 (en) | System and method for frequency-domain weighted least squares | |
US8666336B1 (en) | Digital pre-distortion with model-based order estimation | |
KR101789924B1 (ko) | 적응형 디지털 전치 왜곡을 위한 디바이스 및 방법 | |
US12028188B2 (en) | Digital predistortion with hybrid basis-function-based actuator and neural network | |
WO2017091119A1 (en) | Linearization of active antenna array | |
CN112688893B (zh) | 将数字预失真施加于输入信号的设备 | |
CN113812094B (zh) | 每分支的、组合的和分组组合的mimo dpd | |
US11133854B1 (en) | Digital predistortion using coding for phased antenna arrays | |
CN112600522B (zh) | 具有功率特定性捕获选择的数字预失真 | |
CN101610093B (zh) | 预失真装置、预失真系统和预失真方法 | |
JP7081594B2 (ja) | 送信機、通信システム、送信機の制御方法及びプログラム | |
JP2008294518A (ja) | 送信装置 | |
US12003261B2 (en) | Model architecture search and optimization for hardware | |
CN117546420A (zh) | 硬件的模型架构搜索与优化 | |
CN117529880A (zh) | 硬件的模型架构搜索与优化 | |
US20220376659A1 (en) | Model architecture search and optimization for hardware | |
US12040753B2 (en) | Digital predistortion with neural-network-assisted physical modeling of envelope features | |
US11218118B2 (en) | Linearity optimizer for a millimeter-wave beamforming system | |
Li et al. | Opportunities and challenges of digital signal processing in deeply technology-scaled transceivers | |
CN117060864A (zh) | 包络特征的神经网络辅助物理建模的数字预失真 | |
Jalili et al. | Highly non‐linear and wide‐band mmWave active array OTA linearisation using neural network | |
Han et al. | Computationally efficient look-up-tables for behavioral modelling and digital pre-distortion of multi-standard wireless systems | |
US11456792B1 (en) | Intermodulation suppression in phased arrays using volterra filters | |
Barkhordar-pour | Real-Time FPGA-Based Testbed for Evaluating Digital Predistortion in Fully Digital MIMO Transmitters | |
WO2024084629A1 (en) | System for compensating the non-linear distortion introduced by a radio power amplifier based on harmonic analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |