一种数控衰减器建模方法与流程

文档序号:23653630发布日期:2021-01-15 13:50阅读:77来源:国知局
一种数控衰减器建模方法与流程

本发明涉及射频/微波建模仿真技术领域,尤其涉及一种数控衰减器建模方法。



背景技术:

射频器件种类繁多、结构千变万化,工作状态、工作原理各不相同,根据器件工作状态,可分为单状态器件和多状态器件。数控衰减器利用编码控制各级开关器件,从而控制各衰减模块支路处于直通或衰减状态,从而组合出不同的工作状态,因此数控衰减器是一种多状态芯片,如图2所示。

射频器件建模作为射频/微波建模与仿真的重要环节,对准确评估射频微波系统的电性能、信号的传输性能等起到了十分关键的作用。

传统的射频芯片建模方法主要包括:物理模型法、等效电路模型法以及数值方法。然而,物理模型和等效电路模型的计算速度快,但必须对芯片的内在结构和工作原理比较了解,当对各种寄生效应和耦合效应缺乏深入认识时,难以得到准确的模型;数值方法则需要付出巨大的计算量才能得到较准确的模型。

此外,对于多状态器件,其输入信号除了射频信号外,还包含控制信号,可组合出多种工作状态,无论是对器件的测试工作,还是器件的模型描述都更加复杂。



技术实现要素:

针对传统建模方法的局限和数控衰减器多状态的特点,本发明提出一种数控衰减器建模方法,该方法在获取建模样本数据时,无需对数控衰减器的所有工作状态都进行测试,而只需对数控衰减器的参考态(0db衰减状态)和几个衰减基态进行测试,并通过去嵌和级联算法计算出其他工作状态的数据,因此可显著减轻测试工作量。接着,利用各工作状态下的数据,基于bp神经网络方法构建神经网络模型,可精确拟合模型复杂的非线性映射关系。本发明提出的数控衰减器建模,可对输入输出数据进行自适应训练而学习器件的行为特性,而无需了解芯片内在的结构和工作原理,相较于传统建模方法具有明显优势。

为实现上述目的,本发明的数控衰减器建模方法,包括以下步骤:

步骤一、获取参考态和衰减基态测试数据:针对数控衰减器建模,将s参数作为神经网络模型的输出参数,将频率作为输入参数;利用矢量网络分析仪对数控衰减器的参考态及各衰减基态进行数据测量,其中衰减基态为数控衰减器中各衰减模块单独作用的衰减状态;

步骤二、获取其他衰减状态的数据:通过去嵌公式将各衰减模块的s参数求出,然后再利用级联公式求出参考态与多个衰减模块不同组合下的级联s参数,以得到不同工作状态下的s参数数据;

步骤三、预处理样本数据:对s参数中周期性变化的相位数据进行反折叠处理,以及对神经网络训练样本进行归一化和随机排序处理;

步骤四、建立神经网络模型:利用bp神经网络算法对数控衰减器的数据进行自主学习以建立其模型,针对数控衰减器各工作状态下的各维度的s参数分别建立神经网络模型,确定各神经网络的层数、各隐藏层神经元个数和各神经元激活函数;

步骤五、训练神经网络模型:针对每个工作状态的各维度s参数的幅度和相位分别进行神经网络模型的训练。

进一步的,步骤一中将各通道s参数的幅度、相位单独作为神经网络的输出进行建模,以提高模型精度和训练效率,每个工作状态下的模型包含多个神经网络模型,每个神经网络模型仅计算和输出一维s参数。

进一步的,步骤三中反折叠处理包括以下步骤:当一个点的相位数据与上一个点的相位数据相差超过相位周期的一半时,则将当前点的相位数据加上或减去若干倍周期值,从而使相位数据的变化相对平滑,却不会影响相位数据的正确性。

进一步的,步骤三中归一化处理是将原始数据归一到相同的尺度范围内,以避免各维度物理量绝对值相差过大而影响模型精度。

进一步的,步骤五中采用bp神经网络模型算法,训练过程主要包括正向计算和反向误差传播过程,利用第三方神经网络算法库进行。

进一步的,神经网络训练过程主要需确定三个参数:训练算法、学习率和迭代终止条件。

本发明的有益效果在于:

本发明提出的一种数控衰减器建模方法,仅需对参考态和几个衰减基态进行测试,即可通过去嵌、级联算法获得其他所有工作状态的建模数据,可有效减轻器件测试工作的任务量。本发明将获得的建模数据利用bp神经网络算法进行精确建模,无需多器件内在结构和工作原理有深入得认识,也无需过多先验知识,即可快速将建模数据转换成数控衰减器的神经网络模型。基于本发明所提出的建模方法,可有效提高数控衰减器测试和建模的效率。

附图说明

图1本发明的数控衰减器建模流程图;

图2本发明数控衰减器模型功能组成示意图;

图3本发明两个二端口器件级联及等效网络示意图;

图4~11本发明实施例数控衰减器的9db衰减状态模型中各维度s参数神经网络模型输出与测试数据对比曲线。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现说明本发明的具体实施方式。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了一种数控衰减器建模方法,如图1所示,包括以下步骤:

步骤一、获取参考态和衰减基态测试数据

针对数控衰减器建模,将s参数(各通道s参数的幅度、相位:s11_amp,s11_pha,…snn_amp,snn_pha)作为神经网络模型的输出参数,将频率作为输入参数。值得一提的是,虽然神经网络模型可以是多输出的,但为提高模型精度和训练效率,将各通道s参数的幅度、相位单独作为神经网络的输出进行建模,因此每个工作状态下的模型将包含多个神经网络模型,每个神经网络模型仅计算和输出一维s参数。由于数控衰减器包含多个工作状态,因此需对每个工作状态进行单独建模。

从图2可看出,数控衰减器是由参考态和若干个衰减模块级联组成的,通过开关控制各衰减模块支路的通断,来实现不同衰减状态的组合。这里,将各衰减模块单独作用的衰减状态称为衰减基态,其他衰减工作状态则可以由参考态和不同衰减模块组合形成。

本发明中仅需利用矢量网络分析仪对参考态及各衰减基态进行数据测量,其他衰减状态的数据通过去嵌和级联处理得到,从而可显著减少测试工作的任务量。

步骤二、获取其他衰减状态的数据

数控衰减器可以看成一个两端口器件,其各种工作状态可以看做多个两端口器件级联,如图3所示。其中,级联后的s参数(scomposite)可由级联前的两器件的s参数(s(1)和s(2))通过级联公式计算得到。若已知scomposite和s(1),则可通过去嵌公式求出s(2)

由上述分析可知,数控衰减器的各衰减基态可看做参考态和各衰减模块的级联,其他衰减状态可看做参考态和多个衰减模块的级联。因此,首先通过去嵌公式将各衰减模块的s参数求出,然后再利用级联公式求出参考态与多个衰减模块不同组合下的级联s参数,这样便得到了不同工作状态下的s参数数据。

步骤三、预处理样本数据

预处理样本数据包括对周期性变化的相位数据的反折叠处理,以及对神经网络训练样本的归一化、随机排序处理,以下简述这两步预处理操作。

1)反折叠操作

s参数中包含周期性变化的相位数据(s11_pha、s21_pha、s12_pha、s22_pha),对于周期性变化的相位数据,在两个周期之间的数据点,会出现数据的剧烈突变,表现为数据曲线的周期性折叠,会影响神经网络建模的精度。为消除这一影响,对于周期性的相位数据,需进行反折叠处理,具体操作方法:当一个点的相位数据与上一个点的相位数据相差超过相位周期的一半时,则将当前点的相位数据加上或减去若干倍周期值,从而使相位数据的变化相对平滑,却不会影响相位数据的正确性。

2)归一化、随机排序操作

由于输入、输出各物理量单位和量纲不同,导致数据范围往往千差万别。归一化处理就是将原始数据归一到相同的尺度范围内,从而避免各维度物理量绝对值相差太大而影响模型精度。

随机排序是为了提高神经网络模型的泛化能力,提高模型在训练样本之外的输入点的预测准确性,随机排序通常可通过程序自动化实现。

步骤四、建立神经网络模型

利用bp神经网络算法对数控衰减器的数据进行自主学习而建立其精确模型,与传统建模方法相比,无需了解数控衰减器的内在结构和工作原理,也无需过多先验知识。针对数控衰减器各工作状态下的各维度的s参数分别建立神经网络模型,确定各神经网络的层数、各隐藏层神经元个数和各神经元激活函数。

