首页> 中国专利> 一种基于深度重构模型的功率放大器行为建模方法

一种基于深度重构模型的功率放大器行为建模方法

摘要

本发明公开了一种基于深度重构模型的功率放大器行为建模方法,本深度重构模型结合了深度学习理论和Elman神经网络的优点,通过使用受限波尔兹曼机来初始化神经网络的权系数,在建模过程中只需较少的迭代次数,获得更快的收敛速度;利用Elman神经网络的输出除了与即时输入有关,也与历史输入有关的特点,用于描述非线性系统的记忆效应,完成功率放大器行为模型的精确重构。

著录项

  • 公开/公告号CN105224985A

    专利类型发明专利

  • 公开/公告日2016-01-06

    原文格式PDF

  • 申请/专利权人 南京航空航天大学;

    申请/专利号CN201510629062.3

  • 申请日2015-09-28

  • 分类号G06N3/02(20060101);G06N3/08(20060101);

  • 代理机构南京瑞弘专利商标事务所(普通合伙);

  • 代理人徐激波

  • 地址 210016 江苏省南京市秦淮区御道街29号

  • 入库时间 2023-12-18 13:18:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-10-31

    授权

    授权

  • 2016-02-03

    实质审查的生效 IPC(主分类):G06N3/02 申请日:20150928

    实质审查的生效

  • 2016-01-06

    公开

    公开

说明书

技术领域

本发明涉及非线性系统建模与分析应用领域,尤其涉及一种基于神经网络的功率放大器行为模型建模与分析方法。

背景技术

功率放大器(PowerAmplifier,PA)是发射机的关键部分,也是辐射源特征的主要来源之一。功放是一个复杂的非线性系统,对其进行系统建模方法的研究对于功放非线性特性的测量、行为模型的参数提取、以及采用预失真技术消除功放的非线性失真等方面具有重要的实际意义和应用价值。

功放的建模方法可分为物理建模和行为建模两种:物理建模通常要求知道功放的电路结构、相关的元器件特性、基本电路定律以及相关理论规则等;而行为建模则仅需利用功放的输入输出数据,采用黑盒的方式描述系统响应特性,分析更为简便。按照模型所反映的物理本质,将行为模型分为:无记忆模型、有记忆模型等。

实际中的功放属于典型的非线性记忆系统。有记忆模型一般采用Volterra级数模型和神经网络模型等。传统的Volterra级数模型一般适用于弱非线性系统的行为建模,系统参数的数量会随着系统阶次和记忆深度的增加而急剧增多,常用的有记忆的多项式模型可以看成是Volterra级数模型的简化形式。神经网络模型可以逼近任意的非线性函数,并且具有灵活有效的自组织学习能力,因而被广泛用于功放系统的行为建模。目前已经提出了很多种具有记忆效应的神经网络模型,如径向基神经网络、动态模糊神经网络、基于切比雪夫正交基的神经网络等。但是神经网络算法存在收敛速度较慢,易陷入局部极小值等缺点。

发明内容

本发明的目的在于提供一种基于深度重构模型(DeepReconstructionModel,DRM)的功率放大器行为建模方法,克服现有方法迭代次数较多、计算复杂、建模精度较低造成对功率放大器产生的非线性失真认识不完整,从而影响功率放大器性能提高的问题。本方法对功率放大器采用基于深度重构模型的神经网络方法进行行为建模,使用受限波尔兹曼机来初始化神经网络的权系数,降低模型的迭代次数,提高收敛速度;利用Elman神经网络的输出除了与即时输入有关,也与历史输入有关的特点,用于描述功率放大器的记忆效应,以实现对有记忆非线性系统的系统建模与分析。

本发明采用的技术方案为:一种基于深度重构模型的功率放大器行为建模方法,包括以下步骤:

步骤A:准备系统行为建模的输入数据向量x=[x(1),x(2),…,x(N)]和输出数据向量其中N为数据长度。

步骤B:将输入和输出数据归一化。

>x(i)=x(i)max(x),yd,i=yd,imax(yd),i=1,2,...,N>

步骤C:初始化受限玻尔兹曼机(RestrictedBoltzmannMachine,RBM)网络,RBM网络的模型结构有两层:可见层和隐含层。其过程如下:

步骤C-1:设置RBM网络可见层有N个单元,构成可见层单元向量v=[v1,v2,…vN],接收外部的输入变量并将输入变量传递到隐含层单元;隐含层有L个单元,构成隐含层单元向量h=[h1,h2,…hL]。从可见层到隐含层有N×L维权系数矩阵可见层单元有1×N维偏置向量a=[a1,a2,…aN],隐含层单元有1×L偏置向量b=[b1,b2,…bL];构成RBM网络的系数矩阵θ={R,a,b};

步骤C-2:设置RBM网络的系数矩阵θ=0;

步骤C-3:设置RBM网络的训练最大迭代次数T;

步骤C-4:设置RBM网络重构误差的误差阈值为μ;

步骤C-5:设置RBM网络的学习速率为φ;

步骤C-6:设置重构误差初始值Ereconst(0)=0。

步骤D:使用输入数据训练二进制RBM网络,它的随机变量(v,h)只从{0,1}取值,vi和hj是可见层单元i和隐含层单元j的二进制状态,Rij是可见层单元i和隐含层单元j的权系数。每一次迭代训练由两个RBM网络组成,其中,底层RBM的隐含层连接顶层RBM的可见层。其过程如下:

步骤D-1:初始化可见层输入数据

步骤D-2:对于所有隐含层的节点j:计算也就是进行层与层之间的映射运算其中,是sigmoid激励函数;依据进行吉布斯采样(GibbsSampling)得到

步骤D-3:对于所有可见层的节点i:计算即进行层与层之间的映射运算依据进行吉布斯采样得到

步骤D-4:对于所有隐含层的节点j:计算即进行层与层之间的映射运算依据进行吉布斯采样得到

步骤D-5:RBM网络的学习算法是基于梯度上升的对数似然函数(gradientascentonthelog-likelihood)。计算梯度参数ΔRij(t),Δai(t),Δbj(t),其中t为RBM网络训练迭代次数:

>ΔRij(t)=logP(v;θ)Rij=Edata[vhT]-Emode1[vhT]>

>Δai(t)=logP(v;θ)ai=Edata[h]-Emode1[h]>

>Δbj(t)=logP(v;θ)bj=Edata[v]-Emode1[v]>

其中,Edata[·]为基于数据的期望,Emodel[·]为模型期望。

步骤D-6:计算更新的Rij(t+1)、ai(t+1)、bj(t+1)。

Rij(t+1)=Rij(t)+φΔRij(t)

ai(t+1)=ai(t)+φ·Δai(t)

bj(t+1)=bj(t)+φ·Δbj(t)

步骤D-7:用v0和v1计算RBM网络的重构误差Ereconst

Ereconst(t+1)=Ereconst(t)+||v0-v1||

其中,||·||为2-范数。

步骤D-8:迭代次数加1,即t=t+1。当迭代次数t=T或者重构误差Ereconst(t)≤μ时,结束训练,跳到步骤D-9;否则,返回步骤D-1,继续训练。

步骤D-9:获得目标更新的权系数为R。

步骤E:初始化Elman神经网络(Elmanneuralnetwork,ENN),ENN的模型结构有四层:输入层、隐含层、承接层和输出层。其过程如下:

步骤E-1:设置ENN输入层有N个神经元,接受外部的输入变量u=[u1,u2,…uN]并将输入变量传递到隐含层;隐含层有L个神经元,每个神经元都具有传递函数f=Hi(p)(i=1,2,…,L),隐含层向量H(p)=[H1(p),H2(p),…HL(p)];承接层是隐含层对于神经元的延时,同时拥有一个反馈系数为α的自反馈,所以该层的神经元个数与隐含层相同,承接层向量输出层有M个神经元,该层神经元的输出ym,m=1,2,…,M,是隐含层神经元输出的线性组合;

步骤E-2:设置最大迭代次数为Nmax

步骤E-3:设置误差函数的误差阈值为ε;

步骤E-4:在ENN模型中,有三种权系数矩阵:从隐含层到输出层的L×M维的权系数矩阵W1;从输入层到隐含层的N×L维的权系数矩阵W2;从承接层到隐含层的L×L维的权系数矩阵W3。设置网络的初始权值,其中输入层到隐含层的初始权值W2(0)使用RBM网络的训练结果,即

W1(0)=0,W2(0)=R,W3(0)=0

步骤E-5:设置网络的学习速率η1,η2,η3

步骤E-6:设置承接层的初始值Xc(0)=0;

步骤E-7:设置承接层的自反馈系数α。

步骤F:利用Elman神经网络对行为模型进行建模,其过程如下:

步骤F-1:根据Elman网络结构,由动态方程计算ENN各层的输出:

y(p)=W1(p)H(p)

H(p)=f[W2(p)u+W3(p)Xc(p)]

Xc(p)=αH(p-1)

其中p为迭代次数,f是sigmoid激励函数。

步骤F-2:计算目标误差函数,其定义为:

>E(p)=12[(yd-y(p))T(yd-y(p))]>

其中y(p)为第p次迭代的Elman网络模型的输出,为系统的实际归一化输出。如果误差函数E(p)>ε,进行步骤F-3;如果误差函数E(p)<ε,则进行步骤G。

步骤F-3:用最速下降(GradientDescent,GD)算法训练网络,得到模型的权值矩阵的变化量:

>ΔWlm1(p)=-η1E(p)Wlm1(p)=η1δmo(p)Hl(p)>

>ΔWnl2(p)=-η2E(p)Wnl2(p)=η2δlh(p)Hl(p)Wnl2(p)>

>ΔWkl3(p)=-η3E(p)Wkl3(p)=η3δlh(p)Hl(p)Wkl3(p)>

其中

>δmo(p)=yd,m-ym(p)>

>δlh(p)=Σm=1Mδmo(p)Wlm1(p)>

>Hl(p)Wnl2(p)=fl(·)[un+αWll3(p)Hl(p-1)Wnl2(p-1)]>

>Hl(p)Wkl3(p)=fl(·)[αHk(p-1)+αWll3(p)Hl(p-1)Wkl3(p-1)]>

这里j表示输入层的第j个神经元,i表示隐含层的第i个神经元,k表示承接层的第k个神经元,m代表输出层的第m个神经元,fl′(·)是激励函数f的导数。

步骤F-4:迭代次数加1,即p=p+1。当迭代次数小于最大迭代次数Nmax时,继续步骤F-5;当迭代次数大于最大迭代次数Nmax时,停止迭代,执行步骤G。

步骤F-5:根据ΔW1(p),ΔW2(p),ΔW3(p),更新权值系数,其中

W1(p+1)=W1(p)+ΔW1(p)

W2(p+1)=W2(p)+ΔW2(p)

W3(p+1)=W3(p)+ΔW3(p)

步骤F-6:返回步骤F-1。

步骤G:通过步骤F得到的权系数,计算ENN模型最终的输出y。

本发明通过使用受限波尔兹曼机(RestrictedBoltzmannMachine,RBM)来初始化神经网络的权系数,在建模过程中只需较少的迭代次数,获得更快的收敛速度;利用Elman神经网络的输出除了与即时输入有关,也与历史输入有关的特点,用于描述功率放大器的记忆效应,以实现对有记忆非线性系统的系统建模与分析。

本发明的有益效果:1.RBM加快收敛速度,减少运算量,避免陷入局部极小值;2.在相同的迭代次数下,DRM比ENN具有更高的精度。

附图说明

图1为半桥D类功率放大器电路图;

图2为DRM模型结构图;

图3为RBM网络;

图4为两层RBM训练网络;

图5为DRM和ENN的误差曲线图;

图6为ENN模型与DRM模型时域仿真结果比较;

图7为ENN模型与DRM模型频域仿真结果比较。

具体实施方式

以下以D类半桥功率放大器为例,结合附图,详细说明本发明的实施方式。

D类功放的MOS管工作在开关状态,是一种典型的非线性系统。如图1所示为D类半桥功率放大器电路,其中,三角波信号的幅度为10V,频率为40kHz;输入双音信号x,频率分别为436Hz和3kHz,幅度都为4V。经过D类放大器输出脉冲宽度调制信号(PWM),再经过低通滤波器,输出信号为yd,并带有失真。

如图2所示为DRM模型结构图,它包含两部分:受限玻尔兹曼机和Elman神经网络。

本发明是一种基于深度重构模型(DeepReconstructionModel,DRM)的功率放大器的行为建模方法,包括如下步骤:

步骤A:准备系统行为建模的输入数据向量x=[x(1),x(2),…,x(N)]和输出数据向量其中N=2000为数据长度。其中前1000个用于训练,后1000个用于行为建模。

步骤B:将输入和输出数据归一化。

>x(i)=x(i)max(x),yd,i=yd,imax(yd),i=1,2,...,N>

步骤C:初始化受限玻尔兹曼机(RestrictedBoltzmannMachine,RBM)网络,如图3所示,RBM网络的模型结构有两层:可见层和隐含层。其过程如下:

步骤C-1:设置RBM网络可见层有N=1000个单元,构成可见层单元向量v=[v1,v2,…vN],接收外部的输入变量并将输入变量传递到隐含层单元;隐含层有L=15个单元,构成隐含层单元向量h=[h1,h2,…hL]。从可见层到隐含层有N×L维权系数矩阵可见层单元有1×N维偏置向量a=[a1,a2,…aN],隐含层单元有1×L偏置向量b=[b1,b2,…bL];构成RBM网络的系数矩阵θ={R,a,b};

步骤C-2:设置RBM网络的系数矩阵θ=0;

步骤C-3:设置RBM网络的训练最大迭代次数T=10;

步骤C-4:设置RBM网络重构误差的误差阈值为μ=15.9;

步骤C-5:设置RBM网络的学习速率为φ=0.01;

步骤C-6:设置重构误差初始值Ereconst(0)=0。

步骤D:使用输入数据训练二进制RBM网络,它的随机变量(v,h)只从{0,1}取值,vi和hj是可见层单元i和隐含层单元j的二进制状态,Rij是可见层单元i和隐含层单元j的权系数。每一次迭代训练由如图4所示的两层RBM网络完成,其中,底层RBM的隐含层连接顶层RBM的可见层。其过程如下:

步骤D-1:初始化可见层输入数据

步骤D-2:对于所有隐含层的节点j:计算也就是进行层与层之间的映射运算其中,是sigmoid激励函数;依据进行吉布斯采样(GibbsSampling)得到

步骤D-3:对于所有可见层的节点i:计算即进行层与层之间的映射运算依据进行吉布斯采样得到

步骤D-4:对于所有隐含层的节点j:计算即进行层与层之间的映射运算依据进行吉布斯采样得到

步骤D-5:RBM网络的学习算法是基于梯度上升的对数似然函数(gradientascentonthelog-likelihood)。计算梯度参数ΔRij(t),Δai(t),Δbj(t),其中t为RBM网络训练迭代次数:

>ΔRij(t)=logP(v;θ)Rij=Edata[vhT]-Emode1[vhT]>

>Δai(t)=logP(v;θ)ai=Edata[h]-Emode1[h]>

>Δbj(t)=logP(v;θ)bj=Edata[v]-Emode1[v]>

其中,Edata[·]为基于数据的期望,Emodel[·]为模型期望。

步骤D-6:计算更新的Rij(t+1)、ai(t+1)、bj(t+1)。

Rij(t+1)=Rij(t)+φΔRij(t)

ai(t+1)=ai(t)+φ·Δai(t)

bj(t+1)=bj(t)+φ·Δbj(t)

步骤D-7:用v0和v1计算RBM网络的重构误差Ereconst

Ereconst(t+1)=Ereconst(t)+||v0-v1||

其中,||·||为2-范数。

步骤D-8:迭代次数加1,即t=t+1。当迭代次数t=T或者重构误差Ereconst(t)≤μ时,结束训练,跳到步骤D-9;否则,返回步骤D-1,继续训练。

步骤D-9:获得目标更新的权系数为R。

步骤E:初始化Elman神经网络(Elmanneuralnetwork,ENN),ENN的模型结构有四层:输入层、隐含层、承接层和输出层。其过程如下:

步骤E-1:设置ENN输入层有N=1000个神经元,接受外部的输入变量u=[u1,u2,…uN]并将输入变量传递到隐含层;隐含层有L=15个神经元,每个神经元都具有传递函数f=Hi(p)(i=1,2,…,L),隐含层向量H(p)=[H1(p),H2(p),…HL(p)];承接层是隐含层对于神经元的延时,同时拥有一个反馈系数为α的自反馈,所以该层的神经元个数与隐含层相同,承接层向量输出层有M=1000个神经元,该层神经元的输出ym(m=1,2,…,M)是隐含层神经元输出的线性组合。

步骤E-2:设置最大迭代次数为Nmax=25;

步骤E-3:设置误差函数的误差阈值为ε=5.2;

步骤E-4:在ENN模型中,有三种权系数矩阵:从隐含层到输出层的L×M维的权系数矩阵W1;从输入层到隐含层的N×L维的权系数矩阵W2;从承接层到隐含层的L×L维的权系数矩阵W3。设置网络的初始权值,其中输入层到隐含层的初始权值W2(0)使用RBM网络的训练结果,即

W1(0)=0,W2(0)=R,W3(0)=0

