JP2009504107A - 非同期サンプルレートコンバータ - Google Patents
非同期サンプルレートコンバータ Download PDFInfo
- Publication number
- JP2009504107A JP2009504107A JP2008530050A JP2008530050A JP2009504107A JP 2009504107 A JP2009504107 A JP 2009504107A JP 2008530050 A JP2008530050 A JP 2008530050A JP 2008530050 A JP2008530050 A JP 2008530050A JP 2009504107 A JP2009504107 A JP 2009504107A
- Authority
- JP
- Japan
- Prior art keywords
- rate
- sample
- input
- circuit
- conversion processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/06—Non-recursive filters
- H03H17/0621—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
- H03H17/0628—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing the input and output signals being derived from two separate clocks, i.e. asynchronous sample rate conversion
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
様々の実施態様は、入力レートでのサンプル列のサンプルレートを出力レートへ変換する。サンプル列のバージョンが、ディジタルループで生成されたタイミングエラー情報を用いて訂正される。ディジタルループは第1レートにロックされ、第2レートでクロックされる。
【選択図】 図
【選択図】 図
Description
[関連出願の参照]
本発明は、発明者マーティン・マリンソン及びダスティン・フォアマン、発明の名称「非同期サンプルレートコンバータ」、2006年8月15日提出の米国仮出願第60/838105号の利益を請求する。尚、当該米国仮出願の内容は、本明細書の一部を構成するものとして援用される。
本発明は、発明者マーティン・マリンソン及びダスティン・フォアマン、発明の名称「非同期サンプルレートコンバータ」、2006年8月15日提出の米国仮出願第60/838105号の利益を請求する。尚、当該米国仮出願の内容は、本明細書の一部を構成するものとして援用される。
[発明の概要]
本技術の一側面は、或る入力レートで連続するサンプル列のサンプルレートを出力レートに変換するサンプルレート変換処理を実行する方法である。前記出力レートは前記入力レートの整数倍とは異なる。サンプルレート変換処理の実行は、少なくとも、ディジタルループで生成されるタイミングエラー情報を用いて、前記サンプル列のバージョンを訂正する処理を含む。幾つかの実施態様では、前記タイミングエラー情報を用いて、前記サンプル列の前記バージョンの振幅を訂正する。前記ディジタルループは、前記入力レートの倍数の第1レートでロックされる。前記ディジタルループは、前記出力レートの倍数の第2レートでクロックされる。前記第2レートは前記第1レートの整数倍とは異なる。
本技術の一側面は、或る入力レートで連続するサンプル列のサンプルレートを出力レートに変換するサンプルレート変換処理を実行する方法である。前記出力レートは前記入力レートの整数倍とは異なる。サンプルレート変換処理の実行は、少なくとも、ディジタルループで生成されるタイミングエラー情報を用いて、前記サンプル列のバージョンを訂正する処理を含む。幾つかの実施態様では、前記タイミングエラー情報を用いて、前記サンプル列の前記バージョンの振幅を訂正する。前記ディジタルループは、前記入力レートの倍数の第1レートでロックされる。前記ディジタルループは、前記出力レートの倍数の第2レートでクロックされる。前記第2レートは前記第1レートの整数倍とは異なる。
様々の実施態様において、前記第1レートが前記入力レートの倍数であり、前記入力レートの倍数が1倍または1より大きい整数倍となる。前記入力レートの倍数が1倍の場合は、前記サンプル列の前記バージョンが、前記入力レートの前記サンプル列と同じとなる。前記入力レートの倍数が1より大きい整数倍の場合は、前記サンプル列の前記バージョンが、前記入力レートの前記サンプル列のオーバーサンプルされたバージョンとなる。
様々の実施態様において、前記第2レートが前記出力レートの倍数であり、前記出力レートの倍数が1倍または1より大きい整数倍となる。前記出力レートの倍数が1倍の場合は、前記第2レートが前記出力レートと等しくなる。
幾つかの実施態様は、前記第2レートでクロックすることにより前記サンプル列の前記バージョンを生成する。前記サンプル列の前記バージョンは、前記入力レートの整数倍ではなく前記第2レートでクロックすることに起因するタイミングエラーを含む。
幾つかの実施態様は、演算回路を用いて、前記ディジタルループをロックする前記第1レートに調節されたオーバーフローレートで、モジュールのオーバーフローを生成する。前記モジュールのオーバーフローの夫々が、前記演算回路による前記第1レートと前記第2レートの間のタイミングエラー情報の生成を指示している。リップルキャリー加算器が、斯かる演算回路の一例である。他の例には、減算回路に加えて他の加算回路が含まれる。更に他の例は、並行先読み桁上げ、及び、1サイクルルックアップテーブルがある。前記演算回路は出力状態の有限順序集合を生成すべきである。前記オーバーフロー、または、前記有限順序集合の順序付けに関して単調でない出力は、前記第2レート(サンプル列出力レートの倍数である)に対応する時間間隔より十分に長い期間を超えて評価された場合、前記第1レート(サンプル列入力レートの倍数である)と同じ周波数で発生するように調節される。当該等価性(当該比較的長い間隔を超える周波数の)を達成すると、オーバーフローのサイクルでの前記演算回路の状態変数が、前記第2レートに対する前記第1レートのタイミングエラーを符号化する。
幾つかの実施態様では、前記入力レートの前記サンプル列が、S/PDIF(ソニー/フィリップスディジタルインターフェースフォーマット)信号から入力される。当該実施態様では、前記入力レートはS/PDIF信号のワードクロックであり、前記サンプル列の要素は、S/PDIF直列データストリームから抽出された並列化データである。一般に、S/PDIF信号自体は、バイフェーズエンコードされた直列データ伝送プロトコルであり、その中でエンコードされたデータ、第1のバイフェーズがデコードされる場合は、並列化され、そして、S/PDIF信号の内蔵ワードクロックのレートで本実施態様に供給される。
様々の実施態様は、以下に示す1つ以上の種々の性能特性を有する。前記サンプルレート変換処理は、ダイナミックレンジが主として入力量子化雑音によって制限される。前記サンプルレート変換処理は、ダイナミックレンジが主として入力量子化雑音、オーバーサンプリング有限インパルス応答フィルタのイメージ除去、及び、ダウンサンプリング有限インパルス応答フィルタのイメージ除去によって制限される。前記サンプルレート変換処理は、最大ダウンサンプリング比が主として出力レートによって制限される。前記サンプルレート変換処理が、最大オーバーサンプリング比が主として前記回路の論理合成を特徴付けるレート制限によって制限される。
本技術の別側面は、或る入力レートで連続するサンプル列のサンプルレートを出力レートに変換するサンプルレート変換処理を実行する回路である。前記出力レートは前記入力レートの整数倍とは異なる。前記回路は、前記入力レートの倍数の第1レートでロックされるディジタルループを備える。前記ディジタルループは、前記出力レートの倍数の第2レートでクロックされる。前記第2レートは前記第1レートの整数倍とは異なる。前記ディジタルループは、周波数検出及び低域通過フィルタ回路と、可変発振回路を用いて形成される。前記ディジタルループは、タイミングエラー情報を生成する。前記回路は、前記タイミングエラー情報を用いて、前記サンプル列のバージョンを訂正する回路を備える。前記ディジタルループ内の周波数検出の一例は、平均周波数、または、長期周波数であり、それは、位相検出が周波数検出の一例となるようにゼロの平均位相エラーと等価である。
様々の実施態様は、上述の方法を実行する回路、例えば、前記第2レートでクロックすることで前記サンプル列のオーバーサンプルされたバージョンを生成する回路(前記オーバーサンプルされたバージョンは前記入力レートの整数倍ではなく前記第2レートでクロックすることに起因するタイミングエラーを含む)、前記タイミングエラー情報を用いて、前記サンプル列のオーバーサンプルされた前記バージョンの振幅を訂正する回路を含む。
様々の実施態様では、前記ディジタルループが、前記入力レートと前記第2レート間のタイミングエラー情報、または、前記第1レートと前記第2レート間のタイミングエラー情報を生成する。
様々の実施態様では、前記可変発振回路が有限モジュラス(絶対値が有限の)演算回路を含む。
様々の実施態様では、前記可変発振回路が、上位ビット側回路と前記上位ビット側回路と接続した下位ビット側回路を有する桁上げ加算回路を備える。前記下位ビット側回路がオーバーフローを生成する。前記オーバーフローは、前記入力レートと前記第2レート間のタイミングエラー情報の前記桁上げ加算回路による生成を示す。
幾つかの実施態様は、前記回路に集積化された入力部を備える。前記入力部は、S/PDIF(ソニー/フィリップスディジタルインターフェースフォーマット)信号から入力される前記入力レートで連続する前記サンプル列を受信する。
別側面は、本技術を実現するアルゴリズムを実行するコンピュータプログラムである。
[詳細な説明]
システム中のエラーを判断するに当たり、固定周波数に維持するのが好都合である。
システム中のエラーを判断するに当たり、固定周波数に維持するのが好都合である。
本技術は、ASRC(非同期サンプルレートコンバータ)の新しい方法に関し、当該新しい方法では、ASRCをそれにロックするためのオーバーサンプルされた入力クロックを生成するためのアナログPLLを必要としない。本技術に基づく回路を用いることで、オーバーサンプルされた入力クロックを全く生成することなく、オーバーサンプルされた入力クロックが何処に存在するであろうかを予測することが可能となる。
本技術を利用することで、アナログ位相同期ループ(PLL)が、オーバーサンプルされた入力クロックが非同期入力をサンプルするのに用いられるキックダウンに関連して何処にあるかの情報を生成する必要がない。本技術は、アナログPLL中において、入力サンプルレートの倍数を生成し、それを前記アナログPLLの出力に変換するのに用いることができる。
入力信号とフィードバック信号を受け付けるように構成されたアップダウンカウンタと、前記アップダウンカウンタからの出力信号を受け取り、キャリー(桁上げ)出力を前記アップダウンカウンタに前記フィードバック信号として出力する加算器を備えた第1回路ループと、合計出力を前記加算器からモジュレータに転送し、前記モジュレータからの出力を前記加算器の入力にフィードバックする第2回路ループと、を有することで、タイムドメイン補間としてサンプルレートを訂正するための回路が提供される。
アナログ信号は連続変化量であり、常に値を有し、連続的な振幅を有する。従来、規則的な時間間隔でのアナログ量に最も近い各近似値の量子化された数(有限の分解能の数)のシーケンスを生成することで、アナログ信号に対するディジタル近似が行われる。例えば、CDプレーヤによる音声信号のディジタル化は、44.1kHzの基準レートで所謂“16ビット分解能”のサンプルを得ることで実現される。“16ビット分解能”は、振幅のディジタル代表値が16の2値ビットに亘り、約65536分の1或いは約16ppm(parts per million)の精度であることを意味している。他の例として、DVDディスクに記録されたディジタル音声がある。この場合、振幅のサンプルは24ビットまたは約0.06ppmの分解能を有し、これらのサンプルを得るための基準レートは48kHzである。それ故、音声民生用途では、少なくとも2つのサンプルレート(44.1kHzと48kHz)と2つの異なる振幅分解能(16ビットと24ビット)が共通に使用される。図1Aに一例を示す。この例では、SIGNAL1が44.1kHzでサンプルされ、“×”で示される一連のポイントが得られ、SIGNAL2がより高い周波数(48kHz)でサンプルされ、“○”で示される一連のポイントが得られる。
1つのシステム内に2つのサンプルレートが存在することで、不都合が生じ得る。一連のディジタル音声データがDVDソースから48kHzで入力し、44.1kHzの第2の一連のデータが、ADC及びマイクロフォンソースから入力する場合(この状態は、“カラオケ”装置において、バックの楽器演奏としてDVDを使用し、前記ADCが歌手の音声をエンコードする場合に起こる)を想定する。どのようにすれば、これら2つの信号を混合して、同じ音声出力装置から出力させることができるか。これらの入力が異なる時間に入力するので、問題となる。つまり、ディジタル信号プロセッサを動作させるのに48kHzソースを使用すると(或いは、より詳細には、前記DSPが48kHzのサンプル上で動作するように構成されていると)、44.1kHzのサンプル信号は、48kHzサンプルの間に入力することになり、2つのサンプルレート信号を一緒に処理するには、44.1kHzのサンプル信号を遅らせるか、或いは、48kHzの基準レートに近似化しなければならない。以上が“非同期サンプルレート”変換における問題であり、本開示は、或る選択されたクロックに関して非同期に入力する信号のサンプルがどのように当該クロックでのサンプルとして近似できるかを教示するものである。前記非同期サンプルは、所定のクロックドメインの同期サンプルに変換される。同期サンプルはその変換にも拘わらず、当初の(今は新しいクロックに関して非同期の)ドメインでサンプルされたように信号を正確に表現する。
本技術では、前記選択されたクロックは、入力サンプルレートより十分に大きいレートとすることができる。図1Bは、44.1kHzのサンプル列を、“0次ホールド” 機能を実行する44.1kHzよりかなり高いクロックレートに如何にして近似化するかを示している。
“0次ホールド”機能は、速い方のクロックで見た最後のサンプルを単純に繰り返すものである。尚、図1Bでは、一般的に、44.1kHzでのサンプルは、より高いクロックレートの如何なるサンプルとも同時には発生していないことを示している。より高いクロックレートのサンプルは、44.1kHzドメインで最後に見たサンプルの繰り返しである。それ故、図2Dに示すように、より高いクロックドメインで最初に変化したサンプルより少し前に入力サンプルが変化するというエラーが存在する。
図1に、周波数fで動作しているアナログ入力信号のサンプルを示す。一般的な方法では、信号のサンプルはサンプルポイントで取得され、サンプル数nは当該サンプルの精度を決定する。サンプル数が多いほど、より高い精度でのアナログ信号の読み出しが可能となる。従って、サンプル取得の周波数は、入力信号の周波数より非常に高い。例えば、図2Aを参照すると、入力してくる信号202が44.1kHzで動作していると仮定すると、データサンプルポイント204は、27MHzで取得される。
しかしながら、そのポイントでの信号の正確な値の予測を試みるとエラーが発生する。データをサンプルする回路内の待ち時間が信号読み取り時のエラーを引き起こす。例えば、サンプルポイント206は、それ以前のサンプルに引き続き取得される。しかしながら、サンプル208は遷移点にあり、そこでは、次のサンプル210が半分のポイントで読み込まれ、引き続いて、サンプル212が読み込まれ、その後に、サンプル214、216が続く。継続すると、サンプルポイント218が取得され、そして、サンプルポイント220で次の遷移点となる。従来の回路は、ポイント224、226と続くポイント222を読み出す。しかしながら、理想的な実際のポイントは、コーナーポイント228、230である。再度、回路内の待ち時間が、斯かるアーチファクトの発生、及び、信号がエラーの中央で読み込まれることの要因となっている。従来のシステムでは、入力周波数f(in)を特定するために入力をオーバーサンプルしている。しかしながら、この方法は、不正確であり、より正確なサンプルを得るために高価な回路を必要とする。
図2Bに、入力ポイントと出力クロックポイントを比較して示す。図2Bに示すように、出力クロックポイントは、入力ポイントの後で発生している。従って、それらは、異なる周波数でのポイントである。図2Cはディジタル化された信号を示す図であり、×印は入力クロックでの実際の入力を示し、○印は正確な出力クロックポイントを示している。理想的には、○印は出力クロック信号ポイントを示す。同期クロックを用いる従来のシステムでは、これは不可能であり、信号のアーチファクトが生じる。
従って、一般的なアーチファクトに対する訂正を行い、より正確な信号のサンプリングのためのシステム及び方法に対する技術的な要求が存在する。以下に示すように、本技術は、当該要求を簡潔な方法で達成するものである。
本技術は、タイムドメイン補間によって非同期サンプルレート訂正を行う信号処理素子に対するものである。動作において、ディジタル信号は、固定された比較的大きな時間間隔で分離されたディルタル数列として表される。この信号は入力として受信され、異なる比較的短い時間間隔で分離された出力ディルタル数列を生成するために処理される。入力データ列と出力データ列の時間間隔が異なり、夫々の周波数において如何なる共通要因も有しないかも知れないという事実にも拘らず、アーチファクト或いは新たに生成された信号列へのエラーの取り込み無しに、当該処理は動作する。
本技術によれば、出力サンプルの殆どは、入力サンプルの単純な複製である。しかしながら、入力信号中の変化を検出すると、出力サンプルは、1つの斯かるサンプルに対して、古い入力値と新しい出力値の間の中間値に設定される。この単一の中間的サンプルを生成した後、出力は再び、新たな入力サンプルの現在値を複製する。従って、より低いレートで動作している入力信号の変化が検知される都度、前記単一の中間的サンプルを生成することで、タイミング及びサンプリングのエラーの訂正が実行される。
補間データポイントは、前記訂正を提供するために出力データ列内に挿入されたことが観測される。中間的サンプルの値は、入力サンプルを囲む2つの出力サンプルポイント間における入力サンプルポイントの相対的なタイミングから決定される。2つの出力サンプルポイント間の入力サンプルポイントの正確な位置は、出力サンプルレートで完全に動作するロジックによって決定される。つまり、如何なるロジックも出力サンプルレートより速くは動作しないという事実にも拘らず、本技術は、入力サンプルタイムを正確に測定する手段を提供する。
一般的に、本技術は、より速い出力クロック、入力クロックの変化したポイントの測定、及び、タイムドメイン補間の3つの基本的特徴を有するシステム及び方法に対するものである。その目的は、入力及び出力データ間の差異を考慮することである。
一実施態様において、早い出力クロックほど、より良く入力信号ポイントを取得する。実際に、入力クロックは出力クロックの間で発生するこができ、各入力ポイントは新たなサンプルポイントを生成する。出力クロックの各サイクルで単純に入力をサンプルすることが可能である。しかしながら、読み出した入力クロック信号値を見逃す可能性もある。つまり、図2Dの図示を参照すると、影付き領域234が、入力信号が見逃された部分となる。従って、システムは次のクロックサイクルを待つ必要が生じる。これは、従来システムにおけるケースである。これに対し、本技術によれば、この第1パスは無視され、この第1サイクルは見逃される。次ステップにおいて、図2Eに示すように、入力ポイントの高ポイントと低ポイントの中間に発生する中間的ポイントが生成される。つまり、ポイント238が入力信号からの前のポイントであり、ポイント240が生成された中間的ポイントであり、ポイント242が新たな入力ポイントである。本技術によれば、新しい信号の図2Eに示す領域236が生成された中間値を有している。当該値の導出方法について以下に説明する。
従って、入力クロックの出現時に見える入力サンプルを単に使用するだけでは、エラーが発生する。入力は、最後のクロックサイクルの直後に変化することにはならない。入力の前記影付き領域が見逃される。しかしながら、出力は、任意の出力クロック数だけ遅延できる。このことで出力が歪むことはない。従って、上記例の如く、入力がサンプルでき、1以上のクロックサイクルの遅延が発生し得る。これにより、システムは古い値と新しい値の間にポイントを挿入することができる。斯かる値は、面積が同じとなるようなポイントに挿入される。出力は、常に出力サイクル上で変化するのみである。システムは、中間的ポイントを使用することで、入力がクロックで変化しなかった事実を相殺できる。最終結果において、上記領域234と236の面積が同じに維持される。このことは、一実施態様において、図3に示すような位相同期ループを用いて実現される。
図3に、タイムドメイン補間によって周波数を特定するように構成されたシステムを提供する本技術の一実施態様を示す。位相同期ループ300が、入力信号のサイクルを同期させるアップダウン(U/D)カウンタ制御304で受信される入力信号302を受信するように提供される。アップダウンカウンタは、本具体例では10ビットの信号306を、モジュロ加算器308に出力する。加算器308は、その中で回路が動作する2つのフィードバックループの一部を形成する。加算器308は、本具体例では同じく10ビットの信号309を、本具体例では27MHzのクロック312に基づいて動作するモジュレータ310に出力し、モジュレータ310は、フィードバックループ314を経由して転送されるフィードバック信号、及び、対応する出力信号316を生成する。モジュロ加算器は、信号320を出力する。信号320は、44.1kHzのキャリー出力信号として出力され、フィードバックループ322を経由してアップダウンカウンタ304のダウン入力にフィードバックされるキャリー出力パルスである。入力信号302は、アップダウンカウンタ304のアップ入力に供給される。
動作中に、第1周波数、例えば、44.1kHzで動作している入力信号が、アップダウンカウンタのアップ入力に入力される。アップダウンカウンタの出力は加算器の1つの入力に転送される。モジュロ加算器の出力が、第2周波数、例えば、27MHzでクロックされているモジュレータに入力され、モジュレータの出力が、前記回路の第1出力“M”を生成し、前記加算器の第2の入力としてフィードバックされる。加算器は、アップダウンカウンタのダウン入力にフィードバックされるキャリー出力を有する。キャリー出力は、第2出力である出力信号のフロントエッジをリセットして、加算器からオーバーフローした時にアップダウンカウンタをリセットする。加算器は、本具体例では10ビットのカウンタの出力を、“M”からの10ビット出力信号に加算する。従って、サンプルレートのポイントは、算出式x0=xn+(M/N)(xN+1−xN)で与えられる。但し、M/Nはタイミング上のエラーである。
サンプルレートタイムは、以下のように決定される。先ず、モジュロ加算器308が、出力クロックレート312で、入力313を実行中の合計に加算するように構成される。前記加算器は、ディジタル加算器と有限整数幅で動作するレジスタ、或いは、増加する値を加算するように構成された他の既知の加算装置として構成されても良い。加算器が有限幅であり、最終的に最大値に達してオーバーフローするので、実行中の合計は最終的にはオーバーフローして、出力パルス320を生成する。本技術によれば、モジュロ加算器308からのオーバーフロー320の周波数レートは、入力サンプル302の入力レートと比較される。入力サンプル302の入力レートが加算器のオーバーフローのレートを越えると、出力サイクル毎に加算される値である加算器への入力は増加する。逆に、入力サンプル302の入力レートが加算器のオーバーフローのレートより小さいと、加算器への入力は減少する。それ故、制御ループ314が存在し、そこで、加算器への入力は両レートが等しくなる値に安定する。
図4に、回路300の動作を一般的に示すフローチャート400を示す。ステップ402で、入力周波数で動作する入力信号が受信される。ステップ404で、アップダウンカウンタにおいて上向きのカウントが起こる。ステップ406で、キャリー出力パルスがあるか否かが判断される。キャリー出力が無ければ、ステップ408で、カウント処理が再開される。一旦、キャリー出力が発生すると、ステップ410に移行して、アップダウンカウンタが、図5のベースライン値Bで示すダウンカウントにリセットされる。
最初は、カウンタ値はゼロで(図3の符号318はカウンタ出力を示す)、加算器は決してオーバーフローしない。加算器はゼロを加算する。しかしながら、最終的に入力信号はカウンタをインクリメントする。そこで、加算器は最終的には必ずオーバーフローする。更に、加算器のオーバーフローのレートが入力クロックのレートと等しいときに、カウンタは単に平衡に達する。例えば、入力クロックレートが44.1kHzで、出力クロックレートが1MHzで、バス幅がN=20の場合、カウンタは、その値が以下の時に動作を停止する。
44e3/1E6×220=46137
これは、上記数値において、カウンタのオーバーフローレートが、46137/220×1MHz=44e3となるからである。従って、カウンタには、アップカウントと丁度同数のダウンカウントが存在する。
44e3/1E6×220=46137
これは、上記数値において、カウンタのオーバーフローレートが、46137/220×1MHz=44e3となるからである。従って、カウンタには、アップカウントと丁度同数のダウンカウントが存在する。
前記カウンタ値が実質的に安定して、上記システムがロックしたとき、入力クロックの入力時の前記レジスタの値が前記入力の位置におけるエラーを表すことに注目される。より具体的には、キャリー出力の発生時に、システムが前記レジスタ値でロックする。これは、丁度フルスケールを超えた状態である。また、このことが、何故オーバーフローが存在するかの理由である。図2Fを参照すると、カウンタ値である数(A)は、丁度、レジスタ内の数に加算されたところである。それ故、レジスタ内の現在の数は、数(A)より小さい或る数である。図2Fでは、レジスタ内の数はFSで示されている。合計値に数(A)が加算される毎に、或るポイントにおいて、それはFSよりBだけ超過し、そのBはAより小さくなければならない。本実施態様では、カウンタ内の数はNで、レジスタがオーバーフローするまでの値はMである。
図2Gを参照して、M/Nの値が、サンプルタイムにおけるエラーであることが述べられている。このことは、更に、図2Hにも示されている。入力クロックポイントが何処に存在するかをシステムが知ることができる個所で、上述及び図3に示したループにおいて、それはM/Nを観察する。図2Iに、中間的サンプルが古いサンプルPと新しいサンプルQから生成されることが示されている。中間的サンプルは、S=P+M/N×(Q−P)となる。再度、システムは、入力クロック位置が何処に存在するか知ることができ、これらの値から、中間的サンプルSを生成することができる。システムは、単一のサンプルを出力サンプル内に挿入する。それは、入力の最終サンプルと入力の次サンプルの中間にある。それは、ディジタルループを入力クロックと出力クロックにロックさせることで計算される。“M”はループレジスタがオーバーフローするまでの値であり、“N”はループカウンタの値である。中間的サンプルは、S=P+M/N×(Q−P)となる。
本技術は、入力サンプルの位置は、オーバーフロー直後の加算器に存在する残差(残余値)によって決定され得るという所見に基づいている。加算器がオーバーフローしたときの値は、前記クロックに関連した時間における前記信号の位置に比例する。特に、モジュロ加算器においてオーバーフローが検出されると、有限幅の加算器に残っている数である前記残差が、出力レートでのサンプル間の入力サンプルの相対的な位置に比例すると認められる。つまり、当該位置が決定され、出力サンプルレートクロックより速く動作する如何なるロジックも用いずに、中間的サンプルが当該決定を用いて生成される。
図5に、補正された信号のタイミング図を示す。動作中は、処理の余分な(over)サイクルが繰り返される。図示する例では、C1−C4が4サイクル毎に繰り返されている。図示する具体例では、4つのチャンネルが存在する。特定のアプリケーションでは、それ以上またはそれ以下のチャンネル数が必要とされる。各チャンネルの期間は、モジュロ加算器のクロック周波数312を信号周波数で除算することで決定される。本実施例では、27MHz/44.1kHz=612.25となる。つまり、C1−C4の夫々は略等しい。加算器は、時間幅Nを超える毎にサイズMの増分で加算する。一旦、モジュロ加算器が、最大限Lを超える値でオーバーフローすると、回路は、最小限のベースライン値Bにリセットされる。本技術によれば、各ステージM1−M4のオーバーフロー値は、入力する信号のより正確な遷移ポイントを決定するのに使用される。このオーバーフロー値は変化し、図5に示す例の如く、時間の経過と共に減少する場合がある。実際には、612.25ms毎にサンプルポイントを設定することで、エラーが減少する。
面積は補正の領域を規定する。より具体的には、図6に示すように、A1は入力の面積で、A2は中間ポイントについての面積である。各面積は、小面積サンプルの集まりで構成される。該面積の合計は同じである。図2Jに示すように、入力信号面積は、入力からのδAiの合計によって構成され、出力信号面積は、出力信号の合計からのδAiによって構成される。しかしながら、各面積の重心は同じではなく、図2Jに示す面積の例より明らかである。図2Kを参照すると、数学的な説明が導かれる。i(x)を入力信号、xを間隔のスタートからの距離、o(x)を出力信号とする。間隔は、図21(A)の方程式を満足するように調整される。曲線下の面積は同じであるが、図21(B)の方程式に従う。この式は、関数の第1モーメントの重心である。これらは、分離した領域では一致しない。しかしながら、本技術によれば、2つの中間ポイントを用いることで、図21(C)、(D)に示すように、第1モーメントが一致する。
従って、一致した夫々の追加モーメントは、得られた近似の次数を増加する。図7に示す周波数ドメインでは、面積が一致すると、エラー周波数が20dB/decadeで低下する。更に、図8に示すように、各面積のモーメントが一致すると、エラー周波数が40dB/decadeで低下する。
従って、本技術は、n次のタイムドメイン非同期信号レンジコンバータ補間器を有することのできるシステムを提供する。このことは、実際の入力変化を検出するのにディジタル同期ループを用いることで実現できる。エラーの任意の高次の周波数が、中間的サンプルを用いることで除外される。
以下は、本技術の別の説明である。殆どのアプリケーションで、ディジタルデータ列がアナログ信号を置換する。ディジタルデータ列は、特定のクロックレートで量子化された一連のサンプルである。多くのシステム、特にオーディオシステムは、異なるデータレートのデータ、一般的な例では、ある装置から毎秒44.1kサンプルで入力し、他の装置から毎秒48kサンプルで入力するオーディオデータを操作することを要求される。データレートを変えることができるなら(例えば、44.1ks/sのサンプル列を48ks/sに変換できるなら)、固定サンプルレートでの同じ後処理システムを使用できる。無関係のクロック間でサンプルレート変換する問題は、非同期サンプルレートコンバータ(ASRC、単にSRC)を使用することで解決する。
ここで記載するSRCは、非同期入力列を出力クロックドメインの倍数にオーバーサンプルし、そして、出力クロックドメインでサブサンプルすることで動作する。44.1kと48kの例を用いて、このSRCの動作を説明する。出力クロックレートの倍数、本実施例では、256×48k=12.288MHzで動作するロジックを用いる。入力サンプルは、当該クロックと関係ないレートで変化する。しかし、我々は、44.1kの入力サンプルを12.288MHzのクロックドメインにサンプルすることで処理を開始する。サンプルのタイミングは保持されないので、入力データを出力クロックに単純に再サンプルする処理では歪が生じる。当該歪は、入力が変化したときにできるエラーに起因し、そのポイントで、出力は該データ変化の正確な時間を保持しない。このエラーは、44.1kHz/12.288MHzのレートでの時間についてのエラーである。図9は、出力クロック間でデータが変化し、エラーが発生している様子を示している。影領域901はエラーを表している。基本的には、該エラーを検出できれば、出力サンプルに対して何らかの補正が施せる。
12.288MHzレートでのみ動作するロジックを使用して該エラーを検出することができる。12.288MHzで動作するディジタルPLLを構築して、入力サンプルが実際に変化した時間での正確なポイントを検出する。図10に示すように、当該検出は、有限幅の加算器であるモジュロ加算器を用い、オーバーフローを無視することで行われる。オーバーフローの起きる出力レートが入力クロックレートと同じになるまで、入力量が調整される。ここで留意すべきは、ディジタルループの出力は12.288MHzドメインにおいて同期しており、入力レートは非同期であるが、その平均レートはアップダウンカウンタの動作により同じになるように調整される点である。これにより、ディジタル周波数ロックループが形成される。加算器のオーバーフロー“co”は、12.288MHzドメインにおける入力クロックにロックされた周波数である。オーバーフロー“co”が起きた時点で加算器の合計“sum”出力バスの内容が検査されると、該合計出力が実に非同期の入力変化が発生した正確なポイントをエンコードしていることに思い至った。具体的には、数量“m=sum/inc”(但し、“inc”はアップダウンカウンタの内容である)が計算されると、“m”は、12.288MHzクロックドメイン内に存在する入力クロック時間の比率となる。例えば、m=1/4であると、入力非同期クロックは連続する2つの12.288MHzクロックポイントの間の1/4のところで実際に変化したことになり、同様に、m=1/2であると、2つの12.288MHzパルスの間の1/2のところで変化したことになる。出力クロックレートの倍数で動作するロジック以外の如何なるロジックも用いず、DPLL用のバス幅に比例する精度範囲で、入力サンプルが変化する正確なポイントが導出された。これにより、出力データ列を訂正するに必要な全ての情報が得られた。
出力サンプルは、図9に示す影領域を考慮することによって正確になる。該影領域は出力データ列内のエラーを表している。該エラーは、任意の次数で訂正可能であり、変換性能は、訂正の次数、及び、出力データレートに対する入力データレートの比と関係する。
タイムドメインでの1次または線形補間は以下のように行われる。DPLLを用いて、12.288MHzの出力クロックに対して何処で入力データ列が変化したかを算出する。このポイントから、時間におけるエラーを計算でき、1次訂正を加えるためのエラーのあるサンプルの振幅を変化させる。図11及び図12に、当該訂正について図示する。時間におけるエラーを、1次で一致する振幅エラーに変換する。図11において、“dy”は入力サンプルの振幅の変化を示している。“dx”は、出力クロックの周期、つまり、1/12.288MHzであり、“dw”は、非同期入力が変化した時と出力クロックにその変化が現れる時の時間差を示している。図12において、“dh”は、エラーが1次で一致するようにサンプルを変調する値を示している。
図11の影領域は“重量”として捉えることができ、図12の影領域で示すように、振幅エラー中に同じ“重量”を生成しなければならない。その計算は、以下のようになる。
dw・dy=時間エラー=振幅エラー=dx・dh
dw・dy=時間エラー=振幅エラー=dx・dh
DPLLから“m”と表記される値は、上記方程式では“dw”を表している。DPLLは12.288MHzのレートでクロックされているので、“dx”は1である。“dy”は2つの入力サンプルの差として簡単に計算される。これらの情報から、以下にしめすように、簡単な計算によって“dh”の値を決定することができる。
dh=m・入力差
dh=m・入力差
新たな入力サンプルが“dh”に変化し、エラーの“重量”を同じにして1次で該エラーが訂正されると、12.288MHzタイムドメインでの理想的な出力列に対して1次近似が実施される。1つの一過性サンプルを調整した後、ナイキスト出力レートに対して該データをフィルタし、出力レートでサブサンプルすることで、SRC変換を完了する。全体の処理を完了するのに、入力サンプル当たり1つのタイムドメイン補間ポイントを使用した。
上記アイデアを拡張して、共通のポイントについて“重量”を一致させるだけではなく、“モーメント”をも一致させることで、上記近似は、2次或いは更に高次へと増加する。補間ポイントの計算の複雑さを増すことで多くの次数への拡張は可能である。出力サンプルレートに対して入力レートが低い場合に、最適性能が得られる。必要ではないが、入力クロックの倍数を用いて最初にSRCを通過する前の入力データ列をオーバーサンプルすることで、最適性能が得られる。44.1kHzから48kHzトーンへ変換時の性能は、入力が64倍(64×44.1kHz=2.8224MHz)でオーバーサンプルされ、(256×48kHz=12.288MHz)のレートで動作するSRCに入力することで、180dBより良くなる。図13に、SRCのブロック図を示し、図17Bに、32ビット精度で実行したRTLシミュレーションの出力を示す。ワーストケースの結果(それは、最高信号周波数、20kHzで発生する)が表示されている。
以下は、入力信号の仮想上方変換付きのASRCと呼ばれる本技術の別の説明である。
従前のASRCでは、44.1kHzでの入力信号を受け付け、48kHzに変換しようとする場合があった。44.1kHzでの入力データを、例えば64×44.1kHz等のあるレートへ実際にオーバーサンプルし、それを256×48kHz等のオーバーサンプルされた出力レートに変換し、そして48kHzまで低減して戻すことで、性能は大幅に改善された。このためには、幾つかの信号のフィルタリング及びクロッキングが必要であるが、その効果は絶大である。該処理が如何にうまく機能するかを、以下の例を用いて説明する。図17Aは、2次ASRCを用いて、44.1kHzのサンプルレートを直接256×48kHzに変換して、48kHzまで低減した場合を示す。
図17Bは、全く同じ信号を変換した場合を示しているが、ここでは、64×44.1kHzにオーバーサンプルしたものを256×48kHzに変換して、48kHzまで低減している。
ASRCに入力する前に先ず入力データをより高いレートにオーバーサンプルすることの大きな性能向上は、図17Aと図17Bを比較することより明らかである。図17Aでは、クロックドメイン変換によって生じたエラーである追加のスパイクが見られる。図17Bでは、スパイクは、入力信号と、48kHzの出力サンプルレートと20kHzの入力信号の差を表している20kHzと28kHzにある。
従前のASRC技術では、アナログPLLを介した64×44.1kHzの生成を必要としていた。本実施態様は、入力信号の仮想上方変換付きのASRCを含み、ASRCがロックするオーバーサンプル入力クロックをアナログPLLが生成する必要性を排除している。当該回路は、オーバーサンプル入力クロックが何処にあるかを、実際にそれを全く生成することなく推定することができる。つまり、“入力信号の仮想上方変換付きのASRC”である。ASRCがロックする実際の入力オーバーサンプルクロックはないが、そのタイミングが何処にあるかを導出でき、そのクロックを実際に持っているかの如く出力データ列を訂正することができる。図13は、サンプルレート変換の本技術を示している。
オーバーサンプルして低減するのに必要なASRCと全てフィルタリングを生成するディジタルロジック回路は、出力クロックドメインで実現できる。ASRCは、ディジタルPLLを用いて44.1kHzをロックし、オーバーサンプルされた(64×44.1kHz)クロックパルスを生成する。これらのパルスは、実際には256×48kHzクロックによって生成されるので、当該パルスのタイミングは不正確である。アナログPLLによって生成された正確な64×44.1kHzのクロックにディジタルPLLが実際にロックしているかのように、この新しい回路は、44.1kHzにロックして、サンプルレートコンバータにオーバーサンプルパルスの夫々が“仮想” オーバーサンプルクロックからどの程度外れているかを実際に示すある位相情報を生成する。
それ故に、64×44.1kHzのクロックのタイミングが何処にあるであろうかが実際に分かるので、ASRCに行く前に64×44.1kHzを生成する必要性が排除される。このことは、サンプルレートコンバータ全体でただ1つのクロックドメインが存在するだけであるので、チップが比較的に容易に作製できることを意味している。
本技術が可能であるのは、ディジタルPLLがある周波数(即ち、44.1kHz)にロックすることができ、あるオーバーサンプルレート(即ち、64×44.1kHz)でのクロックエッジが実際に何処にあるかを示すタイミング情報を正確に生成するという事実によるものである。当該タイミング情報はASRCに転送され、ASRCはその情報を用いてこのタイミングエラーを訂正すべく出力データ列を調節する。実際にオーバーサンプルクロックを必要とせず、本技術の“仮想” オーバーサンプルクロックの相対的なタイミングの情報を有しているので、オーバーサンプル入力クロックドメイン上にあるべき入力オーバーサンプル回路を、出力クロックドメインを用いてクロックでき、ASRCを用いて不一致タイミングを訂正するためにデータを調整することができる。
図14は、“仮想” オーバーサンプルクロック(“P_OS”と表示)とタイミング情報(“M”と“N_OS”から導出される)を生成できるディジタルPLLが如何に構成されているかを示す。
図14に示す回路は、参照周波数(入力クロック)の倍数を用いてDPLLが如何に生成されるかを示している。ある瞬間の位相情報を再生するために、データ“N_OS”と“N”がDPLLから抽出される。理論上は、如何なる回路も、位相整合され、参照周波数の倍数、更には,分数であり得るクロックを発生することで、DPLL機能を奏する。
例えば、参照周波数を任意の周波数F1で取り込み、出力周波数X×F1(但し、Xはある実数)を生成でき、位相整合される、(参照クロックF1の立ち上がりまたは立下りエッジ、及び、出力クロックX×F1の全Xの立ち上がりまたは立下りエッジは、“ロック”され、それらのエッジは長期に亘って相互にドリフトしないことを意味する)如何なる回路も、DPLLと考えられる。DPLLは、幾つかのブロックだけが正確な動作を必要とするPLLと類似する。
1.位相検出器
2.積算器
3.VCO
1.位相検出器
2.積算器
3.VCO
動作は以下の通りである。参照周波数入力が位相検出器に入力し、VCOの出力である回路の出力と比較される。エラーは信号の2つの位相差であり、該エラーが積算器で積算される。積算器の出力は、フィードバックループを形成する“VCO”を調節する。該フィードバックループは、“位相検出器”からのエラーをゼロとなるように、つまり、“位相検出器”への2つの入力が同じになるように、更には、2つの入力(参照周波数と“VCO”の出力)が同じとなるべく、動作する。
“VCO”を制御する入力と出力周波数の間の関係が分かれば、容易に瞬間的な位相を抽出することができる。
前の図に記載した回路では、DPLLの3つのコアブロックは、以下の通りである。
1.位相検出器(これは、“アップダウンカウンタ及び位相整合ロジック”ブロック内にある。)
2.積算器(これは、“アップダウンカウンタ及び位相整合ロジック”ブロック内にある。)
3.VCO(これは、“出力クロック”でクロックされる下側のDFF付きの2つの加算器ブロックである。)
1.位相検出器(これは、“アップダウンカウンタ及び位相整合ロジック”ブロック内にある。)
2.積算器(これは、“アップダウンカウンタ及び位相整合ロジック”ブロック内にある。)
3.VCO(これは、“出力クロック”でクロックされる下側のDFF付きの2つの加算器ブロックである。)
このVCOの接続形態を用いると、入力を符号無しデータとして扱う場合、入力(信号“M”)の数と出力周波数の関係は、フルスケール入力の2分の1まで線形である。信号“M”は“m”ビット幅で、MSB側とLSB側の2つのパートに分割される。MSB側は、上位の“os”ビットで、LSB側は下位の“m−os”ビットである。
幾つかの実施態様では、アップダウンカウンタは、正、負、または両方のクロックエッジをカウントする。
幾つかの実施態様では、位相整合ロジックは、ロックされた出力パルスを、入力データをクロックする入力エッジ間の2分の1のところに生成する。この結果、データが有効な(変化しない)時にそのクロックドメインを横切ってデータを転送させることができる。
MSB側用の信号とLSB側用の信号上で動作する2つの加算器がある。加算器が明確に分割されている理由は、LSB側で動作している加算器からの単なるオーバーフローである“P_OS”信号にアクセスするためである。“P_OS”信号は、LSB側のオーバーフロー(キャリー出力としても知られている)であり、MSB側の加算器のキャリー入力に供給される。この結果、MSB側とLSB側で表されたディジタル符合は普通に加算されるが、“m−os”ビット上で動作している全加算器のキャリー出力である内部信号へのアクセスを有する。
例えば、4ビット加算器を想定する。他の実施態様では、異なるビット数を用いる。4つの全加算器セルをデイジーチェーン接続することで4ビット加算器ができる。各全加算器は3つの入力と2つの出力を備える。その機能は、以下の表1の通りである。
AとBは加算される入力で、CIがキャリー入力で、COがキャリー出力である。4ビット加算器を作るために、“リップルキャリー加算器”型の加算器を生成できる。
VCOは、図15の回路に対して定数を加算するだけで構成される。“m”が8の場合、入力が0から255までの範囲であることを意味する。加算器の出力が255より大きい場合、“CO”ビットがセットされ、その他のビットがフリップフロップ内にラッチされる。入力が1の場合、加算器は256クロック当たり1回オーバーフローする。入力が2の場合、オーバーフローは256クロック当たり2回発生する。よって、これは簡単なVCOであり、ある数値を入力すると、“CO”端子上に制御された周波数の出力が得られる。
8ビット加算器を2つの4ビット加算器に分割する場合、第1の4ビット加算器の“CO”を第2の4ビット加算器の“CI”に接続する。
図16は、8ビットVCOと同じ回路であるが、LSB側からのキャリー出力を明確に配置している。上述と同じ入力を入力すると、出力は以下のようになる。
定数1をこの回路に入力すると、LSB側加算器のキャリー出力は16クロック当たり1回オーバーフローし、上述の場合と同様にMSB側加算器の出力は256クロック当たり1回オーバーフローする。定数2をこの回路に入力すると、LSB側加算器のキャリー出力は16クロック当たり2回オーバーフローし、上述の場合と同様にMSB側加算器の出力は256クロック当たり2回オーバーフローする。よって、MSBのオーバーフローの倍数の信号が得られる。
次に、もう1つの事象が発生し、(MSB側加算器のオーバーフローレートの特定の倍数で)LSB側加算器がオーバーフローすると、時間におけるその瞬間に加算器の出力をラッチする。このラッチされた信号によって、2つの非同期信号(入力クロックと出力クロック)間の“瞬間的な位相”関係が与えられる。この瞬間的な位相関係を用いて、出力クロックに対して入力クロック(参照クロック)何時変化したかを、たとえ出力クロックのエッジ間で変化した場合であっても、正確に算出することができる。この時間情報を用いて、出力クロックドメインにおいて振幅としてサンプルを訂正することができる。
以下は、タイミングエラー情報から振幅を訂正する他の実施例である。
サンプル列。(入力データ列上に、0次ホールドがあることに留意すべきである。)
……11118888333・・・・・・
ここで、サンプルが値を変化させるところでサンプルを訂正する。(サンプルが決して変化しないなら、それが何時再クロックされるかに拘らず常に正しいから。)
……111X1888X2333・・・・・・
ここで、データが変化するポイントでDPLLからMとN_OSの各値を取得し、以下のように計算する。
X1=1+(N_OS/M)×(8−1)
X2=8+(N_OS/M)×(3−8)
(N_OS/M)が定数でない点に留意する。
図18は、オーバーサンプルするがダウンサンプルしない1つの実施態様のブロック図を示す。このブロック図は図13に類似しているが、ダウンサンプル用のフィルタを必要としない。
図19は、ダウンサンプルするがオーバーサンプルしない1つの実施態様のブロック図を示す。このブロック図は図13に類似しているが、オーバーサンプル用のフィルタを必要としない。
図20は、オーバーサンプルもダウンサンプルもしない1つの実施態様のブロック図を示す。このブロック図は図13に類似しているが、オーバーサンプル用のフィルタもダウンサンプル用のフィルタも必要としない。
図13、図18−図20の回路では、ディジタルループは入力レートに対してロックする。或いは、入力レートのオーバーサンプルされたバージョンが利用できる場合は、ディジタルループは、入力レートと入力レートのオーバーサンプルされたバージョンの何れかをロックできる。
以下は、THD+N(全高調波歪+ノイズ)の議論である。
ダウンサンプル用のフィルタ及びFIR(有限インパルス応答)フィルタで構成されたアップサンプル用フィルタを備えた実施態様では、これらのフィルタが完全な場合、ASRCは入力データの量子化雑音に対して動作する。しかし、これらのフィルタが理想的でない場合は、つまり、イメージ除去がせいぜい−130dB程度の場合、ASRCに提供されたデータ内にあるため、スプリアストーンがこのレベルで現れることがあり得る。FIRフィルタを−200dBより大きいイメージ除去が得られるようにすることは完全に可能である。そしてこの場合、ASRCは、入力データの量子化雑音によってのみ制限される。
別の実施態様は、以下のアルゴリズムを備えたコンピュータプログラムである。該アルゴリズムは、第1の規則的な時間基準(dt1)によって取得された信号のサンプルを表しているデータの順序シーケンスにアクセスし、第2の異なる時間基準(dt2)で同じ信号を表しているサンプルの第2の順序シーケンスを生成する。尚、2つの時間基準は、整数関係ではない。
第3の時間基準(dt3)でのサンプルの可能な中間的な順序集合は、第2の時間基準の整数比である(dt3=dt2/F、F{0,・・・INF})。該第3の時間基準は、第2の時間基準が第1の時間基準より実質的に短くない場合(即ち、NOT(dt2<<dt1))に必要となる。
該アルゴリズムは、以下のような典型的な手順を含む。
第1手順(p1)では、第3シーケンス(第3シーケンスが使用されない場合は、第2シーケンス)の等価な時間(t3)が第1シーケンスの次の要素の時間を超過するまで、第1シーケンスのサンプルが第3シーケンス(第2シーケンス)の連続する要素中にコピーされる。
第2手順(p2)は、p1の後に(即ち、第3シーケンス(第2シーケンス)の等価な時間(t3)が第1シーケンスの次の要素の時間を超過する時)実行される。本手順では、第3シーケンス(第2シーケンス)の単一の未決要素に第1シーケンスの現行要素(s1)と第1シーケンスの次の要素(s2)から、y=S1+(t3−t1)(s2−s1)/dt3、または、第3シーケンスが使用されない場合は、y=S1+(t3−t1)(s2−s1)/dt2として導出される値(y)を充当する。
第3手順(p3)は、p2の後に実行され、第1シーケンスの等価な時間が第3シーケンス(第2シーケンス)の等価な時間を超過するように、第1シーケンスの順序ポインタをインクリメントする。第1手順(p1)がその後リコールされる。
処理は、p3が第1シーケンスの最後に到達するまで続く。このポイントで、出力データ列は、第3或いは第2シーケンス内に存在する。第3シーケンスが用いられた場合は、第3シーケンスは第2シーケンスにダウンサンプルされ得る。ここで、第2シーケンスは、第2シーケンスの時間基準での第1シーケンスを表している。
当該アルゴリズムは、例えば、1またはそれ以上の演算プロセッサによって実行される。
Claims (32)
- 或る入力レートで連続するサンプル列のサンプルレートを、前記入力レートの整数倍とは異なる出力レートに変換するサンプルレート変換処理を実行する方法であって、
前記入力レートの倍数の第1レートでロックされ、前記出力レートの倍数であり前記第1レートの整数倍とは異なる第2レートでクロックされるディジタルループで生成されるタイミングエラー情報を用いて、前記サンプル列のバージョンを訂正する処理を含むサンプルレート変換処理方法。 - 前記第1レートが前記入力レートの倍数であり、前記サンプル列の前記バージョンが、前記入力レートの前記サンプル列と同じとなるように、前記入力レートの倍数は1倍であることを特徴とする請求項1に記載のサンプルレート変換処理方法。
- 前記第1レートが前記入力レートの倍数であり、前記サンプル列の前記バージョンが、前記入力レートの前記サンプル列のオーバーサンプルされたバージョンとなるように、前記入力レートの倍数が1より大きい整数倍であることを特徴とする請求項1に記載のサンプルレート変換処理方法。
- 前記第2レートが前記出力レートの倍数であり、前記第2レートが前記出力レートと等しくなるように、前記出力レートの倍数が1倍であることを特徴とする請求項1に記載のサンプルレート変換処理方法。
- 前記第2レートが前記出力レートの倍数であり、前記出力レートの倍数が1より大きい整数倍であることを特徴とする請求項1に記載のサンプルレート変換処理方法。
- 前記入力レートの整数倍ではなく前記第2レートでクロックすることに起因するタイミングエラーを含む前記サンプル列の前記バージョンを前記第2レートでクロックすることにより生成する処理を含むことを特徴とする請求項1に記載のサンプルレート変換処理方法。
- 前記タイミングエラー情報を用いて、前記サンプル列の前記バージョンの振幅を訂正する処理を、更に含むことを特徴とする請求項1に記載のサンプルレート変換処理方法。
- 演算回路を用いて、前記ディジタルループをロックする前記第1レートに調節されたオーバーフローレートで、複数のモジュールのオーバーフローを生成する処理を含み、
前記複数のモジュールのオーバーフローの夫々が、前記演算回路による前記第1レートと前記第2レートの間のタイミングエラー情報の生成を指示していることを特徴とする請求項1に記載のサンプルレート変換処理方法。 - 前記入力レートで連続する前記サンプル列が、S/PDIF(ソニー/フィリップスディジタルインターフェースフォーマット)信号から入力されることを特徴とする請求項1に記載のサンプルレート変換処理方法。
- 前記サンプルレート変換処理は、ダイナミックレンジが主として入力量子化雑音によって制限されることを特徴とする請求項1に記載のサンプルレート変換処理方法。
- 前記サンプルレート変換処理は、ダイナミックレンジが主として入力量子化雑音、オーバーサンプリング有限インパルス応答フィルタのイメージ除去、及び、ダウンサンプリング有限インパルス応答フィルタのイメージ除去によって制限されることを特徴とする請求項1に記載のサンプルレート変換処理方法。
- 前記サンプルレート変換処理は、最大ダウンサンプリング比が主として出力レートによって制限されることを特徴とする請求項1に記載のサンプルレート変換処理方法。
- 前記サンプルレート変換処理が、最大オーバーサンプリング比が主として前記回路の論理合成を特徴付けるレート制限によって制限されることを特徴とする請求項1に記載のサンプルレート変換処理方法。
- 或る入力レートで連続するサンプル列のレートを、前記入力レートの整数倍とは異なる出力レートに変換するサンプルレート変換処理回路であって、
前記入力レートの倍数の第1レートでロックされ、前記出力レートの倍数であり前記第1レートの整数倍とは異なる第2レートでクロックされるディジタルループであって、周波数検出及び低域通過フィルタ回路と、前記周波数検出及び低域通過フィルタ回路を用いて前記ディジタルループを形成する可変発振回路を含み、タイミングエラー情報を生成するディジタルループと、
前記タイミングエラー情報を用いて、前記サンプル列のバージョンを訂正する回路と、
を備えるサンプルレート変換処理回路。 - 前記第1レートが前記入力レートの倍数であり、前記サンプル列の前記バージョンが、前記入力レートの前記サンプル列と同じとなるように、前記入力レートの倍数は1倍であることを特徴とする請求項14に記載のサンプルレート変換処理回路。
- 前記第1レートが前記入力レートの倍数であり、前記サンプル列の前記バージョンが、前記入力レートの前記サンプル列のオーバーサンプルされたバージョンとなるように、前記入力レートの倍数が1より大きい整数倍であることを特徴とする請求項14に記載のサンプルレート変換処理回路。
- 前記第2レートが前記出力レートの倍数であり、前記第2レートが前記出力レートと等しくなるように、前記出力レートの倍数が1倍であることを特徴とする請求項14に記載のサンプルレート変換処理回路。
- 前記第2レートが前記出力レートの倍数であり、前記出力レートの倍数が1より大きい整数倍であることを特徴とする請求項14に記載のサンプルレート変換処理回路。
- 前記入力レートの整数倍ではなく前記第2レートでクロックすることに起因するタイミングエラーを含む前記サンプル列のオーバーサンプルされた前記バージョンを、前記第2レートでクロックすることにより生成する回路を、更に備えることを特徴とする請求項14に記載のサンプルレート変換処理回路。
- 前記タイミングエラー情報を用いて、前記サンプル列のオーバーサンプルされた前記バージョンの振幅を訂正する回路を、更に備えることを特徴とする請求項14に記載のサンプルレート変換処理回路。
- 前記可変発振回路が有限モジュラス演算回路を含むことを特徴とする請求項14に記載のサンプルレート変換処理回路。
- 前記ディジタルループが前記入力レートと前記第2レート間のタイミングエラー情報を生成することを特徴とする請求項14に記載のサンプルレート変換処理回路。
- 前記ディジタルループが前記第1レートと前記第2レート間のタイミングエラー情報を生成することを特徴とする請求項14に記載のサンプルレート変換処理回路。
- 前記可変発振回路が桁上げ加算回路を備え、
前記桁上げ加算回路が、上位ビット側回路と、前記上位ビット側回路と接続した下位ビット側回路を有し、
前記下位ビット側回路が、前記入力レートと前記第2レート間のタイミングエラー情報の前記桁上げ加算回路による生成を示すオーバーフローを生成することを特徴とする請求項14に記載のサンプルレート変換処理回路。 - 前記可変発振回路が桁上げ加算回路を備え、
前記桁上げ加算回路が、上位ビット側回路と、前記上位ビット側回路と接続した下位ビット側回路を有し、
前記下位ビット側回路が、前記第1レートと前記第2レート間のタイミングエラー情報の前記桁上げ加算回路による生成を示すオーバーフローを生成することを特徴とする請求項14に記載のサンプルレート変換処理回路。 - 前記入力レートで連続する前記サンプル列が、S/PDIF(ソニー/フィリップスディジタルインターフェースフォーマット)信号から入力されることを特徴とする請求項14に記載のサンプルレート変換処理回路。
- S/PDIF(ソニー/フィリップスディジタルインターフェースフォーマット)信号から入力される前記入力レートで連続する前記サンプル列の入力部が集積化されていることを特徴とする請求項14に記載のサンプルレート変換処理回路。
- ダイナミックレンジが主として入力量子化雑音によって制限されていることを特徴とする請求項14に記載のサンプルレート変換処理回路。
- ダイナミックレンジが主として入力量子化雑音、オーバーサンプリング有限インパルス応答フィルタのイメージ除去、及び、ダウンサンプリング有限インパルス応答フィルタのイメージ除去によって制限されていることを特徴とする請求項14に記載のサンプルレート変換処理回路。
- 最大ダウンサンプリング比が主として出力レートによって制限されていることを特徴とする請求項14に記載のサンプルレート変換処理回路。
- 最大オーバーサンプリング比が主として前記回路の論理合成を特徴付けるレート制限によって制限されていることを特徴とする請求項14に記載のサンプルレート変換処理回路。
- 或る入力レートで連続するサンプル列のレートを、前記入力レートの整数倍とは異なる出力レートに変換するサンプルレート変換処理を実行する手段を備えた回路であって、
前記サンプルレート変換処理を実行する手段が、前記入力レートの倍数の第1レートでロックされ、前記出力レートの倍数であり前記第1レートの整数倍とは異なる第2レートでクロックされるディジタルループによって生成されるタイミングエラー情報を用いて、前記サンプル列のバージョンを訂正する手段を含むことを特徴とする回路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US83810506P | 2006-08-15 | 2006-08-15 | |
PCT/US2007/076048 WO2008022226A2 (en) | 2006-08-15 | 2007-08-15 | Asynchronous sample rate converter |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009504107A true JP2009504107A (ja) | 2009-01-29 |
Family
ID=39083120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008530050A Pending JP2009504107A (ja) | 2006-08-15 | 2007-08-15 | 非同期サンプルレートコンバータ |
Country Status (4)
Country | Link |
---|---|
US (1) | US7436333B2 (ja) |
JP (1) | JP2009504107A (ja) |
CN (1) | CN101326725A (ja) |
WO (1) | WO2008022226A2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012191418A (ja) * | 2011-03-10 | 2012-10-04 | Ricoh Co Ltd | データ受信回路、データ送受信システム及びデータ受信方法 |
EP3217579A1 (en) | 2016-03-09 | 2017-09-13 | Alpine Electronics, Inc. | Audio network system |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8949120B1 (en) | 2006-05-25 | 2015-02-03 | Audience, Inc. | Adaptive noise cancelation |
US20090279572A1 (en) * | 2008-05-07 | 2009-11-12 | Canon Kabushiki Kaisha | Transmission apparatus and method |
US8369973B2 (en) * | 2008-06-19 | 2013-02-05 | Texas Instruments Incorporated | Efficient asynchronous sample rate conversion |
US8102195B2 (en) * | 2009-05-13 | 2012-01-24 | Mediatek Inc. | Digital phase-locked loop circuit including a phase delay quantizer and method of use |
US8949302B2 (en) * | 2011-06-30 | 2015-02-03 | Silicon Laboratories Inc. | Digital front end for oversampled low-IF or zero-IF multimode receivers |
JP5845934B2 (ja) * | 2012-01-30 | 2016-01-20 | 株式会社Jvcケンウッド | 非同期サンプリング周波数変換装置、変換方法、及び、プログラム |
US8737532B2 (en) * | 2012-05-31 | 2014-05-27 | Silicon Laboratories Inc. | Sample rate estimator for digital radio reception systems |
US9640194B1 (en) | 2012-10-04 | 2017-05-02 | Knowles Electronics, Llc | Noise suppression for speech processing based on machine-learning mask estimation |
US8848849B1 (en) | 2013-03-13 | 2014-09-30 | Avnera Corporation | SPDIF clock and data recovery with sample rate converter |
US9621336B1 (en) | 2013-03-13 | 2017-04-11 | Avnera Corporation | SPDIF clock and data recovery with sample rate converter |
US8965942B1 (en) * | 2013-03-14 | 2015-02-24 | Audience, Inc. | Systems and methods for sample rate tracking |
US9536540B2 (en) | 2013-07-19 | 2017-01-03 | Knowles Electronics, Llc | Speech signal separation and synthesis based on auditory scene analysis and speech modeling |
US9258011B2 (en) | 2013-10-01 | 2016-02-09 | Visteon Global Technologies, Inc. | Efficient two-stage asynchronous sample-rate converter |
CN106797512B (zh) | 2014-08-28 | 2019-10-25 | 美商楼氏电子有限公司 | 多源噪声抑制的方法、***和非瞬时计算机可读存储介质 |
GB201812240D0 (en) | 2018-07-27 | 2018-09-12 | Ibm | Device, system and method for detection of compromise through automated power analysis |
US11277120B2 (en) * | 2019-03-12 | 2022-03-15 | International Business Machines Corporation | Dynamic signal processing |
US10778193B1 (en) * | 2019-11-27 | 2020-09-15 | Microelectronics Technology, Inc. | Resampling apparatus and method thereof |
US11050435B1 (en) * | 2020-04-24 | 2021-06-29 | Synaptics Incorporated | Sample rate conversion circuit with noise shaping modulation |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01144818A (ja) * | 1987-12-01 | 1989-06-07 | Toshiba Corp | 数値制御形発振回路 |
JPH03241916A (ja) * | 1990-02-19 | 1991-10-29 | Sony Corp | サンプリングレート変換装置 |
JPH07235861A (ja) * | 1993-12-08 | 1995-09-05 | Nokia Mobile Phones Ltd | 加重平均を使用したサンプリング周波数変換方法 |
JP2005203932A (ja) * | 2004-01-14 | 2005-07-28 | Univ Nihon | サンプリングレート変換カーネル |
JP2005527060A (ja) * | 2002-05-24 | 2005-09-08 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 半同期受信器および情報を読み出すための装置 |
WO2006003567A1 (en) * | 2004-06-29 | 2006-01-12 | Koninklijke Philips Electronics N.V. | Jitter-free sample rate conversion |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4326427A1 (de) * | 1993-08-06 | 1995-02-09 | Thomson Brandt Gmbh | Digitaler Abtastratenumsetzer |
US6531970B2 (en) * | 2001-06-07 | 2003-03-11 | Analog Devices, Inc. | Digital sample rate converters having matched group delay |
JP4548767B2 (ja) * | 2004-01-28 | 2010-09-22 | ルネサスエレクトロニクス株式会社 | サンプリングレート変換装置及びサンプリングレート変換方法 |
-
2007
- 2007-08-15 CN CNA2007800005770A patent/CN101326725A/zh active Pending
- 2007-08-15 WO PCT/US2007/076048 patent/WO2008022226A2/en active Application Filing
- 2007-08-15 JP JP2008530050A patent/JP2009504107A/ja active Pending
- 2007-11-28 US US11/946,751 patent/US7436333B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01144818A (ja) * | 1987-12-01 | 1989-06-07 | Toshiba Corp | 数値制御形発振回路 |
JPH03241916A (ja) * | 1990-02-19 | 1991-10-29 | Sony Corp | サンプリングレート変換装置 |
JPH07235861A (ja) * | 1993-12-08 | 1995-09-05 | Nokia Mobile Phones Ltd | 加重平均を使用したサンプリング周波数変換方法 |
JP2005527060A (ja) * | 2002-05-24 | 2005-09-08 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 半同期受信器および情報を読み出すための装置 |
JP2005203932A (ja) * | 2004-01-14 | 2005-07-28 | Univ Nihon | サンプリングレート変換カーネル |
WO2006003567A1 (en) * | 2004-06-29 | 2006-01-12 | Koninklijke Philips Electronics N.V. | Jitter-free sample rate conversion |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012191418A (ja) * | 2011-03-10 | 2012-10-04 | Ricoh Co Ltd | データ受信回路、データ送受信システム及びデータ受信方法 |
EP3217579A1 (en) | 2016-03-09 | 2017-09-13 | Alpine Electronics, Inc. | Audio network system |
Also Published As
Publication number | Publication date |
---|---|
US7436333B2 (en) | 2008-10-14 |
US20080068234A1 (en) | 2008-03-20 |
CN101326725A (zh) | 2008-12-17 |
WO2008022226A3 (en) | 2008-10-09 |
WO2008022226A2 (en) | 2008-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009504107A (ja) | 非同期サンプルレートコンバータ | |
JP2986745B2 (ja) | 複合位相濾波器とこれを用いたタイミング誤差補償装置及びその方法 | |
US7408485B1 (en) | Asynchronous sampling rate converter and method for audio DAC | |
US5638010A (en) | Digitally controlled oscillator for a phase-locked loop providing a residue signal for use in continuously variable interpolation and decimation filters | |
US7414550B1 (en) | Methods and systems for sample rate conversion and sample clock synchronization | |
US6252919B1 (en) | Re-synchronization of independently-clocked audio streams by fading-in with a fractional sample over multiple periods for sample-rate conversion | |
CN100588120C (zh) | 无抖动采样率转换的设备和方法 | |
JP2001298368A (ja) | 圧縮方法及び装置、伸長方法及び装置、圧縮伸長システム、記録媒体 | |
US7330138B2 (en) | Asynchronous sample rate correction by time domain interpolation | |
US8456344B1 (en) | Method and apparatus for generating a target frequency having an over-sampled data rate using a system clock having a different frequency | |
JP2007067646A (ja) | サンプリングレート変換方法及びその回路 | |
KR20060082803A (ko) | 샘플 속도 변환기 | |
US6791482B2 (en) | Method and apparatus for compression, method and apparatus for decompression, compression/decompression system, record medium | |
WO2011090110A1 (ja) | サンプリングレート変換装置およびサンプリングレート変換方法 | |
JPH07193564A (ja) | クロック再生装置および再生方法 | |
JP2000101659A (ja) | マルチレートシンボルタイミングリカバリ回路およびそれをコンピュータに設計させるためのプログラムを記録した記録媒体 | |
US9130578B2 (en) | PLL circuit | |
JP3646598B2 (ja) | デジタルfmステレオ復調器 | |
JP5234798B2 (ja) | サンプリング周波数変換装置 | |
JP2001136073A (ja) | 圧縮方法及び装置、圧縮伸長システム、記録媒体 | |
US7609181B2 (en) | Sampling frequency conversion apparatus | |
US7764758B2 (en) | Apparatus and/or method for variable data rate conversion | |
US8494105B1 (en) | Apparatus and method for providing digital representation of time difference between clocks | |
US6483451B1 (en) | Sampling function waveform data generating device | |
JP3289462B2 (ja) | 標本化周波数変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100608 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101102 |