(57)【要約】  様々の実施態様は、入力レートでのサンプル列のサンプルレートを出力レートへ変換する。サンプル列のバージョンが、ディジタルループで生成されたタイミングエラー情報を用いて訂正される。ディジタルループは第１レートにロックされ、第２レートでクロックされる。【選択図】        図
2009504107.tif 000002
【特許請求の範囲】
【請求項１】
或る入力レートで連続するサンプル列のサンプルレートを、前記入力レートの整数倍とは異なる出力レートに変換するサンプルレート変換処理を実行する方法であって、
前記入力レートの倍数の第１レートでロックされ、前記出力レートの倍数であり前記第１レートの整数倍とは異なる第２レートでクロックされるディジタルループで生成されるタイミングエラー情報を用いて、前記サンプル列のバージョンを訂正する処理を含むサンプルレート変換処理方法。
【請求項２】
前記第１レートが前記入力レートの倍数であり、前記サンプル列の前記バージョンが、前記入力レートの前記サンプル列と同じとなるように、前記入力レートの倍数は１倍であることを特徴とする請求項１に記載のサンプルレート変換処理方法。
【請求項３】
前記第１レートが前記入力レートの倍数であり、前記サンプル列の前記バージョンが、前記入力レートの前記サンプル列のオーバーサンプルされたバージョンとなるように、前記入力レートの倍数が１より大きい整数倍であることを特徴とする請求項１に記載のサンプルレート変換処理方法。
【請求項４】
前記第２レートが前記出力レートの倍数であり、前記第２レートが前記出力レートと等しくなるように、前記出力レートの倍数が１倍であることを特徴とする請求項１に記載のサンプルレート変換処理方法。
【請求項５】
前記第２レートが前記出力レートの倍数であり、前記出力レートの倍数が１より大きい整数倍であることを特徴とする請求項１に記載のサンプルレート変換処理方法。
【請求項６】
前記入力レートの整数倍ではなく前記第２レートでクロックすることに起因するタイミングエラーを含む前記サンプル列の前記バージョンを前記第２レートでクロックすることにより生成する処理を含むことを特徴とする請求項１に記載のサンプルレート変換処理方法。
【請求項７】
前記タイミングエラー情報を用いて、前記サンプル列の前記バージョンの振幅を訂正する処理を、更に含むことを特徴とする請求項１に記載のサンプルレート変換処理方法。
【請求項８】
演算回路を用いて、前記ディジタルループをロックする前記第１レートに調節されたオーバーフローレートで、複数のモジュールのオーバーフローを生成する処理を含み、
前記複数のモジュールのオーバーフローの夫々が、前記演算回路による前記第１レートと前記第２レートの間のタイミングエラー情報の生成を指示していることを特徴とする請求項１に記載のサンプルレート変換処理方法。
【請求項９】
前記入力レートで連続する前記サンプル列が、Ｓ／ＰＤＩＦ（ソニー／フィリップスディジタルインターフェースフォーマット）信号から入力されることを特徴とする請求項１に記載のサンプルレート変換処理方法。
【請求項１０】
前記サンプルレート変換処理は、ダイナミックレンジが主として入力量子化雑音によって制限されることを特徴とする請求項１に記載のサンプルレート変換処理方法。
【請求項１１】
前記サンプルレート変換処理は、ダイナミックレンジが主として入力量子化雑音、オーバーサンプリング有限インパルス応答フィルタのイメージ除去、及び、ダウンサンプリング有限インパルス応答フィルタのイメージ除去によって制限されることを特徴とする請求項１に記載のサンプルレート変換処理方法。
【請求項１２】
前記サンプルレート変換処理は、最大ダウンサンプリング比が主として出力レートによって制限されることを特徴とする請求項１に記載のサンプルレート変換処理方法。
【請求項１３】
前記サンプルレート変換処理が、最大オーバーサンプリング比が主として前記回路の論理合成を特徴付けるレート制限によって制限されることを特徴とする請求項１に記載のサンプルレート変換処理方法。
【請求項１４】
或る入力レートで連続するサンプル列のレートを、前記入力レートの整数倍とは異なる出力レートに変換するサンプルレート変換処理回路であって、
前記入力レートの倍数の第１レートでロックされ、前記出力レートの倍数であり前記第１レートの整数倍とは異なる第２レートでクロックされるディジタルループであって、周波数検出及び低域通過フィルタ回路と、前記周波数検出及び低域通過フィルタ回路を用いて前記ディジタルループを形成する可変発振回路を含み、タイミングエラー情報を生成するディジタルループと、
前記タイミングエラー情報を用いて、前記サンプル列のバージョンを訂正する回路と、
を備えるサンプルレート変換処理回路。
【請求項１５】
前記第１レートが前記入力レートの倍数であり、前記サンプル列の前記バージョンが、前記入力レートの前記サンプル列と同じとなるように、前記入力レートの倍数は１倍であることを特徴とする請求項１４に記載のサンプルレート変換処理回路。
【請求項１６】
前記第１レートが前記入力レートの倍数であり、前記サンプル列の前記バージョンが、前記入力レートの前記サンプル列のオーバーサンプルされたバージョンとなるように、前記入力レートの倍数が１より大きい整数倍であることを特徴とする請求項１４に記載のサンプルレート変換処理回路。
【請求項１７】
前記第２レートが前記出力レートの倍数であり、前記第２レートが前記出力レートと等しくなるように、前記出力レートの倍数が１倍であることを特徴とする請求項１４に記載のサンプルレート変換処理回路。
【請求項１８】
前記第２レートが前記出力レートの倍数であり、前記出力レートの倍数が１より大きい整数倍であることを特徴とする請求項１４に記載のサンプルレート変換処理回路。
【請求項１９】
前記入力レートの整数倍ではなく前記第２レートでクロックすることに起因するタイミングエラーを含む前記サンプル列のオーバーサンプルされた前記バージョンを、前記第２レートでクロックすることにより生成する回路を、更に備えることを特徴とする請求項１４に記載のサンプルレート変換処理回路。
【請求項２０】
前記タイミングエラー情報を用いて、前記サンプル列のオーバーサンプルされた前記バージョンの振幅を訂正する回路を、更に備えることを特徴とする請求項１４に記載のサンプルレート変換処理回路。
【請求項２１】
前記可変発振回路が有限モジュラス演算回路を含むことを特徴とする請求項１４に記載のサンプルレート変換処理回路。
【請求項２２】
前記ディジタルループが前記入力レートと前記第２レート間のタイミングエラー情報を生成することを特徴とする請求項１４に記載のサンプルレート変換処理回路。
【請求項２３】
前記ディジタルループが前記第１レートと前記第２レート間のタイミングエラー情報を生成することを特徴とする請求項１４に記載のサンプルレート変換処理回路。
【請求項２４】
前記可変発振回路が桁上げ加算回路を備え、
前記桁上げ加算回路が、上位ビット側回路と、前記上位ビット側回路と接続した下位ビット側回路を有し、
前記下位ビット側回路が、前記入力レートと前記第２レート間のタイミングエラー情報の前記桁上げ加算回路による生成を示すオーバーフローを生成することを特徴とする請求項１４に記載のサンプルレート変換処理回路。
【請求項２５】
前記可変発振回路が桁上げ加算回路を備え、
前記桁上げ加算回路が、上位ビット側回路と、前記上位ビット側回路と接続した下位ビット側回路を有し、
前記下位ビット側回路が、前記第１レートと前記第２レート間のタイミングエラー情報の前記桁上げ加算回路による生成を示すオーバーフローを生成することを特徴とする請求項１４に記載のサンプルレート変換処理回路。
【請求項２６】
前記入力レートで連続する前記サンプル列が、Ｓ／ＰＤＩＦ（ソニー／フィリップスディジタルインターフェースフォーマット）信号から入力されることを特徴とする請求項１４に記載のサンプルレート変換処理回路。
【請求項２７】
Ｓ／ＰＤＩＦ（ソニー／フィリップスディジタルインターフェースフォーマット）信号から入力される前記入力レートで連続する前記サンプル列の入力部が集積化されていることを特徴とする請求項１４に記載のサンプルレート変換処理回路。
【請求項２８】
ダイナミックレンジが主として入力量子化雑音によって制限されていることを特徴とする請求項１４に記載のサンプルレート変換処理回路。
【請求項２９】
ダイナミックレンジが主として入力量子化雑音、オーバーサンプリング有限インパルス応答フィルタのイメージ除去、及び、ダウンサンプリング有限インパルス応答フィルタのイメージ除去によって制限されていることを特徴とする請求項１４に記載のサンプルレート変換処理回路。
【請求項３０】
最大ダウンサンプリング比が主として出力レートによって制限されていることを特徴とする請求項１４に記載のサンプルレート変換処理回路。
【請求項３１】
最大オーバーサンプリング比が主として前記回路の論理合成を特徴付けるレート制限によって制限されていることを特徴とする請求項１４に記載のサンプルレート変換処理回路。
【請求項３２】
或る入力レートで連続するサンプル列のレートを、前記入力レートの整数倍とは異なる出力レートに変換するサンプルレート変換処理を実行する手段を備えた回路であって、
前記サンプルレート変換処理を実行する手段が、前記入力レートの倍数の第１レートでロックされ、前記出力レートの倍数であり前記第１レートの整数倍とは異なる第２レートでクロックされるディジタルループによって生成されるタイミングエラー情報を用いて、前記サンプル列のバージョンを訂正する手段を含むことを特徴とする回路。
【発明の詳細な説明】
【発明の開示】
【０００１】
[関連出願の参照]
本発明は、発明者マーティン・マリンソン及びダスティン・フォアマン、発明の名称「非同期サンプルレートコンバータ」、２００６年８月１５日提出の米国仮出願第６０／８３８１０５号の利益を請求する。尚、当該米国仮出願の内容は、本明細書の一部を構成するものとして援用される。
【０００２】
[発明の概要]
本技術の一側面は、或る入力レートで連続するサンプル列のサンプルレートを出力レートに変換するサンプルレート変換処理を実行する方法である。前記出力レートは前記入力レートの整数倍とは異なる。サンプルレート変換処理の実行は、少なくとも、ディジタルループで生成されるタイミングエラー情報を用いて、前記サンプル列のバージョンを訂正する処理を含む。幾つかの実施態様では、前記タイミングエラー情報を用いて、前記サンプル列の前記バージョンの振幅を訂正する。前記ディジタルループは、前記入力レートの倍数の第１レートでロックされる。前記ディジタルループは、前記出力レートの倍数の第２レートでクロックされる。前記第２レートは前記第１レートの整数倍とは異なる。
【０００３】
様々の実施態様において、前記第１レートが前記入力レートの倍数であり、前記入力レートの倍数が１倍または１より大きい整数倍となる。前記入力レートの倍数が１倍の場合は、前記サンプル列の前記バージョンが、前記入力レートの前記サンプル列と同じとなる。前記入力レートの倍数が１より大きい整数倍の場合は、前記サンプル列の前記バージョンが、前記入力レートの前記サンプル列のオーバーサンプルされたバージョンとなる。
【０００４】
様々の実施態様において、前記第２レートが前記出力レートの倍数であり、前記出力レートの倍数が１倍または１より大きい整数倍となる。前記出力レートの倍数が１倍の場合は、前記第２レートが前記出力レートと等しくなる。
【０００５】
幾つかの実施態様は、前記第２レートでクロックすることにより前記サンプル列の前記バージョンを生成する。前記サンプル列の前記バージョンは、前記入力レートの整数倍ではなく前記第２レートでクロックすることに起因するタイミングエラーを含む。
【０００６】
幾つかの実施態様は、演算回路を用いて、前記ディジタルループをロックする前記第１レートに調節されたオーバーフローレートで、モジュールのオーバーフローを生成する。前記モジュールのオーバーフローの夫々が、前記演算回路による前記第１レートと前記第２レートの間のタイミングエラー情報の生成を指示している。リップルキャリー加算器が、斯かる演算回路の一例である。他の例には、減算回路に加えて他の加算回路が含まれる。更に他の例は、並行先読み桁上げ、及び、１サイクルルックアップテーブルがある。前記演算回路は出力状態の有限順序集合を生成すべきである。前記オーバーフロー、または、前記有限順序集合の順序付けに関して単調でない出力は、前記第２レート（サンプル列出力レートの倍数である）に対応する時間間隔より十分に長い期間を超えて評価された場合、前記第１レート（サンプル列入力レートの倍数である）と同じ周波数で発生するように調節される。当該等価性（当該比較的長い間隔を超える周波数の）を達成すると、オーバーフローのサイクルでの前記演算回路の状態変数が、前記第２レートに対する前記第１レートのタイミングエラーを符号化する。
【０００７】
幾つかの実施態様では、前記入力レートの前記サンプル列が、Ｓ／ＰＤＩＦ（ソニー／フィリップスディジタルインターフェースフォーマット）信号から入力される。当該実施態様では、前記入力レートはＳ／ＰＤＩＦ信号のワードクロックであり、前記サンプル列の要素は、Ｓ／ＰＤＩＦ直列データストリームから抽出された並列化データである。一般に、Ｓ／ＰＤＩＦ信号自体は、バイフェーズエンコードされた直列データ伝送プロトコルであり、その中でエンコードされたデータ、第１のバイフェーズがデコードされる場合は、並列化され、そして、Ｓ／ＰＤＩＦ信号の内蔵ワードクロックのレートで本実施態様に供給される。
【０００８】
様々の実施態様は、以下に示す１つ以上の種々の性能特性を有する。前記サンプルレート変換処理は、ダイナミックレンジが主として入力量子化雑音によって制限される。前記サンプルレート変換処理は、ダイナミックレンジが主として入力量子化雑音、オーバーサンプリング有限インパルス応答フィルタのイメージ除去、及び、ダウンサンプリング有限インパルス応答フィルタのイメージ除去によって制限される。前記サンプルレート変換処理は、最大ダウンサンプリング比が主として出力レートによって制限される。前記サンプルレート変換処理が、最大オーバーサンプリング比が主として前記回路の論理合成を特徴付けるレート制限によって制限される。
【０００９】
本技術の別側面は、或る入力レートで連続するサンプル列のサンプルレートを出力レートに変換するサンプルレート変換処理を実行する回路である。前記出力レートは前記入力レートの整数倍とは異なる。前記回路は、前記入力レートの倍数の第１レートでロックされるディジタルループを備える。前記ディジタルループは、前記出力レートの倍数の第２レートでクロックされる。前記第２レートは前記第１レートの整数倍とは異なる。前記ディジタルループは、周波数検出及び低域通過フィルタ回路と、可変発振回路を用いて形成される。前記ディジタルループは、タイミングエラー情報を生成する。前記回路は、前記タイミングエラー情報を用いて、前記サンプル列のバージョンを訂正する回路を備える。前記ディジタルループ内の周波数検出の一例は、平均周波数、または、長期周波数であり、それは、位相検出が周波数検出の一例となるようにゼロの平均位相エラーと等価である。
【００１０】
様々の実施態様は、上述の方法を実行する回路、例えば、前記第２レートでクロックすることで前記サンプル列のオーバーサンプルされたバージョンを生成する回路（前記オーバーサンプルされたバージョンは前記入力レートの整数倍ではなく前記第２レートでクロックすることに起因するタイミングエラーを含む）、前記タイミングエラー情報を用いて、前記サンプル列のオーバーサンプルされた前記バージョンの振幅を訂正する回路を含む。
【００１１】
様々の実施態様では、前記ディジタルループが、前記入力レートと前記第２レート間のタイミングエラー情報、または、前記第１レートと前記第２レート間のタイミングエラー情報を生成する。
【００１２】
様々の実施態様では、前記可変発振回路が有限モジュラス（絶対値が有限の）演算回路を含む。
【００１３】
様々の実施態様では、前記可変発振回路が、上位ビット側回路と前記上位ビット側回路と接続した下位ビット側回路を有する桁上げ加算回路を備える。前記下位ビット側回路がオーバーフローを生成する。前記オーバーフローは、前記入力レートと前記第２レート間のタイミングエラー情報の前記桁上げ加算回路による生成を示す。
【００１４】
幾つかの実施態様は、前記回路に集積化された入力部を備える。前記入力部は、Ｓ／ＰＤＩＦ（ソニー／フィリップスディジタルインターフェースフォーマット）信号から入力される前記入力レートで連続する前記サンプル列を受信する。
【００１５】
別側面は、本技術を実現するアルゴリズムを実行するコンピュータプログラムである。
【００１６】
[詳細な説明]
システム中のエラーを判断するに当たり、固定周波数に維持するのが好都合である。
【００１７】
本技術は、ＡＳＲＣ（非同期サンプルレートコンバータ）の新しい方法に関し、当該新しい方法では、ＡＳＲＣをそれにロックするためのオーバーサンプルされた入力クロックを生成するためのアナログＰＬＬを必要としない。本技術に基づく回路を用いることで、オーバーサンプルされた入力クロックを全く生成することなく、オーバーサンプルされた入力クロックが何処に存在するであろうかを予測することが可能となる。
【００１８】
本技術を利用することで、アナログ位相同期ループ（ＰＬＬ）が、オーバーサンプルされた入力クロックが非同期入力をサンプルするのに用いられるキックダウンに関連して何処にあるかの情報を生成する必要がない。本技術は、アナログＰＬＬ中において、入力サンプルレートの倍数を生成し、それを前記アナログＰＬＬの出力に変換するのに用いることができる。
【００１９】
入力信号とフィードバック信号を受け付けるように構成されたアップダウンカウンタと、前記アップダウンカウンタからの出力信号を受け取り、キャリー（桁上げ）出力を前記アップダウンカウンタに前記フィードバック信号として出力する加算器を備えた第１回路ループと、合計出力を前記加算器からモジュレータに転送し、前記モジュレータからの出力を前記加算器の入力にフィードバックする第２回路ループと、を有することで、タイムドメイン補間としてサンプルレートを訂正するための回路が提供される。
【００２０】
アナログ信号は連続変化量であり、常に値を有し、連続的な振幅を有する。従来、規則的な時間間隔でのアナログ量に最も近い各近似値の量子化された数（有限の分解能の数）のシーケンスを生成することで、アナログ信号に対するディジタル近似が行われる。例えば、ＣＤプレーヤによる音声信号のディジタル化は、４４．１ｋＨｚの基準レートで所謂“１６ビット分解能”のサンプルを得ることで実現される。“１６ビット分解能”は、振幅のディジタル代表値が１６の２値ビットに亘り、約６５５３６分の１或いは約１６ｐｐｍ（ｐａｒｔｓ  ｐｅｒ  ｍｉｌｌｉｏｎ）の精度であることを意味している。他の例として、ＤＶＤディスクに記録されたディジタル音声がある。この場合、振幅のサンプルは２４ビットまたは約０．０６ｐｐｍの分解能を有し、これらのサンプルを得るための基準レートは４８ｋＨｚである。それ故、音声民生用途では、少なくとも２つのサンプルレート（４４．１ｋＨｚと４８ｋＨｚ）と２つの異なる振幅分解能（１６ビットと２４ビット）が共通に使用される。図１Ａに一例を示す。この例では、ＳＩＧＮＡＬ１が４４．１ｋＨｚでサンプルされ、“×”で示される一連のポイントが得られ、ＳＩＧＮＡＬ２がより高い周波数（４８ｋＨｚ）でサンプルされ、“○”で示される一連のポイントが得られる。
【００２１】
１つのシステム内に２つのサンプルレートが存在することで、不都合が生じ得る。一連のディジタル音声データがＤＶＤソースから４８ｋＨｚで入力し、４４．１ｋＨｚの第２の一連のデータが、ＡＤＣ及びマイクロフォンソースから入力する場合（この状態は、“カラオケ”装置において、バックの楽器演奏としてＤＶＤを使用し、前記ＡＤＣが歌手の音声をエンコードする場合に起こる）を想定する。どのようにすれば、これら２つの信号を混合して、同じ音声出力装置から出力させることができるか。これらの入力が異なる時間に入力するので、問題となる。つまり、ディジタル信号プロセッサを動作させるのに４８ｋＨｚソースを使用すると（或いは、より詳細には、前記ＤＳＰが４８ｋＨｚのサンプル上で動作するように構成されていると）、４４．１ｋＨｚのサンプル信号は、４８ｋＨｚサンプルの間に入力することになり、２つのサンプルレート信号を一緒に処理するには、４４．１ｋＨｚのサンプル信号を遅らせるか、或いは、４８ｋＨｚの基準レートに近似化しなければならない。以上が“非同期サンプルレート”変換における問題であり、本開示は、或る選択されたクロックに関して非同期に入力する信号のサンプルがどのように当該クロックでのサンプルとして近似できるかを教示するものである。前記非同期サンプルは、所定のクロックドメインの同期サンプルに変換される。同期サンプルはその変換にも拘わらず、当初の（今は新しいクロックに関して非同期の）ドメインでサンプルされたように信号を正確に表現する。
【００２２】
本技術では、前記選択されたクロックは、入力サンプルレートより十分に大きいレートとすることができる。図１Ｂは、４４．１ｋＨｚのサンプル列を、“０次ホールド” 機能を実行する４４．１ｋＨｚよりかなり高いクロックレートに如何にして近似化するかを示している。
【００２３】
“０次ホールド”機能は、速い方のクロックで見た最後のサンプルを単純に繰り返すものである。尚、図１Ｂでは、一般的に、４４．１ｋＨｚでのサンプルは、より高いクロックレートの如何なるサンプルとも同時には発生していないことを示している。より高いクロックレートのサンプルは、４４．１ｋＨｚドメインで最後に見たサンプルの繰り返しである。それ故、図２Ｄに示すように、より高いクロックドメインで最初に変化したサンプルより少し前に入力サンプルが変化するというエラーが存在する。
【００２４】
図１に、周波数ｆで動作しているアナログ入力信号のサンプルを示す。一般的な方法では、信号のサンプルはサンプルポイントで取得され、サンプル数ｎは当該サンプルの精度を決定する。サンプル数が多いほど、より高い精度でのアナログ信号の読み出しが可能となる。従って、サンプル取得の周波数は、入力信号の周波数より非常に高い。例えば、図２Ａを参照すると、入力してくる信号２０２が４４．１ｋＨｚで動作していると仮定すると、データサンプルポイント２０４は、２７ＭＨｚで取得される。
【００２５】
しかしながら、そのポイントでの信号の正確な値の予測を試みるとエラーが発生する。データをサンプルする回路内の待ち時間が信号読み取り時のエラーを引き起こす。例えば、サンプルポイント２０６は、それ以前のサンプルに引き続き取得される。しかしながら、サンプル２０８は遷移点にあり、そこでは、次のサンプル２１０が半分のポイントで読み込まれ、引き続いて、サンプル２１２が読み込まれ、その後に、サンプル２１４、２１６が続く。継続すると、サンプルポイント２１８が取得され、そして、サンプルポイント２２０で次の遷移点となる。従来の回路は、ポイント２２４、２２６と続くポイント２２２を読み出す。しかしながら、理想的な実際のポイントは、コーナーポイント２２８、２３０である。再度、回路内の待ち時間が、斯かるアーチファクトの発生、及び、信号がエラーの中央で読み込まれることの要因となっている。従来のシステムでは、入力周波数ｆ（ｉｎ）を特定するために入力をオーバーサンプルしている。しかしながら、この方法は、不正確であり、より正確なサンプルを得るために高価な回路を必要とする。
【００２６】
図２Ｂに、入力ポイントと出力クロックポイントを比較して示す。図２Ｂに示すように、出力クロックポイントは、入力ポイントの後で発生している。従って、それらは、異なる周波数でのポイントである。図２Ｃはディジタル化された信号を示す図であり、×印は入力クロックでの実際の入力を示し、○印は正確な出力クロックポイントを示している。理想的には、○印は出力クロック信号ポイントを示す。同期クロックを用いる従来のシステムでは、これは不可能であり、信号のアーチファクトが生じる。
【００２７】
従って、一般的なアーチファクトに対する訂正を行い、より正確な信号のサンプリングのためのシステム及び方法に対する技術的な要求が存在する。以下に示すように、本技術は、当該要求を簡潔な方法で達成するものである。
【００２８】
本技術は、タイムドメイン補間によって非同期サンプルレート訂正を行う信号処理素子に対するものである。動作において、ディジタル信号は、固定された比較的大きな時間間隔で分離されたディルタル数列として表される。この信号は入力として受信され、異なる比較的短い時間間隔で分離された出力ディルタル数列を生成するために処理される。入力データ列と出力データ列の時間間隔が異なり、夫々の周波数において如何なる共通要因も有しないかも知れないという事実にも拘らず、アーチファクト或いは新たに生成された信号列へのエラーの取り込み無しに、当該処理は動作する。
【００２９】
本技術によれば、出力サンプルの殆どは、入力サンプルの単純な複製である。しかしながら、入力信号中の変化を検出すると、出力サンプルは、１つの斯かるサンプルに対して、古い入力値と新しい出力値の間の中間値に設定される。この単一の中間的サンプルを生成した後、出力は再び、新たな入力サンプルの現在値を複製する。従って、より低いレートで動作している入力信号の変化が検知される都度、前記単一の中間的サンプルを生成することで、タイミング及びサンプリングのエラーの訂正が実行される。
【００３０】
補間データポイントは、前記訂正を提供するために出力データ列内に挿入されたことが観測される。中間的サンプルの値は、入力サンプルを囲む２つの出力サンプルポイント間における入力サンプルポイントの相対的なタイミングから決定される。２つの出力サンプルポイント間の入力サンプルポイントの正確な位置は、出力サンプルレートで完全に動作するロジックによって決定される。つまり、如何なるロジックも出力サンプルレートより速くは動作しないという事実にも拘らず、本技術は、入力サンプルタイムを正確に測定する手段を提供する。
【００３１】
一般的に、本技術は、より速い出力クロック、入力クロックの変化したポイントの測定、及び、タイムドメイン補間の３つの基本的特徴を有するシステム及び方法に対するものである。その目的は、入力及び出力データ間の差異を考慮することである。
【００３２】
一実施態様において、早い出力クロックほど、より良く入力信号ポイントを取得する。実際に、入力クロックは出力クロックの間で発生するこができ、各入力ポイントは新たなサンプルポイントを生成する。出力クロックの各サイクルで単純に入力をサンプルすることが可能である。しかしながら、読み出した入力クロック信号値を見逃す可能性もある。つまり、図２Ｄの図示を参照すると、影付き領域２３４が、入力信号が見逃された部分となる。従って、システムは次のクロックサイクルを待つ必要が生じる。これは、従来システムにおけるケースである。これに対し、本技術によれば、この第１パスは無視され、この第１サイクルは見逃される。次ステップにおいて、図２Ｅに示すように、入力ポイントの高ポイントと低ポイントの中間に発生する中間的ポイントが生成される。つまり、ポイント２３８が入力信号からの前のポイントであり、ポイント２４０が生成された中間的ポイントであり、ポイント２４２が新たな入力ポイントである。本技術によれば、新しい信号の図２Ｅに示す領域２３６が生成された中間値を有している。当該値の導出方法について以下に説明する。
【００３３】
従って、入力クロックの出現時に見える入力サンプルを単に使用するだけでは、エラーが発生する。入力は、最後のクロックサイクルの直後に変化することにはならない。入力の前記影付き領域が見逃される。しかしながら、出力は、任意の出力クロック数だけ遅延できる。このことで出力が歪むことはない。従って、上記例の如く、入力がサンプルでき、１以上のクロックサイクルの遅延が発生し得る。これにより、システムは古い値と新しい値の間にポイントを挿入することができる。斯かる値は、面積が同じとなるようなポイントに挿入される。出力は、常に出力サイクル上で変化するのみである。システムは、中間的ポイントを使用することで、入力がクロックで変化しなかった事実を相殺できる。最終結果において、上記領域２３４と２３６の面積が同じに維持される。このことは、一実施態様において、図３に示すような位相同期ループを用いて実現される。
【００３４】
図３に、タイムドメイン補間によって周波数を特定するように構成されたシステムを提供する本技術の一実施態様を示す。位相同期ループ３００が、入力信号のサイクルを同期させるアップダウン（Ｕ／Ｄ）カウンタ制御３０４で受信される入力信号３０２を受信するように提供される。アップダウンカウンタは、本具体例では１０ビットの信号３０６を、モジュロ加算器３０８に出力する。加算器３０８は、その中で回路が動作する２つのフィードバックループの一部を形成する。加算器３０８は、本具体例では同じく１０ビットの信号３０９を、本具体例では２７ＭＨｚのクロック３１２に基づいて動作するモジュレータ３１０に出力し、モジュレータ３１０は、フィードバックループ３１４を経由して転送されるフィードバック信号、及び、対応する出力信号３１６を生成する。モジュロ加算器は、信号３２０を出力する。信号３２０は、４４．１ｋＨｚのキャリー出力信号として出力され、フィードバックループ３２２を経由してアップダウンカウンタ３０４のダウン入力にフィードバックされるキャリー出力パルスである。入力信号３０２は、アップダウンカウンタ３０４のアップ入力に供給される。
【００３５】
動作中に、第１周波数、例えば、４４．１ｋＨｚで動作している入力信号が、アップダウンカウンタのアップ入力に入力される。アップダウンカウンタの出力は加算器の１つの入力に転送される。モジュロ加算器の出力が、第２周波数、例えば、２７ＭＨｚでクロックされているモジュレータに入力され、モジュレータの出力が、前記回路の第１出力“Ｍ”を生成し、前記加算器の第２の入力としてフィードバックされる。加算器は、アップダウンカウンタのダウン入力にフィードバックされるキャリー出力を有する。キャリー出力は、第２出力である出力信号のフロントエッジをリセットして、加算器からオーバーフローした時にアップダウンカウンタをリセットする。加算器は、本具体例では１０ビットのカウンタの出力を、“Ｍ”からの１０ビット出力信号に加算する。従って、サンプルレートのポイントは、算出式ｘ０＝ｘｎ＋（Ｍ／Ｎ）（ｘＮ＋１−ｘＮ）で与えられる。但し、Ｍ／Ｎはタイミング上のエラーである。
【００３６】
サンプルレートタイムは、以下のように決定される。先ず、モジュロ加算器３０８が、出力クロックレート３１２で、入力３１３を実行中の合計に加算するように構成される。前記加算器は、ディジタル加算器と有限整数幅で動作するレジスタ、或いは、増加する値を加算するように構成された他の既知の加算装置として構成されても良い。加算器が有限幅であり、最終的に最大値に達してオーバーフローするので、実行中の合計は最終的にはオーバーフローして、出力パルス３２０を生成する。本技術によれば、モジュロ加算器３０８からのオーバーフロー３２０の周波数レートは、入力サンプル３０２の入力レートと比較される。入力サンプル３０２の入力レートが加算器のオーバーフローのレートを越えると、出力サイクル毎に加算される値である加算器への入力は増加する。逆に、入力サンプル３０２の入力レートが加算器のオーバーフローのレートより小さいと、加算器への入力は減少する。それ故、制御ループ３１４が存在し、そこで、加算器への入力は両レートが等しくなる値に安定する。
【００３７】
図４に、回路３００の動作を一般的に示すフローチャート４００を示す。ステップ４０２で、入力周波数で動作する入力信号が受信される。ステップ４０４で、アップダウンカウンタにおいて上向きのカウントが起こる。ステップ４０６で、キャリー出力パルスがあるか否かが判断される。キャリー出力が無ければ、ステップ４０８で、カウント処理が再開される。一旦、キャリー出力が発生すると、ステップ４１０に移行して、アップダウンカウンタが、図５のベースライン値Ｂで示すダウンカウントにリセットされる。
【００３８】
最初は、カウンタ値はゼロで（図３の符号３１８はカウンタ出力を示す）、加算器は決してオーバーフローしない。加算器はゼロを加算する。しかしながら、最終的に入力信号はカウンタをインクリメントする。そこで、加算器は最終的には必ずオーバーフローする。更に、加算器のオーバーフローのレートが入力クロックのレートと等しいときに、カウンタは単に平衡に達する。例えば、入力クロックレートが４４．１ｋＨｚで、出力クロックレートが１ＭＨｚで、バス幅がＮ＝２０の場合、カウンタは、その値が以下の時に動作を停止する。
４４ｅ３／１Ｅ６×２２０＝４６１３７
これは、上記数値において、カウンタのオーバーフローレートが、４６１３７／２２０×１ＭＨｚ＝４４ｅ３となるからである。従って、カウンタには、アップカウントと丁度同数のダウンカウントが存在する。
【００３９】
前記カウンタ値が実質的に安定して、上記システムがロックしたとき、入力クロックの入力時の前記レジスタの値が前記入力の位置におけるエラーを表すことに注目される。より具体的には、キャリー出力の発生時に、システムが前記レジスタ値でロックする。これは、丁度フルスケールを超えた状態である。また、このことが、何故オーバーフローが存在するかの理由である。図２Ｆを参照すると、カウンタ値である数（Ａ）は、丁度、レジスタ内の数に加算されたところである。それ故、レジスタ内の現在の数は、数（Ａ）より小さい或る数である。図２Ｆでは、レジスタ内の数はＦＳで示されている。合計値に数（Ａ）が加算される毎に、或るポイントにおいて、それはＦＳよりＢだけ超過し、そのＢはＡより小さくなければならない。本実施態様では、カウンタ内の数はＮで、レジスタがオーバーフローするまでの値はＭである。
【００４０】
図２Ｇを参照して、Ｍ／Ｎの値が、サンプルタイムにおけるエラーであることが述べられている。このことは、更に、図２Ｈにも示されている。入力クロックポイントが何処に存在するかをシステムが知ることができる個所で、上述及び図３に示したループにおいて、それはＭ／Ｎを観察する。図２Ｉに、中間的サンプルが古いサンプルＰと新しいサンプルＱから生成されることが示されている。中間的サンプルは、Ｓ＝Ｐ＋Ｍ／Ｎ×（Ｑ−Ｐ）となる。再度、システムは、入力クロック位置が何処に存在するか知ることができ、これらの値から、中間的サンプルＳを生成することができる。システムは、単一のサンプルを出力サンプル内に挿入する。それは、入力の最終サンプルと入力の次サンプルの中間にある。それは、ディジタルループを入力クロックと出力クロックにロックさせることで計算される。“Ｍ”はループレジスタがオーバーフローするまでの値であり、“Ｎ”はループカウンタの値である。中間的サンプルは、Ｓ＝Ｐ＋Ｍ／Ｎ×（Ｑ−Ｐ）となる。
【００４１】
本技術は、入力サンプルの位置は、オーバーフロー直後の加算器に存在する残差（残余値）によって決定され得るという所見に基づいている。加算器がオーバーフローしたときの値は、前記クロックに関連した時間における前記信号の位置に比例する。特に、モジュロ加算器においてオーバーフローが検出されると、有限幅の加算器に残っている数である前記残差が、出力レートでのサンプル間の入力サンプルの相対的な位置に比例すると認められる。つまり、当該位置が決定され、出力サンプルレートクロックより速く動作する如何なるロジックも用いずに、中間的サンプルが当該決定を用いて生成される。
【００４２】
図５に、補正された信号のタイミング図を示す。動作中は、処理の余分な（ｏｖｅｒ）サイクルが繰り返される。図示する例では、Ｃ１−Ｃ４が４サイクル毎に繰り返されている。図示する具体例では、４つのチャンネルが存在する。特定のアプリケーションでは、それ以上またはそれ以下のチャンネル数が必要とされる。各チャンネルの期間は、モジュロ加算器のクロック周波数３１２を信号周波数で除算することで決定される。本実施例では、２７ＭＨｚ／４４．１ｋＨｚ＝６１２．２５となる。つまり、Ｃ１−Ｃ４の夫々は略等しい。加算器は、時間幅Ｎを超える毎にサイズＭの増分で加算する。一旦、モジュロ加算器が、最大限Ｌを超える値でオーバーフローすると、回路は、最小限のベースライン値Ｂにリセットされる。本技術によれば、各ステージＭ１−Ｍ４のオーバーフロー値は、入力する信号のより正確な遷移ポイントを決定するのに使用される。このオーバーフロー値は変化し、図５に示す例の如く、時間の経過と共に減少する場合がある。実際には、６１２．２５ｍｓ毎にサンプルポイントを設定することで、エラーが減少する。
【００４３】
面積は補正の領域を規定する。より具体的には、図６に示すように、Ａ１は入力の面積で、Ａ２は中間ポイントについての面積である。各面積は、小面積サンプルの集まりで構成される。該面積の合計は同じである。図２Ｊに示すように、入力信号面積は、入力からのδＡｉの合計によって構成され、出力信号面積は、出力信号の合計からのδＡｉによって構成される。しかしながら、各面積の重心は同じではなく、図２Ｊに示す面積の例より明らかである。図２Ｋを参照すると、数学的な説明が導かれる。ｉ（ｘ）を入力信号、ｘを間隔のスタートからの距離、ｏ（ｘ）を出力信号とする。間隔は、図２１（Ａ）の方程式を満足するように調整される。曲線下の面積は同じであるが、図２１（Ｂ）の方程式に従う。この式は、関数の第１モーメントの重心である。これらは、分離した領域では一致しない。しかしながら、本技術によれば、２つの中間ポイントを用いることで、図２１（Ｃ）、（Ｄ）に示すように、第１モーメントが一致する。
【００４４】
従って、一致した夫々の追加モーメントは、得られた近似の次数を増加する。図７に示す周波数ドメインでは、面積が一致すると、エラー周波数が２０ｄＢ／ｄｅｃａｄｅで低下する。更に、図８に示すように、各面積のモーメントが一致すると、エラー周波数が４０ｄＢ／ｄｅｃａｄｅで低下する。
【００４５】
従って、本技術は、ｎ次のタイムドメイン非同期信号レンジコンバータ補間器を有することのできるシステムを提供する。このことは、実際の入力変化を検出するのにディジタル同期ループを用いることで実現できる。エラーの任意の高次の周波数が、中間的サンプルを用いることで除外される。
【００４６】
以下は、本技術の別の説明である。殆どのアプリケーションで、ディジタルデータ列がアナログ信号を置換する。ディジタルデータ列は、特定のクロックレートで量子化された一連のサンプルである。多くのシステム、特にオーディオシステムは、異なるデータレートのデータ、一般的な例では、ある装置から毎秒４４．１ｋサンプルで入力し、他の装置から毎秒４８ｋサンプルで入力するオーディオデータを操作することを要求される。データレートを変えることができるなら（例えば、４４．１ｋｓ／ｓのサンプル列を４８ｋｓ／ｓに変換できるなら）、固定サンプルレートでの同じ後処理システムを使用できる。無関係のクロック間でサンプルレート変換する問題は、非同期サンプルレートコンバータ（ＡＳＲＣ、単にＳＲＣ）を使用することで解決する。
【００４７】
ここで記載するＳＲＣは、非同期入力列を出力クロックドメインの倍数にオーバーサンプルし、そして、出力クロックドメインでサブサンプルすることで動作する。４４．１ｋと４８ｋの例を用いて、このＳＲＣの動作を説明する。出力クロックレートの倍数、本実施例では、２５６×４８ｋ＝１２．２８８ＭＨｚで動作するロジックを用いる。入力サンプルは、当該クロックと関係ないレートで変化する。しかし、我々は、４４．１ｋの入力サンプルを１２．２８８ＭＨｚのクロックドメインにサンプルすることで処理を開始する。サンプルのタイミングは保持されないので、入力データを出力クロックに単純に再サンプルする処理では歪が生じる。当該歪は、入力が変化したときにできるエラーに起因し、そのポイントで、出力は該データ変化の正確な時間を保持しない。このエラーは、４４．１ｋＨｚ／１２．２８８ＭＨｚのレートでの時間についてのエラーである。図９は、出力クロック間でデータが変化し、エラーが発生している様子を示している。影領域９０１はエラーを表している。基本的には、該エラーを検出できれば、出力サンプルに対して何らかの補正が施せる。
【００４８】
１２．２８８ＭＨｚレートでのみ動作するロジックを使用して該エラーを検出することができる。１２．２８８ＭＨｚで動作するディジタルＰＬＬを構築して、入力サンプルが実際に変化した時間での正確なポイントを検出する。図１０に示すように、当該検出は、有限幅の加算器であるモジュロ加算器を用い、オーバーフローを無視することで行われる。オーバーフローの起きる出力レートが入力クロックレートと同じになるまで、入力量が調整される。ここで留意すべきは、ディジタルループの出力は１２．２８８ＭＨｚドメインにおいて同期しており、入力レートは非同期であるが、その平均レートはアップダウンカウンタの動作により同じになるように調整される点である。これにより、ディジタル周波数ロックループが形成される。加算器のオーバーフロー“ｃｏ”は、１２．２８８ＭＨｚドメインにおける入力クロックにロックされた周波数である。オーバーフロー“ｃｏ”が起きた時点で加算器の合計“ｓｕｍ”出力バスの内容が検査されると、該合計出力が実に非同期の入力変化が発生した正確なポイントをエンコードしていることに思い至った。具体的には、数量“ｍ＝ｓｕｍ／ｉｎｃ”（但し、“ｉｎｃ”はアップダウンカウンタの内容である）が計算されると、“ｍ”は、１２．２８８ＭＨｚクロックドメイン内に存在する入力クロック時間の比率となる。例えば、ｍ＝１／４であると、入力非同期クロックは連続する２つの１２．２８８ＭＨｚクロックポイントの間の１／４のところで実際に変化したことになり、同様に、ｍ＝１／２であると、２つの１２．２８８ＭＨｚパルスの間の１／２のところで変化したことになる。出力クロックレートの倍数で動作するロジック以外の如何なるロジックも用いず、ＤＰＬＬ用のバス幅に比例する精度範囲で、入力サンプルが変化する正確なポイントが導出された。これにより、出力データ列を訂正するに必要な全ての情報が得られた。
【００４９】
出力サンプルは、図９に示す影領域を考慮することによって正確になる。該影領域は出力データ列内のエラーを表している。該エラーは、任意の次数で訂正可能であり、変換性能は、訂正の次数、及び、出力データレートに対する入力データレートの比と関係する。
【００５０】
タイムドメインでの１次または線形補間は以下のように行われる。ＤＰＬＬを用いて、１２．２８８ＭＨｚの出力クロックに対して何処で入力データ列が変化したかを算出する。このポイントから、時間におけるエラーを計算でき、１次訂正を加えるためのエラーのあるサンプルの振幅を変化させる。図１１及び図１２に、当該訂正について図示する。時間におけるエラーを、１次で一致する振幅エラーに変換する。図１１において、“ｄｙ”は入力サンプルの振幅の変化を示している。“ｄｘ”は、出力クロックの周期、つまり、１／１２．２８８ＭＨｚであり、“ｄｗ”は、非同期入力が変化した時と出力クロックにその変化が現れる時の時間差を示している。図１２において、“ｄｈ”は、エラーが１次で一致するようにサンプルを変調する値を示している。
【００５１】
図１１の影領域は“重量”として捉えることができ、図１２の影領域で示すように、振幅エラー中に同じ“重量”を生成しなければならない。その計算は、以下のようになる。
ｄｗ・ｄｙ＝時間エラー＝振幅エラー＝ｄｘ・ｄｈ
【００５２】
ＤＰＬＬから“ｍ”と表記される値は、上記方程式では“ｄｗ”を表している。ＤＰＬＬは１２．２８８ＭＨｚのレートでクロックされているので、“ｄｘ”は１である。“ｄｙ”は２つの入力サンプルの差として簡単に計算される。これらの情報から、以下にしめすように、簡単な計算によって“ｄｈ”の値を決定することができる。
ｄｈ＝ｍ・入力差
【００５３】
新たな入力サンプルが“ｄｈ”に変化し、エラーの“重量”を同じにして１次で該エラーが訂正されると、１２．２８８ＭＨｚタイムドメインでの理想的な出力列に対して１次近似が実施される。１つの一過性サンプルを調整した後、ナイキスト出力レートに対して該データをフィルタし、出力レートでサブサンプルすることで、ＳＲＣ変換を完了する。全体の処理を完了するのに、入力サンプル当たり１つのタイムドメイン補間ポイントを使用した。
【００５４】
上記アイデアを拡張して、共通のポイントについて“重量”を一致させるだけではなく、“モーメント”をも一致させることで、上記近似は、２次或いは更に高次へと増加する。補間ポイントの計算の複雑さを増すことで多くの次数への拡張は可能である。出力サンプルレートに対して入力レートが低い場合に、最適性能が得られる。必要ではないが、入力クロックの倍数を用いて最初にＳＲＣを通過する前の入力データ列をオーバーサンプルすることで、最適性能が得られる。４４．１ｋＨｚから４８ｋＨｚトーンへ変換時の性能は、入力が６４倍（６４×４４．１ｋＨｚ＝２．８２２４ＭＨｚ）でオーバーサンプルされ、（２５６×４８ｋＨｚ＝１２．２８８ＭＨｚ）のレートで動作するＳＲＣに入力することで、１８０ｄＢより良くなる。図１３に、ＳＲＣのブロック図を示し、図１７Ｂに、３２ビット精度で実行したＲＴＬシミュレーションの出力を示す。ワーストケースの結果（それは、最高信号周波数、２０ｋＨｚで発生する）が表示されている。
【００５５】
以下は、入力信号の仮想上方変換付きのＡＳＲＣと呼ばれる本技術の別の説明である。
【００５６】
従前のＡＳＲＣでは、４４．１ｋＨｚでの入力信号を受け付け、４８ｋＨｚに変換しようとする場合があった。４４．１ｋＨｚでの入力データを、例えば６４×４４．１ｋＨｚ等のあるレートへ実際にオーバーサンプルし、それを２５６×４８ｋＨｚ等のオーバーサンプルされた出力レートに変換し、そして４８ｋＨｚまで低減して戻すことで、性能は大幅に改善された。このためには、幾つかの信号のフィルタリング及びクロッキングが必要であるが、その効果は絶大である。該処理が如何にうまく機能するかを、以下の例を用いて説明する。図１７Ａは、２次ＡＳＲＣを用いて、４４．１ｋＨｚのサンプルレートを直接２５６×４８ｋＨｚに変換して、４８ｋＨｚまで低減した場合を示す。
【００５７】
図１７Ｂは、全く同じ信号を変換した場合を示しているが、ここでは、６４×４４．１ｋＨｚにオーバーサンプルしたものを２５６×４８ｋＨｚに変換して、４８ｋＨｚまで低減している。
【００５８】
ＡＳＲＣに入力する前に先ず入力データをより高いレートにオーバーサンプルすることの大きな性能向上は、図１７Ａと図１７Ｂを比較することより明らかである。図１７Ａでは、クロックドメイン変換によって生じたエラーである追加のスパイクが見られる。図１７Ｂでは、スパイクは、入力信号と、４８ｋＨｚの出力サンプルレートと２０ｋＨｚの入力信号の差を表している２０ｋＨｚと２８ｋＨｚにある。
【００５９】
従前のＡＳＲＣ技術では、アナログＰＬＬを介した６４×４４．１ｋＨｚの生成を必要としていた。本実施態様は、入力信号の仮想上方変換付きのＡＳＲＣを含み、ＡＳＲＣがロックするオーバーサンプル入力クロックをアナログＰＬＬが生成する必要性を排除している。当該回路は、オーバーサンプル入力クロックが何処にあるかを、実際にそれを全く生成することなく推定することができる。つまり、“入力信号の仮想上方変換付きのＡＳＲＣ”である。ＡＳＲＣがロックする実際の入力オーバーサンプルクロックはないが、そのタイミングが何処にあるかを導出でき、そのクロックを実際に持っているかの如く出力データ列を訂正することができる。図１３は、サンプルレート変換の本技術を示している。
【００６０】
オーバーサンプルして低減するのに必要なＡＳＲＣと全てフィルタリングを生成するディジタルロジック回路は、出力クロックドメインで実現できる。ＡＳＲＣは、ディジタルＰＬＬを用いて４４．１ｋＨｚをロックし、オーバーサンプルされた（６４×４４．１ｋＨｚ）クロックパルスを生成する。これらのパルスは、実際には２５６×４８ｋＨｚクロックによって生成されるので、当該パルスのタイミングは不正確である。アナログＰＬＬによって生成された正確な６４×４４．１ｋＨｚのクロックにディジタルＰＬＬが実際にロックしているかのように、この新しい回路は、４４．１ｋＨｚにロックして、サンプルレートコンバータにオーバーサンプルパルスの夫々が“仮想” オーバーサンプルクロックからどの程度外れているかを実際に示すある位相情報を生成する。
【００６１】
それ故に、６４×４４．１ｋＨｚのクロックのタイミングが何処にあるであろうかが実際に分かるので、ＡＳＲＣに行く前に６４×４４．１ｋＨｚを生成する必要性が排除される。このことは、サンプルレートコンバータ全体でただ１つのクロックドメインが存在するだけであるので、チップが比較的に容易に作製できることを意味している。
【００６２】
本技術が可能であるのは、ディジタルＰＬＬがある周波数（即ち、４４．１ｋＨｚ）にロックすることができ、あるオーバーサンプルレート（即ち、６４×４４．１ｋＨｚ）でのクロックエッジが実際に何処にあるかを示すタイミング情報を正確に生成するという事実によるものである。当該タイミング情報はＡＳＲＣに転送され、ＡＳＲＣはその情報を用いてこのタイミングエラーを訂正すべく出力データ列を調節する。実際にオーバーサンプルクロックを必要とせず、本技術の“仮想” オーバーサンプルクロックの相対的なタイミングの情報を有しているので、オーバーサンプル入力クロックドメイン上にあるべき入力オーバーサンプル回路を、出力クロックドメインを用いてクロックでき、ＡＳＲＣを用いて不一致タイミングを訂正するためにデータを調整することができる。
【００６３】
図１４は、“仮想” オーバーサンプルクロック（“Ｐ＿ＯＳ”と表示）とタイミング情報（“Ｍ”と“Ｎ＿ＯＳ”から導出される）を生成できるディジタルＰＬＬが如何に構成されているかを示す。
【００６４】
図１４に示す回路は、参照周波数（入力クロック）の倍数を用いてＤＰＬＬが如何に生成されるかを示している。ある瞬間の位相情報を再生するために、データ“Ｎ＿ＯＳ”と“Ｎ”がＤＰＬＬから抽出される。理論上は、如何なる回路も、位相整合され、参照周波数の倍数、更には，分数であり得るクロックを発生することで、ＤＰＬＬ機能を奏する。
【００６５】
例えば、参照周波数を任意の周波数Ｆ１で取り込み、出力周波数Ｘ×Ｆ１（但し、Ｘはある実数）を生成でき、位相整合される、（参照クロックＦ１の立ち上がりまたは立下りエッジ、及び、出力クロックＸ×Ｆ１の全Ｘの立ち上がりまたは立下りエッジは、“ロック”され、それらのエッジは長期に亘って相互にドリフトしないことを意味する）如何なる回路も、ＤＰＬＬと考えられる。ＤＰＬＬは、幾つかのブロックだけが正確な動作を必要とするＰＬＬと類似する。
１．位相検出器
２．積算器
３．ＶＣＯ
【００６６】
動作は以下の通りである。参照周波数入力が位相検出器に入力し、ＶＣＯの出力である回路の出力と比較される。エラーは信号の２つの位相差であり、該エラーが積算器で積算される。積算器の出力は、フィードバックループを形成する“ＶＣＯ”を調節する。該フィードバックループは、“位相検出器”からのエラーをゼロとなるように、つまり、“位相検出器”への２つの入力が同じになるように、更には、２つの入力（参照周波数と“ＶＣＯ”の出力）が同じとなるべく、動作する。
【００６７】
“ＶＣＯ”を制御する入力と出力周波数の間の関係が分かれば、容易に瞬間的な位相を抽出することができる。
【００６８】
前の図に記載した回路では、ＤＰＬＬの３つのコアブロックは、以下の通りである。
１．位相検出器（これは、“アップダウンカウンタ及び位相整合ロジック”ブロック内にある。）
２．積算器（これは、“アップダウンカウンタ及び位相整合ロジック”ブロック内にある。）
３．ＶＣＯ（これは、“出力クロック”でクロックされる下側のＤＦＦ付きの２つの加算器ブロックである。）
【００６９】
このＶＣＯの接続形態を用いると、入力を符号無しデータとして扱う場合、入力（信号“Ｍ”）の数と出力周波数の関係は、フルスケール入力の２分の１まで線形である。信号“Ｍ”は“ｍ”ビット幅で、ＭＳＢ側とＬＳＢ側の２つのパートに分割される。ＭＳＢ側は、上位の“ｏｓ”ビットで、ＬＳＢ側は下位の“ｍ−ｏｓ”ビットである。
【００７０】
幾つかの実施態様では、アップダウンカウンタは、正、負、または両方のクロックエッジをカウントする。
【００７１】
幾つかの実施態様では、位相整合ロジックは、ロックされた出力パルスを、入力データをクロックする入力エッジ間の２分の１のところに生成する。この結果、データが有効な（変化しない）時にそのクロックドメインを横切ってデータを転送させることができる。
【００７２】
ＭＳＢ側用の信号とＬＳＢ側用の信号上で動作する２つの加算器がある。加算器が明確に分割されている理由は、ＬＳＢ側で動作している加算器からの単なるオーバーフローである“Ｐ＿ＯＳ”信号にアクセスするためである。“Ｐ＿ＯＳ”信号は、ＬＳＢ側のオーバーフロー（キャリー出力としても知られている）であり、ＭＳＢ側の加算器のキャリー入力に供給される。この結果、ＭＳＢ側とＬＳＢ側で表されたディジタル符合は普通に加算されるが、“ｍ−ｏｓ”ビット上で動作している全加算器のキャリー出力である内部信号へのアクセスを有する。
【００７３】
例えば、４ビット加算器を想定する。他の実施態様では、異なるビット数を用いる。４つの全加算器セルをデイジーチェーン接続することで４ビット加算器ができる。各全加算器は３つの入力と２つの出力を備える。その機能は、以下の表１の通りである。
【表１】
2009504107.tif 000003
【００７４】
ＡとＢは加算される入力で、ＣＩがキャリー入力で、ＣＯがキャリー出力である。４ビット加算器を作るために、“リップルキャリー加算器”型の加算器を生成できる。
【００７５】
ＶＣＯは、図１５の回路に対して定数を加算するだけで構成される。“ｍ”が８の場合、入力が０から２５５までの範囲であることを意味する。加算器の出力が２５５より大きい場合、“ＣＯ”ビットがセットされ、その他のビットがフリップフロップ内にラッチされる。入力が１の場合、加算器は２５６クロック当たり１回オーバーフローする。入力が２の場合、オーバーフローは２５６クロック当たり２回発生する。よって、これは簡単なＶＣＯであり、ある数値を入力すると、“ＣＯ”端子上に制御された周波数の出力が得られる。
【００７６】
８ビット加算器を２つの４ビット加算器に分割する場合、第１の４ビット加算器の“ＣＯ”を第２の４ビット加算器の“ＣＩ”に接続する。
【００７７】
図１６は、８ビットＶＣＯと同じ回路であるが、ＬＳＢ側からのキャリー出力を明確に配置している。上述と同じ入力を入力すると、出力は以下のようになる。
【００７８】
定数１をこの回路に入力すると、ＬＳＢ側加算器のキャリー出力は１６クロック当たり１回オーバーフローし、上述の場合と同様にＭＳＢ側加算器の出力は２５６クロック当たり１回オーバーフローする。定数２をこの回路に入力すると、ＬＳＢ側加算器のキャリー出力は１６クロック当たり２回オーバーフローし、上述の場合と同様にＭＳＢ側加算器の出力は２５６クロック当たり２回オーバーフローする。よって、ＭＳＢのオーバーフローの倍数の信号が得られる。
【００７９】
次に、もう１つの事象が発生し、（ＭＳＢ側加算器のオーバーフローレートの特定の倍数で）ＬＳＢ側加算器がオーバーフローすると、時間におけるその瞬間に加算器の出力をラッチする。このラッチされた信号によって、２つの非同期信号（入力クロックと出力クロック）間の“瞬間的な位相”関係が与えられる。この瞬間的な位相関係を用いて、出力クロックに対して入力クロック（参照クロック）何時変化したかを、たとえ出力クロックのエッジ間で変化した場合であっても、正確に算出することができる。この時間情報を用いて、出力クロックドメインにおいて振幅としてサンプルを訂正することができる。
【００８０】
以下は、タイミングエラー情報から振幅を訂正する他の実施例である。
【００８１】
サンプル列。（入力データ列上に、０次ホールドがあることに留意すべきである。）
【００８２】
……１１１１８８８８３３３・・・・・・
【００８３】
ここで、サンプルが値を変化させるところでサンプルを訂正する。（サンプルが決して変化しないなら、それが何時再クロックされるかに拘らず常に正しいから。）
【００８４】
……１１１Ｘ１８８８Ｘ２３３３・・・・・・
【００８５】
ここで、データが変化するポイントでＤＰＬＬからＭとＮ＿ＯＳの各値を取得し、以下のように計算する。
【００８６】
Ｘ１＝１＋（Ｎ＿ＯＳ／Ｍ）×（８−１）
【００８７】
Ｘ２＝８＋（Ｎ＿ＯＳ／Ｍ）×（３−８）
【００８８】
（Ｎ＿ＯＳ／Ｍ）が定数でない点に留意する。
【００８９】
図１８は、オーバーサンプルするがダウンサンプルしない１つの実施態様のブロック図を示す。このブロック図は図１３に類似しているが、ダウンサンプル用のフィルタを必要としない。
【００９０】
図１９は、ダウンサンプルするがオーバーサンプルしない１つの実施態様のブロック図を示す。このブロック図は図１３に類似しているが、オーバーサンプル用のフィルタを必要としない。
【００９１】
図２０は、オーバーサンプルもダウンサンプルもしない１つの実施態様のブロック図を示す。このブロック図は図１３に類似しているが、オーバーサンプル用のフィルタもダウンサンプル用のフィルタも必要としない。
【００９２】
図１３、図１８−図２０の回路では、ディジタルループは入力レートに対してロックする。或いは、入力レートのオーバーサンプルされたバージョンが利用できる場合は、ディジタルループは、入力レートと入力レートのオーバーサンプルされたバージョンの何れかをロックできる。
【００９３】
以下は、ＴＨＤ＋Ｎ（全高調波歪＋ノイズ）の議論である。
【００９４】
ダウンサンプル用のフィルタ及びＦＩＲ（有限インパルス応答）フィルタで構成されたアップサンプル用フィルタを備えた実施態様では、これらのフィルタが完全な場合、ＡＳＲＣは入力データの量子化雑音に対して動作する。しかし、これらのフィルタが理想的でない場合は、つまり、イメージ除去がせいぜい−１３０ｄＢ程度の場合、ＡＳＲＣに提供されたデータ内にあるため、スプリアストーンがこのレベルで現れることがあり得る。ＦＩＲフィルタを−２００ｄＢより大きいイメージ除去が得られるようにすることは完全に可能である。そしてこの場合、ＡＳＲＣは、入力データの量子化雑音によってのみ制限される。
【００９５】
別の実施態様は、以下のアルゴリズムを備えたコンピュータプログラムである。該アルゴリズムは、第１の規則的な時間基準（ｄｔ１）によって取得された信号のサンプルを表しているデータの順序シーケンスにアクセスし、第２の異なる時間基準（ｄｔ２）で同じ信号を表しているサンプルの第２の順序シーケンスを生成する。尚、２つの時間基準は、整数関係ではない。
【００９６】
第３の時間基準（ｄｔ３）でのサンプルの可能な中間的な順序集合は、第２の時間基準の整数比である（ｄｔ３＝ｄｔ２／Ｆ、Ｆ｛０，・・・ＩＮＦ｝）。該第３の時間基準は、第２の時間基準が第１の時間基準より実質的に短くない場合（即ち、ＮＯＴ（ｄｔ２＜＜ｄｔ１））に必要となる。
【００９７】
該アルゴリズムは、以下のような典型的な手順を含む。
【００９８】
第１手順（ｐ１）では、第３シーケンス（第３シーケンスが使用されない場合は、第２シーケンス）の等価な時間（ｔ３）が第１シーケンスの次の要素の時間を超過するまで、第１シーケンスのサンプルが第３シーケンス（第２シーケンス）の連続する要素中にコピーされる。
【００９９】
第２手順（ｐ２）は、ｐ１の後に（即ち、第３シーケンス（第２シーケンス）の等価な時間（ｔ３）が第１シーケンスの次の要素の時間を超過する時）実行される。本手順では、第３シーケンス（第２シーケンス）の単一の未決要素に第１シーケンスの現行要素（ｓ１）と第１シーケンスの次の要素（ｓ２）から、ｙ＝Ｓ１＋（ｔ３−ｔ１）（ｓ２−ｓ１）／ｄｔ３、または、第３シーケンスが使用されない場合は、ｙ＝Ｓ１＋（ｔ３−ｔ１）（ｓ２−ｓ１）／ｄｔ２として導出される値（ｙ）を充当する。
【０１００】
第３手順（ｐ３）は、ｐ２の後に実行され、第１シーケンスの等価な時間が第３シーケンス（第２シーケンス）の等価な時間を超過するように、第１シーケンスの順序ポインタをインクリメントする。第１手順（ｐ１）がその後リコールされる。
【０１０１】
処理は、ｐ３が第１シーケンスの最後に到達するまで続く。このポイントで、出力データ列は、第３或いは第２シーケンス内に存在する。第３シーケンスが用いられた場合は、第３シーケンスは第２シーケンスにダウンサンプルされ得る。ここで、第２シーケンスは、第２シーケンスの時間基準での第１シーケンスを表している。
【０１０２】
当該アルゴリズムは、例えば、１またはそれ以上の演算プロセッサによって実行される。
【図面の簡単な説明】
【０１０３】
【図１．２Ａ−２Ｋ】サンプル入力信号及び対応するサンプルポイントを示す図
【図１Ａ】非同期サンプルレート変換の問題を示す図
【図１Ｂ】０次ホールド機能を示す図
【図３】ディジタル位相同期ループを示す図
【図４】或る周波数でのディジタルループのロック方法を示すフローチャート
【図５】補正された信号を示すタイミング図
【図６】エラー要因を示すグラフ
【図７】２０ｄＢ／ｄｅｃａｄｅの傾斜のエラー周波数を示すグラフ
【図８】４０ｄＢ／ｄｅｃａｄｅの傾斜のエラー周波数を示すグラフ
【図９】再サンプリングによって誘導されたエラーを示すグラフ
【図１０】モジュロ演算加算器を示す図
【図１１】タイミングエラー情報に基づく振幅の訂正を示す図
【図１２】タイミングエラー情報に基づく振幅の訂正を示す図
【図１３】オーバーサンプリングとダウンサンプリングを備える一実施例を示すブロック図
【図１４】異なる周波数でループのロックとクロックを行いタイミングエラー情報を生成するディジタル位相同期ループを示す図
【図１５】簡単な電圧制御発振器を示す図
【図１６】リップルキャリー加算器により実現された電圧制御発振器を示す図
【図１７Ａ】本明細書に記載したようにロックするディジタルループを用いない回路のＲＴＬシミュレーションを示すグラフ
【図１７Ｂ】図１３に示す回路のＲＴＬシミュレーションを示すグラフ
【図１８】オーバーサンプリングを備え、ダウンサンプリングを備えない一実施例を示すブロック図
【図１９】ダウンサンプリングを備え、オーバーサンプリングを備えない一実施例を示すブロック図
【図２０】オーバーサンプリングとダウンサンプリングの何れも備えない一実施例を示すブロック図
【図２１】タイミングエラー情報に基づく振幅を訂正するための計算式
【図１Ａ】
2009504107.tif 000004
【図１Ｂ】
2009504107.tif 000005
【図１】
2009504107.tif 000006
【図２Ａ】
2009504107.tif 000007
【図２Ｂ】
2009504107.tif 000008
【図２Ｃ】
2009504107.tif 000009
【図２Ｄ】
2009504107.tif 000010
【図２Ｅ】
2009504107.tif 000011
【図２Ｆ】
2009504107.tif 000012
【図２Ｇ】
2009504107.tif 000013
【図２Ｈ】
2009504107.tif 000014
【図２Ｉ】
2009504107.tif 000015
【図２Ｊ】
2009504107.tif 000016
【図２Ｋ】
2009504107.tif 000017
【図３】
2009504107.tif 000018
【図４】
2009504107.tif 000019
【図５】
2009504107.tif 000020
【図６】
2009504107.tif 000021
【図７】
2009504107.tif 000022
【図８】
2009504107.tif 000023
【図９】
2009504107.tif 000024
【図１０】
2009504107.tif 000025
【図１１】
2009504107.tif 000026
【図１２】
2009504107.tif 000027
【図１３】
2009504107.tif 000028
【図１４】
2009504107.tif 000029
【図１５】
2009504107.tif 000030
【図１６】
2009504107.tif 000031
【図１７Ａ】
2009504107.tif 000032
【図１７Ｂ】
2009504107.tif 000033
【図１８】
2009504107.tif 000034
【図１９】
2009504107.tif 000035
【図２０】
2009504107.tif 000036
【図２１】
2009504107.tif 000037