一种基于人工神经网络的晶体振荡器的制作方法

文档序号:11959108阅读:381来源:国知局
一种基于人工神经网络的晶体振荡器的制作方法与工艺

本发明属于集成电路领域,具体为一种基于人工神经网络的晶体振荡器。



背景技术:

晶体振荡器作为稳定的频率源广泛应用于便携式电子设备以及无线通信技术等领域,其频率对温度变化的稳定度是衡量晶体振荡器性能优劣的重要指标之一。温度补偿晶体振荡器(TCXO)是通过温度补偿网络减小振荡器输出频率因温度变化产生的偏移,从而提高频率稳定度。

温度补偿晶体振荡器(TCXO)一般由温补网络、变容二极管、晶体谐振器和振荡电路模块组成,如图1所示。其工作原理是:温补网络产生随温度变化的控制电压,该控制电压作用于变容二极管,可以改变变容二极管的容值,补偿晶体谐振器的谐振频率因温度变化产生的偏移,从而提高晶体振荡器的频率稳定度。

变容二极管两端的电压和晶体振荡器谐振频率非线性关系导致了控制电压V是温度的高阶函数,电压和频率关系的非线性越大,则电压和温度关系中的高阶项越大(K.R.Ward,A novel approach to improving the stability of TCVCXO temperature performance,Frequency Control Symposium and PDA Exhibition Jointly with the 17th European Frequency and Time Forum,2003.Proceedings of the 2003IEEE International,pp.473–477,2003)。

现有的温度补偿方案主要有两种,一种是模拟温度补偿方案,另一种是数字温度补偿方案。模拟温度补偿方案中,因为产生对温度呈高阶函数的电压比较困难,一般用线性函数近似电压V对振荡频率的控制作用,从而用温度补偿网络产生对温度呈多项式函数(一般为三次方函数)的控制电压V,补偿精度有限;数字温度补偿方案中,通过对电压—温度函数的拟合和插值的方式得到每个温度点所需的控制电压,虽然精度比模拟温度补偿方案的精度高,但是其精度受限于拟合和插值基函数的形式和阶数,阶数越高,补偿的精度越高,但是需要的系统资源和复杂度越大,不适用于对补偿精度有进一步要求的应用场合。

控制电压和晶体谐振频率的非线性关系不仅影响了温度补偿晶体振荡器(TCXO)的补偿精度,更是严重影响了输出频率可调的温度补偿晶体振荡器(VCTCXO)的频率稳定性。目前,(VCTCXO)同样通过变容二极管实现,但是变容二极管的控制电压V是温补网络产生的补偿电压V1和外部调节中心频率的电压V2带权相加产生的。

