一种高精度微机补偿晶体振荡器的制作方法

文档序号:12477156阅读:428来源:国知局
一种高精度微机补偿晶体振荡器的制作方法与工艺

本发明属于集成电路领域,涉及晶体振荡器的温度补偿系统,具体为一种基于人工神经网络算法的高精度微机补偿晶体振荡器。



背景技术:

晶体振荡器作为稳定的频率源广泛应用于便携式电子设备以及无线通信技术等领域,其频率对温度变化的稳定度是衡量晶体振荡器性能优劣的重要指标之一。在导航、雷达和卫星定位系统领域,要求晶体振荡器的频率稳定度能达到10-7-10-8量级。为了提高晶体振荡器的频率稳定度,需要采用温度补偿技术。

温度补偿晶体振荡器(TCXO)的关键是设计温度补偿网络产生非线性补偿电压,该补偿电压作用于变容二极管,通过改变变容二极管的容值改变晶体的负载电容,从而减小晶体谐振频率因温度变化产生的偏移。

目前的温度补偿方案有模拟温度补偿技术、数字温度补偿技术和微处理器温度补偿技术,其中微处理器温度补偿技术因为采用了微处理器大大发挥了软件的作用,能够对数据进行复杂运算与处理,应用于补偿精度很高的高端产品中。

现有的微处理器补偿技术中,首先需要测量各个温度点下的补偿电压,得到一组电压和温度一一对应的数据,并将该数据以查找表的形式存储在微处理器中,工作时,微处理器每获取一个温度点,就以查表的方式找到该温度点下的补偿电压值。其问题在于,为了提高测量效率,测量数据时每两个温度点之间的间隔比较大,而这两个温度点之间的补偿电压数据是通过数值逼近的方法得到。微处理器通过对该组数据进行拟合或插值,得到任意温度下补偿电压的数据。微处理器温度补偿技术的补偿精度取决于采样点的个数、拟合或插值的基函数的形式以及拟合或插值的函数的阶数,目前,多采用多项式函数进行拟合,多项式函数阶数越高,温度补偿的精度越高,同时需要采样的数据越多,系统的参数越多,将补偿系统芯片化时,参数越少越好。

同时,对于中心频率可调的温度补偿晶体振荡器(VCTCXO),由于在不同的中心频率下晶体的谐振频率-温度特性曲线发生旋转(J.R.Vig,Quartz crystal resonators and oscillators for frequency control and timing applications.A tutorial.[online]Available:http://www.ieee-uffc.org),同样一组温度补偿数据会导致补偿精度不够。

插值和拟合函数的形式和阶数限制了现有的微机补偿晶体振荡器的补偿精度,使其难以应用于对精度有更高要求的场合。



技术实现要素:

针对上述存在问题或不足,为了解决现有的微机补偿晶体振荡器中因为拟合和插值带来的温度补偿精度不够的问题,本发明提供了一种高精度微机补偿晶体振荡器。通过补偿电压的产生采用人工神经网络算法,利用人工神经网络算法能以设定精度逼近任意函数(多元以及一元函数)的特点,产生非线性补偿电压,该电压接在晶体振荡模块中变容二极管两端,通过控制变容二极管的容值补偿晶体振荡器的振荡频率因为温度变化产生的偏移。

本发明的技术方案如下:

一种高精度微机补偿晶体振荡器,包括PC、控制电压产生模块和晶体振荡模块;

控制PC与控制电压产生模块中的微处理器相连,用于实现和微处理器的数据通信,显示补偿电压。

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

控制电压产生模块包括微处理器、D/A、A/D、温度传感器和频率计,其作用是在微处理器程序控制下,产生非线性补偿电压V。

所述控制电压产生模块中,温度传感器和晶体振荡模块热耦合,其输出与A/D的输入端相连,作用是监测并传输晶体振荡模块的温度。

频率计的输入与晶体振荡模块的输出相连,输出与A/D的输入相连,其作用是监测并传输晶体振荡模块输出信号的频率。

A/D的输出与微处理器的输入相连,其作用是将温度数据和频率数据转化为数字码,并输入到微处理器。

微处理器采用人工神经网络算法产生非线性补偿电压;微处理器的输出与D/A的输入相连,其作用是在内部程序的控制下,产生非线性补偿电压V的数字码。

D/A的输出与晶体振荡模块中变容二极管相连,其作用是将微处理器输出的补偿电压的数字码转为模拟量,并提供给变容二极管。

进一步地,人工神经网络指生物科学技术和人工智能领域的前馈神经网络,包括输入层、隐层和输出层(神经网络中的逼近问题.数学年刊(A辑)1998,19A(3):295-300),每一层由不同数目的神经元组成;其中,输入层用于输入变量,隐层用于对前一层传递的信号作非线性变换,输出层用于对隐层传递的信号作非线性变换并输出最终的信号;同层神经元之间没有信号传递,不同层神经元之间的信息传递的强弱由权值决定,非线性变换由神经元的激活函数决定。

进一步地,所述人工神经网络以设定精度逼近任意函数,从而产生非线性补偿电压是通过对人工神经网络的训练实现的:首先将训练样本输入到人工神经网络,人工神经网络会产生网络输出,然后对网络输出和目标输出做比较,判断两者的误差是否小于预设精度,当两者的误差不满足预设的精度要求时,人工神经网络调整网络权值W,直到误差小于预设的精度,此时保存网络权值,训练结束。该算法流程如图2所示。

进一步地,本发明一种高精度微机补偿晶体振荡器工作流程分为三个阶段,具体为:

第一阶段:训练样本采集

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

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

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

1)对人工神经网络和训练样本进行初始化