步骤五、训练神经网络模型

经过步骤一~步骤三的处理后,即可对数控衰减器各工作状态进行神经网络模型训练,为提高模型精度和训练效率,针对每个工作状态的各维度s参数的幅度和相位分别进行神经网络模型的训练。采用bp神经网络模型算法,训练过程主要包括正向计算和反向误差传播过程,通常利用第三方神经网络算法库进行。神经网络训练过程主要需确定三个参数:训练算法、学习率、迭代终止条件。

在本发明的一个优选实施例中,以一个数控衰减器为例对上述过程进行阐述,包括以下步骤:

步骤一:获取参考态和衰减基态测试数据

本实施例中的数控衰减器为4位数控衰减器,由8db衰减模块、4db衰减模块、2db衰减模块和1db衰减模块组成,其组合共有15种衰减状态和1个参考态(0db衰减状态,所有衰减模块支路均断开)。采用矢量网络分析仪分别对数控衰减器的参考态和4个衰减基态(8db,4db,2db,1db)进行测试,选取测试频率为1ghz~20ghz,步进为100mhz,共计191组样本,样本数据的输入为各个频点(f),输出为对应的各通道s参数(s11_amp,s11_pha,s21_amp,s21_pha,s12_amp,s12_pha,s22_amp,s22_pha)。

步骤二:获取其他衰减状态的数据

通过去嵌公式和级联公式,即可利用参考态数据和衰减基态数据获取任意状态的数据,以9db衰减状态的数据为例来阐述获取任意衰减状态数据的过程。

因为9db衰减状态可看做由参考态与8db和1db衰减模块级联组成,而8db和1db衰减基态都包含参考态,直接进行级联,会因为级联了三个参考态而导致结果错误,因此,首先利用去嵌公式,将8db和1db衰减基态分别去嵌各自包含的参考态,得到8db和1db衰减模块的s参数;然后,再利用级联公式分别将参考态和8db和1db衰减模块进行级联,得到9db衰减状态的级联s参数。

步骤三:预处理样本数据

对得到的9db衰减状态的级联s参数进行预处理,首先对周期性变化的相位数据s11_pha、s21_pha、s12_pha、s22_pha利用反折叠公式进行反折叠处理;然后,对输入和输出各维度s参数分别利用归一化公式进行归一化处理;然后,对输入和输出各维度数据进行随机排序,各维度随机排序的规则和顺序是一致,以保证输入输出的对应关系不变;最后,将上述预处理后的样本数据中80%作为训练样本,20%作为测试样本,便可直接应用于神经网络模型的训练。

步骤四:建立神经网络模型

针对数控衰减器的各个工作状态分别进行建模,这里仍然以9db衰减状态建模为例来阐述建模过程。针对9db衰减状态的各维度s参数分别建立神经网络模型,先给出神经网络参数的一个初始值,再在训练神经网络模型时进行修正。这里给出的网络参数初始值为:网络层数为3层,其中包含一个输入层,一个隐藏层和一个输出层;由于网络输入为频率,输出为某一维度的s参数,因此输入层和输出层神经元个数均为1,隐藏层的神经元个数设置为20;隐藏层神经元的激活函数选择单极性sigmoid函数,输出层神经元的激活函数选择线性函数。

步骤五:训练神经网络模型

训练神经网络模型,需确定训练算法、迭代终止条件和学习率。对于本实施例,训练算法选择lm算法,学习率初始值选择为0.3,最大迭代次数为500,期望的最大均方误差为10-7

这里仍以9db衰减状态模型中的各维度s参数的神经网络模型训练为例来说明,经过多次迭代和修改相应参数,最终得到较佳的参数组合:网络层数为4层,两个隐藏层神经元个数分别为15和50,隐藏层神经元的激活函数为单极性sigmoid函数,学习率为0.1,其他参数与上述步骤中的设置相同。各维度s参数神经网络模型输出与测试数据的结果对比曲线如图4~11所示,其均方误差和迭代次数如下表所示:

本实例中数控衰减器参考态和其他衰减状态建模与9db衰减状态建模过程类似,依照上述步骤可以得到数控衰减器在各种工作状态下的模型。

以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1