一种基于神经网络的频率识别系统转让专利

申请号 : CN201710468638.1

文献号 : CN107169476B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘洋安坤郭睿钱堃魏金平于奇

申请人 : 电子科技大学

摘要 :

本发明属于集成电路领域,具体涉及一种基于神经网络的频率识别系统。本发明利用神经网络模块,对包含频率信息的样本进行处理,样本训练结束后,神经网络模块保存当前状态,在后续对输入频率识别时,不需要重复查找过程,直接输出其初略范围目标编码Cbit,完成对频率的快速识别。本发明可用于锁相环电路中,经校正后即可获得准确的输出频率。

权利要求 :

1.一种基于神经网络的频率识别系统,其特征在于:包括神经网络模块、采样模块、多路复用器和监督学习信息采集模块;

所述采样模块有两个输入信号:采样时钟fclk和被采样信号fin,采样模块将采集的fin转换成一串由0和1构成的序列Serial data,即神经网络模块能进行处理的信号并输出;其输出接神经网络模块的输入;

所述监督学习信息采集模块有两个与采样模块相同的输入信号:采样时钟fclk和被采样信号fin;其输出信号为fin所在初略范围目标编码Cbit,与神经网络模块的输入相连;采用二分查找的方式,确定fin对应的Cbit,为神经网络模块提供训练目标,通过控制器实时对神经网络模块的训练与输出进行对比与监督;

所述神经网络模块,有两个输入信号:由采样模块输出的Serial data和监督学习信息采集模块输出的Cbit;有两个使能端EN_TRAIN和EN_OUT,用于切换神经网络模块的工作状态;其输出信号为神经网络模块训练完成后的目标输出Train;并通过控制器与神经网络进行数据通信,显示训练进程和准确率;神经网络模块的输出接多路复用器的输入S2;

所述多路复用器有两个输入信号:S1和S2,其中S1的输入信号由外部提供记为DataIn,S2的输入信号为Train;有一个使能端EN和一个信号选择端Con,当Con=1时选择S1,实现对目标编码的外部写入,当Con=0时选择S2,由神经网络模块写入进行选择;其输出信号为最终的输出Cbit。

2.如权利要求1所述基于神经网络的频率识别系统,其特征在于:

所述神经网络模块在EN-TRAIN使能时,将采样模块得到的serial data和Cbit同时输入到神经网络模块当中,其中serial data主要包含信息为:上升沿位置、下降沿位置和当前频率所在的位置,Cbit数据用于最终检验网络是否训练出有效结果;当满足监督学习后正确率的要求时,EN-OUT使能,输出最终的目标输出。

3.如权利要求1所述基于神经网络的频率识别系统,其特征在于:所述神经网络为循环神经网络,采用的模型是长短时记忆模型LSTM。

4.如权利要求1所述基于神经网络的频率识别系统,其工作流程为:

第一阶段:产生训练样本与获取训练目标

输入一个被采样频率fin和时钟频率fclk,采样模块对输入频率fin采样,得到包含频率和相位信息的串行二进制码serial data,其中,每一次的输入频率fin对应一个期望的表示其初略范围的目标编码Cbit,该Cbit由监督学习信息采集模块提供;

对于第i个输入频率fi,对应目标编码Ci,输入频率将频率范围(fmin,fmax)遍历完成,得到训练样本X=[fi,Ci];

第二阶段:神经网络模块的训练

EN_TRAIN信号使能,神经网络进入训练状态;

a、对神经网络和训练样本进行初始化;

初始化神经网络模型和网络初始权值,初始化输入神经元个数为n个,n≥1,并初始化训练样本为X=[fi,Ci],其中fi作为神经网络的样本输入,fi是一行串行二进制码,由0、1组成,0和1的先后顺序包含频率和相位信息;Cbit作为神经网络的训练目标,由二进制表示;

b、训练

使用神经网络训练算法,首先根据样本产生网络输出,通过控制器监视训练结果的准确度,当不满足预设准确度要求时,调整隐藏层的个数与网络权值,直到满足准确度要求后,保存神经网络参数,包括神经网络模型、输入神经元个数和网络权值,训练结束;

第三阶段:工作

a、读取输入频率fin

读取输入fin,对其进行采样处理为串行二进制码serial data;

b、神经网络输出该输入频率对应的初略范围目标编码Cbit