TCXO模式下,初始化人工神经网络模型和网络初始权值,初始化输入神经元个数为1个,并初始化训练样本为Y1=(V,T),指定T是人工神经网络的输入,V是人工神经网络的目标输出;

VCTCXO模式下,初始化人工神经网络模型和网络初始权值,初始化人工神经网络的输入神经元个数为2个,并初始化训练样本为Y2=(f,V,T),指定f和T是人工神经网络的输入,V是人工神经网络的目标输出;

2)训练

调度人工神经网络训练算法,首先根据样本产生网络输出,然后对网络输出和目标输出做比较,判断两者的误差是否小于预设精度,当两者的误差不满足预设的精度要求时,人工神经网络调整网络权值W,直到误差小于预设的精度,保存人工神经网络参数,包括人工神经网络模型、输入神经元个数与网络权值,训练结束。

第三阶段:工作

1)读取输入变量

TCXO模式下,读取输入变量X=T,此变量由温度传感器提供;

VCTCXO模式下,读取输入变量X=(f,T),其中变量T由温度传感器提供,变量f由PC端输入,并通过PC与微处理器之间的通信输入到人工神经网络;

2)产生补偿电压V

人工神经网络根据第二阶段保存的网络权值对输入X做出响应,产生非线性补偿电压V,该电压经过D/A转换接到变容二极管两端,通过控制变容二极管的容值精确晶体振荡器的频率因温度变化产生的偏移。

进一步地,本发明一种高精度微机补偿晶体振荡器产生所需频率的振荡信号是通过微处理器中算法的控制实现的,该算法流程如图3所示。

程序中需要两个信号Contr1和Contr2分别标识晶体振荡器的模式和人工神经网络的状态。具体地,Contr1是晶体振荡器模式切换信号,控制晶体振荡器在TCXO和VCTCXO模式之间切换;Contr2是人工神经网络状态控制信号,控制人工神经网络在训练样本采集、训练和工作状态之间转换。

程序开始时,需要根据晶体振荡器实际的工作情况首先写入这两个信号值,然后根据这两个信号值执行相应的操作,直到产生需要的振荡信号,算法结束。

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

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

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

附图说明

图1是本发明一种高精度微机补偿晶体振荡器;

图2是人工神经网络训练算法流程图;

图3是本发明微处理器中控制算法流程示意图;

图4是隐层数为1的BP神经网络拓扑结构示意图。

具体实施方式

下面结合图4,以BP神经网络为模型,以VCTCXO模式为例给出本发明的一种高精度微机补偿晶体振荡器的具体实施例。需要说明的是,该实施例只是为了解释本发明,并不是对本发明的限制,本发明中的人工神经网络可以是其他形式的模型,且本发明不仅适用于VCTCXO,也适用于TCXO。

本实施例包括PC、控制电压产生模块和晶体振荡模块;

PC与控制电压产生模块中微处理器相连,用于实现和微处理器之间的数据通信,并显示补偿电压;

控制电压产生模块包括微处理器、D/A、A/D、温度传感器和频率计,其作用是在微处理器程序控制下,产生非线性补偿电压V;

晶体振荡模块包括变容二极管、晶体和振荡电路,其作用是产生振荡信号;

所述控制电压产生模块中,温度传感器和晶体振荡模块热耦合,其输出与A/D的输入端相连,作用是监测并传输晶体振荡模块的温度;

频率计的输入与晶体振荡模块的输出相连,输出与A/D的输入相连,其作用是监测并传输晶体振荡模块输出信号的频率;

A/D的输出与微处理器的输入相连,其作用是将温度数据和频率数据转化为数字码,并输入到微处理器;

微处理器的输入还与PC相连,输出与D/A的输入相连,其作用是在内部程序的控制下,产生非线性补偿电压V的数字码;

D/A的输出与晶体振荡模块中变容二极管相连,其作用是将微处理器输出的补偿电压的数字码转为模拟量,并提供给变容二极管;

所述控制电压产生模块的微处理器中采用人工神经网络算法产生非线性补偿电压。

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

进一步地,所述BP神经网络以设定精度逼近任意函数,从而产生非线性补偿电压是通过对BP神经网络的训练实现的。BP神经网络的训练过程包括两个阶段:

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

对于某一个样本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)。

进一步地,本实施例一种高精度微机补偿晶体振荡器工作分为三个阶段,不同阶段的控制由微处理器中算法实现,具体为:

第一阶段:训练样本采集

输入Contr1信号值为1,Contr2信号值为00;

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

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

输入Contr1信号值为1,Contr2信号值为01;

1)对人工神经网络和训练样本进行初始化

初始化人工神经网络模型为BP神经网络,初始化BP神经网络初始权值,初始化人工神经网络的输入神经元个数为2个,并初始化训练样本为Y2=(f,V,T),指定f和T是人工神经网络的输入,V是人工神经网络的目标输出;

2)训练

调度BP神经网络训练算法,训练结束后,保存神经网络参数,包括神经网络输入神经元个数与网络权值。

第三阶段:工作

输入Contr1信号值为1,Contr2信号值为10;

1)读取输入变量:读取输入变量X=(f,T),其中变量T由温度传感器提供,变量f由PC端输入,并通过PC与微处理器之间的通信输入到人工神经网络;

2)产生补偿电压V

人工神经网络根据第二阶段保存的网络权值对输入X=(f,T)做出响应,产生非线性补偿电压V=g(f,T),该电压经过D/A转换接到变容二极管两端,通过控制变容二极管的容值精确晶体振荡器的频率因温度变化产生的偏移。

由于该补偿电压是关于温度和频率的二元非线性函数,即不同的中心频率下补偿电压有不同温度特性,避免了现有的温度补偿方案中中心频率改变后振荡器频率—温度特性旋转引起的补偿精度不高的缺点。

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