(57)【要約】【課題】古い観測値を用いて再生クロックの周波数制御を行う場合に、制御が行き過ぎるのを抑制し、再生クロック周波数を安定化させる。【解決手段】周波数安定化方法は、受信データをデータバッファに格納するステップと、データバッファに蓄積されているデータ量である蓄積データ量と、データバッファに蓄積されるデータ量の目標値との差である蓄積データ量と目標値との差分を算出するステップと、算出された差分に基づいて制御値を生成するステップと、現在の差分と以前の差分に基づいて前記制御値を補正するステップと、前記補正された制御値に基づいてクロック信号を出力するステップとを含んでいる。【選択図】図３
2009200787.tif 000002
【特許請求の範囲】
【請求項１】
受信データのビットレートに基づいて再生された受信装置のクロック信号の周波数安定化方法において、
前記受信データをデータバッファに格納するステップと、
前記データバッファに蓄積されているデータ量である蓄積データ量と前記データバッファに蓄積されるデータ量の目標値との差である蓄積データ量と目標値との差分を算出するステップと、
前記算出された差分に基づいて制御値を生成するステップと、
現在の差分と以前の差分に基づいて前記制御値を補正するステップと、
前記補正された制御値に基づいてクロック信号を出力するステップと、
を含むことを特徴とするクロック周波数安定化方法。
【請求項２】
受信データのパケットレートに基づいて再生された受信装置のクロック信号の周波数安定化方法において、
パケット受信予測信号を生成するステップと、
前記受信したパケットのパケット受信信号と前記パケット受信予測信号のタイミングの差であるパケット受信タイミング差分を算出するステップと、
前記算出された差分に基づいて制御値を生成するステップと、
現在の差分と以前の差分に基づいて前記制御値を補正するステップと、
前記補正された制御値に基づいてクロック信号を出力するステップと、
を含むことを特徴とするクロック周波数安定化方法。
【請求項３】
前記補正は、
現在の差分と以前の差分が共に正でありかつ以前の差分よりも現在の差分の方が大きい場合または以前の差分が負でありかつ現在の差分が正である場合、再生クロック周波数を大きくする補正であり、
現在の差分と以前の差分が共に負でありかつ以前の差分よりも現在の差分の方が小さい場合または以前の差分が正でありかつ現在の差分が負である場合、再生クロック周波数を小さくする補正であることを特徴とする請求項１または２に記載のクロック周波数安定化方法。
【請求項４】
前記制御値は、前記算出された複数の差分の移動平均に適切な係数を乗じた値と直前の制御値とを加算した値であり、
前記補正は、現在の差分と移動平均を計算する区間だけ過去の差分との差に適切な係数を乗じた値を前記制御値に加算する補正であることを特徴とする請求項３に記載のクロック周波数安定化方法。
【請求項５】
受信データのビットレートに基づいてクロック信号を再生するデータ受信装置において、
前記受信データを格納するデータバッファと、
前記データバッファに蓄積されているデータ量である蓄積データ量と前記データバッファに蓄積されるデータ量の目標値との差である蓄積データ量と目標値との差分を算出する手段と、
前記算出された差分に基づいて制御値を生成し、現在の差分と以前の差分に基づいて前記制御値を補正する周波数制御部と、
前記補正された制御値に基づいてクロック信号を出力する発振器と、
を備えていることを特徴とするデータ受信装置。
【請求項６】
受信データのパケットレートに基づいてクロック信号を再生するデータ受信装置において、
パケット受信予測信号を生成するパケット受信予測信号生成部と、
前記受信したパケットのパケット受信信号と前記パケット受信予測信号のタイミングの差であるパケット受信タイミング差分を算出するパケット受信タイミング差分計測部と、
前記算出された差分に基づいて制御値を生成し、現在の差分と以前の差分に基づいて前記制御値を補正する周波数制御部と、
前記補正された制御値に基づいてクロック信号を出力する発振器と、
を備えていることを特徴とするデータ受信装置。
【請求項７】
前記補正は、
現在の差分と以前の差分が共に正でありかつ以前の差分よりも現在の差分の方が大きい場合または以前の差分が負でありかつ現在の差分が正である場合、再生クロック周波数を大きくする補正であり、
現在の差分と以前の差分が共に負でありかつ以前の差分よりも現在の差分の方が小さい場合または以前の差分が正でありかつ現在の差分が負である場合、再生クロック周波数を小さくする補正であることを特徴とする請求項５または６に記載のデータ受信装置。
【請求項８】
前記周波数制御部が、
前記算出された複数の差分から移動平均を計算する移動平均計算部と、
現在の差分と移動平均を計算する区間だけ過去の差分との差を計算する制御補正値計算部と、
前記移動平均に適切な係数を乗じた値と直前の制御値とを加算して前記制御値を生成する手段と、
前記差に適切な係数を乗じた値を前記制御値に加算して前記制御値を補正する手段と、
を備えていることを特徴とする請求項７に記載のデータ受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、図１に示すように、データ送信装置が通信網を介してデータ受信装置にデータを送信する場合であって、データの送信装置と受信装置が非同期ネットワークで接続されているなどの理由により同一のクロック源を利用できない場合において、データ受信装置がデータ送信装置から送られてきたデータの量に基づいて、データ送信装置が利用するクロックと同一の周波数のクロックを再生する手段に関する。特に、適応クロック法によるクロック再生において、データ受信装置が受信するデータのジッタを抑制する目的でデータ量の平均化を行う場合に、制御の行き過ぎを抑制して再生クロックの周波数の安定性を向上する手法に関する。
【背景技術】
【０００２】
データ送信装置がデータ受信装置にデータを伝送するシステムにおいて、データ受信装置とデータ送信装置がＩＰ網やイーサネット（登録商標）網のような非同期ネットワークで接続された場合にデータ受信装置がデータ送信装置のクロックを再生し同期する方法として適応クロック法がある。適応クロック法は、たとえば、非特許文献１でその原理が述べられている。適応クロック法の原理は、データ送信装置が一定のビットレートでデータを送信するとき、データ受信装置がデータ送信装置と非同期ネットワークを介して接続されていても、データ受信装置が観測する単位時間当たりの受信データ量の平均値がデータ送信装置のデータ送信速度に確率的に一致することによる。つまり、データ受信装置はある時間期間に受信したデータ量をその時間期間で除することによりデータ送信装置がデータを送信するビットレートを推定可能である。データ受信装置は、そのビットレートに一致するようにデータ受信装置のクロックを制御してデータ送信装置のクロックを再生する。クロック周波数とビットレートは固定の定数倍の関係にあるから、ビットレートを推定することはクロックを再生することと技術的にはほとんど同義である。クロック周波数制御の具体的なやり方としては、データ受信装置は、受信データをデータ受信装置が具備するデータバッファに格納し、再生したクロックに比例したビットレートでそのデータバッファからデータを取り出し、データバッファ内の蓄積データ量の値をある目標値に一致するようにクロック周波数を制御することにより、クロックを再生する。
【０００３】
適応クロック法に関して、「蓄積データ量と目標値との差分」の移動平均を計算して再生クロックの周波数の制御に用いる方法が知られている。例えば、特許文献１が挙げられる。
【０００４】
【特許文献１】特開２００７−１５０５２９号公報
【非特許文献１】"B-ISDN ATM Adaptation Layerspecification: Type 1 AAL" ITU-T勧告I.363.1
【発明の開示】
【発明が解決しようとする課題】
【０００５】
移動平均を用いることにより、データのパケット化に基づく雑音を除去可能である。しかし、平均化処理を行うことは、「蓄積データ量と目標値との差分」の古い観測値も再生クロック周波数の制御に用いるということである。ある観測データを用いて再生クロックの周波数の偏差を修正してより正確な周波数に近づいた後に、既に古くなったその観測データを使い続ければ、制御の方向性（周波数を大きくする、または、小さくするという方向）が保持されたままになるので、制御が過度になる。そのため、再生クロック周波数がかえって正確な周波数から乖離してしまうおそれがある。例えば、ある時点で周波数偏差が負であることを観測し、それを含む観測データを用いて再生クロックの発振周波数を大きくし、その制御の結果、周波数偏差が正になった場合、その観測データを再度制御に用いれば、その観測データは周波数が負であることを示しているので、発振周波数が更に大きくなり、周波数偏差は０から遠ざかることになる。
【０００６】
従って、本発明は、古い観測値（例えば、移動平均）を用いて再生クロックの周波数制御を行う場合に、制御が行き過ぎるのを抑制し、再生クロック周波数を安定化する方法および該方法を実行するデータ受信装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を実現するため本発明による方法は、受信データのビットレートに基づいて再生された受信装置のクロック信号の周波数安定化方法において、前記受信データをデータバッファに格納するステップと、前記データバッファに蓄積されているデータ量である蓄積データ量と、前記データバッファに蓄積されるデータ量の目標値との差である蓄積データ量と目標値との差分を算出するステップと、前記算出された差分に基づいて制御値を生成するステップと、現在の差分と以前の差分に基づいて前記制御値を補正するステップと、前記補正された制御値に基づいてクロック信号を出力するステップとを含む。
【０００８】
また、上記目的を実現するため本発明による方法は、受信データのパケットレートに基づいて再生された受信装置のクロック信号の周波数安定化方法において、パケット受信予測信号を生成するステップと、前記受信したパケットのパケット受信信号と前記パケット受信予測信号のタイミングの差であるパケット受信タイミング差分を算出するステップと、前記算出された差分に基づいて制御値を生成するステップと、現在の差分と以前の差分に基づいて前記制御値を補正するステップと、前記補正された制御値に基づいてクロック信号を出力するステップとを含む。
【０００９】
また、前記補正は、現在の差分と以前の差分が共に正でありかつ以前の差分よりも現在の差分の方が大きい場合または以前の差分が負でありかつ現在の差分が正である場合、再生クロック周波数を大きくする補正であり、現在の差分と以前の差分が共に負でありかつ以前の差分よりも現在の差分の方が小さい場合または以前の差分が正でありかつ現在の差分が負である場合、再生クロック周波数を小さくする補正であることも好ましい。
【００１０】
また、前記制御値は、前記算出された複数の差分の移動平均に適切な係数を乗じた値と直前の制御値とを加算した値であり、前記補正は、現在の差分と移動平均を計算する区間だけ過去の差分との差に適切な係数を乗じた値を前記制御値に加算する補正であることも好ましい。
【００１１】
上記目的を実現するため本発明によるデータ受信装置は、受信データのビットレートに基づいてクロック信号を再生するデータ受信装置において、前記受信データを格納するデータバッファと、前記データバッファに蓄積されているデータ量である蓄積データ量と、前記データバッファに蓄積されるデータ量の目標値との差である蓄積データ量と目標値との差分を算出する手段と、前記算出された差分に基づいて制御値を生成し、現在の差分と以前の差分に基づいて前記制御値を補正する周波数制御部と、前記補正された制御値に基づいてクロック信号を出力する発振器とを備えている。
【００１２】
また、上記目的を実現するため本発明によるデータ受信装置は、受信データのパケットレートに基づいてクロック信号を再生するデータ受信装置において、パケット受信予測信号を生成するパケット受信予測信号生成部と、前記受信したパケットのパケット受信信号と前記パケット受信予測信号のタイミングの差であるパケット受信タイミング差分を算出するパケット受信タイミング差分計測部と、前記算出された差分に基づいて制御値を生成し、現在の差分と以前の差分に基づいて前記制御値を補正する周波数制御部と、前記補正された制御値に基づいてクロック信号を出力する発振器とを備えている。
【００１３】
また、前記補正は、現在の差分と以前の差分が共に正でありかつ以前の差分よりも現在の差分の方が大きい場合または以前の差分が負でありかつ現在の差分が正である場合、再生クロック周波数を大きくする補正であり、現在の差分と以前の差分が共に負でありかつ以前の差分よりも現在の差分の方が小さい場合または以前の差分が正でありかつ現在の差分が負である場合、再生クロック周波数を小さくする補正であることも好ましい。
【００１４】
また、前記周波数制御部が、前記算出された複数の差分から移動平均を計算する移動平均計算部と、現在の差分と移動平均を計算する区間だけ過去の差分との差を計算する制御補正値計算部と、前記移動平均に適切な係数を乗じた値と直前の制御値とを加算して前記制御値を生成する手段と、前記差に適切な係数を乗じた値を前記制御値に加算して前記制御値を補正する手段とを備えていることも好ましい。
【発明の効果】
【００１５】
この発明のよれば、データを送信するデータ送信装置とデータを受信するデータ受信装置にネットワークからの同期クロックが配信されない場合において、データ受信装置は受信したデータ量に基づいて適応クロック法によりクロックを再生する場合であって、蓄積データ量の移動平均に加え、移動平均を計算する期間の前後の蓄積データ量の差を加味して周波数を制御することにより、再生したクロックの周波数の安定性を高めることが可能であるという効果がある。また、蓄積データ量の代わりに、受信パケットのタイミングに基づき、予想されるタイミングとの差に基づいてクロックを再生する場合も同様である。
【発明を実施するための最良の形態】
【００１６】
上述の課題が発生する原因は、移動平均を用いて発振周波数を変更したときに、変更後の周波数が正確な値にどの程度近づいたのかを考慮していないからである。例えば、変更前の周波数が正確な値より小さく、変更後の周波数が正確な値よりも大きければ、これ以上、周波数を大きくする必要は無いが、そのことを考慮に入れていないわけである。そこで、以下の方針で発振周波数を制御することにより、上述の課題を解決する。すなわち、発振周波数を変更した結果として正確な値から遠ざかってしまった場合は、周波数を正確な値に近づけるように制御を補正する（図２ａ参照）。また、発振周波数の変更の前と後とで、正確な値との偏差の符号が逆転してしまった場合も、周波数を正確な値に近づけるように制御を補正する（図２ｂ参照）。これにより、発振周波数の過度の制御を抑制できる。
【００１７】
具体的な制御方法を次に述べる。まず、発振周波数の偏差の変化の傾向を把握する。これは、「蓄積データ量と目標値との差分」の以前の値と現在の値とに基づいて、表１に示す基準で行う。
【００１８】
【表１】
2009200787.tif 000003
【００１９】
表１は、「蓄積データ量と目標値との差分」に基づく周波数変化の傾向の判断基準を示している。
【００２０】
表１において、項番１〜４の場合に周波数制御に補正を加える。具体的には、項番１と３の場合は制御が周波数を小さくする傾向を有することから、周波数を大きくする補正を行い、項番２と４の場合はその逆に周波数を小さくする補正を行う。
【００２１】
周波数の補正の方法は次のように行う。周波数の補正を行わない場合の制御値に、補正値を加算する。補正値は、周波数を大きくする場合は正の値で、小さくする場合は負の値である。
【００２２】
補正値の計算方法の例を次に述べる。周波数制御の補正を行う目的は、制御の行き過ぎを補正し、適切な制御量にするためである。制御が行き過ぎている場合とは、短時間に周波数が過大に変化する場合と考えてよい。つまり、周波数の変化量に比例するような量の補正を行えばよいことになる。周波数は直接測定できないため、「蓄積データ量と目標値との差分」の変化量から推定することにし、補正値は、過去の「蓄積データ量と目標値との差分」と現在の「蓄積データ量と目標値との差分」の差に適当な比例係数をかけたものとする。
【００２３】
制御の補正に用いる過去の「蓄積データ量と目標値との差分」を、どの時点のものにするかは、周波数変化の傾向を判断するだけ時間的に離れている必要がある。そこで、移動平均を計算する時間区間だけ離れた値とする。観測される「蓄積データ量と目標値との差分」の時系列データの第ｉ番目をＤＩＦＦｉ、第ｉ番目の制御値をｙｉ、とすると、ｙｉを以下の式で算出する。
【００２４】
【数１】
2009200787.tif 000004
【００２５】
Ｔは移動平均を計算する時間区間内の時系列データ個数、αとβは適切な係数である。また、式（１）の第３項は、ＤＩＦＦｉとＤＩＦＦｉ−Ｔが表１の項番１〜４を満たす場合のみ有り、その他の場合は０である。適切な係数αおよびβの値は、対象とするシステムによって異なるので、実際にいくつかの値を試してみて、目的に合うような特性を示す値に決めればよい。
【００２６】
また、ｙｉの初期値は、発振周波数の初期値が正確な周波数に近い値になるように適切に決める。
【００２７】
再生クロック周波数制御の機能ブロック図を図３に示す。データ受信装置がパケットを受信し、そのパケットに含まれるデータをデータバッファ１に格納する。データバッファ１からは、再生したクロックの周波数に比例する速度でデータを取り出す。再生したクロックの周波数が送信装置のクロックの周波数と一致していれば受信するデータの速度と取り出すデータの速度が釣り合い、データバッファ１の中の蓄積データ量が、パケット化に起因する変動を除けば一定値になるはずである。蓄積データ量と蓄積データ量の目標値との差を計算し、「蓄積データ量と目標値との差分」を周波数制御部２に入力する。周波数制御部２は入力された値に基づいて発振器３への制御値を作成する。発振器３がクロック信号を生成する。
【００２８】
図３の周波数制御部２の機能ブロック図を図４に示す。移動平均計算部６が、現在の「蓄積データ量と目標値との差分」の移動平均を計算し、制御補正値計算部７が、現在の「蓄積データ量と目標値との差分」と移動平均を計算する区間だけ過去の「蓄積データ量と目標値との差分」の差を計算する。上記移動平均に係数αをかけたものと上記差に係数βをかけた補正値の和を、直前の制御値に加算して新たな制御値としている。移動平均の計算方法は、例えば、Ｔ個のメモリを用意しておき、入力されるデータをそれらのメモリに順に格納して保持しておいて、それらの和の平均を計算する、という方法が考えられる。もちろん、他にも計算方法はある。制御補正値の計算方法は、Ｔ個のメモリを用意しておき、入力されるデータをそれらのメモリに順に格納して保持しておいて、新しく入力されるデータと最も古いデータの差を計算して出力し、新しく入力されたそのデータを最も古いデータが格納されていたメモリに代わりに格納する、という方法が考えられる。もちろん、他にも計算方法はある。
【００２９】
以上は、蓄積データ量に基づく再生クロック周波数制御の方法であるが、パケットの受信タイミングに基づいて再生クロック周波数を制御する方法もある。パケット受信タイミングに基づく再生クロック周波数制御の機能ブロック図を図５に示す。図５では、再生クロックに基づいてパケットを受信するタイミングを予測するためのパケット受信予測信号生成部５がある。データ送信装置は一定速度でデータを送信し、パケット当たりのデータ量は固定値としているので、パケットは一定間隔で送信される。パケット受信予測信号は、受信装置の再生クロックの周波数が送信装置のクロックと一致している場合に、パケット送信のタイミングと一致するように生成される。パケット受信予測信号が実際のパケット受信信号より遅い場合、データ受信装置の再生クロックの周波数が送信装置のクロックより小さいことを意味するので、再生クロックの周波数を大きくするように制御を行う。早い場合はその逆の制御を行う。図５のパケット受信タイミング差分計測部４は、パケット受信信号とパケット受信予測信号のタイミングが、どちらがどれだけ早いかまたは遅いかを測定する。測定した結果に基づいて、周波数制御部２が再生クロック周波数の制御値を計算して発振器３へ出力する。
【００３０】
図５の周波数制御部２の機能ブロック構成を図６に示す。図４とほぼ同じである。
【００３１】
周波数制御部２の動作を逐次処理する場合のアルゴリズムの例を図７に示す。
【００３２】
図７のＳ１はメモリｉｎｄｅｘ、メモリｘ（ｘは１からＭまで）、制御値の初期設定であり、最初に１回だけ実施される。Ｓ２でパケット受信タイミング差分計測部４からパケット受信タイミング差分が入力され、メモリｉｎｄｅｘで示されたメモリｘの符号と違うかどうかの判定を行う。なお、最初のメモリｉｎｄｅｘ、メモリｘ、制御値は、Ｓ１で設定された値である。その後のメモリｉｎｄｅｘ、メモリｘ、制御値に関して、メモリｉｎｄｅｘはＳ８、Ｓ９で設定された値になり、メモリｘはＳ６で設定された値になり、制御値はＳ１０で設定された値になる。Ｓ２がＮＯであった場合、パケット受信タイミング差分の絶対値がメモリｉｎｄｅｘで示されたメモリｘの絶対値より大きいかどうかの判定を行う。Ｓ２またはＳ３がＹＥＳの場合Ｓ４に進み、一時変数１の値として、（パケット受信タイミング差分−メモリｉｎｄｅｘが示すメモリｘ）×βが設定される。一方、Ｓ３がＮＯであった場合、一時変数１の値として、０が設定される。
【００３３】
その後、Ｓ６に進み、メモリｉｎｄｅｘが示すメモリｘに、入力されたパケット受信タイミング差分が設定され、一時変数２にメモリｘの和÷Ｍ×αが設定される。ここでメモリｘの和とは、ｘ＝１からｘ＝Ｍまでの総和を意味する。Ｓ７でメモリｉｎｄｅｘがＭに等しいかどうかの判定がされ、ＮＯの場合、Ｓ８でメモリｉｎｄｅｘがインクリメントされ、ＹＥＳの場合、メモリｉｎｄｅｘが１に設定される。最後にＳ１０で新たな制御値が、以前の制御値に一時変数１および一時変数２を加算することにより求められる。この新たな制御値が周波数制御部２の出力となる。
【００３４】
次に、本発明の効果を、実際の装置で検証したので、その結果を示す。パケット送信速度を８０００パケット／秒、再生クロック制御周期を３２７６８パケット受信ごと、移動平均を計算するときの対象データの個数を１６、αのβに対する比を０．２５とした。周波数偏差を約２４時間計測し、そのアラン分散を計算した結果を図８のグラフに示す。グラフから、本発明を適用した方がアラン分散が全般的に小さく、周波数が安定することを意味し、本発明は従来手法よりも効果があることが分かる。
【００３５】
また、以上述べた実施形態は全て本発明を例示的に示すものであって限定的に示すものではなく、本発明は他の種々の変形態様及び変更態様で実施することができる。従って本発明の範囲は特許請求の範囲及びその均等範囲によってのみ規定されるものである。
【図面の簡単な説明】
【００３６】
【図１】通信システムの構成例を示す。
【図２】周波数偏差と発振周波数の制御の方向性の例を示す。
【図３】再生クロック周波数制御の機能ブロック図を示す。
【図４】図３の周波数制御部の機能ブロック図を示す。
【図５】パケット受信タイミングに基づく再生クロック周波数制御の機能ブロック図を示す。
【図６】図５の周波数制御部の機能ブロック図を示す。
【図７】周波数制御部のアルゴリズムの例を示す。
【図８】周波数偏差のアラン分散を示す。
【符号の説明】
【００３７】
１  データバッファ
２  周波数制御部
３  発振器
４  パケット受信タイミング差分計測部
５  パケット受信予測信号生成部
６  移動平均計算部
７  制御補正値計算部
【図１】
2009200787.tif 000005
【図２】
2009200787.tif 000006
【図３】
2009200787.tif 000007
【図４】
2009200787.tif 000008
【図５】
2009200787.tif 000009
【図６】
2009200787.tif 000010
【図７】
2009200787.tif 000011
【図８】
2009200787.tif 000012