具体实施方式
图1和图2表示了根据本发明优选实施例的前馈补偿功率放大器(PA)的结构图。图1表示了基本的前馈放大器,图2表示了控制系统。
如图1所示,该前馈放大器具有采用两个控制回路的常规结构。回路1包括信号输入端103、采样耦合器106、增益调整器108、相位调整器109、导频信号输入耦合器112、主放大器115、主采样耦合器118、输入测试耦合器130、延迟器133、消除组合器136和回路1(或者载波消除)测试耦合器139。回路2包括主采样耦合器118、主路径延迟器121、误差信号耦合器124、载波消除组合器136、回路2增益调整器141、回路2相位调整器142、误差信号放大器145、回路2(或者载波消除)测试耦合器148和输出端127。
如图2所示,该控制系统可以包括处理器202,其编程为采用以下详细描述的自适应控制器算法实施回路控制处理。回路1对准包括调整增益和相位移位器控制设定(由α1和φ1表示)从而使在图1中的“回路1测试”处所检测的功率最小化。该处理器还可以(可选地)接收对应于所检测的输入功率的输入测试数据,并且使在回路1测试处所检测的功率与所检测的输入功率的比值最小化。回路2对准包括调整增益和相位移位器控制设定(由α2和φ2表示)从而使在图1中的“回路2测试”处所检测的功率最小化。该功率可以(可选地)对应于剩余(未消除的)导频信号。
更具体地讲,如图2所示,处理器202从(可选的)输入测试耦合器130经由功率检测器214和A/D转换器212接收输入测试数据x(t),并且从回路1测试耦合器139经由功率检测器218和A/D转换器216接收回路1测试数据ε(t)。(可选的)导频信号发生器220生成导频信号,将该信号提供给导频信号输入耦合器112(图1中表示)。导频信号接收器222检测来自回路2测试耦合器148(图1中表示)的任何未消除的控制信号z(t),并且向处理器202提供所检测的数字形式的导频信号。该处理器202生成对准设定序列,以减少消除剩余(下面定义)。数字-模拟转换器204、206、208、210将回路1和回路2数字增益调整和相位调整控制信号转变为模拟信号α1、φ1、α2、φ2,将它们提供到增益和相位调整器108、109、141和142(如图1所示)。将调整器设定以及相关的回路误差信号值存储在与处理器202相关的适当存储器224中,从而允许下面讨论的回路控制算法使用多个连续的设定。
用于第一回路对准控制的算法优选使第一测试回路处的标准误差信号功率最小化。该最小化能够具有多种形式,这取决于用于测量输入和误差信号功率的检测器的类型。如果使用RMS(均方根)检测器,并且随时间平均输入和误差信号测量值,则标准平方误差为
等式1
其中L{}表示线性算符,例如平均或过滤;脚标k表示时间。如果使用对数检测器,并且随时间平均输入和功率测量值,则标准平方误差为
10log10{Pk}=L{|ε|2}-L{|x|2} 等式2。
前一标准化是算术平均的比值。后一标准化在从对数-线性转换之后为几何平均的比值。下面描述的算法能够用于任意类型的误差函数。
所测量的标准平方误差是时间k时的对准设定的函数:
Pk=P(αk,φk) 等式3
可能的对准设定的集合形成了误差表面。对准控制算法的任务是将对准从任意初始的设定调整到产生最小标准平方误差的设定。
上面,假设了将所检测的误差用于对准第一回路。第二回路对准类似于第一回路,不同之处在于优选使用导频信号。将导频信号注入耦合器112(如图1所示)。对于导频信号是固定振幅的音调时的情况而言,不需要等式1中描述的标准功率。将输出耦合器148处所检测的剩余导频直接用作消除剩余的估计值。过滤优选用于将导频信号与载波(输入)信号分离。可以采用各种导频信号发生和检测电路。例如,在2004年1月21日提交的美国专利申请No.10/761788以及2004年5月5日提交的美国专利申请No.10/838985中披露了导频信号发生和检测电路,后一申请要求保护2003年5月7日提交的临时申请No.60/468444的权利,将它们全部引入作为参考。因此,下面描述的技术申请可以用于利用本领域技术人员显而易见的适当的测得误差功率来对准第一回路或者第二回路,或者对准这两个回路。因此下文中,术语“消除剩余”是指以上等式1中为回路1控制限定的Pk或者为回路2控制限定的所检测导频信号功率。然而,根据控制回路和放大器系统的特殊性,也可以使用其它形式的被检测的回路对准误差信号。
在描述本发明的算法之前,首先将描述现有搜索算法的详细情况,从而介绍一般的背景术语和搜索算法概念。如上所述,现有的搜索方法依赖于“最速下降”或者“坐标下降”算法。该最速下降算法沿着2D增益-相位空间内的梯度方向调整对准设定。沿着正交方向使对准高频脉动并且测量Pk的变化提供了梯度的估计值。坐标下降算法沿着预定的正交方向(通常是增益和相位轴)进行两个独立的1D搜索。使对准高频脉动,从而确定沿着各个坐标的哪个方向减少了Pk。
最速下降算法是应用数学领域众所周知的,并且已经详尽地研究了其收敛特性。在将最速下降算法直接用于回路对准的过程中,该算法生成了对准设定序列(αkφk),其理论上生成连续变小的标准平方误差值。利用方向导数,递归地将该序列限定为
(αk+1,φk+1)=(αk,φk)+(Δαk,Δφk) 等式4
其中
等式5
并且βk是称作“折扣系数”的正标量项。当
等式6
时该序列视为收敛的。
对准更新等式5的可选限定分别使用了由sk和θgrad表示的步长和梯度方向:
(Δαk,Δφk)=(-skcosθgrad,-sksinθgrad) 等式7
其中
等式8
等式9
和
等式10。
显而易见的是,即使当βk为恒定的,希望的步长sk也作为梯度绝对值的函数随时间变化。
步长的选择对于最速下降算法而言是一个重要的实际问题。低估sk允许该序列收敛,但是增加了达到最小值的迭代次数,因此增加了时间。高估步长造成该序列超过了最小值,从而导致了围绕最小值的极限循环。选择sk(或者βk)以平衡收敛速度和定态误差是一个永久的问题。
通常利用两个方向导数来计算该梯度,每个方向导数遵循一条坐标轴。因为使用了功率检测器,所以不可以通过单独的测量获得导数信息。由两个测量值的差来近似每个导数,将这两个测量值的对准沿着特定方向移动。例如,与相位相关的方向导数近似为
等式11
其中Δφ为相位导数步长。按照类似的方式计算振幅的方向导数。用于估计导数的步长不必与用于改进对准的步长耦合(参见等式7)。为了区分这两种步长,将前一种称作“导数步长”,而后一种仍沿用术语“步长”。
等式10限定的希望的步长与梯度的大小成正比;希望的对准调整方向为梯度方向。对于碗形误差表面而言,该梯度随着搜索朝希望的对准设定收敛而朝零减少。由于与测量梯度相关的困难,一些已知的方法使用了其它的随着搜索收敛选择方向和减少步长的方法。
坐标下降方法将对准调整方向限制为0、π/2、π或3π/4弧度。这些方向分别对应于增益设定的提高、相位设定的提高、增益设定的降低或者相位设定的降低。
一种方法是选择固定的步长并且沿着选定的方向移动,从而在需要的情况下进行调整。如果正确地选择了方向(在梯度方向的π/2弧度内),则小步进会改进对准,如Pk的降低所示。尽管进行了适当的方向选择,但过大的步长会提高Pk,这是因为很大程度地超过了最小值。因此,可以使用Pk的变化来确定步长和方向是否适当。如果迭代序列经历了Pk的缓慢单调递减,则方向是正确的,但步长过小。如果尽管方向发生大变化(π弧度)Pk仍增大,那么该步长过大。
根据步长选择算法,在搜索较小Pk时,每次方向反转π弧度(称为步长的“符号变化”)时,步长减小了标量倍数。如果在沿着给定方向的N次步进之后Pk降低了,则步长提高了标量倍数。这种步长选择方法称作“符号反转方法”。
步进的幅度也能够按照Pk的函数改变,其随着对准搜索的收敛而降低。该方法称作“直接功率映射”,这是因为其将步长映射到标准平方误差Pk。
现有的最速下降算法实现方案的三个关键问题是梯度的估计、平方根的计算和步长的选择。
显而易见的是,与使标准平方误差Pk最小化所进行的对准调整相比,用于估计梯度的对准调整次数更多。也就是说,对于回路对准设定的调整顺序存在矛盾的要求。一方面,希望减少标准平方误差的对准调整,如等式4所述;另一方面,搜索必须偏离最佳路径以获得可靠的导数估计(参见等式11)。附加的对准变化降低了收敛的速度。
当利用微处理器来控制对准时,可用的计算功能小。由于平方根和除法操作,使得利用等式8和等式9的梯度方向估计对于微处理器而言具有挑战性。
由于梯度估计的不确定性,使得等式10中的步长选择困难。因此,导数估计的精确度对于搜索算法的稳定性具有显著的影响。由于不足的步长会导致导数估计会受到噪声、PA畸变和检测器量化的严重恶化,所以导数步长的选择变得尤为重要。过量的导数步长会跨过最小值、低估梯度,从而使收敛变慢。坐标下降方法与最速下降具有类似的缺点。取代梯度,必须计算方向导数。
由于导数的差分近似的固有不精确性,将步长从梯度估计中去耦很重要。将步长选择建立在直接功率映射或者符号反转的基础上减少了梯度估计不精确性的影响。功率映射方法非常适于梯度方法;然而,必须通过实验获得该映射。
将“功率-步长”映射与坐标下降组合起来不太有效,这是因为对于每个坐标方向而言,理想的步长是不同的。与梯度方向步长相比,理想的坐标步长以系数cos(θc-θgrad)变小,其中θc是坐标方向。也就是说,即使Pk大于最小值,理想的步长也可以为零(当|θc-θgrad|=π/2)。一般而言,如果对于一个(或两个)坐标方向而言步长过大,会导致许多不正确的步进,从而使收敛变慢。
进行步长选择的符号反转方法对于最速下降和坐标下降方法而言都很有效。然而,其需要更多的时间以达到最小值,这是因为该方法在设定到希望的值之前容易进入最佳对准设定附近的衰减极限循环中。也就是说,在达到最小值之前,搜索重复地超过最佳设定,并且使方向反向。
本发明提供了一种改进的自适应前馈回路控制搜索算法。本发明的方法相对于现有技术的对准系统的优点包括降低的收敛时间、简化的实现方案并且以及获得提高的稳定性。
本发明的算法利用过去的对准设定(称作对准设定空间中的“点”,其包括由可能的增益调整设定、相位调整设定和所检测的回路对准误差信号值限定的三维空间)来计算梯度方向,从而不需要对于进行导数估计的独立对准调整。因此,提高了收敛速度。一般而言,该算法不会将梯度用作下降方向。取而代之的是,其选择允许根据过去的对准设定可靠估计当前梯度的“非共线”下降轨迹。选择该非共线下降,使其平均起来接近梯度下降(后面讨论)。
优选为了用于微处理器而简化该实现方案。对于梯度估计的要求是三个点是非共线的。通过量化允许的下降方向使得实施非共线点更容易,从而形成了有限集合。从该集合中选出的下降方向是最接近与两个最近的点不共线的梯度方向的方向。可以在没有等式8和等式9所示的平方根和除法操作的情况下实现从有限集合中选择下降方向。
为了提高稳定性,对准步长不是梯度测量值的直接函数。公开了步长选择的两个实施例。在第一实施例中,为了便于微处理器实现方案,量化步长。将当前的步长与根据梯度估计获得的范围进行比较。将步长提高或降低到邻近的量化值,从而使步长朝希望的范围移动。步长的这种逐渐调整使得迭代序列对于导数估计的误差更不敏感。在第二实施例中,将步长映射到消除剩余。因为非共线下降轨迹接近梯度下降,所以相对于坐标下降实现方案减少了步长映射。
接着,将描述本发明的回路控制搜索算法的特定实现方式。图3中表示了该算法的基本处理流程的优选实施例。首先使该系统初始化(303)。(下述图8中表示了一种优选初始化处理流程。)迭代处理从测量消除剩余Pk开始(306)。生成由pk表示的点,其为包括增益和相位设定(分别由αk和φk表示)以及消除剩余Pk的三元组:
pk=(αk,φk,Pk)
等式12。
存储该点以备后用(309)。根据过去的点来计算平面近似和梯度方向(312)。确定非共线下降方向(315)。调整对准和步长(318)。接着该迭代处理进行下一消除剩余测量(306)。
以下更详细地描述与303、312、315和318相关的方块。
梯度估计
梯度估计将局部误差表面近似为平面。由nplane表示的表面矢量法线限定了该平面。利用三个点形成两个矢量的叉积:
nplans=(nα,nφ,np)=(pk-pk-1)×(pk-pk-2) 等式13
其中pk、pk-1和pk-2是作为该迭代处理一部分生成的三个最近的点。随着搜索处理的进行,计算新的平面,并且最近的平面近似为当前的点pk处的误差表面的切面。
对于给定的迭代法而言,平面近似模仿了消除剩余的变化与对准设定的调整之间的关系:即,
nαΔαk+nφΔφk=-npΔPk 等式14
其中(Δαk,Δφk)为对准设定的变化,ΔPk为由此引起的消除剩余的变化。该梯度方向为
等式15
等式16。
在不考虑共线性的情况下,增益和相位移位器的优选调整为
等式17
其中sk为步长。
根据等式17可见,当
(nα 2+nφ 2)=0 等式18
时该梯度未确定。
因为三点平面是正割的,而不是切面,所以可以在三个点中没有任何一个点到达最佳对准设定的情况下跨过最小值。以下,根据等式18是否成立来使用分开的处理算法。
图4表示了梯度估计的处理顺序。检查过去的点以确定是否可获得三个非共线点(403)。所述的算法保证了如果可获得三个连续的点,则它们为非共线的(如下所述)。然而,如果修改该算法以允许非共线下降,则必须测试附加的(更旧的)点来形成非共线三角。后面在等式21中限定了非共线性所需的测试。
如果可获得三个非共线点,则检索该点(406),并且计算法向矢量(409)。如果该平面的斜率是零,使得等式18成立,则将该梯度标记为未确定的(415)。如果不为零,则计算该梯度(421)。存储该梯度和法向矢量,以备后面的子程序使用(418)。
如果三个非共线点是无效的(例如在该搜索程序启动时),则仅检索最近的点(424)。检索在初始化阶段(303)确定的目标对准(427)。由(αT,φT)表示的目标对准是对于最终的对准设定的最佳推测。其不必为精确的;其设计为在启动过程中使该算法稳定。计算梯度方向(430),作为从目标对准设定到当前对准的方向:
等式19
等式20。
存储该梯度以备后面的子程序使用(418);将法向矢量设定为(nα,nφ,np)=(cosθgrad,sinθgrad,0)。
非共线下降方向
如果确定了该梯度(即,等式18不成立),则按照以下的讨论选择该非共线下降方向。当等式18成立时,优选使用保持收敛和非共线下降的可选方法(参见后面的等式26)。
下降方向必须与最近的对准调整非共线,以确保梯度估计是可靠的。如果三个点为共线的,则该法向矢量的第三个元np为零。非共线性的测试为
|nP|>γ·|dP| 等式21
其中γ>0并且
dp=(α2-α1)·(α3-α1)+(φ2-φ1)·(φ3-φ1) 等式22。
注意,arctan(np/dp)等于顶点为该三个点的三角形内的三个角之一。γ的推荐值为tan(π/4)。该优选方法限制了下降方向,以强制服从等式21,同时试图尽可能近地遵循该梯度。
为了提高计算效率,希望将允许的下降方向量化为小集合。该对准调整成为
(Δαk,Δφk)=(-sk cosθnc(k),-sksinθnc(k)) 等式23
其中
θnc(k)=mk·Δθ 等式24
并且mk为整数。例如,如果允许八个下降方向,则Δθ=π/4弧度。
图5表示了非共线下降方向θnc的选择。检索该梯度方向(503),并且对其进行检查以判断其是否确定(506)。如果该梯度未确定(506),则非共线下降也是未确定的(533)。存储该非共线下降以备后用(524)。
如果确定了该梯度,则将矢量(nα,nφ)投影到每个允许的下降方向上(509);找到最大的内积(512)并且将其选为候选的下降方向(515)。如果该候选的下降方向与前面的对准调整不共线(518),则该候选方向成为非共线下降(521)。存储该非共线下降方向以备后用(524)。
如果该候选下降方向与前面的对准调整共线(518),则找到了第二最大的内积(527)。其成为非共线下降方向(530),并且对其进行存储以备后用(524)。注意,如果最后的步进处于给定方向上,则在当前的步进中不允许该方向及其反方向。因此,由|arctan(np/dp)|确定的该角度会大于π/4弧度,并且小于3π/4弧度。
还注意,因为梯度矢量不必由[nα 2+nφ 2]0.5标准化,以便选择非共线下降方向,所以减少了该微处理器的计算负担。
对准和步长更新
对准设定的更新如下:
(αk+1,φk+1)=(αk,φk)+βk·(Δαk,Δφk) 等式25
其中(Δαk,Δφk)为迭代k的对准调整,βk为折扣系数(0<βk<=1)。
以下,描述对准和步长更新的两个实施例。
第一实施例
图6表示了对准和步长更新处理的第一实施例。在第一实施例中,存在三种计算对准调整的方法。为了选择正确的方法,该处理测试下降方向是否未确定以及该下降方向是否已经从其最近的值反向。检索两个最近的非共线下降方向(603)。如果最近的非共线下降θnc(k)为未确定的,则按照以下等式计算对准调整(645):
等式26。
利用等式25更新对准(648),并且折扣系数设定为单位值(βk=1)。利用等式26减少了由三个点确定的三角形的尺寸,同时确保了接下来的三个点为非共线的。因此,迭代序列在达到最小值之前不会停止。对于下一次迭代而言,减少了步长(651):
等式27。
存储新的步长以备下一次迭代使用(630)。
如果最近的非共线下降θnc(k)为确定的(606),则应用第二测试以确定下降方向是否反转(609)。当前一对准调整超过最佳对准设定时出现方向反转。该条件表示如下:
cos[θnc(k)-θnc(k-1)]<0 等式28。
其中θnc(k-1)为前一下降方向。如果等式28成立(609),则利用等式23计算对准调整。利用等式25更新该对准(642),并且将折扣系数设定为0.7(βk=0.7)。对于下一次迭代而言,减少了步长(636):
等式29。
存储该新的步长以备下一次迭代使用(630)。
如果下降方向为确定的(606)并且等式28不成立(609),则利用等式23进行对准调整(612)。利用等式25更新对准(615),并且将折扣系数设为单位值(βk=1)。下面描述步长调整。
根据等式14中的平面近似来计算下一次迭代的步长。因为ΔP理论上将当前的Pk减少到最小值,所以结果为
其中Pk,min为标准平方误差的目标最小值。利用等式17和等式30,该近似步长为
然而令人遗憾的是,当平面(nα 2+nφ 2)的斜率小时,等式31中的步长不稳定。此外,不能精确获知最小值Pk,min(尽管能够随着迭代的进行估计该最小值)。
为了限制目标最小值和误差表面形状的不确定性的影响,优选使步长选择从当前的平面估计中去耦。这是通过限制迭代之间的步长变化实现的。当前一调整(Δαk,Δφk)处于允许的范围之外时,提高或降低步长。按照以下等式计算范围参数(618):
A=nαΔαk+nφΔφk 等式32
如果A>1.5B,则当前的步长超过上边界(621)。减少步长(636):
等式34。
如果A<0.25B,则当前的步长低于下边界(624)。提高步长(633):
等式35。
如果两次边界测试(621或者624)都不是有效的,则步长保持相同(627)。存储新的步长以备下次迭代使用(630)。
如果确定了最近的非共线方向θnc(k)为确定的,但是前一下降方向θnc(k-1)未确定,则处理按照测试609失败进行。
在对准和步长更新的第一实施例中,量化该步长。因此,不必计算步长更新。能够按照需要增加或减少查找表的索引。
注意,上和下边界(A>1.5B和A<0.25B)适于RMS检测器或者转变为RMS电压的对数检测器输出。等式31中的平面近似容易低估用于与RMS检测器相关的碗形误差表面的最佳步长。相反,平面近似会高估用于与对数检测器(未转变为RMS)相关的漏斗形误差表面的步长。在后一种情况中,需要不同的上和下边界。优选的是,步长的最小值和最大值应为特定的并且强制的。
第二实施例
图7表示了对准和步长更新的第二实施例。主要差别在于其根据消除剩余来选择步长:即,
sk=f{Pk} 等式36
其中f{}为特定的函数。
在第二实施例中,检索最近的非共线下降方向值和测量值Pk(703)。测试下降方向(706)。如果该方向未确定,则使用由等式26确定的对准调整(718)。利用等式25更新对准(721),并且折扣系数设为单位值(βk=1)。
如果下降方向确定了(706),则利用等式36中的映射计算步长(709)。对准调整基于等式23(712)。利用等式25更新对准(715),并且折扣系数设为0.7(βk=0.7)。尽管能够通过实验获得等式36中的映射,但能够看出等式31为步长映射的潜在消除剩余。
剩余映射假设下降方向等于梯度方向,这仅仅在平均的情况下是成立的。对于非共线下降而言,步长尺寸的误差为系数cos(θnc-θgrad),其中θnc是非共线下降方向。对于8方向量化而言,非共线下降与梯度之间的最差情况差为π/4弧度。因此,步长的最大误差的系数为1.4。通过赋予βk=0.7的折扣系数,能够容易地处理这个问题。
搜索的初始化
图8表示了初始化处理流程。校正检测器(803),并且加载对准设定(806)、目标对准设定(809)和步长(812)的初始值。以下描述校正和目标对准的具体情况。
优选的是,对于第一回路对准而言,匹配或者校正误差和输入检测器,使得功率测量值的比值为消除剩余的估计。例如,可以假设利用对数检测器获得输入和误差功率测量值。在校正过程中,关闭主放大器。因为不存在消除,所以两个功率检测器应当具有相同的值;利用校正项去除任何差值。通过在一组输入功率级时重复这些测量,可以计算dB/DAC LSB(最低有效位)比例因子。假设将消除测量值从dB转变为产生碗形误差表面的线性项。
当开始对准搜索时,仅一个点pk可用。因此,不能够利用三点方法计算该梯度方向。选择目标对准设定(最小值位置的最佳猜测),从而可以规定梯度方向。
对于步长更新的第一实施例而言,必须规定初始步长。步长的初始选择基于初始标准化平方误差,而不同于步长更新的第二实施例。对于第一实施例而言,所需的初始步长精度是合适的,这是因为步长将适应补偿。
已经结合目前的优选实施例描述了本发明,然而,本领域技术人员可以理解,可以进行各种修改,同时保持在本发明范围内,这些修改过多难以一一描述。因此,以上的具体实施方式应视为仅仅是说明性的,实际上不是限定性的。