(57)【要約】【課題】学習済みモデルを利用した高精度の温度補償処理を実現できる発振器等の提供。【解決手段】発振器４は、第１振動子１０と第２振動子１１と、第１振動子１０を発振させることで第１発振信号ＯＳＣ１を生成する第１発振回路２０と、第２振動子１１を発振させることで第１発振信号おＳＣ１とは周波数温度特性が異なる第２発振信号ＯＳＣ２を生成する第２発振回路２１と、温度補償データＴＣＰにより温度補償される周波数のクロック信号ＣＫを生成するクロック信号生成回路６０と、入力データＤＩＮに対して温度補償データＴＣＰに対応するデータを出力するように機械学習させた学習済みモデルの情報を記憶する記憶部９０と、第１発振信号ＯＳＣ１及び第２発振信号ＯＳＣ２に基づく入力データＤＩＮに対して、学習済みモデルの情報に基づく処理を行うことで、温度補償データＴＣＰを求める処理回路３０を含む。【選択図】図１
2020145528.tif 000002
【特許請求の範囲】
【請求項１】
第１振動子と、
第２振動子と、
前記第１振動子を発振させることで第１発振信号を生成する第１発振回路と、
前記第２振動子を発振させることで前記第１発振信号とは周波数温度特性が異なる第２発振信号を生成する第２発振回路と、
温度補償データにより温度補償される周波数のクロック信号を生成するクロック信号生成回路と、
入力データに対して前記温度補償データに対応するデータを出力するように機械学習させた学習済みモデルの情報を記憶する記憶部と、
前記第１発振信号及び前記第２発振信号に基づく前記入力データに対して、前記学習済みモデルの情報に基づく処理を行うことで、前記温度補償データを求める処理回路と、
を含むことを特徴とする発振器。
【請求項２】
請求項１に記載の発振器において、
前記処理回路は、
前記第１発振信号及び前記第２発振信号が入力される測定回路と、
前記測定回路の測定データが前記入力データとして入力され、前記学習済みモデルの情報に基づいて、前記温度補償データを求める演算回路と、
を含み、
前記処理回路は、前記温度補償データにより補正された設定データを前記クロック信号生成回路に出力し、
前記クロック信号生成回路は、前記設定データに基づいて前記クロック信号を生成することを特徴とする発振器。
【請求項３】
請求項１に記載の発振器において、
前記クロック信号生成回路は、フラクショナル−Ｎ型のＰＬＬ回路を含み、
前記処理回路は、前記ＰＬＬ回路が有する分周回路に対して、前記温度補償データにより補正された分周比設定データを出力することを特徴とする発振器。
【請求項４】
請求項３に記載の発振器において、
前記ＰＬＬ回路は、
前記第１発振信号に基づく入力クロック信号と、前記分周回路からのフィードバッククロック信号との位相比較を行う位相比較回路と、
前記位相比較の結果に基づいて、制御電圧を生成する制御電圧生成回路と、
前記制御電圧に対応する周波数の出力クロック信号を生成する電圧制御発振回路と、
を含むことを特徴とする発振器。
【請求項５】
請求項１に記載の発振器において、
前記クロック信号生成回路は、ダイレクトデジタルシンセサイザーを含み、
前記処理回路は、前記温度補償データにより補正された周波数設定データを、前記ダイレクトデジタルシンセサイザーに出力することを特徴とする発振器。
【請求項６】
請求項１に記載の発振器において、
前記クロック信号生成回路は、
周波数設定データをＤ／Ａ変換して、周波数の制御電圧を出力するＤ／Ａ変換回路と、
前記Ｄ／Ａ変換回路からの前記制御電圧に対応する周波数で第３振動子を発振させる電圧制御発振回路と、
を含み、
前記処理回路は、前記温度補償データにより補正された前記周波数設定データを、前記Ｄ／Ａ変換回路に出力することを特徴とする発振器。
【請求項７】
請求項１乃至６のいずれか一項に記載の発振器において、
前記処理回路は、前記第１発振信号と前記第２発振信号とに基づいて、前記第１発振信号の周波数と前記第２発振信号の周波数との差を表す周波数差データを求め、前記周波数差データを前記入力データとして、前記学習済みモデルの情報に基づく処理を行うことを特徴とする発振器。
【請求項８】
請求項１乃至６のいずれか一項に記載の発振器において、
前記処理回路は、前記第１発振信号に基づく第１カウント処理を行い、前記第１カウント処理により設定される期間において、前記第２発振信号に基づく第２カウント処理を行い、前記第２カウント処理のカウント値を前記入力データとして、前記学習済みモデルの情報に基づく処理を行うことを特徴とする発振器。
【請求項９】
請求項１乃至６のいずれか一項に記載の発振器において、
前記処理回路は、基準クロック信号に基づく基準クロックカウント処理を行い、前記基準クロックカウント処理により設定される期間において、前記第１発振信号に基づく第１カウント処理と前記第２発振信号に基づく第２カウント処理を行い、前記第１カウント処理の第１カウント値と前記第２カウント処理の第２カウント値を前記入力データとして、前記学習済みモデルの情報に基づく処理を行うことを特徴とする発振器。
【請求項１０】
請求項１乃至９のいずれか一項に記載の発振器において、
前記処理回路は、
前記入力データに基づいて多項式近似の補正処理を行うことで第１温度補償データを求め、
前記学習済みモデルの情報に基づいて、前記多項式近似の補正処理の補正残差に対応する第２温度補償データを求め、
前記第１温度補償データと前記第２温度補償データを加算処理することで、前記温度補償データを求めることを特徴とする発振器。
【請求項１１】
請求項１乃至１０のいずれか一項に記載の発振器において、
前記入力データを外部に出力するインターフェース回路を含むことを特徴とする発振器。
【請求項１２】
請求項１１に記載の発振器において、
前記学習済みモデルは、前記インターフェース回路から出力された前記入力データと、前記クロック信号の周波数の測定結果とに基づいて、機械学習されていることを特徴とする発振器。
【請求項１３】
請求項１乃至１２のいずれか一項に記載の発振器において、
前記処理回路は、前記学習済みモデルに基づく処理として、ニューラルネットワーク演算の処理を行うことを特徴とする発振器。
【請求項１４】
請求項１乃至１３のいずれか一項に記載の発振器と、
前記発振器からの前記クロック信号に基づいて動作する処理装置と、
を含むことを特徴とする電子機器。
【請求項１５】
請求項１乃至１３のいずれか一項に記載の発振器と、
前記発振器からの前記クロック信号に基づいて動作する処理装置と、
を含むことを特徴とする移動体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発振器、電子機器及び移動体等に関する。
【背景技術】
【０００２】
従来より、温度検出結果に基づき温度補償を行う温度補償型の発振器が知られている。このような温度補償型の発振器としては例えば特許文献１に開示される従来技術が知られている。特許文献１には、２つの振動子の発振の周波数差から温度変化を検出して、温度補償を行う温度補償型の発振器が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０４−３６３９１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の発振器では、ＲＯＭに予め書き込まれたデジタル値に基づいて、発振周波数が一定になるように制御する温度補償処理を行う。このため、ＲＯＭの記憶容量がボトルネックとなって、高精度の温度補償処理が難しいという課題があった。
【課題を解決するための手段】
【０００５】
本発明の一態様は、第１振動子と、第２振動子と、前記第１振動子を発振させることで第１発振信号を生成する第１発振回路と、前記第２振動子を発振させることで前記第１発振信号とは周波数温度特性が異なる第２発振信号を生成する第２発振回路と、温度補償データにより温度補償される周波数のクロック信号を生成するクロック信号生成回路と、入力データに対して前記温度補償データに対応するデータを出力するように機械学習させた学習済みモデルの情報を記憶する記憶部と、前記第１発振信号及び前記第２発振信号に基づく前記入力データに対して、前記学習済みモデルの情報に基づく処理を行うことで、前記温度補償データを求める処理回路と、を含む発振器に関係する。
【図面の簡単な説明】
【０００６】
【図１】本実施形態の発振器の構成例。
【図２】処理回路の構成例。
【図３】発振信号の周波数温度特性の例。
【図４】発振信号の周波数差に対応する入力データの周波数温度特性の例。
【図５】クロック信号生成回路の第１の構成例。
【図６】クロック信号生成回路の第２の構成例。
【図７】クロック信号生成回路の第３の構成例。
【図８】処理回路、測定回路の第１の構成例。
【図９】第１の構成例の動作を説明する信号波形例。
【図１０】処理回路、測定回路の第２の構成例。
【図１１】処理回路、測定回路の第３の構成例。
【図１２】基準クロック信号の周波数温度特性の例。
【図１３】カウント値の周波数温度特性の例。
【図１４】カウント差の周波数温度特性の例。
【図１５】多項式近似補正の補正残差を学習させる場合の演算回路の構成例。
【図１６】振動子の周波数温度特性の例。
【図１７】補正残差の周波数温度特性の例。
【図１８】補正残差を学習させた場合のクロック信号の周波数温度特性の例。
【図１９】学習処理の例を説明するフローチャート。
【図２０】電子機器の構成例。
【図２１】移動体の構成例。
【発明を実施するための形態】
【０００７】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲の記載内容を不当に限定するものではない。また本実施形態で説明される構成の全てが必須構成要件であるとは限らない。
【０００８】
１．発振器
図１に本実施形態の発振器４の構成例を示す。発振器４は、温度補償型発振器であり、振動子１０、１１と発振回路２０、２１と処理回路３０とクロック信号生成回路６０を含む。処理回路３０は時間デジタル変換回路３２を含む。発振器４は、恒温槽を備えない温度補償型水晶発振器（ＴＣＸＯ）であってもよいし、恒温槽を備える恒温槽型水晶発振器（ＯＣＸＯ）であってもよい。振動子１０は第１振動子であり、振動子１１は第２振動子である。発振回路２０は第１発振回路であり、発振回路２１は第２発振回路である。本実施形態では、発振回路２０、２１、処理回路３０及びクロック信号生成回路６０を、回路装置に設けることができる。回路装置は半導体基板上に回路素子が形成された半導体チップである。或いは発振回路２０、２１を、第１半導体チップである第１回路装置に設け、処理回路３０及びクロック信号生成回路６０を、第２半導体チップである第２回路装置に設けてもよい。振動子１０は発振回路２０に電気的に接続され、振動子１１は発振回路２１に電気的に接続されている。例えばボンディグワイヤー、金属バンプ或いはパッケージの内部配線等を介して、振動子１０、１１と発振回路２０、２１は電気的に接続されている。
【０００９】
振動子１０、１１は、電気的な信号により機械的な振動を発生する素子である。振動子１０、１１は、例えば水晶振動片などの振動片により実現できる。例えば振動子１０、１１は、カット角がＡＴカットやＳＣカットなどの厚みすべり振動する水晶振動片などにより実現できる。なお本実施形態の振動子１０、１１は、例えば厚みすべり振動型以外の振動片や、水晶以外の材料で形成された圧電振動片などの種々の振動片により実現できる。例えば振動子１０、１１として、ＳＡＷ（Surface Acoustic Wave）共振子や、シリコン基板を用いて形成されたシリコン製振動子としてのＭＥＭＳ（Micro Electro Mechanical Systems）振動子等を採用してもよい。
【００１０】
例えば発振器４は、振動子１０、１１及び回路装置が収容されるパッケージを含む。この場合に、半導体チップである回路装置は、発振回路２０、２１と処理回路３０とクロック信号生成回路６０と記憶部９０を含む。パッケージは、例えばセラミック等により形成され、その内側に収容空間を有している。例えばパッケージはベースとリッドを含み、ベースとリッドとの間に収容空間を形成するように、ベースの上面にリッドが接合される。このようにベースとリッドにより気密封止された収容空間に、振動子１０、１１及び回路装置が収容される。この場合に振動子１０、１１は、発振器４のパッケージ内において、例えば隣合うように配置され、例えば１つの基板上に振動子１０、１１が隣接して配置される。例えば振動子１０、１１は温度結合されるように配置される。これにより振動子１０、１１の周囲の温度環境を同じ温度環境にできる。或いは発振器４は、振動子１０、１１及び第１回路装置が収容される第１パッケージと、第１パッケージ及び第２回路装置が収容される第２パッケージを含んでもよい。この場合に第１半導体チップである第１回路装置は、発振回路２０、２１を含み、第２半導体チップである第２回路装置は、処理回路３０とクロック信号生成回路６０と記憶部９０を含む。そして振動子１０、１１は、発振器４の第１パッケージ内において、隣合うように配置され、例えば温度結合されるように配置される。
【００１１】
発振回路２０は、振動子１０を発振させることで発振信号ＯＳＣ１を生成する。発振回路２１は、振動子１１を発振させることで発振信号ＯＳＣ２を生成する。発振信号ＯＳＣ１は第１発振信号であり、発振信号ＯＳＣ２は第２発振信号である。発振信号ＯＳＣ１、ＯＳＣ２は発振クロック信号と呼ぶこともできる。例えば発振信号ＯＳＣ２は発振信号ＯＳＣ１とは周波数温度特性が異なる発振信号である。例えば本実施形態では、振動子１０、１１は発振の周波数温度特性が互いに異なっている。このように振動子１０、１１の周波数温度特性が異なることで、発振信号ＯＳＣ１、ＯＳＣ２の周波数温度特性も異なるようになる。例えば振動子１０のＡＴカットなどにおけるカットアングルと、振動子１１のカットアングルを異ならせることで、振動子１０、１１の周波数温度特性を異ならせることができる。或いは振動子１０としてＡＴカット及びＹカットのいずれか一方のカットの振動子を用い、振動子１１として他方のカットの振動子を用いてもよい。なお、発振信号ＯＳＣ１、ＯＳＣ２の周波数温度特性を異ならせる手法としては、上記した手法に限定されず、種々の手法を用いることができる。
【００１２】
発振回路２０、２１の各々は、第１振動子用端子と第２振動子用端子の間に設けられた発振用の駆動回路などを含む。例えば発振回路２０、２１の各々は、駆動回路を実現するバイポーラートランジスターなどのトランジスターと、キャパシターや抵抗などの能動素子により実現できる。発振回路２０、２１としては、例えばピアース型、コルピッツ型、インバーター型又はハートレー型などの種々のタイプの発振回路を用いることができる。また発振回路２０、２１の各々に可変容量回路を設けてもよい。このような可変容量回路を設ければ、可変容量回路の容量値の調整により、発振周波数を調整することが可能になる。可変容量回路は、バラクターなどの可変容量素子により実現できる。可変容量回路は、振動子１０、１１の各振動子の一端に電気的に接続することができる。
【００１３】
なお、各振動子の一端に接続される第１可変容量回路と各振動子の他端に電気的に接続される第２可変容量回路を設けてもよい。また発振回路２０、２１が出力する発振信号ＯＳＣ１、ＯＳＣ２は、振動子１０、１１の発振により直接に得られる発振信号には限定されず、当該発振信号を分周した信号などであってもよい。また本実施形態における接続は電気的な接続である。電気的な接続は、電気信号が伝達可能に接続されていることであり、電気信号による情報の伝達が可能となる接続である。電気的な接続は能動素子等を介した接続であってもよい。
【００１４】
記憶部９０は、学習済みモデルの情報を記憶する。例えば記憶部９０は、入力データに対して温度補償データに対応するデータを出力するように機械学習させた学習済みモデルの情報を記憶する。例えば処理回路３０がニューラルネットワーク演算を行う場合には、記憶部９０は、学習済みモデルの情報として、ニューラルネットワーク演算の重み付け係数の情報を記憶する。ここで温度補償データに対応するデータは、温度補償データそのものであってもよいし、温度補償データを求めるためのデータであってもよい。例えば後述の図１５のように、多項式近似補正の補正残差を学習させる場合には、温度補償データに対応するデータは、補正残差用の温度補償データＴＣＰ２であり、この温度補償データＴＣＰ２に基づいて温度補償データＴＣＰが求められることになる。記憶部９０は、例えば不揮発性メモリーなどの半導体のメモリーにより実現できる。不揮発性メモリーとしては、例えばデータの電気的な消去が可能なＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）や、ＦＡＭＯＳ（Floating gate Avalanche injection MOS）などを用いたＯＴＰ（One Time Programmable）のメモリーなどを用いることができる。
【００１５】
処理回路３０は発振器４における各種の処理を行う回路である。例えば処理回路３０は、記憶部９０に記憶される学習済みモデルの情報に基づく処理を行うことで、温度補償データを求める。具体的には処理回路３０は、発振信号ＯＳＣ１及び発振信号ＯＳＣ２に基づく入力データに対して、学習済みモデルの情報に基づく処理を行うことで、温度補償データを求める。温度補償は、温度変動によるクロック信号ＣＫの周波数変動を抑制して補償する処理である。処理回路３０は、例えばゲートアレイ等の自動配置配線によるＡＳＩＣ（Application Specific Integrated Circuit）の回路により実現できる。或いは処理回路３０を、ＤＳＰ（Digital Signal Processor）、ＣＰＵ（Central Processing Unit）などのプロセッサーにより実現してもよい。
【００１６】
クロック信号生成回路６０は、温度補償データにより温度補償される周波数のクロック信号ＣＫを生成する。例えば処理回路３０は、クロック信号ＣＫの周波数等を設定するための設定データＳＤをクロック信号生成回路６０に出力する。具体的には処理回路３０は、温度補償データにより補正された設定データＳＤを出力し、クロック信号生成回路６０は、この設定データＳＤに基づいて、クロック信号ＣＫを生成する。例えばクロック信号生成回路６０は、発振信号ＯＳＣ１、ＯＳＣ２の一方の発振信号と、設定データＳＤとに基づいて、クロック信号ＣＫを生成する。そして設定データＳＤは、温度補償データにより補正されたデータであるため、クロック信号生成回路６０が、この設定データＳＤに基づいてクロック信号ＣＫを生成することで、温度補償データにより温度補償される周波数のクロック信号ＣＫを生成できるようになる。
【００１７】
図２に処理回路３０の構成例を示す。処理回路３０は、測定回路３２と演算回路５０を含む。また処理回路３０は、レジスター５２、加算器５４を含むことができる。測定回路３２は、発振信号ＯＳＣ１、ＯＳＣ２が入力される。そして測定回路３２は、発振信号ＯＳＣ１、ＯＳＣ２に基づく測定処理を行って、測定データを出力する。演算回路５０は、測定回路３２の測定データが入力データＤＩＮとして入力され、記憶部９０の学習済みモデルの情報に基づいて、温度補償データＴＣＰを求める。温度補償データＴＣＰは、温度変化に対してクロック信号ＣＫの周波数が一定になるように補償するためのデータである。処理回路３０は、この温度補償データＴＣＰにより補正された設定データＳＤをクロック信号生成回路６０に出力する。設定データＳＤは例えばクロック信号ＣＫの周波数等を設定するためのデータである。例えばレジスター５２には、基準設定データＳＤＲが記憶されている。レジスター５２は、例えばフリップフロップ回路などにより実現できる。或いはレジスター５２をＲＡＭなどのメモリーにより実現してもよい。処理回路３０は、加算器５４を用いて、基準設定データＳＤＲに対して温度補償データＴＣＰを加算する処理を行い、加算処理により得られた設定データＳＤをクロック信号生成回路６０に出力する。そしてクロック信号生成回路６０は、設定データＳＤに基づいてクロック信号ＣＫを生成する。例えば設定データＳＤにより設定される周波数のクロック信号ＣＫを生成する。
【００１８】
測定回路３２は、例えば発振信号ＯＳＣ１、ＯＳＣ２に基づくカウント処理などを行って、温度検出のための測定処理を行う。例えば測定回路３２は、発振信号ＯＳＣ１、ＯＳＣ２に基づいて、発振信号ＯＳＣ１、ＯＳＣ２の周波数差を測定することで、環境の温度を検出する。例えば測定回路３２は、発振信号ＯＳＣ１によるカウント値が所定値になる期間における発振信号ＯＳＣ２のカウント値を求めることで、周波数差を測定する。そして周波数差を表すデータが、入力データＤＩＮとして演算回路５０に入力される。記憶部９０は、入力データＤＩＮに対して温度補償データＴＣＰに対応するデータを出力するように機械学習させた学習済みモデルの情報を記憶している。演算回路５０は、発振信号ＯＳＣ１、ＯＳＣ２に基づく入力データＤＩＮに対して、学習済みモデルの情報に基づく処理を行うことで、温度補償データＴＣＰを求める。例えば演算回路５０は、学習済みモデルに基づく処理として、ニューラルネットワーク演算の処理を行う。例えば演算回路５０は、学習済みモデルの情報として記憶される重み付け係数の情報を用いて、ニューラルネットワーク演算の処理を行って、温度補償データＴＣＰを求める。そして周波数を設定するための基準となる基準設定データＳＤＲに対して、温度補償データＴＣＰが加算されることで、温度補償処理により補正された設定データＳＤがクロック信号生成回路６０に出力される。クロック信号生成回路６０が、この設定データＳＤに基づいてクロック信号ＣＫを生成することで、温度補償データＴＣＰにより温度補償される周波数のクロック信号ＣＫが生成されるようになる。
【００１９】
また図２では、発振器４は、入力データＤＩＮを外部に出力するインターフェース回路８８を含む。例えば発振器４が有する回路装置又は第２回路装置にインターフェース回路８８が設けられる。このインターフェース回路８８は、例えばＩ２Ｃ（Inter Integrated Circuit）、ＳＰＩ（Serial Peripheral Interface）などのインターフェースを実現する回路である。即ちインターフェース回路８８は、発振器４の外部デバイスとの間のインターフェース処理を行う。そして記憶部９０に情報が記憶される学習済みモデルは、後述の図１９で説明するように、インターフェース回路８８から出力された入力データＤＩＮと、クロック信号ＣＫの周波数の測定結果とに基づいて、機械学習されている学習モデルである。このようにインターフェース回路８８を介して、入力データＤＩＮを外部に出力できることで、この入力データＤＩＮを用いた学習処理を実現できる。例えばクロック信号ＣＫの周波数の測定結果により得られるデータを教師データとして、入力データＤＩＮに対して温度補償データＴＣＰに対応するデータを出力するように機械学習させることが可能になり、このように機械学習された学習済みモデルの情報を記憶部９０に格納できるようになる。
【００２０】
図３に発振信号ＯＳＣ１、ＯＳＣ２の周波数温度特性の例を示す。発振信号ＯＳＣ１、ＯＳＣ２の周波数は、例えば−４０℃以上１０５℃以下の温度範囲において、例えば±数十ｐｐｍの周波数偏差で変動する。ここでいう周波数偏差とは、公称周波数と実際の周波数の差を、公称周波数で除算した値である。発振信号ＯＳＣ１を発生する振動子１０と、発振信号ＯＳＣ２を発生する振動子１１は、例えばＡＴカットなどにおけるカットアングルが異なっており、発振の周波数温度特性が異なっている。このような周波数温度特性が異なる振動子１０、１１を用いることで、図３に示すように、周波数温度特性が互いに異なる発振信号ＯＳＣ１、ＯＳＣ２が生成される。そして測定回路３２が、発振信号ＯＳＣ１、ＯＳＣ２に基づくカウント処理を行うことで、図４に示すように、発振信号ＯＳＣ１、ＯＳＣ２の周波数差に対応するデータを入力データＤＩＮとして演算回路５０に入力できるようになる。図４に示すように、入力データＤＩＮは、温度変化に対して単調に変化する周波数特性を有している。例えば温度が上昇すると入力データＤＩＮの値は単調に減少している。例えば発振信号ＯＳＣ１、ＯＳＣ２の３次成分等の高次成分が、両者の周波数差をとることでキャンセルされて、１次成分だけが残るようになる。これにより図４に示すように、入力データＤＩＮの値は温度に対して線形（１次）に変化するようになり、この入力データＤＩＮを温度測定データとして用いることが可能になる。そして本実施形態の学習済みモデルは、温度測定データである入力データＤＩＮに対して、温度補償データＴＣＰに対応するデータを出力するように機械学習されている。従って演算回路５０が、入力データＤＩＮに対して、学習済みモデルの情報に基づくニューラルネットワーク演算などの処理を行うことで、温度補償データＴＣＰを求めることが可能になる。これにより、温度補償データＴＣＰにより温度補償される周波数のクロック信号ＣＫが生成されるようになる。
【００２１】
以上のように本実施形態では、入力データＤＩＮに対して温度補償データＴＣＰに対応するデータを出力するように機械学習させた学習済みモデルの情報が記憶部９０に記憶される。そして処理回路３０が、発振信号ＯＳＣ１、ＯＳＣ２に基づく入力データＤＩＮに対して、学習済みモデルの情報に基づく処理を行うことで、温度補償データＴＣＰを求め、クロック信号生成回路６０が、この温度補償データＴＣＰにより温度補償される周波数のクロック信号ＣＫを生成する。このようにすれば、周波数温度特性が異なる発振信号ＯＳＣ１、ＯＳＣ２を用いて温度を測定し、発振信号ＯＳＣ１、ＯＳＣ２に基づく入力データＤＩＮと、学習済みモデルの情報を用いて、各温度に対応する温度補償データＴＣＰを求めて、クロック信号ＣＫの温度補償を実現できるようになる。従って、学習済みモデルを利用した高精度の温度補償処理を実現することが可能になる。
【００２２】
例えば前述の特許文献１の発振器では、ＲＯＭに予め書き込まれたデジタル値に基づいて、多項式近似による温度補償を行っているため、ＲＯＭの記憶容量がボトルネックとなって、高精度の温度補償が難しいという問題があった。例えば高精度の温度補償を実現するために温度刻みを細かくすると、ＲＯＭの使用記憶容量が過大になってしまうため、これが原因になって温度補償の高精度化が困難になる。また、このように温度を刻む場合に、刻まれた温度間をバイキュービック補間などにより補間する補間回路が必要になり、この補間回路により高精度の温度補償を実現しようとすると、補間回路が大規模化してしまう。また振動子には発振の周波数の特異点があり、この特異点において正確な温度補償を行うとすると、温度刻みを非常に細かくする必要があり、ＲＯＭの使用記憶容量の増加や補間回路の大規模化などの問題を招く。
【００２３】
この点、本実施形態では、発振信号ＯＳＣ１、ＯＳＣ２に基づく入力データＤＩＮに対して、温度補償データＴＣＰに対応するデータを出力するように機械学習された学習済みモデルを用いて、クロック周波数の温度補償を実現している。例えばニューラルネットワーク演算における重み付け係数などの学習済みモデルの情報は、機械学習により得られるものであるため、この学習済みモデルの情報を記憶する記憶部９０の記憶容量は、それほど大容量としてなくても済む。例えば特許文献１の発振器では、高精度の温度補償を実現しようとすると、ＲＯＭの記憶容量が過大になってしまうという問題があったが、学習済みモデルを用いる本実施形態の手法では、記憶部９０の記憶容量をそれほど大容量にしなくても、高精度の温度補償を実現できる。また複数の振動子１０、１１を用いて温度測定を行っているため、高精度の温度測定を実現できる。従って、特許文献１の発振器に比べて高精度の温度補償を実現できるようになる。
【００２４】
また本実施形態では図２に示すように、発振信号ＯＳＣ１、ＯＳＣ２が入力される測定回路３２の測定データを入力データＤＩＮとして、学習済みモデルの情報に基づく処理を行って、温度補償データＴＣＰを求め、この温度補償データＴＣＰにより補正された設定データＳＤを用いて、クロック信号生成回路６０によりクロック信号ＣＫを生成している。このようにすれば、周波数温度特性が異なる発振信号ＯＳＣ１、ＯＳＣ２を用いて、測定回路３２により温度測定を行い、この温度測定の結果に基づいて、学習済みモデルを用いて温度補償データＴＣＰを求めて、クロック信号ＣＫの温度補償を行うことが可能になり、高精度の温度補償を実現できるようになる。
【００２５】
例えば学習済みモデルの情報を用いて、温度補償処理を行うことで、より正確で適切な温度補償処理の実現が可能になる。例えば発振器４の製造時や出荷時において、当該発振器４の周波数温度特性を計測することで得られた学習済みモデルの情報を、不揮発性メモリーなどにより実現される記憶部９０に書き込んで記憶させる。例えば発振器４の製造時や出荷時において、恒温槽などを用いて環境温度を変化させながら、各温度でのクロック信号の周波数特性を計測する。そして計測結果に基づき求められた学習済みモデルの情報を、記憶部９０に書き込んで記憶させる。例えば各温度でのクロック周波数と温度測定結果（ＤＩＮ）をモニターし、各温度における適正な温度補償データＴＣＰが得られるように機械学習させた学習済みモデルの情報を、記憶部９０に書き込んで記憶させる。このようにすることで、発振器４の実動作時において、処理回路３０は、測定回路３２からの入力データＤＩＮに対応する温度補償データＴＣＰを求める温度補償処理を実行できるようになる。これにより、製造のプロセス変動や回路特性の変動などの影響を抑制してキャンセルした温度補償処理を実現することが可能になる。
【００２６】
例えば本実施形態では処理回路３０は、学習済みモデルに基づく処理として、ニューラルネットワーク演算の処理を行う。具体的には演算回路５０がニューラルネットワーク演算の処理を行う。ニューラルネットワークは、脳機能を計算機上でシミュレーションする数学モデルであり、入力層と中間層と出力層を有する。入力層は、入力値を出力するニューロンである。中間層以降の各ニューロンでは、脳の中で電気信号として情報が伝達される様子を模した演算が行われる。脳では、シナプスの結合強度に応じて情報の伝わりやすさが変わるため、ニューラルネットワークでは当該結合強度を重みで表現する。またニューロンでの演算では、非線形関数である活性化関数が用いられる。活性化関数としては例えばＲｅＬＵ関数やシグモイド関数などが用いられる。そして、それぞれのニューロンでは、当該ニューロンに接続される１つ前の層の各ニューロンの出力を、重みを用いて積和する演算を行い、バイアスを加算し、活性化関数を適用する演算を行う。そして出力層での演算結果が、当該ニューラルネットワークの出力になる。
【００２７】
ニューラルネットワークにおいて、入力から所望の出力を得るためには、適切な重みとバイアスを設定する必要がある。なお、ここでは重みを重み付け係数とも表記する。重み付け係数にはバイアスが含まれてもよいものとする。学習では、入力と、当該入力での正しい出力とを対応付けたデータセットを用意しておく。正しい出力は教師データである。ニューラルネットワークの学習処理とは、当該データセットに基づいて、最も確からしい重み付け係数を求める処理と考えることができる。ニューラルネットワークの学習処理としては、例えば誤差逆伝播法などを用いることができる。誤差逆伝播法では、フォワードパスとバックワードパスを繰り返すことで、パラメーターを更新して行く。ここでのパラメーターとは、重み付け係数である。
【００２８】
そして本実施形態において、ニューラルネットワークの入力は、測定回路３２から演算回路５０に入力される入力データＤＩＮであり、図４に示すように入力データＤＩＮは温度測定データとして用いることができる。また記憶部９０には、学習済みモデルの情報として、例えばニューラルネットワークの重み付け係数の情報が記憶されている。或いは、記憶部９０は、学習済みモデルの情報として、ニューラルネットワークの構成に関する情報や、ニューラルネットワーク演算のシーケンス制御に関する情報を記憶してもよい。学習済みモデルは、入力層と中間層と出力層とを有し、入力データＤＩＮと温度補償データＴＣＰとを対応付けたデータセットに基づき、重み付け係数の情報が設定されている。演算回路５０は、入力データＤＩＮを学習済モデルの入力層の入力として、記憶部９０に記憶される重み付け係数の情報に基づく演算を行い、学習済みモデルの出力層の出力として温度補償データＴＣＰが出力されるように、ニューラルネットワーク演算を行う。この場合に例えば製造、出荷時における学習段階においては、各温度におけるクロック周波数を測定し、測定されたクロック周波数に基づいて、温度変化に対してクロック周波数を一定にするための温度補償データＴＣＰを求める。そして温度補償データＴＣＰと、各温度での温度測定データに対応する入力データＤＩＮとを対応づけたデータセットに基づいて、重み付け係数の情報を設定して、学習済みモデルの情報として、記憶部９０に書き込む。こうすることで、学習済みモデルに基づく処理によりクロック周波数の温度補償処理を実現できるようになる。
【００２９】
なお、本実施形態における機械学習はニューラルネットワークを用いる手法に限定されず、例えばＳＶＭ（support vector machine）などの広く知られた種々の方式の機械学習、或いはそれらの方式を発展させた方式の機械学習を適用することが可能である。また学習済みモデルの情報は発振器４の出荷後に更新されてもよい。また学習済みモデルの情報に基づく温度補償処理は、発振器４が実装された状態で動作するものであればよい。温度補償処理を行うための構成は必ずしも他の回路要素と同一のパッケージに収容されているものに限らず、発振器４のパッケージの外部に設けられていてもよい。
【００３０】
２．クロック信号生成回路
次にクロック信号生成回路６０の構成例について説明する。図５にクロック信号生成回路６０の第１の構成例を示す。図５では、クロック信号生成回路６０は、フラクショナル−Ｎ型のＰＬＬ回路６１を含む。例えばＰＬＬ回路６１は、発振信号ＯＳＣ１が入力クロック信号として入力される。入力クロック信号はＰＬＬ回路６１の基準クロック信号である。なお入力クロック信号として発振信号ＯＳＣ２をＰＬＬ回路６１に入力してもよい。そして処理回路３０は、ＰＬＬ回路６１が有する分周回路６８に対して、温度補償データＴＣＰにより補正された分周比設定データＳＤＩＶを出力する。この場合には図２の設定データＳＤは分周比設定データＳＤＩＶになる。
【００３１】
このように図５では、クロック信号生成回路６０は、発振信号ＯＳＣ１が入力クロック信号として入力されるフラクショナル−Ｎ型のＰＬＬ回路６１を含み、分周比設定データＳＤＩＶが、ＰＬＬ回路６１の分周回路６８に入力される。このようにすれば温度補償データＴＣＰにより補正された分周比設定データＳＤＩＶをＰＬＬ回路６１の分周回路６８に入力して、発振信号ＯＳＣ１の周波数を逓倍するＰＬＬ動作を実現し、発振信号ＯＳＣ１の周波数を逓倍した信号に基づくクロック信号ＣＫを生成できるようになる。これにより発振信号ＯＳＣ１に基づいて、温度補償処理が行われたクロック信号ＣＫを生成できるようになる。またフラクショナル−Ｎ型のＰＬＬ回路６１を用いることで、ＰＬＬ回路６１の分周比として整数のみならず分数の設定も可能になり、任意の周波数のクロック信号ＣＫを生成することが可能になる。
【００３２】
次に図５のクロック信号生成回路６０、処理回路３０の構成について更に詳細に説明する。図５では、クロック信号生成回路６０は、ＰＬＬ回路６１と出力回路６９を含む。
【００３３】
出力回路６９は、ＰＬＬ回路６１の出力クロック信号ＣＫＱに基づいてクロック信号ＣＫを出力する。例えば出力回路６９は、不図示の分周回路を含み、この分周回路により出力クロック信号ＣＫＱの分周を行うことで、クロック信号ＣＫの周波数を可変に設定できるようになっている。これにより、クロック信号ＣＫの周波数をユーザーが所望する周波数に設定できる。また出力回路６９は、例えばＬＶＤＳ（Low Voltage Differential Signaling）、ＰＥＣＬ（Positive Emitter Coupled Logic）、ＨＣＳＬ（High Speed Current Steering Logic）、又は差動のＣＭＯＳ（Complementary MOS）などの信号形式で、クロック信号ＣＫを外部に出力する。例えば出力回路６９は、ＬＶＤＳ、ＰＥＣＬ、ＨＣＳＬ及び差動のＣＭＯＳのうちの少なくとも２つの信号形式でクロック信号ＣＫを出力可能な回路であってもよい。この場合には出力回路６９は、処理回路３０により設定された信号形式でクロック信号ＣＫを出力することになる。
【００３４】
ＰＬＬ回路６１は、発振信号ＯＳＣ１が入力クロック信号として入力され、ＰＬＬ（Phase Locked Loop）の動作を行う。例えばＰＬＬ回路６１は、発振信号ＯＳＣ１の周波数を逓倍した周波数の出力クロック信号ＣＫＱを生成する。即ち発振信号ＯＳＣ１に位相同期した高精度の出力クロック信号ＣＫＱを生成する。ＰＬＬ回路６１は、位相比較回路６２と制御電圧生成回路６４と電圧制御発振回路６６と分周回路６８を含む。
【００３５】
位相比較回路６２は、入力クロック信号である発振信号ＯＳＣ１とフィードバッククロック信号ＦＢＣＫとの間の位相比較を行う。例えば位相比較回路６２は、発振信号ＯＳＣ１とフィードバッククロック信号ＦＢＣＫの位相を比較し、発振信号ＯＳＣ１とフィードバッククロック信号ＦＢＣＫの位相差に応じた信号ＣＱを位相比較結果の信号として出力する。位相差に応じた信号ＣＱは、例えば位相差に比例したパルス幅のパルス信号である。
【００３６】
制御電圧生成回路６４は、位相比較回路６２での位相比較の結果に基づいて、制御電圧ＶＣを生成する。例えば制御電圧生成回路６４は、位相比較回路６２からの位相比較結果の信号ＣＱに基づいて、チャージポンプ動作やフィルター処理を行って、電圧制御発振回路６６の発振を制御する制御電圧ＶＣを生成する。
【００３７】
ＶＣＯ（Voltage controlled oscillator）である電圧制御発振回路６６は、制御電圧ＶＣに対応する周波数の出力クロック信号ＣＫＱを生成する。例えば制御電圧生成回路６４からの制御電圧ＶＣに基づいて発振動作を行って、出力クロック信号ＣＫＱを生成する。例えば電圧制御発振回路６６は、制御電圧ＶＣに応じて変化する周波数の出力クロック信号ＣＫＱを発振動作により生成する。一例としては、電圧制御発振回路６６は、バラクターなどの可変容量素子を有し、この可変容量素子の容量が制御電圧ＶＣに基づいて変化することで、電圧制御発振回路６６の発振動作により生成される発振信号である出力クロック信号ＣＫＱの周波数が変化する。なお電圧制御発振回路６６としては、例えばインダクターを用いたＬＣ発振回路などを用いることができる。
【００３８】
分周回路６８は、出力クロック信号ＣＫＱを分周してフィードバッククロック信号ＦＢＣＫを出力する。例えば分周回路６８は、出力クロック信号ＣＫＱの周波数を、分周比設定データＳＤＩＶにより設定される分周比で分周した周波数の信号を、フィードバッククロック信号ＦＢＣＫとして出力する。例えば電圧制御発振回路６６の発振の周波数をｆｖｃｏとし、分周回路６８の分周動作の分周比をＤＩＶとした場合に、フィードバッククロック信号ＦＢＣＫの周波数は、ｆｖｃｏ／ＤＩＶになる。そして位相比較回路６２は、前述のように、発振信号ＯＳＣ１と、分周回路６８からのフィードバッククロック信号ＦＢＣＫの位相比較を行う。
【００３９】
このような位相比較回路６２、制御電圧生成回路６４、電圧制御発振回路６６、分周回路６８を有する構成のＰＬＬ回路６１を用いることで、発振信号ＯＳＣ１に位相同期した出力クロック信号ＣＫＱを生成し、出力クロック信号ＣＫＱに基づく高精度のクロック信号ＣＫを生成して出力できるようになる。
【００４０】
また処理回路３０は、測定回路３２と演算回路５０とレジスター５２と加算器５４とデルタシグマ変調回路５６とを含む。演算回路５０は、測定回路３２からの入力データＤＩＮに対して、学習済みモデルの情報に基づく処理を行うことで、温度補償データＴＣＰを出力する。そして加算器５４が、レジスター５２に設定される基準分周比データＤＩＶＲに対して、温度補償データＴＣＰを加算し、加算結果データＤＩＶＡをデルタシグマ変調回路５６に出力する。デルタシグマ変調回路５６は、加算結果データＤＩＶＡに対して、デルタシグマ変調を行い、分周回路６８の分周比を設定する分周比設定データＳＤＩＶを出力する。デルタシグマ変調回路５６によりデルタシグマ変調を行うことで、ＰＬＬ回路６１がフラクショナル−Ｎ型のＰＬＬ回路として動作するようになる。
【００４１】
例えば図５では、分周回路６８とデルタシグマ変調回路５６とによりフラクショナル分周器が構成される。フラクショナル分周器は、ＰＬＬ回路６１の逓倍率の逆数を分周比として出力クロック信号ＣＫＱを分周し、分周後のクロック信号をフィードバッククロック信号ＦＢＣＫとして位相比較回路６２に出力する。デルタシグマ変調回路５６は、分周比の小数部の値をデルタシグマ変調して、整数である変調値を生成する。例えばデルタシグマ変調回路５６は３次や４次のデルタシグマ変調処理を行う。そして分周比の整数部の値と変調値の加算値が、分周比設定データＳＤＩＶとして分周回路６８に設定される。これによりフラクショナル−Ｎ型のＰＬＬ回路６１が実現される。
【００４２】
具体的には、デルタシグマ変調回路５６は、分数分周比Ｌ／Ｍを積分して量子化するデルタシグマ変調を行い、デルタシグマ変調信号を生成する。そしてデルタシグマ変調回路５６は、デルタシグマ変調信号と整数分周比Ｎとを加減算する処理を行い、加減算後の出力信号が分周回路６８に入力される。この加減算後の出力信号は、整数分周比Ｎの付近の範囲の複数の整数分周比が時系列に変化し、その時間平均値はＮ＋Ｌ／Ｍに一致する。このＮ＋Ｌ／Ｍが、処理回路３０からの分周比設定データＳＤＩＶにより設定される。例えば前述したように、出力クロック信号ＣＫＱの周波数をｆｖｃｏとし、発振信号ＯＳＣ１及びフィードバッククロック信号ＦＢＣＫの周波数である位相比較周波数をｆｐｆｄとする。この場合に、基準クロック信号である発振信号ＯＳＣ１の位相とフィードバッククロック信号ＦＢＣＫの位相が同期した定常状態では、ｆｖｃｏ＝（Ｎ＋Ｌ／Ｍ）×ｆｐｆｄの関係式が成り立つ。このような構成のフラクショナル−Ｎ型のＰＬＬ回路６１を用いることで、Ｎ＋Ｌ／Ｍで表される分周比で発振信号ＯＳＣ１を逓倍した出力クロック信号ＣＫＱを生成できるようになる。
【００４３】
図５の構成によれば、フラクショナル分周器を実現できると共に、温度変化によるクロック信号ＣＫの周波数の変動を抑制する温度補償処理を実現できるようになる。しかも本実施形態によれば、フラクショナル分周器を実現するフラクショナル分周処理と、温度補償処理とを、処理回路３０におけるデジタル演算処理により一括して実行できる。従って、回路規模の増加等の抑制を図りながら、フラクショナル分周処理と温度補償処理を実現できるようになる。
【００４４】
図６にクロック信号生成回路６０の第２の構成例を示す。図６では、クロック信号生成回路６０はダイレクトデジタルシンセサイザー７０を含む。処理回路３０は、温度補償データＴＣＰにより補正された周波数設定データＳＦＱを、ダイレクトデジタルシンセサイザー７０に出力する。この場合には図２の設定データＳＤは周波数設定データＳＦＱになる。ダイレクトデジタルシンセサイザー７０は、発振信号ＯＳＣ１を基準クロック信号として、周波数設定データＳＦＱにより設定される周波数のクロック信号ＣＫを生成する。出力回路６９は、生成されたクロック信号ＣＫを、ＬＶＤＳ、ＰＥＣＬ、ＨＣＳＬ又は差動のＣＭＯＳなどの信号形式で外部に出力する。
【００４５】
具体的には処理回路３０は、測定回路３２と演算回路５０とレジスター５２と加算器５４を含む。演算回路５０は、測定回路３２からの入力データＤＩＮに対して、学習済みモデルの情報に基づく処理を行うことで、温度補償データＴＣＰを求める。そして加算器５４が、レジスター５２に設定される基準周波数データＦＱＲに対して、温度補償データＴＣＰを加算して、周波数設定データＳＦＱをダイレクトデジタルシンセサイザー７０に出力する。ダイレクトデジタルシンセサイザー７０は、周波数設定データＳＦＱにより設定される周波数のクロック信号ＣＫを生成する。
【００４６】
ダイレクトデジタルシンセサイザー７０は、基準クロック信号に基づいて、任意の周波数のクロック信号をデジタル的に生成する回路である。ここでは基準クロック信号は発振信号ＯＳＣ１である。ダイレクトデジタルシンセサイザー７０は、例えば積算ブロックである位相アキュムレーターと波形信号生成回路を含むことができる。位相アキュムレーターは、１サイクル分の動作として、基準クロック信号に同期して積算設定値を積算して行く。この積算設定値によりクロック周波数が設定される。波形信号生成回路は、例えば波形メモリーとＤ／Ａ変換回路を含むことができる。位相アキュムレーターでの積算結果が、波形メモリーのアドレスとなり、これにより周波数設定データＳＦＱに対応するクロック周波数のクロック波形が生成されるようになる。
【００４７】
図６のようなダイレクトデジタルシンセサイザー７０を用いることで、周波数設定データＳＦＱで設定される任意の周波数のクロック信号ＣＫを生成できるようになる。そして処理回路３０が、温度補償データＴＣＰを求める温度補償処理を行うことで、温度補償された高精度のクロック信号ＣＫを生成することが可能になる。
【００４８】
図７にクロック信号生成回路６０の第３の構成例を示す。図７では、クロック信号生成回路６０は、電圧制御発振回路７２とＤ／Ａ変換回路７６を含む。処理回路３０は、温度補償データＴＣＰにより補正された周波数設定データＳＦＱを出力する。処理回路３０の構成及び動作は図６と同様であるため詳細な説明は省略する。Ｄ／Ａ変換回路７６は、処理回路３０からの周波数設定データＳＦＱをＤ／Ａ変換して、周波数の制御電圧ＶＣＦを出力する。ＶＣＯである電圧制御発振回路７２は、Ｄ／Ａ変換回路７６からの制御電圧ＶＣＦに対応する周波数で振動子１２を発振させる。振動子１２は第３振動子である。振動子１２としては振動子１０、１１と同様の構造、方式のものを用いることができる。一例としては振動子１２は水晶振動子である。電圧制御発振回路７２は、例えば振動子１２の一端に電気的に接続される可変容量回路７４を含む。可変容量回路７４はバラクター等の可変容量素子により実現される。この可変容量回路７４の容量値が、制御電圧ＶＣＦに基づいて制御される。これにより温度補償データＴＣＰによる温度補償が行われたクロック信号ＣＫが生成されるようになる。なお振動子１２の他端に接続される可変容量回路を設けてもよい。図７の構成によっても、電圧制御発振回路７２が、温度補償データＴＣＰにより補正された周波数設定データＳＦＱに対応する制御電圧ＶＣＦに基づいて発振動作を行うことで、温度補償が行われたクロック信号ＣＫを生成できるようになる。
【００４９】
なお図７では、振動子１０、１１とは別の振動子１２が必要になる。また可変容量回路７４の可変容量素子も周波数温度特性を有しており、この可変容量素子の周波数温度特性が原因で、クロック信号ＣＫの周波数精度が低下する。この意味においては図５、図６の構成の方が図７の構成よりも有利である。例えばフラクショナル−Ｎ型のＰＬＬ回路６１を用いることで、位相ノイズが少なく高精度のクロック信号ＣＫの生成が可能になる。
【００５０】
３．処理回路、測定回路
次に処理回路３０、測定回路３２の詳細な構成例について説明する。図８に処理回路３０、測定回路３２の第１の構成例を示す。図８では、処理回路３０が、発振信号ＯＳＣ１、ＯＳＣ２に基づいて、発振信号ＯＳＣ１の周波数と発振信号ＯＳＣ２の周波数との差を表す周波数差データＦＤＩＦを求め、周波数差データＦＤＩＦを入力データＤＩＮとして、学習済みモデルの情報に基づく処理を行う。例えば測定回路３２が、発振信号ＯＳＣ１、ＯＳＣ２に基づいて周波数差データＦＤＩＦを求める。そして演算回路５０が、周波数差データＦＤＩＦを入力データＤＩＮとして、学習済みモデルの情報に基づく処理を行って、温度補償データＴＣＰを求める。そして基準設定データＳＤＲに対して温度補償データＴＣＰが加算され、加算結果である設定データＳＤがクロック信号生成回路６０に入力され、クロック信号生成回路６０が温度補償されたクロック信号ＣＫを生成する。このように発振信号ＯＳＣ１、ＯＳＣ２の周波数差データＦＤＩＦを求めることで、図４に示すように、温度測定データとなる入力データＤＩＮを得ることができる。そして、この入力データＤＩＮに対して、学習済みモデルの情報に基づくニューラルネットワーク演算などの処理を行うことで、温度補償データＴＣＰを求めることが可能になる。
【００５１】
具体的には図８では、測定回路３２は、第１カウンター３３と第２カウンター３４とカウンターイネーブル生成回路３５を含む。第１カウンター３３は、発振信号ＯＳＣ１に基づく第１カウント処理を行う。カウンターイネーブル生成回路３５は、第１カウント処理の結果に基づいて、カウンターイネーブル信号ＣＥＮＢを第２カウンター３４に出力する。第２カウンター３４は、カウンターイネーブル信号ＣＥＮＢがアクティブとなる期間において、発振信号ＯＳＣ２に基づく第２カウント処理を行う。
【００５２】
図９は図８の第１の構成例の動作を説明する信号波形例である。図９に示すように、第１カウンター３３は、外部からの計測開始信号ＳＴＲがアクティブになると、発振信号ＯＳＣ１に基づく第１カウント処理を開始する。この第１カウント処理により、第１カウンター３３のカウント値ＣＴ１がインクリメントされる。そして第１カウンター３３は、カウント値ＣＴ１が、計測終了カウント値に達するまで、第１カウント処理を継続する。図９では計測終了カウント値は例えば２５９９９９９９に設定されている。カウンターイネーブル生成回路３５は、第１カウント処理が行われている期間においてアクティブになるカウンターイネーブル信号ＣＥＮＢを出力する。例えばカウント値ＣＴ１が０から開始して計測終了カウント値に達するまでの間、カウンターイネーブル信号ＣＥＮＢがアクティブになる。第２カウンター３４は、カウンターイネーブル信号ＣＥＮＢがアクティブになる期間において、発振信号ＯＳＣ２に基づく第２カウント処理を行う。第２カウント処理の終了時の第２カウンター３４のカウント値ＣＴ２＝Ｎが、周波数差データＦＤＩＦとして出力される。
【００５３】
このように図８、図９では、処理回路３０は、発振信号ＯＳＣ１に基づく第１カウント処理を行い、第１カウント処理により設定される期間において、発振信号ＯＳＣ２に基づく第２カウント処理を行う。即ち、第１カウンター３３の第１カウント処理により、カウンターイネーブル信号ＣＥＮＢがアクティブになる期間が設定され、この期間において、第２カウンター３４が、発振信号ＯＳＣ２に基づく第２カウント処理を行う。そして処理回路３０は、第２カウント処理のカウント値ＣＴ２を入力データＤＩＮとして、学習済みモデルの情報に基づく処理を行う。例えば第２カウント処理の終了時のカウント値ＣＴ２＝Ｎが、入力データＤＩＮとして演算回路５０に入力され、演算回路５０が学習済みモデルの情報に基づく処理を行うことで、温度補償データＴＣＰが求められる。このようにすれば、発振信号ＯＳＣ１、ＯＳＣ２の周波数差データＦＤＩＦを入力データＤＩＮとして、学習済みモデルの情報に基づく処理を行うことが可能になる。例えば周波数差データＦＤＩＦの温度特性は、図４に示すように１次の温度特性になる。例えば発振信号ＯＳＣ１、ＯＳＣ２の周波数差をとることで、図３に示す発振信号ＯＳＣ１、ＯＳＣ２の３次成分等の高調波成分が相殺されて、１次成分が残ることで、図４に示すような線形の１次の温度特性を得ることができる。このようにすることで、周波数差データＦＤＩＦを入力データＤＩＮとして演算回路５０に入力し、学習済みモデルの情報を用いて温度補償データＴＣＰを求めることが可能になる。
【００５４】
図１０に処理回路３０、測定回路３２の第２の構成例を示す。図１０では測定回路３２は、第１カウンター３３と第２カウンター３４とカウンターイネーブル生成回路３５と基準カウンター３６を含む。基準カウンター３６は、発振回路２２からの基準クロック信号ＣＫＲに基づく基準クロックカウント処理を行う。発振回路２２としては例えばＣＲ発振回路などを用いることができる。カウンターイネーブル生成回路３５は、基準カウンター３６での基準クロックカウント処理の結果に基づいて、カウンターイネーブル信号ＣＥＮＢを生成して、第１カウンター３３、第２カウンター３４に出力する。例えば基準クロックカウント処理により設定される期間においてアクティブになるカウンターイネーブル信号ＣＥＮＢを、第１カウンター３３、第２カウンター３４に出力する。例えば基準カウンター３６は、計測開始信号がアクティブになると基準クロックカウント処理を開始する。基準クロックカウント処理が開始すると、カウンターイネーブル生成回路３５は、カウンターイネーブル信号ＣＥＮＢをアクティブにする。そして基準クロックカウント処理のカウント値が計測終了カウント値に達すると、カウンターイネーブル生成回路３５は、カウンターイネーブル信号ＣＥＮＢをアクティブから非アクティブにする。第１カウンター３３は、カウンターイネーブル信号ＣＥＮＢがアクティブになる期間において、発振信号ＯＳＣ１に基づく第１カウント処理を行う。そして第１カウント処理のカウント値ＣＴ１を、入力データＤＩＮ１として演算回路５０に出力する。例えば第１カウント処理の終了時のカウント値ＣＴ１を入力データＤＩＮ１として出力する。第２カウンター３４は、カウンターイネーブル信号ＣＥＮＢがアクティブになる期間において、発振信号ＯＳＣ２に基づく第２カウント処理を行う。そして第２カウント処理のカウント値ＣＴ２を、入力データＤＩＮ２として演算回路５０に出力する。例えば第２カウント処理の終了時のカウント値ＣＴ２を入力データＤＩＮ２として出力する。演算回路５０は、これらの入力データＤＩＮ１、ＤＩＮ２に対して、学習済みモデルの情報に基づく処理を行って、温度補償データＴＣＰを求める。
【００５５】
このように図１０では、処理回路３０は、基準クロック信号ＣＫＲに基づく基準クロックカウント処理を行う。例えば基準カウンター３６が基準クロックカウント処理を行う。そして処理回路３０は、基準クロックカウント処理により設定される期間において、発振信号ＯＳＣ１に基づく第１カウント処理と発振信号ＯＳＣ２に基づく第２カウント処理を行う。例えばカウンターイネーブル信号ＣＥＮＢがアクティブになる期間において、第１カウンター３３が第１カウント処理を行い、第２カウンター３４が第２カウント処理を行う。そして処理回路３０は、第１カウント処理のカウント値ＣＴ１と第２カウント処理のカウント値ＣＴ２を入力データＤＩＮ１、ＤＩＮ２として、学習済みモデルの情報に基づく処理を行う。カウント値ＣＴ１は第１カウント値であり、カウント値ＣＴ２は第２カウント値である。このようにすれば、カウント値ＣＴ１、ＣＴ２を入力データＤＩＮ１、ＤＩＮ２として、各温度に対応する温度補償データＴＣＰを学習させた学習済みモデルを用いて、高精度な温度補償処理を実現できるようになる。即ち、基準カウンター３６により設定される期間でのカウント値ＣＴ１、ＣＴ２は、各々、発振信号ＯＳＣ１、ＯＳＣ２の周波数（周期）に対応する。即ち、各温度でのカウント値ＣＴ１、ＣＴ２は、図３の周波数温度特性における各温度での発振信号ＯＳＣ１、ＯＳＣ２の周波数に対応する。従って、これらのカウント値ＣＴ１、ＣＴ２を、学習済みモデルの入力データＤＩＮ１、ＤＩＮ２とすることで、高精度な温度補償処理を実現できる。
【００５６】
図１１に処理回路３０、測定回路３２の第３の構成例を示す。図１１では図１０の構成に加えて、減算器３７が更に設けられている。そして減算器３７は、第１カウンター３３が出力するカウント値ＣＴ１と、第２カウンター３４が出力するカウント値ＣＴ２のカウント差ＣＴ１−ＣＴ２を求める減算処理を行う。これにより入力データＤＩＮ３として、カウント差ＣＴ１−ＣＴ２が演算回路５０に入力されるようになる。なお減算器３７を加算器により実現してもよい。また演算回路５０には、カウント値ＣＴ１、ＣＴ２についても入力データＤＩＮ１、ＤＩＮ２として入力されている。そして演算回路５０は、これらの入力データＤＩＮ１、ＤＩＮ２、ＤＩＮ３に対して、学習済みモデルの情報に基づく処理を行うことで、温度補償データＴＣＰを求める。
【００５７】
例えば図１２は基準クロック信号ＣＫＲの周波数温度特性である。図１３は、この基準クロック信号ＣＫＲで設定される期間でのカウント値ＣＴ１、ＣＴ２の温度特性である。図１４は、図１１の減算器３７が出力するカウント差ＣＴ１−ＣＴ２の温度特性である。カウント差ＣＴ１−ＣＴ２は、図４の周波数差に対応する入力データＤＩＮと同様に、温度に対して線形に変化しており、温度測定データとして用いることができる。従って、このカウント差ＣＴ１−ＣＴ２に対応する入力データＤＩＮ３を、演算回路５０に入力することで、高精度の温度補償処理を実現できる。また図１１では、更にカウント値ＣＴ１、ＣＴ２に対応する入力データＤＩＮ１、ＤＩＮ２も演算回路５０に入力している。そして学習済みモデルは、入力データＤＩＮ１、ＤＩＮ２、ＤＩＮ３に対して温度補償データＴＣＰを出力するように学習されている。このように学習済みモデルの入力データの数を増やすことで、温度補償処理の更なる高精度化を図れる。なお、例えば入力データＤＩＮ１、ＤＩＮ２、ＤＩＮ３に対して、これらの値の２乗、３乗をとるなどの加工処理を行い、加工処理後のデータを、学習済みモデルの入力データとしてもよい。これにより温度補償処理の更なる高精度化を期待できるようになる。
【００５８】
４．補正残差の学習
本実施形態では、多項式近似補正の補正残差を学習モデルに学習させてもよい。図１５はこの場合の演算回路５０の構成例である。図１５の演算回路５０は、多項式近似補正回路５７とニューラルネットワーク演算回路５８と加算器５９を含む。多項式近似補正回路５７は、入力データＤＩＮが入力され、入力データＤＩＮに基づいて多項式近似の補正処理を行うことで温度補償データＴＣＰ１を求める。例えば記憶部９０に記憶される多項式近似係数情報に基づいて、多項式近似の補正処理を行うことで、温度補償データＴＣＰ１を求める。温度補償データＴＣＰ１は第１温度補償データである。ニューラルネットワーク演算回路５８は、入力データＤＩＮが入力され、多項式近似の補正処理の補正残差を温度補償データＴＣＰ２として出力する。温度補償データＴＣＰ２は第２温度補償データである。即ち記憶部９０には、多項式近似の補正処理の補正残差を温度補償データＴＣＰ２として出力するように機械学習された学習済みモデルの情報が記憶されている。具体的には記憶部９０には、学習済みモデルの情報として、ニューラルネットワークの重み付け係数情報が記憶されている。ニューラルネットワーク演算回路５８は、入力データＤＩＮに対して、学習済みモデルの情報である重み付け係数情報に基づく処理を行うことで、温度補償データＴＣＰ２を求める。そして加算器５９は、温度補償データＴＣＰ１と温度補償データＴＣＰ２の加算処理を行うことで、温度補償データＴＣＰを出力する。
【００５９】
このように図１５では、処理回路３０は、入力データＤＩＮに基づいて多項式近似の補正処理を行うことで温度補償データＴＣＰ１を求める。また処理回路３０は、学習済みモデルの情報に基づいて、多項式近似の補正処理の補正残差に対応する第２温度補償データＴＣＰ２を求める。例えば学習済みモデルは、多項式近似の補正処理の補正残差を温度補償データＴＣＰ２として出力するように機械学習されている。そして処理回路３０は、温度補償データＴＣＰ１と温度補償データＴＣＰ２を加算処理することで、温度補償データＴＣＰを求める。
【００６０】
図１６は振動子の周波数温度特性の例である。図１７は、図１６の周波数温度特性に対して、例えば多項式近似補正を行った場合の補正残差の周波数温度特性の例である。例えば多項式近似補正を行うことで、補正残差の周波数偏差の絶対値を、例えば１００ｐｐｂ程度以下に低減できる。そして図１５の構成では、この図１７に示す補正残差を機械学習させた学習済みモデルを用いる。例えばニューラルネットワーク演算回路５８は、入力データＤＩＮに対して、図１７の補正残差を温度補償データＴＣＰ２として出力するように機械学習させた学習済みモデルの情報を用いて、ニューラルネットワーク演算の処理を行う。図１８は、このように多項式近似補正の補正残差を機械学習させた場合のクロック信号ＣＫの周波数温度特性の例である。図１８では、図１７の補正残差についても除去されるため、周波数偏差が十分に小さくなっており、非常に高精度の温度補償処理が実現されている。このように図１５では、多項式近似補正を行うと共に、その補正残差を機械学習させた学習済みモデルを用いて温度補償処理を行っているため、図１６の周波数温度特性をダイレクトに温度補償する温度補償データを機械学習させる場合に比べて、高精度の温度補償処理を実現できるようになる。なお、図１６の縦軸のスケールは図１７および図１８の縦軸のスケールの１００倍である。また図１７の縦軸のスケールと図１８の縦軸のスケールは等しい。
【００６１】
なお図１５の多項式近似補正回路５７は、振動子の周波数温度特性を多項式近似により補償するための補正処理を行う。記憶部９０は、多項式近似における多項式の係数情報を記憶する。例えば多項式近似補正回路５７は、記憶部９０から読み出された０次成分用の係数情報に基づいて、０次成分を近似する補正処理を行う。また多項式近似補正回路５７は、記憶部９０から読み出された１次成分用、３次成分用、高次成分用の係数情報に基づいて、振動子の周波数温度特性の１次成分を近似する補正処理、３次成分を近似する補正処理、高次成分を近似する補正処理を行う。高次成分は４次以上の成分である。多項式近似補正回路５７は、これらの補正処理を行うことで、多項式近似補正用の温度補償データＴＣＰ１を出力することになる。なお多項式近似補正回路５７が行う多項式近似は、１次成分のみであってもよい。
【００６２】
５．学習処理
次に学習処理について説明する。図１９は学習処理の一例を説明するフローチャートである。ここでは図５の構成を例にとり、学習処理の詳細を説明する。
【００６３】
まずＰＬＬ回路６１の分周設定が、固定小数値になるように設定する（ステップＳ１）。例えば温度補償データＴＣＰを固定値に設定して、狙いの周波数になるようにＤＩＶＡを設定し、固定の小数分周で分周を行うようにフラクショナルのＰＬＬ回路６１を動作させる。そして温度スイープをしながら、クロック信号ＣＫの周波数を外部計測装置で測定すると共に、測定回路３２の測定データをインターフェース回路８８を介して外部に出力する（ステップＳ２）。図５では、測定回路３２の測定データである入力データＤＩＮが、インターフェース回路８８を介して外部に出力される。
【００６４】
次に測定回路３２の測定データと、クロック信号ＣＫの周波数測定結果から、温度補償データを算出する（ステップＳ３）。そして、測定データを入力データとし、算出された温度補償データを教師データとして、ニューラルネットワークの学習処理を行う（ステップＳ４）。そして学習結果を、学習済みモデルの情報として記憶部９０に格納する（ステップＳ５）。例えばニューラルネットワークの重み付け係数の情報が、学習済みモデルの情報として記憶部９０に格納される。このような図１９に示す学習処理を、発振器４の製造時や出荷時において行う。そして発振器４の実動作時には、処理回路３０が、記憶部９０に格納された学習済みモデルの情報に基づいて、入力データＤＩＮに対応する温度補償データＴＣＰを求める温度補償処理を実行する。
【００６５】
なお図１５のように多項式近似補正の補正残差を学習させる場合には、測定回路３２の測定データである温度検出データを入力データとし、温度補正を行うためのＰＬＬ回路６１の分周比を期待値として、最小二乗法により多項式近似を算出する。そしてＰＬＬ回路６１の分周比から、多項式近似により演算された結果を減算し、近似誤差である補正残差を算出し、この補正残差を教師データとして、ニューラルネットワークの学習処理を行えばよい。
【００６６】
６．電子機器、移動体
図２０に、本実施形態の発振器４を含む電子機器５００の構成例を示す。電子機器５００は、発振器４と、発振器４からのクロック信号ＣＫに基づいて動作する処理装置５２０を含む。また電子機器５００は、アンテナＡＮＴ、通信インターフェース５１０、操作インターフェース５３０、表示部５４０、メモリー５５０を含むことができる。なお電子機器５００は図２０の構成に限定されず、これらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００６７】
電子機器５００は、例えば基地局又はルーター等のネットワーク関連機器、距離、時間、流速又は流量等の物理量を計測する高精度の計測機器、生体情報を測定する生体情報測定機器、或いは車載機器などである。生体情報測定機器は例えば超音波測定装置、脈波計又は血圧測定装置等である。車載機器は自動運転用の機器等である。また電子機器５００は、頭部装着型表示装置や時計関連機器などのウェアラブル機器、ロボット、印刷装置、投影装置、スマートフォン等の携帯情報端末、コンテンツを配信するコンテンツ提供機器、或いはデジタルカメラ又はビデオカメラ等の映像機器などであってもよい。
【００６８】
また電子機器５００としては、５Ｇなどの次世代移動通信システムに用いられる機器がある。例えば次世代移動通信システムの基地局、リモートレディオヘッド（ＲＲＨ）又は携帯通信端末などの種々の機器に本実施形態の発振器４を用いることができる。次世代移動通信システムでは、時刻同期等のために高精度のクロック周波数が要望されており、高精度のクロック信号を生成できる本実施形態の発振器４の適用例として好適である。
【００６９】
通信インターフェース５１０は、アンテナＡＮＴを介して外部からデータを受信したり、外部にデータを送信する処理を行う。プロセッサーである処理装置５２０は、電子機器５００の制御処理や、通信インターフェース５１０を介して送受信されるデータの種々のデジタル処理などを行う。処理装置５２０の機能は、例えばマイクロコンピューターなどのプロセッサーにより実現できる。操作インターフェース５３０は、ユーザーが入力操作を行うためのものであり、操作ボタンやタッチパネルディスプレイなどにより実現できる。表示部５４０は、各種の情報を表示するものであり、液晶や有機ＥＬなどのディスプレイにより実現できる。メモリー５５０は、データを記憶するものであり、その機能はＲＡＭやＲＯＭなどの半導体メモリーにより実現できる。
【００７０】
図２１に、本実施形態の発振器４を含む移動体の例を示す。移動体は、発振器４と、発振器４からのクロック信号ＣＫに基づき動作する処理装置２２０を含む。本実施形態の発振器４は、例えば、車、飛行機、バイク、自転車、或いは船舶等の種々の移動体に組み込むことができる。移動体は、例えばエンジンやモーター等の駆動機構、ハンドルや舵等の操舵機構、各種の電子機器を備えて、地上や空や海上を移動する機器・装置である。図２１は移動体の具体例としての自動車２０６を概略的に示している。自動車２０６には、本実施形態の発振器４が組み込まれる。制御装置２０８は、発振器４と、発振器４により生成されたクロック信号ＣＫに基づき動作する処理装置２２０を含む。制御装置２０８は、例えば車体２０７の姿勢に応じてサスペンションの硬軟を制御したり、個々の車輪２０９のブレーキを制御する。例えば制御装置２０８により、自動車２０６の自動運転を実現してもよい。なお本実施形態の発振器４が組み込まれる機器は、このような制御装置２０８には限定されず、自動車２０６等の移動体に設けられるメーターパネル機器やナビゲーション機器などの種々の車載機器に組み込むことが可能である。
【００７１】
以上に説明したように本実施形態の発振器は、第１振動子と、第２振動子と、第１振動子を発振させることで第１発振信号を生成する第１発振回路と、第２振動子を発振させることで第１発振信号とは周波数温度特性が異なる第２発振信号を生成する第２発振回路を含む。また発振器は、温度補償データにより温度補償される周波数のクロック信号を生成するクロック信号生成回路と、入力データに対して温度補償データに対応するデータを出力するように機械学習させた学習済みモデルの情報を記憶する記憶部と、第１発振信号及び第２発振信号に基づく入力データに対して、学習済みモデルの情報に基づく処理を行うことで、温度補償データを求める処理回路を含む。
【００７２】
本実施形態によれば、第１振動子、第２振動子を発振させることで周波数温度特性が互いに異なる第１発振信号、第２発振信号が生成される。また記憶部には、入力データに対して温度補償データに対応するデータを出力するように機械学習させた学習済みモデルの情報が記憶されている。そして第１発振信号及び第２発振子信号に基づく入力データに対して、学習済みモデルの情報に基づく処理が行われることで、温度補償データが求められ、当該温度補償データにより温度補償される周波数のクロック信号が生成される。このようにすれば、周波数温度特性が互いに異なる第１発振信号及び第２発振信号に基づく入力データを温度測定データとして、クロック信号の周波数の温度補償処理を実現できるようになる。そして学習済みモデルの情報を用いることで、より正確で適切な温度補償データを求めることが可能になり、学習済みモデルを利用した高精度の温度補償処理を実現できるようになる。
【００７３】
また本実施形態では、処理回路は、第１発振信号及び第２発振信号が入力される測定回路と、測定回路の測定データが入力データとして入力され、学習済みモデルの情報に基づいて、温度補償データを求める演算回路とを含んでもよい。そして処理回路は、温度補償データにより補正された設定データをクロック信号生成回路に出力し、クロック信号生成回路は、設定データに基づいてクロック信号を生成してもよい。
【００７４】
このようにすれば、測定回路の測定データを入力データとして、学習済みモデルの情報に基づく処理を行うことで、温度補償データが求められ、求められた温度補償データにより補正された設定データに基づいて、温度補償されたクロック信号を生成できるようになる。
【００７５】
また本実施形態では、クロック信号生成回路は、フラクショナル−Ｎ型のＰＬＬ回路を含み、処理回路は、ＰＬＬ回路が有する分周回路に対して、温度補償データにより補正された分周比設定データを出力してもよい。
【００７６】
このようにすれば、学習済みモデルの情報に基づき求められた温度補償データにより補正された分周比設定データにより、ＰＬＬ回路の分周比を設定することで、温度補償されたクロック信号を生成できるようになる。
【００７７】
また本実施形態では、ＰＬＬ回路は、第１発振信号に基づく入力クロック信号と、分周回路からのフィードバッククロック信号との位相比較を行う位相比較回路と、位相比較の結果に基づいて、制御電圧を生成する制御電圧生成回路と、制御電圧に対応する周波数の出力クロック信号を生成する電圧制御発振回路と、を含んでもよい。
【００７８】
このような構成のＰＬＬ回路を用いることで、第１発振信号に位相同期したＰＬＬ回路の出力クロック信号を生成し、この出力クロック信号に基づく高精度のクロック信号を生成できるようになる。
【００７９】
また本実施形態では、クロック信号生成回路は、ダイレクトデジタルシンセサイザーを含み、処理回路は、温度補償データにより補正された周波数設定データを、ダイレクトデジタルシンセサイザーに出力してもよい。
【００８０】
このようなダイレクトデジタルシンセサイザーを用いることで、周波数設定データにより設定される任意の周波数のクロック信号を生成できるようになる。そして温度補償データにより補正された周波数設定データを用いることで、温度補償された高精度のクロック信号を生成できるようになる。
【００８１】
また本実施形態では、クロック信号生成回路は、周波数設定データをＤ／Ａ変換して、周波数の制御電圧を出力するＤ／Ａ変換回路と、Ｄ／Ａ変換回路からの制御電圧に対応する周波数で第３振動子を発振させる電圧制御発振回路を含み、処理回路は、温度補償データにより補正された周波数設定データを、Ｄ／Ａ変換回路に出力してもよい。
【００８２】
このようにすれば、温度補償データにより補正された周波数設定データをＤ／Ａ変換し、Ｄ／Ａ変換により得られた制御電圧に対応する周波数で第３振動子を発振させることで、温度補償されたクロック信号を生成できるようになる。
【００８３】
また本実施形態では、処理回路は、第１発振信号と第２発振信号とに基づいて、第１発振信号の周波数と第２発振信号の周波数との差を表す周波数差データを求め、周波数差データを入力データとして、学習済みモデルの情報に基づく処理を行ってもよい。
【００８４】
このように第１発振信号と第２発振信号の周波数差データを求めることで、温度測定データとして用いることができる入力データを得ることができ、この入力データに対して、学習済みモデルの情報に基づく処理を行うことで、高精度の温度補償データを求めることが可能になる。
【００８５】
また本実施形態では、処理回路は、第１発振信号に基づく第１カウント処理を行い、第１カウント処理により設定される期間において、第２発振信号に基づく第２カウント処理を行い、第２カウント処理のカウント値を入力データとして、学習済みモデルの情報に基づく処理を行ってもよい。
【００８６】
このようにすれば、第１カウント処理により設定される期間において第２カウント処理を行い、第２カウント処理のカウント値を入力データとすることで、第１発振信号と第２発振信号の周波数差に対応するデータを入力データとして、学習済みモデルの情報に基づく処理を行うことが可能になる。
【００８７】
また本実施形態では、処理回路は、基準クロック信号に基づく基準クロックカウント処理を行い、基準クロックカウント処理により設定される期間において、第１発振信号に基づく第１カウント処理と第２発振信号に基づく第２カウント処理を行い、第１カウント処理の第１カウント値と第２カウント処理の第２カウント値を入力データとして、学習済みモデルの情報に基づく処理を行ってもよい。
【００８８】
このようにすれば、第１カウント処理の第１カウント値と第２カウント処理の第２カウント値を入力データとして、各温度に対応する温度補償データを学習させた学習済みモデルを用いて、高精度な温度補償処理を実現できるようになる。
【００８９】
また本実施形態では、処理回路は、入力データに基づいて多項式近似の補正処理を行うことで第１温度補償データを求め、学習済みモデルは、多項式近似の補正処理の補正残差を第２温度補償データとして出力するように機械学習されてもよい。そして処理回路は、第１温度補償データと第２温度補償データを加算処理することで、温度補償データを求めてもよい。
【００９０】
また本実施形態では、処理回路は、入力データに基づいて多項式近似の補正処理を行うことで第１温度補償データを求め、学習済みモデルの情報に基づいて、多項式近似の補正処理の補正残差に対応する第２温度補償データを求め、第１温度補償データと第２温度補償データを加算処理することで、温度補償データを求めてもよい。
【００９１】
このようにすれば、多項式近似補正による温度補償処理が行われると共に、多項式近似補正の補正残差を機械学習させた学習済みモデルを用いた温度補償処理が行われるため、高精度の温度補償処理を実現できるようになる。
【００９２】
また本実施形態では、入力データを外部に出力するインターフェース回路を含んでもよい。
【００９３】
このようにすれば、学習済みモデルの情報に基づく処理の対象となる入力データを、インターフェース回路を介して外部に出力できるようになり、入力データを用いた学習処理を実現できるようになる。
【００９４】
また本実施形態では、学習済みモデルは、インターフェース回路から出力された入力データと、クロック信号の周波数の測定結果とに基づいて、機械学習されていてもよい。
【００９５】
このようにすれば、インターフェース回路から出力された入力データと、クロック信号の周波数の測定結果とにより機械学習された学習済みモデルを用いて、温度補償データを求めて、クロック信号の温度補償処理を実現できるようになる。
【００９６】
また本実施形態では、処理回路は、学習済みモデルに基づく処理として、ニューラルネットワーク演算の処理を行ってもよい。
【００９７】
このようにすれば、入力データに対して、ニューラルネットワーク演算を行って、高精度の温度補償データを求め、この温度補償データにより温度補償される周波数のクロック信号を生成できるようになる。
【００９８】
また本実施形態は、上記に記載の発振器と、発振器からのクロック信号に基づいて動作する処理装置とを含む電子機器に関係する。
【００９９】
また本実施形態は、上記に記載の発振器と、発振器からのクロック信号に基づいて動作する処理装置とを含む移動体に関係する。
【０１００】
なお、上記のように本実施形態について詳細に説明したが、本開示の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本開示の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本開示の範囲に含まれる。また発振器、振動子、第１発振回路、第２発振回路、処理回路、クロック信号生成回路、測定回路、電子機器、移動体の構成・動作等も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１０１】
ＯＳＣ１、ＯＳＣ２…発振信号、ＣＫ…クロック信号、ＳＤ…設定データ、
ＤＩＮ、ＤＩＮ１〜ＤＩＮ３…入力データ、ＳＤＲ…基準設定データ、
ＴＣＰ、ＴＣＰ１、ＴＣＰ２…温度補償データ、ＤＩＶＲ…基準分周比データ、
ＤＩＶＡ…加算結果データ、ＦＢＣＫ…フィードバッククロック信号、
ＶＣ…制御電圧、ＣＫＱ…出力クロック信号、ＦＱＲ…基準周波数データ、
ＳＦＱ…周波数設定データ、ＣＴ１、ＣＴ２…カウント値、ＣＫＲ…基準クロック信号、
ＦＤＩＦ…周波数差データ、ＣＥＮＢ…カウンターイネーブル信号、
４…発振器、１０、１１、１２…振動子、２０、２１、２２…発振回路、
３０…処理回路、３２…測定回路、３３…第１カウンター、３４…第２カウンター、
３５…カウンターイネーブル生成回路、３６…基準カウンター、３７…減算器、
５０…演算回路、５２…レジスター、５４…加算器、５６…デルタシグマ変調回路、
５７…多項式近似補正回路、５８…ニューラルネットワーク演算回路、
５９…加算器、６０…クロック信号生成回路、６１…ＰＬＬ回路、
６２…位相比較回路、６４…制御電圧生成回路、６６…電圧制御発振回路、
６８…分周回路、７０…ダイレクトデジタルシンセサイザー、
７２…電圧制御発振回路、７４…可変容量回路、７６…Ｄ／Ａ変換回路、
８８…インターフェース回路、９０…記憶部
２０６…自動車、２０７…車体、２０８…制御装置、
２０９…車輪、２２０…処理装置、
５００…電子機器、５１０…通信インターフェース、５２０…処理装置、
５３０…操作インターフェース、５４０…表示部、５５０…メモリー
【図１】
2020145528.tif 000003
【図２】
2020145528.tif 000004
【図３】
2020145528.tif 000005
【図４】
2020145528.tif 000006
【図５】
2020145528.tif 000007
【図６】
2020145528.tif 000008
【図７】
2020145528.tif 000009
【図８】
2020145528.tif 000010
【図９】
2020145528.tif 000011
【図１０】
2020145528.tif 000012
【図１１】
2020145528.tif 000013
【図１２】
2020145528.tif 000014
【図１３】
2020145528.tif 000015
【図１４】
2020145528.tif 000016
【図１５】
2020145528.tif 000017
【図１６】
2020145528.tif 000018
【図１７】
2020145528.tif 000019
【図１８】
2020145528.tif 000020
【図１９】
2020145528.tif 000021
【図２０】
2020145528.tif 000022
【図２１】
2020145528.tif 000023