(57)【要約】【課題】  入力データの引き渡し用のＦＩＦＯから読み出されたデータと、ＦＩＦＯに書き込まれたデータとの位相差を速やかに目標位相差に収束させると共に、収束状態を維持し得る非同期信号入力装置、及び同装置を使用したサンプリング周波数変換装置を提供する。【解決手段】  フェーズロック判定回路５１は、アップダウンカウンタ５０から供給されるＦＩＦＯ１０内のデータ蓄積量ΔＳを監視している。このΔＳの値が、一定時間以上目標範囲にある場合には、フェーズロック判定回路５１は、ＰＬＬ８０がフェーズロックしていると判定し、ＰＬＬ８０のループゲインを下げ、可変周波数発振部７０から出力される読み出しクロックＣＫＲの周波数変動を抑制するような変換テーブルの使用をループフィルタ部６０の変換部６１に指示する。一方、ΔＳが目標値から外れたと判定された場合には、ＰＬＬ８０を速やかにフェーズロックさせるための変換テーブルが選択される。【選択図】        図１
2005159407.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段と、
第１の周波数の入力クロックに従い、入力データを前記記憶手段に書き込む書き込み制御手段と、
前記記憶手段に格納された読み出し未了の入力データの残存量を計測するデータ量計測手段と、
変換特性の異なった第１および第２の変換手段を有し、これらの変換手段のいずれかを使用することにより、前記残存量と目標値との間の誤差を修正量に変換し、該修正量に基づいて周波数制御情報を生成するループフィルタ部と、
前記残存量が前記目標値に収束したか否かを判定し、該判定結果に基づいて、前記第１または第２の変換手段の一方の使用を前記ループフィルタ部に指示する判定手段と、
第２の周波数の出力クロックに同期した読み出し信号を、前記周波数制御情報に応じた時間密度で生成する読み出し信号生成手段と、
前記読み出し信号生成手段によって生成された読み出し信号により前記記憶手段から入力データを読み出す読み出し制御手段と
を具備することを特徴とする非同期信号入力装置。
【請求項２】
前記第１および第２の変換手段は、
前記誤差と前記修正量との関係が非線形となるような変換特性を有する
ことを特徴とする請求項１記載の非同期信号入力装置。
【請求項３】
請求項１又は２記載の非同期信号入力装置と、
前記出力クロックが発生する毎に補間情報を生成する手段であり、該補間情報を、前記ループフィルタ部から生成される周波数制御情報に基づいて制御する補間情報生成手段と、
前記出力クロックの発生タイミングに対応したデータを、前記読み出し制御手段によって読み出されたデータと前記補間情報生成手段によって生成された補間情報を用いた補間演算により求める補間手段と
を具備することを特徴とするサンプリング周波数変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、機器間で非同期信号を確実に受け渡すために使用される非同期信号入力装置、及び同装置を使用したサンプリング周波数変換装置に関する。
【背景技術】
【０００２】
ディジタルオーディオ機器等では、３２ｋＨｚ、４４．１ｋＨｚ、４８ｋＨｚ等、様々なサンプリング周波数が使用されている。サンプリング周波数が異なる機器同士をつなぐ場合に、送出側の機器から送出される元信号波形のデータ列を、そのまま受取側機器で読み出すと、出力される信号波形は時間方向に歪んだものとなり、元信号波形は正しく再現されない。そこで、受取側機器では、サンプリング周波数変換装置が使用される。このサンプリング周波数変換装置は、第１のサンプリング周波数の入力データ列を受け取り、この入力データ列に基づき、これと同一の信号波形を描く第２のサンプリング周波数の出力データ列を生成する装置である。
【０００３】
この種のサンプリング周波数変換装置としては、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）を使用したものが本出願人によって提案されている（特許文献１参照）。尚、本明細書中では、特許文献１記載の技術を「従来のサンプリング周波数変換装置」と称することとする。
【０００４】
【特許文献１】特開平１１−５５０７５号公報
【０００５】
従来のサンプリング周波数変換装置において、処理対象である入力データ列は、第１のサンプリング周波数と同一周波数の入力クロックにより、順次、ＦＩＦＯに書き込まれる。一方、サンプリング周波数変換装置では、第２のサンプリング周波数と同一周波数の出力クロックが生成され、この出力クロックに同期して、第２のサンプリング周波数の出力データ列が生成される。ここで、出力データ列は、入力データ列と同一の信号波形を描くものであるが、各々のサンプリング周波数が異なっているため、出力データ列および入力データ列の各々が時間軸上において占める位置（以下、サンプリング点という）は一般的に異なったものとなる。そこで、出力データ列を構成する個々の出力データを求めるために、その出力データのサンプリング点の前後にある所定個数の入力データ（以下、補間用入力データ列という）を用いた補間処理が出力クロックに同期して行われる。この補間処理では、発生すべき出力データのサンプリング点の時間軸上での位置を示す位相情報を求める処理と、この位相情報に対応付けて用意された補間用係数列を補間用入力データ列に畳み込む処理が行われる。位相情報は、出力クロックが発生する度に、ある適正な値の周波数制御情報を累算することにより生成される。この周波数制御情報の累算が繰り返されることにより、その累算結果たる位相情報は順次増加し、位相情報によって示されるサンプリング点が時間軸上を移動する。そして、位相情報によって示されるサンプリング点が、補間用入力データ列における最も新しい入力データのサンプリング点を越すと、出力クロックに同期したタイミングで読み出しクロックが発生され、これにより、ＦＩＦＯに保存されていた入力データ列のうち最も古いものが読み出される。この読み出された入力データは、補間用入力データ列に追加され、補間用入力データ列中の最も古い入力データは廃棄される。このような処理により、入力データ列と同一信号波形を描く出力データ列が得られる。
【０００６】
ここで、入力データ列のＦＩＦＯへの書き込みに用いられる入力クロックの周波数が第１のサンプリング周波数に正確に一致しており、かつ、補間処理のタイミング制御に用いられる出力クロックの周波数が第２のサンプリング周波数に正確に一致している場合には、周波数制御情報として、第１のサンプリング周波数と第２のサンプリング周波数との比に相当する固定値を用いればよい。しかし、入力クロックの周波数精度および出力クロックの周波数精度を如何に厳しくしても、各々を第１および第２のサンプリング周波数に正確に一致させるのには限界がある。このため、例えば入力クロックの周波数が第１のサンプリング周波数よりも高い、あるいは出力クロックの周波数が第２のサンプリング周波数よりも低い、といったことが起こると、ＦＩＦＯ内の残存データ量（読み出し未了の入力データの個数）が時間経過に伴って増大し、やがてＦＩＦＯがオーバーフローしてしまう。逆に、入力クロックの周波数が第１のサンプリング周波数よりも低い、あるいは出力クロックの周波数が第２のサンプリング周波数よりも高い、といったことが起こると、ＦＩＦＯ内の残存データ量が時間経過に伴って減少し、やがてＦＩＦＯがアンダーフローしてしまう。
【０００７】
このような問題を解決するため、従来のサンプリング周波数変換装置には、ＦＩＦＯ内の残存データ量に応じて周波数制御情報を増減することにより、ＦＩＦＯのオーバーフローおよびアンダーフローを防止する非同期信号入力装置が設けられている。
さらに詳述すると、この非同期信号入力装置では、ＦＩＦＯの残存データ量、すなわち、ＦＩＦＯに最後に書き込まれた入力データとＦＩＦＯから最後に読み出された入力データとの位相差を目標位相差と比較し、両者間の位相誤差に応じた修正量を求め、この修正量を時間軸上において均して周波数制御情報を生成している。この構成によれば、ＦＩＦＯの残存データ量が増え、正の位相誤差が発生すると、周波数制御情報が増加する。この結果、位相情報の時間勾配が増加し、ＦＩＦＯから入力データを読み出す頻度が増加し、ＦＩＦＯの残存データ量が低下する。一方、ＦＩＦＯの残存データ量が減少し、負の位相誤差が発生すると、周波数制御情報が減少する。この結果、位相情報の時間勾配が低下し、ＦＩＦＯから入力データを読み出す頻度が減少し、ＦＩＦＯの残存データ量が増加する。このように、非同期信号入力装置では、ＦＩＦＯに書き込まれる入力データとＦＩＦＯから読み出される入力データとの位相差の時間平均値を適正な値に収束させる、いわばＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）としての動作が行われ、ＦＩＦＯのオーバーフローおよびアンダーフローが防止される。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、上述した従来の非同期信号入力装置は、予め用意された変換テーブルに従い、ＦＩＦＯの残存データ量と目標値との差に応じた修正量を求めていた。ここで、ＦＩＦＯの残存データ量と目標値との差に対して、修正量が小さく設定されていれば、ＰＬＬのフェーズロックが外れた場合に再びフェーズロック状態となるまでの時間が長くなる。その一方、ＦＩＦＯの残存データ量と目標値との差に対して修正量が大きく設定されていると、フェーズロック状態への移行は迅速に行われるが、フェーズロック状態における読み出しクロックの周波数の変動も大きくなって、逆に動作が不安定になる。このように従来の非同期信号入力装置は、フェーズロック状態への移行を迅速に行わせることと、フェーズロック状態における動作の安定化を図ることを両立させることが難しいという問題を有していた。
本発明は上述した事情に鑑みてなされたものであり、ＦＩＦＯから読み出されたデータと、ＦＩＦＯに書き込まれたデータとの位相差を速やかに目標位相差に収束させると共に、この収束した状態を安定に維持し得る非同期信号入力装置、及び同装置を使用したサンプリング周波数変換装置を提供することを目的としている。
【課題を解決するための手段】
【０００９】
上述した課題を解決するため、本発明に係る非同期信号入力装置は、記憶手段と、第１の周波数の入力クロックに従い、入力データを前記記憶手段に書き込む書き込み制御手段と、前記記憶手段に格納された読み出し未了の入力データの残存量を計測するデータ量計測手段と、変換特性の異なった第１および第２の変換手段を有し、これらの変換手段のいずれかを使用することにより、前記残存量と目標値との間の誤差を修正量に変換し、該修正量に基づいて周波数制御情報を生成するループフィルタ部と、前記残存量が前記目標値に収束したか否かを判定し、該判定結果に基づいて、前記第１または第２の変換手段の一方の使用を前記ループフィルタ部に指示する判定手段と、第２の周波数の出力クロックに同期した読み出し信号を、前記周波数制御情報に応じた時間密度で生成する読み出し信号生成手段と、前記読み出し信号生成手段によって生成された読み出し信号により前記記憶手段から入力データを読み出す読み出し制御手段とを具備することを特徴としている。
かかる非同期信号入力装置によれば、前記判定手段による判定結果に基づいて、複数の変換特性のうち、前記記憶手段の現在のデータ量に適した変換特性が、変換特性選択手段によって与えられる。従って、記憶手段のデータ量が目標値から大きく外れている場合には、速やかにこのデータ量を目標値又は目標値を含む所定の範囲に収束させるとともに、データ量が一旦収束した場合には、その収束状態を維持させることが可能となって、極めて安定したデータの受渡しが提供される。
【００１０】
また、好ましい態様において、前記第１および第２の変換手段は、前記誤差と前記修正量との関係が非線形となるような変換特性を有する。
【００１１】
また、本発明に係るサンプリング周波数変換装置は、上述の非同期信号入力装置と、前記出力クロックが発生する毎に補間情報を生成する手段であり、該補間情報を、前記ループフィルタ部から生成される周波数制御情報に基づいて制御する補間情報生成手段と、前記出力クロックの発生タイミングに対応したデータを、前記読み出し制御手段によって読み出されたデータと前記補間情報生成手段によって生成された補間情報を用いた補間演算により求める補間手段とを具備することを特徴としている。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して、本発明の最良な実施の形態であるサンプリング周波数変換装置について説明する。
【００１３】
＜本実施形態の構成＞  
図１は、本実施形態に係るサンプリング周波数変換装置の構成を示すブロック図である。
このサンプリング周波数変換装置は、第１のサンプリング周波数ｆ１（ここでは４４．１ｋＨｚ）の入力データＤｉｎの列を受け取り、この入力データＤｉｎの列に基づき、これと同一の信号波形を描く第２のサンプリング周波数ｆ２（ここでは４８ｋＨｚ）の出力データＤｏｕｔの列を生成する装置である。このサンプリング周波数変換装置では、出力データ列を生成し、出力するための処理のタイミング制御を行うため、第２のサンプリング周波数ｆ２と同一周波数の出力クロックＣＫｏｕｔが、図示しないクロック発生回路により生成される。
【００１４】
サンプリング周波数変換装置は、大別すると、非同期信号入力装置１００と、補間部２０とにより構成されている。ここで、非同期信号入力装置１００は、３つの機能を有している。第１の機能は、第１のサンプリング周波数ｆ１の入力データ列を受け取って保存し、補間部２０が新たな入力データを必要とするとき、これを出力クロックＣＫｏｕｔに同期したタイミングで補間部２０に供給する機能である。第２の機能は、出力クロックＣＫｏｕｔが発生する毎に、補間部２０において生成すべき出力データのサンプリング点の位相を表す補間比Δｔを更新し、この補間部２０に供給する機能である。第３の機能は、補間比Δｔの増分である周波数制御情報を制御する機能である。補間部２０は、非同期信号入力装置１００を介して供給される入力データを、過去一定個数だけ、補間用入力データ列として記憶し、出力クロックＣＫｏｕｔの発生タイミングにおいて、その時点における補間比Δｔによって定まる補間用計数列を補間用入力データ列に畳み込み、出力データを生成する手段である。
【００１５】
次に、非同期信号入力装置１００の構成について説明する。
ＦＩＦＯ１０は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などにより構成される先入れ先出し形式のバッファであり、最大４個のデータを記憶することができる。ＦＩＦＯ１０は、外部の送出側機器から供給される入力データＤｉｎを、一時的に保存し、古いものから順に補間部２０に引き渡す。
書き込み制御部３０は、入力データＤｉｎのサンプリング周波数ｆ１と同一周波数の入力クロックＣｋｉｎに従って、書き込みアドレス及び書き込みイネーブル信号ＷＥを生成し、ＦＩＦＯ１０に供給する。ＦＩＦＯ１０に供給される入力データＤｉｎは、書き込みイネーブル信号ＷＥにより、ＦＩＦＯ１０内の書き込みアドレスによって指定されるエリアに書き込まれる。
読み出し制御部４０は、出力補間部２０への入力データの供給を指令する読み出しクロックＣＫＲがクロックＣＫｏｕｔに同期して発生されると、読み出しアドレス及び読み出しイネーブル信号ＲＥを生成し、ＦＩＦＯ１０へ供給する。ここで、読み出しアドレスは、ＦＩＦＯ１０内に残存している読み出し未了の入力データのうち最も古いものを指定するように制御される。この読み出しアドレスにより指定された入力データは、読み出しイネーブル信号ＲＥによりＦＩＦＯ１０から読み出され、補間部２０に供給される。なお、読み出しクロックＣＫＲを生成する回路については後述する。
【００１６】
アップダウンカウンタ５０は、入力クロックＣｋｉｎが発生する毎に「１」だけアップカウントを行い、上記読み出しクロックＣＫＲが発生する度に「１」だけダウンカウントを行う。このアップダウンカウンタ５０のカウント値ΔＳは、現時点においてＦＩＦＯ１０に残存する読み出し未了の入力データの個数、すなわち、残存データ量を表す。上述した様に、本実施形態において、ＦＩＦＯ１０は最大４個のデータを記憶することができるから、ΔＳの値は「０」〜「４」までのいずれかの値をとる。
【００１７】
アップダウンカウンタ５０のカウント値であるΔＳは、ＦＩＦＯ１０の残存データ量を示すと同時に、入力クロックＣｋｉｎによって最後に書き込まれたデータＤｉｎと、読み出しクロックによって最後に読み出されたデータＤｉｎとの位相差を示すと言える。アップダウンカウンタ５０と、ループフィルタ部６０と、可変周波数発振部７０は、この位相差を所定の目標位相差に収束させるＰＬＬ８０を構成している。以下、このＰＬＬ８０の構成を説明する。
【００１８】
ループフィルタ部６０は、変換部６１、第１全加算器６２、第１ラッチ回路６３、及びセレクタ６４から構成されている。
変換部６１は、アップダウンカウンタ５０のカウント値ΔＳに対し、後述するフェーズロック判定回路５１によって指示された変換テーブルを使用して非線形変換を行い、修正量Ｇａｉｎ・ΔＳを出力する回路である。変換テーブルでは、ΔＳの値に応じて、予め修正量Ｇａｉｎ・ΔＳが定められており、変換部６１からは、ΔＳの値に応じた修正量Ｇａｉｎ・ΔＳが第１全加算器６２に供給される。
【００１９】
図２は、本実施形態における変換テーブルである。同図に示すように、変換テーブルには第１変換テーブル、及び第２変換テーブルがあり、各々において、アップダウンカウンタ５０のカウント値ΔＳに応じて異なる修正量Ｇａｉｎ・ΔＳが定められている。第１変換テーブルは、第２変換テーブルよりも修正量が小さくなっているが、何れの変換テーブルにおいても、ΔＳの値が「０」又は「１」である場合には負の修正量が、「２」である場合にはゼロが、「３」又は「４」の場合には正の修正量が与えられるようになっている。
【００２０】
第１全加算器６２は１５ビット構成の全加算器である。第１全加算器６２は、修正量Ｇａｉｎ・ΔＳとセレクタ６４から供給される値ｙ（ｎ）とを加算し、下記（１）式に示す演算を行う。第１全加算器６２の出力である下記ｙ（ｎ＋１）は、第１ラッチ回路６３によって、出力クロックＣＫｏｕｔに同期したタイミングでラッチされ、ループフィルタ部６０の出力である周波数制御情報として、可変周波数発振部７０に供給される。
ｙ（ｎ＋１）＝ｙ（ｎ）＋Ｇａｉｎ・ΔＳ  ・・・・・（１）
【００２１】
ここで、周波数制御情報である上記ｙ（ｎ＋１）は、上記（１）式におけるｙ（ｎ）として、セレクタ６４へ再びフィードバックされる。従って、ループフィルタ部６０では、出力クロックＣＫｏｕｔ毎に、ＦＩＦＯ１０の残存データ量に基づいて周波数制御情報が更新される。
尚、セレクタ６４には初期値ｙ（０）として「４０９６×４４．１／４８」なる値が格納されており、装置の動作開始時にはこのｙ（０）が第１全加算器６２に与えられ、以降（１）式に示す演算が行われるようになっている。
【００２２】
可変周波数発振部７０は、１２ビット構成の第２全加算器７１及び第２ラッチ回路７２で構成されている。第２ラッチ回路７２は、出力クロックＣＫｏｕｔに同期して第２全加算器７１の出力データをラッチし、再び第２全加算器７１にフィードバックする。即ち、第２全加算器７１は、ループフィルタ部６０の出力データとして供給される周波数制御情報ｙ（ｎ）を出力クロックＣＫｏｕｔ毎に累算する。第２ラッチ回路７２の出力は、第２全加算器７１にフィードバックされる一方、補間比Δｔとして補間部２０に供給される。
【００２３】
第２全加算器７１は１２ビット構成であるから、累算値が２１２、即ち「４０９６」となる毎に、この第２全加算器７１からはキャリーアウトが発生する。このキャリーアウトの発生する時間密度は、ループフィルタ部６０から出力される周波数制御情報ｙ（ｎ）の値に依存する。このキャリーアウトは、可変周波数発振部７０の出力である読み出しクロックＣＫＲとして、読み出し制御部４０、及びアップダウンカウンタ５０に供給される。
【００２４】
フェーズロック判定回路５１は、アップダウンカウンタ５０、及び変換部６１に接続されており、アップダウンカウンタ５０から位相差信号であるΔＳを受け取って、ΔＳが収束しているか否かを判定し、変換部６１に対して変換テーブル選択信号を供給する回路である。本実施形態において、変換テーブルは、既に図２に示した様に２種類用意されており、変換部６１は、供給された変換テーブル選択信号に基づいて、何れかの変換テーブルを選択し、選択された変換テーブルに従って、上述した非線形変換を行い、現時点での位相差に基づく修正量Ｇａｉｎ・ΔＳをＰＬＬ８０のループフィルタ部６０に供給する。第１変換テーブルは、第１変換テーブル選択信号に、また、第２変換テーブルは、第２変換テーブル選択信号にそれぞれ従って、変換部６１によって選択される。
【００２５】
フェーズロック判定回路５１は、制御部とクロックカウンタ（いずれも図示略）を有している。制御部は、アップダウンカウンタ５０から入力されるΔＳを、クロックＣＫｏｕｔと同期したタイミングで内部メモリに取り込み、その値を記憶する。記憶した値が「０」又は「４」である場合、制御部は、ＰＬＬ８０のフェーズロックが外れた状態であると判定し、第２変換テーブル選択信号を変換部６１に出力する。
ΔＳの値が、一定時間（１ｍｓｅｃ）以上「１」〜「２」又は「２」〜「３」の範囲にある場合、フェーズロック判定回路５１はＰＬＬ８０がフェーズロック状態にあると判断し、第１変換テーブル選択信号を変換部６１に供給する。この経過時間は、クロックカウンタがクロックＣＫｏｕｔの発生回数をカウントすることによって得られる。また、これ以外の場合、例えば、ΔＳの値が、「１」〜「３」の間で切り替っている場合は、現在選択されている変換テーブルが維持される。
尚、上記一定時間は、ここでは１ｍｓｅｃに設定されているが、これに限定されるものではなく、状況に応じて自由に設定可能である。例えば、本実施形態においては、数ｍｓｅｃ〜数ｓｅｃの範囲で設定されているのが好適である。
【００２６】
＜本実施形態の動作＞
図３は、本実施形態に係る非同期信号入力装置の動作を示すタイミングチャートである。信号波形のサンプルである入力データＤｉｎは、既に述べたように、サンプリング周波数ｆ１（４４．１ｋＨｚ）と同一周波数の入力クロックＣｋｉｎに同期し、ＦＩＦＯ１０に供給される。ここで、ＦＩＦＯ１０は、４個のアドレス「Ａ１」〜「Ａ４」に対応した各エリアを持っている。書き込み制御部３０は、入力クロックＣｋｉｎが発生する毎に、書き込みイネーブル信号ＷＥをＦＩＦＯ１０に供給するとともに、その際にＦＩＦＯ１０に与える書き込みアドレスを順次「Ａ１」、「Ａ２」、「Ａ３」、「Ａ４」、「Ａ１」、〜という具合に巡回的に変化させる。このようにして、ＦＩＦＯ１０内のアドレス「Ａ１」〜「Ａ４」に対応した各エリアが巡回的に書き込み先として指定され、入力データＤｉｎが順次書き込まれる。以下、ＦＩＦＯ１０におけるアドレス「Ａｘ」（ｘ＝１〜４）に書き込まれた入力データＤｉｎをＤｉｎ（Ａｘ）と表記し、入力データ全体を指す場合には単に「Ｄｉｎ」、特定のＤｉｎを指定する場合には「Ｄｉｎ（Ａｘ）」と表記する。
【００２７】
読み出し制御部４０は、読み出しクロックＣＫＲが与えられる毎に、読み出しイネーブル信号ＲＥおよび読み出しアドレスをＦＩＦＯ１０に供給する。その際、読み出し制御部４０は、読み出しイネーブル信号とともに供給する読み出しアドレスを「Ａ１」、「Ａ２」、「Ａ３」、「Ａ４」、「Ａ１」、〜という具合に巡回的に変化させる。
アップダウンカウンタ５０は、入力クロックＣＫｉｎが与えられる度にアップカウントを行い、読み出しクロックＣＫＲが与えられる度にダウンカウントを行う。このアップダウンカウンタ５０のカウント値ΔＳは、ＦＩＦＯ１０内の残存データ量を表すとともに、ＦＩＦＯ１０に書き込まれるデータＤｉｎとＦＩＦＯ１０から読み出されるデータＤｉｎとの位相差を表している。
【００２８】
ここで、ＦＩＦＯ１０内の残存データ量が大きく、カウント値ΔＳが示す位相差が目標位相差（図２に示す例では「２」に相当する位相差）よりも大きい時、変換部６１は、正の修正量Ｇａｉｎ・ΔＳを出力する。一方、ＦＩＦＯ１０内の残存データ量が小さく、カウント値ΔＳが示す位相差が目標位相差よりも小さい時、変換部６１は、負の修正量Ｇａｉｎ・ΔＳを出力する。第１全加算器６２、第１ラッチ回路６３およびセレクタ６４からなるループは、このようにして変換部６１から順次出力される修正量Ｇａｉｎ・ΔＳを時間軸上において均し、周波数制御情報ｙ（ｎ）として出力する。可変周波数発振部７０は、出力クロックＣＫｏｕｔが与えられる毎に、この周波数制御情報ｙ（ｎ）の累算を行う。そして、この累算の過程において全加算器７１がオーバーフローする毎に、そのとき発生するキャリーアウトＣＯを読み出しクロックＣＫＲとして出力する。この読み出しクロックＣＫＲが発生する時間密度は、周波数制御情報ｙ（ｎ）に依存し、周波数制御情報ｙ（ｎ）が大きければ読み出しクロックＣＫＲの時間密度は大きくなり、逆に周波数制御情報ｙ（ｎ）が小さければ読み出しクロックＣＫＲの時間密度は小さくなる。そして、読み出しクロックＣＫＲの時間密度が、第１のサンプリング周波数ｆ１に相当するものよりも大きくなると、アップダウンカウンタ５０のカウント値ΔＳが減少して負の修正量Ｇａｉｎ・ΔＳが発生する頻度が増し、周波数制御情報ｙ（ｎ）が減少する。この結果、読み出しクロックＣＫＲの時間密度が低下する。逆に、読み出しクロックＣＫＲの時間密度が、第１のサンプリング周波数ｆ１に相当するものよりも小さくなると、アップダウンカウンタ５０のカウント値ΔＳが増加して正の修正量Ｇａｉｎ・ΔＳが発生する頻度が増し、周波数制御情報ｙ（ｎ）が増加する。この結果、読み出しクロックＣＫＲの時間密度が上昇する。このようなＰＬＬとしての動作が行われる結果、読み出しクロックＣＫＲは、第２のサンプリング周波数ｆ２と同一周波数の出力クロックＣＫｏｕｔに同期して発生されるものの、その時間密度は、第１のサンプリング周波数ｆ１相当のものに収束する。
【００２９】
図３に示す例においては、時刻ｔ１、ｔ２、ｔ３、ｔ４、ｔ５において出力クロックＣＫｏｕｔが発生している。そして、時刻ｔ１、ｔ２、ｔ３、ｔ５では、出力クロックＣＫｏｕｔに同期して読み出しクロックＣＫＲが発生するが、時刻ｔ４では読み出しクロックＣＫＲが発生しない。このように、本実施形態では、個々の出力クロックＣＫｏｕｔを所々間引いた態様で、第１のサンプリング周波数ｆ１相当の時間密度の読み出しクロックＣＫＲが発生されるのである。このようにして発生される読み出しクロックＣＫＲにより、ＦＩＦＯ１０内の入力データＤｉｎが古いものから順に読み出され、補間部２０に供給される。補間部２０では、このようにして供給される入力データＤｉｎを用いた補間演算が、出力クロックＣＫｏｕｔが与えられる毎に実行され、第２のサンプリング周波数ｆ２のサンプリングデータである出力データＤｏｕｔが生成される。
【００３０】
図４は、本実施形態に係るサンプリング周波数変換装置の動作を示すタイミングチャートである。同図は、図３に対し、補間部２０の動作を追記したものである。以下、図４を参照して、補間部２０の動作について説明する。
既に述べた様に、可変周波数発振部７０からは、出力クロックＣＫｏｕｔに同期して補間比Δｔが生成され、補間部２０に供給される。図４には、クロックＣＫｏｕｔが発生する度に補間比Δｔが更新される様子が示されている。  
【００３１】
図５は、補間部２０によって行われる補間処理を示す図である。本実施形態において、補間部２０は、ＦＩＦＯ１０から読み出される入力データのうち最新の２個を格納するシフトレジスタを有している。補間部２０は、出力クロックＣＫｏｕｔの発生タイミングにおいて、このシフトレジスタに格納された２個の入力データＤｉｎ（ｔ）およびＤｉｎ（ｔ＋１）と、そのとき可変周波数発振部７０から供給される補間比Δｔと、入力データＤｉｎのサンプリング周期Ｔとを用いて、出力クロックＣＫｏｕｔの発生タイミングにおける第２のサンプリング周波数ｆ２の出力データＤｏｕｔを求める補間演算を行う。ここで、補間比Δｔは、出力クロックＣＫｏｕｔの発生タイミング、すなわち、補間によって求めようとする出力データのサンプリング点（図５におけＸ印）と、その直前の入力データＤｉｎ（ｔ）のサンプリング点との間の時間を示している。補間部２０は、これらに基づいて、下記（２）式に示す補間演算を実行する。
Ｄｏｕｔ＝Ｄｉｎ（ｔ）＋（Ｄｉｎ（ｔ＋１）−Ｄｉｎ（ｔ））×Δｔ／Ｔ・・・（２）
【００３２】
図４には、このような補間処理が逐次実行される様子が示されている。なお、以降の説明において、時刻ｔｘにおいて出力された補間比をΔｔｘと表現することとする。
時刻ｔ２において、補間部２０には、第２ラッチ回路７２から補間比Δｔ２が供給される。一方、補間部２０のシフトレジスタには、読み出しクロックＣＫＲに基づいて新たにＤｉｎ（Ａ３）が読み出されるため、時刻ｔ２においては、Ｄｉｎ（Ａ２）、及びＤｉｎ（Ａ３）が格納されている。補間部２０は、このＤｉｎ（Ａ２）、Ｄｉｎ（Ａ３）、及びΔｔ２によって、上記（２）式に示す補間演算を行い、時刻ｔ２における出力データＤｏｕｔ（ｔ２）を算出する。時刻ｔ３においても、時刻ｔ２と同様に、補間部２０のシフトレジスタにＤｉｎ（Ａ３）、及びＤｉｎ（Ａ４）が格納され、Ｄｏｕｔ（ｔ３）が算出される。
次に、時刻ｔ４においては、読み出しクロックＣＫＲが発生しないため、シフトレジスタの格納内容は変化しない。従って、補間部２０は、Ｄｉｎ（Ａ３）、Ｄｉｎ（Ａ４）、及び補間比Δｔ４を使用して補間演算を行い、時刻ｔ４における出力データＤｏｕｔ（ｔ４）を算出する。本実施形態に係るサンプリング周波数変換装置では、このようにして出力データＤｏｕｔが算出される。
【００３３】
さて、以上説明した動作において、ＰＬＬ８０がフェーズロック状態にあるときは、変換部６１から出力される修正量Ｇａｉｎ・ΔＳの値は小さい方が望ましい。何故ならば、大きな値の修正量Ｇａｉｎ・ΔＳが出力されると、周波数制御情報ｙ（ｎ）の時間変動が大きくなり、可変周波数発振部７０の周波数変動が大きくなって、フェーズロックが外れる恐れがあるからである。また、修正量Ｇａｉｎ・ΔＳの値が大きいと、フェーズロック状態における周波数制御情報の定常的な揺らぎの振幅が大きく、そして周期が短くなり、サンプリング周波数変換後のデータの歪みが大きくなるからである。以下、この後者の理由についてやや詳しく述べる。既に述べたように、周波数制御情報は、「４０９６×４４．１／４８」に相当する値を初期値として、ΔＳが「２」（すなわち、修正量＝０となるΔＳ）になるように補正が繰り返される。このため、周波数制御情報は、フェーズロック状態においても、ある周期と振幅を持った正弦波に近い曲線を描く。図７は、この周波数制御情報の定常的な揺らぎを例示するものであり、細線は修正量Ｇａｉｎ・ΔＳの値が小さい場合を、太線は修正量Ｇａｉｎ・ΔＳの値が大きい場合を各々例示している。また、図８はサンプリング周波数変換後のデータによって表される波形を例示するものであり、細線は修正量Ｇａｉｎ・ΔＳの値が小さい場合を、太線は修正量Ｇａｉｎ・ΔＳの値が大きい場合を各々例示している。なお、これらの図は、あくまでも例を示すものであり、図示が煩雑になるのを防ぐため、修正量Ｇａｉｎ・ΔＳの小さい場合における周波数制御情報等の曲線と修正量Ｇａｉｎ・ΔＳの大きい場合における周波数制御情報等の曲線との差を際立たせて図示している。図７に示すように、修正量Ｇａｉｎ・ΔＳが大きいほど、周波数制御情報の揺らぐ周期は短くなり、振幅は大きくなる。そして、このように周波数制御情報の揺らぐ周期は短くなり、振幅は大きくなると、図８に示すように、サンプリング周波数変換後のデータの位相誤差が大きくなり、歪みがより大きくなる。このような事態が生じるのを防ぐためにも、修正量Ｇａｉｎ・ΔＳの値は小さい方が望ましいのである。一方で、外乱の発生や、装置の立ち上がり応答に際しては、変換部６１から出力される修正量Ｇａｉｎ・ΔＳの値を大きくすることによりＰＬＬ８０のループゲインを大きくし、速やかにＰＬＬ８０をフェーズロックさせることが好ましい。このため、本実施形態においては、変換テーブルを２種類用意し、適切なタイミングでそれらを切り替えることによって、可変周波数発振部７０の周波数変動を制御している。この切り替え制御を行うのがフェーズロック判定回路５１である。
【００３４】
図６は、本実施形態において２つの変換テーブルが切り替えられる様子が示されている。なお、図６において、縦軸はアップダウンカウンタ５０の出力であるΔＳ、横軸は時間ｔ（任意単位）である。
時刻ｔＡにおいて、ΔＳの値は「４」であり、変換部６１には第２変換テーブルが選択されている。この第２変換テーブルが選択されている期間は、修正量Ｇａｉｎ・ΔＳの変動幅が大きく、ＰＬＬ８０のループゲインは大きい。従って、ＰＬＬ８０は速やかにフェーズロック状態へと進む。図６においては、時刻ｔＢにおいてΔＳは「３」、時刻ｔＣにおいてΔＳの値は目標値である「２」、すなわち、目標位相差に相当する値に到達する。
【００３５】
ΔＳの値が「２」となると、変換部６１の出力である修正量Ｇａｉｎ・ΔＳはゼロとなるから、可変周波数発振部７０を制御する周波数制御情報は徐々に一定値に収束する。ＰＬＬ８０が定常状態に入ると、可変周波数発振部７０が発生させる読み出しクロックＣＫＲの周波数は実質的に入力クロックＣｋｉｎと同じ４４．１ｋＨｚとなり、ＦＩＦＯ１０の残存データ量ΔＳは、「１」と「２」の間を往復する。この状態では、ＦＩＦＯ１０に最後に書き込まれたデータＤｉｎと、ＦＩＦＯ１０から最後に読み出されたデータＤｉｎとの位相差の長期的な時間平均が、一定値に収束する。従って、フェーズロック判定回路５１は、ＰＬＬ８０がフェーズロック状態にあると判定し、第１変換テーブル選択信号を変換部６１に供給する。図６では時刻ｔＤにおいて、同信号が供給されている。
【００３６】
変換部６１は、この第１変換テーブル選択信号に基づいて変換テーブルを第１変換テーブルに変更し、当該変換テーブルに基づく修正量Ｇａｉｎ・ΔＳを出力する。第１変換テーブルにおける修正量Ｇａｉｎ・ΔＳは、第２変換テーブルにおける修正量Ｇａｉｎ・ΔＳと比べて変動幅が小さいから、ＰＬＬ８０におけるループフィルタ部６０の周波数制御情報の変動も比較的に小さくなる。従って、可変周波数発振部７０の読み出しクロックＣＫＲも周波数の変動は小さくなり、ＰＬＬ８０は安定してフェーズロック状態を維持することができる。
【００３７】
一方、突発的な要因（外乱）によって、ＦＩＦＯ１０の残存データ量が大きく変化する場合がある。時刻ｔＥにおいては、この様な外乱によって、ΔＳが再び「４」となった状態が示されている。この場合、フェーズロック判定回路５１は、上述した過程と同様にＰＬＬ８０によるフェーズロックが外れたと判定し、第２変換テーブル選択信号を変換部６１に供給する。再び時刻ｔＦでΔＳが目標値（目標位相差）に達し、時刻ｔＧにおいて、フェーズロック判定回路５１によりＰＬＬ８０がフェーズロックしたと判定されると、第１変換テーブル選択信号が変換部６１に供給される。このように、本実施形態における非同期信号入力装置１００は、フェーズロック判定回路５１によって、修正量Ｇａｉｎ・ΔＳを与える変換テーブルが適切に選択されるようになっている。従って、ＰＬＬ８０を速やかにフェーズロックさせることができる上、そのフェーズロック状態を維持することが可能となるのである。
【００３８】
尚、変換テーブルの個数は本実施形態の態様に限定されない。変換テーブルを３種類以上用意することによって、本実施形態よりも更に詳細にＦＩＦＯのデータ量を制御しても良い。また、変換テーブルの内容も、線形、非線形を問わず、ループフィルタ部６０のゲインを調整できれば如何なる態様であっても良い。
【００３９】
また、本実施形態において、補間部２０は、２点間の直線補間によって補間処理を行っているが、高次補間、スプライン補間等、補間の態様は限定されない。これらの補間であっても良い。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施形態に係るサンプリング周波数変換装置のブロック図である。
【図２】同装置における変換テーブルを示す図である。
【図３】同装置における非同期信号入力装置の動作を示すタイミングチャートである。
【図４】本発明の実施形態に係るサンプリング周波数変換装置の動作を示すタイミングチャートである。
【図５】同装置における補間部２０の補間処理を示す図である。
【図６】同装置におけるフェーズロック判定回路５１の動作を説明する図である。
【図７】同装置における周波数制御情報の定常的な揺らぎを例示する図である。
【図８】同装置におけるサンプリング周波数変換後のデータによって表される波形を例示する図である。
【符号の説明】
【００４１】
１０…ＦＩＦＯ、２０…補間部、３０…書き込み制御部、４０…読み出し制御部、５０・・・カウンタ、５１…フェーズロック判定回路、６０…ループフィルタ部、６１…変換部、６２…第１全加算器、６３…第１ラッチ回路、６４…セレクタ、７０…可変周波数発振部（電圧制御発振器）、７１…第２全加算器、７２…第２ラッチ回路、８０…ＰＬＬ（位相同期ループ）。  
【図１】
2005159407.tif 000003
【図２】
2005159407.tif 000004
【図３】
2005159407.tif 000005
【図４】
2005159407.tif 000006
【図５】
2005159407.tif 000007
【図６】
2005159407.tif 000008
【図７】
2005159407.tif 000009
【図８】
2005159407.tif 000010