步骤E-5:设置网络的学习速率η1=0.01,η2=0.01,η3=0.01;

步骤E-6:设置承接层的初始值Xc(0)=0;

步骤E-7:设置承接层的自反馈系数α=0.001。

步骤F:利用Elman神经网络对行为模型进行建模,其过程如下:

步骤F-1:根据Elman网络结构,由动态方程计算ENN各层的输出:

y(p)=W1(p)H(p)

H(p)=f[W2(p)u+W3(p)Xc(p)]

Xc(p)=αH(p-1)

其中p为迭代次数,f是sigmoid激励函数。

步骤F-2:计算目标误差函数,其定义为:

>E(p)=12[(yd-y(p))T(yd-y(p))]>

其中y(p)为第p次迭代的Elman网络模型的输出,为系统的实际归一化输出。如果误差函数E(p)>ε,进行步骤F-3;如果误差函数E(p)<ε,则进行步骤G。

步骤F-3:用最速下降(GradientDescent,GD)算法训练网络,得到模型的权值矩阵的变化量:

>ΔWlm1(p)=-η1E(p)Wlm1(p)=η1δmo(p)Hl(p)>

>ΔWnl2(p)=-η2E(p)Wnl2(p)=η2δlh(p)Hl(p)Wnl2(p)>

>ΔWkl3(p)=-η3E(p)Wkl3(p)=η3δlh(p)Hl(p)Wkl3(p)>

其中

>δmo(p)=yd,m-ym(p)>

>δlh(p)=Σm=1Mδmo(p)Wlm1(p)>

>Hl(p)Wnl2(p)=fl(·)[un+αWll3(p)Hl(p-1)Wnl2(p-1)]>

>Hl(p)Wkl3(p)=fl(·)[αHk(p-1)+αWll3(p)Hl(p-1)Wkl3(p-1)]>

这里j表示输入层的第j个神经元,i表示隐含层的第i个神经元,k表示承接层的第k个神经元,m代表输出层的第m个神经元,fl′(·)是激励函数f的导数。

步骤F-4:迭代次数加1,即p=p+1。当迭代次数小于最大迭代次数Nmax时,继续步骤F-5;当迭代次数大于最大迭代次数Nmax时,停止迭代,执行步骤G。

步骤F-5:根据ΔW1(p),ΔW2(p),ΔW3(p),更新权值系数,其中

W1(p+1)=W1(p)+ΔW1(p)

W2(p+1)=W2(p)+ΔW2(p)

W3(p+1)=W3(p)+ΔW3(p)

步骤F-6:返回步骤F-1。

步骤G:通过步骤F得到的权系数,计算ENN模型最终的输出y。

采用RBM训练带来的优势在图5的DRM和ENN的误差曲线图中可以体现。在经典的ENN模型中,初始权值W1(0)=0,W2(0)=0,W3(0)=0。而DRM模型中初始权值W2(0)使用RBM网络的训练结果R,其他初始权值与ENN相同。从仿真结果可以看出:在迭代次数和隐含层神经元数相同的情况下,DRM比ENN收敛速度更快;或者说在隐含层神经元个数相同的情况下,要达到相同的误差,DRM所需的迭代次数更少。

如图6是ENN模型与DRM模型时域仿真结果比较。在隐含层神经元L=15,迭代次数为25的情况下,ENN的平均误差为0.015V,最大瞬时误差为0.0323V,而DRM的平均误差为0.0087V,最大瞬时误差为0.0187V,所以,从时域仿真结果可以看出,DRM比ENN的精度更高。

如图7是ENN模型与DRM模型仿真结果的频谱比较。输入双音信号的频率f1=436Hz和f2=3kHz,由于系统的非线性,出现的非线性失真频率f3=f2-f1和f4=f2+f1是二阶互调失真(IMD2),f5=f2-2f1和f6=f2+2f1是三阶互调失真(IMD3)。互调失真(IMD)的不对称性证明了系统存在记忆效应。表1列出了ENN模型与DRM模型仿真结果的频谱误差。在相同条件下,ENN的频域误差为0.2856dB,而DRM的频域误差为0.1631dB,也证明了DRM在频域的精度依旧优于ENN。DRM模型不仅可以重构系统的时域波形,同时,也能够重构非线性系统的记忆效应和非线性频域特性。

表1.ENN模型与DRM模型的频谱误差比较

综上所述,以上实施例仅用以说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,其均应涵盖在本发明的权利要求范围当中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号