控制电压V和晶体谐振频率的非线性关系导致VCTCXO在不同的调节电压V2下,温度特性不同,即当晶体振荡器的中心频率改变后,由于振荡器频率—温度特性曲线发生旋转(J.R.Vig,Quartz crystal resonators and oscillators for frequency control and timing applications.A tutorial.[online]Available:http://www.ieee-uffc.org),同样一组温度补偿数据会导致补偿精度不够。为解决这个问题,专利US6549055B2中提出了一种线性化频率—电压关系的方法,通过在控制电压和变容二极管之间插入一个具有非线性传输函数的电路模块,使得从输入电压到输出频率之间近似为线性关系,从而提高VCTCXO的温度稳定度,但是该方案中具有非线性传输函数的电路模块结构复杂,加大了晶体振荡器设计的难度。



技术实现要素:

针对现有的TCXO和VCTCXO因为补偿电压和频率之间的非线性关系导致的温度补偿精度不够的缺点,本发明提供了一种基于人工神经网络的晶体振荡器。

本发明的技术方案如下:

一种基于人工神经网络的晶体振荡器,包括控制电压产生模块和晶体振荡模块。

控制电压产生模块由温度传感器、频率计、数据选择器、输入数据处理单元、人工神经网络和输出数据处理单元组成,其作用是产生对温度呈非线性关系的控制电压。

晶体振荡模块由变容二极管、晶体谐振器和振荡电路组成,其作用是产生振荡信号。

所述控制电压产生模块中,温度传感器与输入数据处理单元相连,用于探测并传输晶体振荡模块的温度数据T;

频率计的输入端与晶体振荡模块的输出相连,输出端与数据选择器的输入1端口相连,其作用是在数据采集阶段监测并传输晶体振荡模块产生的振荡信号的频率;

数据选择器的输入2端口与外部中心频率输入相连,输出端接输入数据处理单元,其作用是在信号Contr2控制下选择通过数据选择器的数据通路;

输入数据处理单元的输入端还与晶体振荡模块中变容二极管的控制电压V相连,输出与人工神经网络的输入相连,其作用是接收输入数据,并对其处理成人工神经网络可以直接处理的数据;

人工神经网络为前馈网络,其输出端接输出数据处理单元,作用是在信号Contr2控制下对输入数据X按照预期V=g(X)做出非线性响应,产生非线性控制电压;

输出数据处理单元的输出接变容二极管的控制电压,其作用是对人工神经网络的输出数据处理后接到变容二极管二端,通过控制变容二极管的容值补偿晶体振荡器的振荡频率因温度变化产生的偏移。

进一步地,Contr1是模式切换信号,该信号通过控制输入到输入数据处理单元的数据维数控制晶体振荡器在TCXO模式和VCTCXO模式之间切换。

进一步地,Contr2是人工神经网络状态切换信号,该信号控制人工神经网络在学习状态和工作状态之间切换,同时控制通过数据选择器的数据。

进一步地,Contr1信号和Contr2信号一起控制晶体振荡器在不同的模式、不同的状态下工作。具体地,晶体振荡器在不同的模式、不同的状态之间的切换通过以下方式实现:

在TCXO模式下,Contr2信号控制人工神经网络处于学习状态时,信号Contr1控制输入到输入数据处理单元的数据是2维,包括温度数据T和控制电压数据V,即X=(V,T);当Contr2信号控制人工神经网络处于工作状态时,信号Contr1控制输入到输入数据处理单元的数据是1维,只有温度数据T,即:X=(T);

VCTCXO模式下,当Contr2信号控制人工神经网络处于学习状态时,信号Contr1控制输入到输入数据处理单元的数据是3维,包括温度数据T、控制电压数据V和频率数据f,即:X=(V,f,T);当Contr2信号控制人工神经网络处于工作状态时,信号Contr1控制输入到输入数据处理单元的数据是2维,包括温度数据T和频率数据f,即:X=(f,T)。

进一步地,该基于人工神经网络的晶体振荡器的工作过程分为三个阶段,具体为:

第一阶段:训练数据采集

TCXO模式时,在每一个不同的温度Ti下,i为温度标号,在变容二极管两端施加控制电压Vi,使得在不同的温度点Ti,晶体振荡器输出的频率偏移为零,记录数据(Vi,Ti),得到训练样本Y=(V,T),此时训练样本Y是二维数组,其中,T作为人工神经网络的输入,V作为人工神经网络的目标输出;

VCTCXO模式时,首先保持温度T不变,改变变容二极管两端的控制电压V,用频率计记录不同的Vi下振荡器的输出频率f;然后保持变容二极管两端的控制电压V不变,在不同的温度点Ti下用频率计记录晶体振荡器的输出频率f,得到训练样本Y=(f,V,T),此时训练样本Y是三维数组,其中,f和T作为人工神经网络的输入,V作为人工神经网络的目标输出。

第二阶段:人工神经网络的训练(学习)

该阶段,Contr2信号控制人工神经网络处于学习状态,同时控制通过数据选择器的数据为1端口的数据,即在训练数据采集阶段得到的频率数据f。第一阶段采集的训练样本数据经输入数据处理单元处理后输入到人工神经网络,人工神经网络对输入变量(TCXO模式时,人工神经网络的输入为X=T;VCTCXO模式时,人工神经网络的输入为X=(f,T))做出响应,产生网络输出,然后对网络输出和目标输出V做比较,当两者的误差不满足预设的精度要求时,人工神经网络调整网络权值W,直到误差小于预设的精度,训练结束,该过程如图3所示。

第三阶段:工作

该阶段,Contr2信号控制人工神经网络处于工作状态。TCXO模式下,Contr1控制输入到输入数据处理单元的数据为X=(T),人工神经网络根据在第二阶段训练好的网络权值对输入做出非线性响应,产生非线性控制电压V=g(T),该控制电压经输出数据处理单元后控制变容二极管的容值,从而补偿TCXO的振荡频率因温度变化产生的偏移;

VCTCXO模式下,Contr2控制通过数据选择器的数据来自端口2,即外部输入的中心频率,同时,Contr1控制输入到输入数据处理单元的数据为X=(f,T),人工神经网络根据在第二阶段训练好的网络权值对输入做出非线性响应,产生非线性控制电压V=g(f,T),人工神经网络的输出经输出数据处理单元后控制变容二极管的容值,从而精确补偿晶体振荡器的振荡频率因温度变化而产生的偏移。此时,控制电压V是f和T的二元函数,即在不同的中心频率f下,产生温度特性不同的非线性控制电压。

本发明用人工神经网络产生变容二极管两端所需的控制电压。人工神经网络自身固有的非线性映射能力使得该网络能够以高精度逼近非线性函数,从而产生对温度呈非线性函数的控制电压,该电压通过控制变容二极管的容值精确补偿TCXO和VCTCXO的频率因温度变化产生的偏移,显著改善其频率稳定度。

人工神经网络产生满足预设精度的非线性控制电压,与现有的多项式函数形式的补偿电压相比,补偿精度高,能够适用于对温度稳定度有高要求的场合;对于VCTCXO,由于人工神经网络能够逼近二元非线性函数,即可以在不同的中心频率下产生不同温度特性的非线性控制电压,避免了现有的温度补偿方案中中心频率改变后振荡器频率—温度特性旋转引起的补偿效果不佳的缺点;本发明适用于任何切型的石英晶体、钽酸锂晶体、铌酸锂晶体、镓镧系以及MEMS等晶体。

综上所述,本发明补偿精度高,并克服了VCTCXO在中心频率改变后振荡器频率—温度特性旋转引起的补偿效果不佳的缺点;适用于任何切型的石英晶体、钽酸锂晶体、铌酸锂晶体、镓镧系以及MEMS晶体。

附图说明

图1是现有的温度补偿晶体振荡器结构示意图;

图2是本发明的结构示意图;

图3是人工神经网络的训练过程示意图;

图4是基于BP神经网络的VCTCXO示意图;

图5(a)是基于人工神经网络的VCTCXO训练时的结构示意图,(b)是基于人工神经网络的VCTCXO工作时的结构示意图。

具体实施方式

下面结合图4和图5,以BP神经网络为模型,以VCTCXO模式为例给出本发明的一种基于人工神经网络的晶体振荡器的具体实施例。本发明中的人工神经网络可以是其他形式的模型,且本发明不仅适用于VCTCXO,也适用于TCXO。

图4是以VCTCXO模式为例,提供本发明的一种基于人工神经网络的晶体振荡器的实施例,该实施例包括控制电压产生模块和晶体振荡模块。

控制电压产生模块由温度传感器、频率计、数据选择器、输入数据处理单元、人工神经网络和输出数据处理单元组成,其作用是产生关于温度T和频率f的非线性函数V;

晶体振荡模块包括变容二极管、晶体谐振器和振荡电路,用于产生振荡信号。

所述控制电压产生模块中,温度传感器与输入数据处理单元相连,用于探测并传输晶体振荡模块的温度数据T;

频率计的输入端与晶体振荡模块的输出相连,输出端与数据选择器的输入1端口相连,其作用是在数据采集阶段监测并传输晶体振荡模块产生的振荡信号的频率;

数据选择器的输入2端口与外部中心频率输入相连,输出端接输入数据处理单元,其作用是在信号Contr2控制下选择通过数据选择器的数据通路;

输入数据处理单元的输入端还与晶体振荡模块中变容二极管的控制电压V相连,输出与人工神经网络的输入相连,其作用是接收输入数据,并对其处理成人工神经网络可以直接处理的数据;

人工神经网络的输出端接输出数据处理单元,其作用是在信号Contr2控制下对输入数据X=(f,T)按照预期V=g(f,T)做出非线性响应,产生非线性控制电压;

输出数据处理单元的输出接变容二极管的控制电压,其作用是对人工神经网络的输出数据处理后接到变容二极管两端,通过控制变容二极管的容值补偿晶体振荡器的振荡频率因温度变化产生的偏移。

进一步地,Contr1是模式切换信号,该信号通过控制输入到输入数据处理单元的数据X的维数控制晶体振荡器在TCXO模式和VCTCXO模式之间切换,此时实例中Contr1控制晶体振荡器处于VCTCXO模式;Contr2是人工神经网络状态切换信号,该信号控制人工神经网络在学习状态和工作状态之间切换,同时控制通过数据选择器的数据。

Contr1信号和Contr2信号一起控制晶体振荡器在不同的模式、不同的状态下工作。具体地,晶体振荡器在不同的模式、不同的状态之间的切换通过以下方式实现:

此实施例中,Contr1信号控制晶体振荡器处于VCTCXO模式下,当Contr2信号控制人工神经网络处于学习状态时,信号Contr1控制输入到输入数据处理单元的数据是3维,包括温度数据T、控制电压数据V和频率数据f,即:X=(V,f,T);当人工神经网络处于工作状态时,信号Contr1控制输入到输入数据处理单元的数据是2维,包括温度数据T和频率数据f,即:X=(f,T)。

进一步地,采用三层BP神经网络模型的人工神经网络包括由两个神经元组成的输入层Ii(i=1,2)、由4个神经元组成的隐层Hj(j=1,2,3,4)以及由1个神经元组成的输出层Ok(k=1),i、j、k分别是输入层、隐层、输出层神经元标号;隐层神经元数目的选择由实际要解决的问题决定,这里为方便说明选择为4个;任何一个隐层神经元接收输入层所有神经元传递的信号,并对其进行非线性处理后传输到输出层神经元,同层神经元之间没有信号传递。非线性变换由每个神经元的激活函数决定,此处激活函数选择sigmoid函数;输入层到隐层的信息传递由权值wij决定,隐层到输出层之间的信息传递由权值决定。

进一步地,本实施例的基于BP神经网络的VCTCXO的工作过程分为三个阶段,具体为:

第一阶段:训练数据采集

对于由不同特性的晶体和不同特性的变容二极管组成的VCTCXO,首先保持温度不变,改变变容二极管两端外加的控制电压V,用频率计检测VCTCXO的输出频率f,记录数据;然后保持变容二极管两端的控制电压V不变,在不同的温度点Ti用频率计检测VCTCXO的输出频率f,记录数据,得到训练样本Y=(f,T,V),该训练样本Y是三维数组,其中频率数据f和温度数据T是BP神经网络的输入,V是BP神经网络的目标输出。

第二阶段:人工神经网络的训练(学习)

该阶段VCTCXO的结构示意图如图5(a)所示,Contr2信号控制BP神经网络处于学习状态,并控制通过数据选择器的数据来自端口1,即频率计的输出;Contr1信号控制将第一阶段采集的训练样本Y=(f,T,V)输入到输入数据处理单元,其中频率数据f和温度数据T是BP神经网络的输入,V是BP神经网络的目标输出。BP神经网络对输入的每一个样本做出响应,产生实际输出,然后比较BP神经网络的实际输出和目标输出之间的误差,当误差不满足设定的精度时,BP神经网络调整网络权值wij、直到误差小于设定的精度。该阶段包括两个过程:信号正向传播和误差反向传播,具体如下:

信号正向传播过程:信号通过输入神经元依次逐层传递,经过隐层和输出层的非线性处理,最后由输出神经元输出。该过程中,网络权值不变。

对于某一个样本S,BP神经网络的输出可以表示为:

其中,是隐层和输出层神经元的激活函数,这里选择sigmoid函数:

误差反向传播过程:将BP神经网络的实际输出与目标输出做比较,当相差较大时,则将二者的误差信号作为输入信号从网络的输出端逐层向前传播。反向传播使得BP神经网络的网络权值wij、朝着误差函数减小的方向不断修正,直到误差减小到预设的精度。设样本S对应的目标输出为Ts,则所有样本的误差为:

<mrow> <mi>E</mi> <mrow> <mo>(</mo> <mi>W</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>s</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msup> <mrow> <mo>(</mo> <msup> <mi>T</mi> <mi>s</mi> </msup> <mo>-</mo> <msup> <mi>O</mi> <mi>s</mi> </msup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

其中,n是样本数量。当该误差比预设精度大时,神经网络调整网络权值wij和直到上式所示的误差小于预设精度,则BP神经网络的训练阶段完成,此时人工神经网络能够以要求的精度逼近函数V=g(f,T)。

第三阶段:工作

该阶段,Contr2信号控制人工神经网络处于工作状态,并控制通过数据选择器的数据来自端口2,即外部输入的中心频率。Contr1控制输入到输入数据处理单元的数据只有温度数据T和中心频率数据f。BP神经网络根据在第二阶段训练好的网络权值对输入X=(f,T)做出非线性响应,产生非线性控制电压V=g(f,T),该控制电压经输出数据处理单元后控制变容二极管的容值,从而精确补偿VCTCXO的振荡频率因温度变化而产生的偏移。由于BP神经网络能够在不同的中心频率下产生温度特性不同的控制电压,避免了传统的VCTCXO中因为中心频率改变引起频率—温度特性旋转导致的补偿精度不够的问题。

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