神经网络模块根据步骤保存的神经网络参数对输入serial data做出响应,产生该输入频率对应的Cbit,在EN_OUT使能时,关闭神经网络训练状态,神经网络将Cbit输出实现频率的识别。

5.如权利要求1所述基于神经网络的频率识别系统,用于锁相环电路中,经校正后即可获得准确的输出频率。

说明书 :

一种基于神经网络的频率识别系统

技术领域

[0001] 本发明属于集成电路领域,具体涉及一种基于神经网络的频率识别系统。

背景技术

[0002] 频率识别,即对一个频段内的单个频率进行粗略划分,并识别出其所属初略范围,以使得电路可以对其进行快速识别。频率识别时,首先对该频段内粗略划分的频率进行编码,整个过程就是从一个顺序的序列中寻找到相应的目标编码,自然最有效率的查找方式为二分法,当然顺序查找等其他方式同样可以完成这一任务。
[0003] 在使用二分法查找时,我们提供一个初始值,与输入频率进行比较,然后进行多次二分查找,获取其所在频率范围。
[0004] 对于顺序序列查找,由于要遍历所有的频率范围,速度上则要比二分法查找更慢一些,等同于增加了对频率进行初步识别的时间。
[0005] 对顺序序列进行二分法查找是最有效率的方式,但在于初始频率相差比较大的时候,需要重复性的执行多次二分法查找,限制了识别时间进一步缩短的可能性。
[0006] 使用传统的查找方法,当我们多次识别时,每次识别都需要重复一次查找过程,这样增加了对频率进行识别的总时间。

发明内容

[0007] 针对上述存在问题或不足,为了完成对一个频段内的频率进行初步识别,快速分类,本发明提供了一种基于神经网络的频率识别系统,利用神经网络处理与之前状态有关的数据,对包含频率信息的样本进行训练,实现对频率的分类,最终获取频率所在初略范围的目标编码。
[0008] 该基于神经网络的频率识别系统,如图1所示,包括神经网络模块、采样模块、多路复用器和监督学习信息采集模块。
[0009] 所述采样模块有两个输入信号:采样时钟fclk和被采样信号fin,采样模块将采集的fin 转换成一串由0和1构成的序列Serial data,即神经网络模块能进行处理的信号并输出;其输出接神经网络模块的输入。
[0010] 所述监督学习信息采集模块有两个与采样模块相同的输入信号:采样时钟fclk和被采样信号fin;其输出信号为fin所在初略范围目标编码Cbit,与神经网络模块的输入相连;采用二分查找的方式,确定fin对应的Cbit,为神经网络模块提供训练目标,通过控制器实时对神经网络模块的训练与输出进行对比与监督。
[0011] 所述神经网络模块,有两个输入信号:由采样模块输出的Serial data和监督学习信息采集模块输出的Cbit;有两个使能端EN_TRAIN和EN_OUT,用于切换神经网络模块的工作状态;其输出信号为神经网络模块训练完成后的目标输出Train;并通过控制器与神经网络进行数据通信,显示训练进程和准确率;神经网络模块的输出接多路复用器的输入S2。
[0012] 所述多路复用器有两个输入信号:S1和S2,其中S1的输入信号由外部提供记为DataIn, S2的输入信号为Train;有一个使能端EN和一个信号选择端Con,当Con=1时选择S1,实现对目标编码的外部写入,当Con=0时选择S2,由神经网络模块写入进行选择;其输出信号为最终的输出Cbit。
[0013] 进一步的,所述神经网络模块在EN-TRAIN使能时,将采样模块得到的serial data和 Cbit同时输入到神经网络模块当中,其中serial data主要包含信息为:上升沿位置、下降沿位置和当前频率所在的位置,Cbit数据用于最终检验网络是否训练出有效结果;当满足监督学习后正确率的要求时,EN-OUT使能,输出最终的目标输出。
[0014] 进一步的,所述神经网络为循环神经网络,采用的模型是长短时记忆模型LSTM。
[0015] 其工作流程为:
[0016] 第一阶段:产生训练样本与获取训练目标
[0017] 输入一个被采样频率fin和时钟频率fclk,采样模块对输入频率fin采样,得到包含频率和相位信息的串行二进制码serial data,其中,每一次的输入频率fin对应一个期望的表示其初略范围的目标编码Cbit,该Cbit由监督学习信息采集模块提供;
[0018] 对于第i个输入频率fi,对应目标编码Ci,输入频率将频率范围(fmin,fmax)遍历完成,得到训练样本X=[fi,Ci];
[0019] 第二阶段:神经网络模块的训练
[0020] EN_TRAIN信号使能,神经网络进入训练状态;
[0021] a、对神经网络和训练样本进行初始化;
[0022] 初始化神经网络模型和网络初始权值,初始化输入神经元个数为n个,n≥1,并初始化训练样本为X=[fi,Ci],其中fi作为神经网络的样本输入,fi是一行串行二进制码,由0、1 组成,0和1的先后顺序包含频率和相位信息;Cbit作为神经网络的训练目标,由二进制表示;
[0023] b、训练
[0024] 使用神经网络训练算法,首先根据样本产生网络输出,通过控制器监视训练结果的准确度,当不满足预设准确度要求时,调整隐藏层的个数与网络权值,直到满足准确度要求后,保存神经网络参数,包括神经网络模型、输入神经元个数和网络权值,训练结束;
[0025] 第三阶段:工作
[0026] a、读取输入频率fin
[0027] 读取输入fin,对其进行采样处理为串行二进制码serial data;
[0028] b、神经网络输出该输入频率对应的初略范围目标编码Cbit
[0029] 神经网络模块根据步骤保存的神经网络参数对输入serial data做出响应,产生该输入频率对应的Cbit,在EN_OUT使能时,关闭神经网络训练状态,神经网络将Cbit输出实现频率的识别。
[0030] 进一步的,上述基于神经网络的频率识别系统,用于锁相环电路中,经校正后即可获得准确的输出频率。
[0031] 本发明中通过利用神经网络模块处理与之前状态有关的数据,从而实现对包含频率信息的样本的训练:首先将训练样本输入到神经网络模块,神经网络模块会产生网络输出,通过控制器以监视训练结果的准确度,当不满足预设准确度要求时,调整隐藏层的个数与网络权值,直到满足准确度要求,训练结束。
[0032] 综上所述,本发明利用神经网络模块,对包含频率信息的样本进行处理,样本训练结束后,神经网络模块保存当前状态,在后续对输入频率识别时,不需要重复查找过程,直接输出其初略范围目标编码Cbit,完成对频率的快速识别。

附图说明

[0033] 图1是本发明的结构示意图;
[0034] 图2是实施例采用频率采样方式的样本示意图;
[0035] 图3a是实施例采用相位采样方式的样本相位超前示意图,图3b是实施例采用相位采样方式的样本相位滞后示意图;
[0036] 图4是将本发明应用于锁相环电路的示意框图;
[0037] 图5是实施例采用频率采样的锁相环电路示意图;
[0038] 图6是实施例采用相位采样的锁相环电路示意图;
[0039] 图7是RNN神经网络的拓扑结构;
[0040] 图8是RNN神经网络的时序展开图;
[0041] 图9是基于LSTM的RNN神经网络流程图。

具体实施方式

[0042] 下面结合附图和实施例对本发明做进一步的详细说明。
[0043] 结合图5和图6,采用循环神经网络结构RNN(Recurrent Neural Networks)、LSTM(Long Short Term Memory)算法,频率采样和相位采样的模式,给出本发明应用于锁相环环路快速锁定的具体实施实例。
[0044] 循环神经网络(RNN)拓扑结构如图7所示,包括输入层、隐藏层和输出层,其中输入集标记为{x0,x1,…,xt,xt+1,…},输出级标记为{y0,y1,…,yt,yt+1,…},隐藏单元的输出集标记为{s0,s1,…,st,st+1,…},这些隐藏单元完成了最主要的工作。
[0045] 图7是循环神经网络不完整的结构图。由于循环神经网络隐藏层的环包含自环、交叉环,往往RNN一般画成如图8所示的时序展开图。
[0046] 从时序展开图中容易看出,隐藏层的输入还包含上一隐藏层的状态,随着时序的增加,网络深度越来越大。
[0047] ot=g(Vst)    (1)
[0048] st=f(Uxt+Wst-1)    (2)
[0049] 式1是输出层的计算公式,输出层是一个全连接层,也就是它的每个节点都和隐藏层的每个节点相连。V是输出层的权重矩阵,g是激活函数。
[0050] 式2是隐藏层的计算公式,它是循环层。U是输入x的权重矩阵,W是上一次的值作为这一次的输入的权重矩阵,f是激活函数。由式2可以看出当前时刻输入层到隐藏层的信息和上一时刻输入层到隐藏层的信息传递由权重矩阵U和W决定,隐藏层到输出层之间的信息传递由权重矩阵V决定。
[0051] 本实例由神经网络频率识别模块和锁相环环路模块来实施,将该系统用于锁相环电路的快速锁定,其拓扑结构如图5所示。
[0052] 其中,神经网络频率识别模块包括神经网络模块、采样模块、多路复用器、监督学习信息采集模块,监督学习信息采集模块的作用是对神经网络进行训练,产生正确调谐曲线编码,即频率所在初略范围目标编码Cbit;
[0053] 控制器与神经网络模块相连,用于实现和循环神经网络的数据通信,并显示训练进程,准确率等;
[0054] 锁相环环路模块包括鉴频鉴相器(PFD)、电荷泵(CP)、环路滤波器(LPF)、压控振荡器(PFD)、分频器(Divider),其作用是实现PLL环路锁定功能;
[0055] 神经网络模块中监督学习信息采集模块的输出与神经网络模块的输入相连,监督学习信息采集模块的输入与参考频率Fref和分频频率Fdiv相连,其作用是通过监督学习信息采集模块获取当前分频比下正确的调谐曲线控制字,该控制字用来给下面RNN监督学习提供训练目标。采用二分查找的方式,固定分频比,然后进行多次二分查找,获取最优的调谐曲线控制字。
[0056] 采样模块的输入与参考频率Fref和分频频率Fdiv相连,输出与神经网络模块输入相连,其作用是用参考频率Fref对分频频率Fdiv进行采样,然后把频率信息转化为0、1串行序列,再把序列作为样本送入神经网络模块;
[0057] 其中,当采用对频率采样的方式时,其核心模块为A/D转换器,用采样时钟Fclk对被采样信号Fin进行采样,在每一个Fclk的上升沿对Fin进行采样,得到一系列的0、1串行序列 (如图2所示,其方波频率越高,说明被采样频率与采样时钟相差越大,方波频率越低,说明被采样频率与采样时钟相差越小)。在处理由频率采样的数据时,单个数据对应一个确定的频率,其中采样时钟Fclk对应时钟信号Fref,被采样信号Fin即分频频率Fdiv,采样出来的数据fi表示当前被采样信号的频率,我们对各个分频比进行多次采样,构造出神经网络模块的训练样本和测试样本为后续的神经网络模块提供输入。
[0058] 进一步地,鉴频鉴相器(PFD)的输入为参考频率Fref和分频频率Fdiv,其输出连接电荷泵(CP)的输入,对后续电容进行充放电,CP输出经过环路滤波器(LPF)进行调整,环路滤波器(LPF)输出即为压控振荡器(VCO)的控制电压Vcont,VCO的输出vo1、vo2与后面的分频器相连,信号经过分频器分频后(Fdiv),再与PFD相连,组成PFD的一个输入,与参考频率Fref进行比较,连成锁相环环路。
[0059] 但是该环路不具有自动锁定的功能,需要人工调整分频比来找到锁定状态。将参考频率 Fref和分频得到的频率Fdiv作为基于神经网络模块的频率识别模块的输入,用该频率识别模块帮助锁相环快速锁定。
[0060] 进一步地,当采用对相位采样的方式时,其核心模块为TDC模块,作用是用TDC模块读取出采样时钟Fclk和被采样信号Fin的相位差,其中,Fin进入一个延时链,Fclk的上升沿对该延时链的电平进行采样,把相位信息转化为0、1串行序列(如图3a所示,为相位超前时,被采样频率通过延时链的示意图,图3b所示,为相位滞后时,被采样频率通过延时链的示意图)。在处理由相位采样的数据时,其中采样时钟Fclk对应时钟信号Fref,需要进入延时链的信号即分频频率Fdiv,采样出来的数据fi中,单个数据不对应一个确定的频率,但是相邻数串之间的差,对应着被采样的频率Fdiv和时钟信号Fref之间的相位差,其中数列 A(A0、A1、A2。。。)是由一个Fdiv进行多次Fref上升沿取样采出来的TDC序列,记为fi。
[0061] 其中,A位多路复用器的一路输入与RNN模块的输出相连,一路可以由外部写入控制,同时具有使能端以及信号选择端,输出连接至VCO,其作用是可以实现对调谐曲线的外部写入或者由RNN写入进行选择;
[0062] 其中,神经网络模块可以处理与之前状态有关的数据,从而可以实现对包含频率信息的样本的训练:首先将训练样本输入到神经网络模块,神经网络模块会产生网络输出,通过控制器我们可以监视训练结果的准确度,当不满足预设准确度要求时,调整隐藏层的个数与网络权值,直到满足准确度要求,训练结束。
[0063] 基于神经网络的频率的识别系统,用于锁相环电路的快速锁定功能主要由以下几个步骤实现:
[0064] 1、产生训练样本。该训练样本由采样模块得到,采样方式用频率采样模式,此数据由 A/D采样得到。由于采样与时间先后相关,0和1前后关系则包含着频率信息,记串行数据 Serial-data为fi。
[0065] 2、产生训练目标。该训练目标由监督学习信息采集模块得到,通过二分查找法,顺序查找法等去寻找循环神经网络的训练目标并记为Ci,由此得到训练样本X=[fi,Ci],其中fi作为循环神经网络的输入,Ci作为循环神经网络的训练目标,由二进制表示。
[0066] 3、对全部的分频比重复上述过程,得到样本的频率范围(fmin,fmax),构造出数据量足够大训练样本和测试样本。
[0067] 4、当RNN进入训练模式时,将不同的调谐曲线控制字Cbit依次输入,记为Ci,不同的控制字对应着不同的调谐频率,得到二进制串行码。
[0068] 5、对循环神经网络进行训练。首先对循环神经网络和训练样本进行初始化,初始化循环神经网络模型和网络初始权值,初始化输入神经元个数为1个,并且初始化训练样本为 X=[fi,Ci];
[0069] 6、对神经网络模块中的权重矩阵和偏置矩阵进行训练。EN-TRAIN使能,如图7所示,将采样得到的数据fi和对应的Ci送入input输入模块,其中Ci送入prediction期望模块来检测是否得到正确的答案,采样数据fi送入pre_processing预处理模块进行预处理,处理为 [x0,x1,...,xn](其中n为数据的维度,对应first_layer中神经元个数,可以根据训练结果自行定义),然后将处理后的数据送入first_layler第一层网络,结合weights矩阵和biases矩阵进行计算,输出hw,b(x)=f(wx,b)。将LSTM网络和由first_layer的输出一同送入LSTM_layer 计算,每隔5000次(查看结果的次数可以自己定义)取一次结果,送入output_layer输出模块,将output_layer的结果与初始输入Input中的数据,计算其差商,采用梯度下降法进行训练(train)。每进行一次迭代,更新一次权重矩阵weights和偏置矩阵biases。将测试样本放入该网络进行测试,最终正确概率由prediction模块输出。在EN-TRAIN使能时,当我们采用频率采样频率方式时,将A/D模块得到的fi数据和Ci数据同时输入到input模块当中,其中fi数据主要包含信息为:上升沿位置、下降沿位置和当前频率所在的位置,Ci数据用于最终检验网络是否训练出有效结果;当采用相位采样的方式时,将TDC模块得到的fi数据和Ci数据同时输入到input模块当中,其中fi数据主要包含信息为:上升沿位置、下降沿位置和当前频率所在的位置,Ci数据用于最终检验网络是否训练出有效结果;
[0070] 7、神经网络模块最终输出。通过控制器我们可以监视训练结果的准确度,当不满足预设准确度要求时,调整隐藏层的个数与网络权值,直到满足准确度要求,保存循环神经网络参数,包括循环神经网络模型、输入神经元个数与网络权值,训练结束,当满足正确率要求时, EN-OUT使能,输出最终对应的调谐曲线的序列。
[0071] 8、输出控制字到PLL环路中,完成PLL环路的快速锁定。该控制字在使能输出时,把控制字输入到VCO的电容阵列,锁相环电路环路工作,来实现快速锁定。
[0072] 综上所述,可见本发明可以用于频率的识别,同时由于神经网络可以处理带有频率信息的序列,为其提供样本的采样方式可以用不同的采样方式得到,不局限于频率采样和相位采样模式。