JP5450060B2 - 所望の出力サンプルと対応する入力サンプルの間の相対的タイミングの整数表示 - Google Patents

所望の出力サンプルと対応する入力サンプルの間の相対的タイミングの整数表示 Download PDF

Info

Publication number
JP5450060B2
JP5450060B2 JP2009515561A JP2009515561A JP5450060B2 JP 5450060 B2 JP5450060 B2 JP 5450060B2 JP 2009515561 A JP2009515561 A JP 2009515561A JP 2009515561 A JP2009515561 A JP 2009515561A JP 5450060 B2 JP5450060 B2 JP 5450060B2
Authority
JP
Japan
Prior art keywords
sample
component
phase
intermediate sample
integer
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.)
Expired - Fee Related
Application number
JP2009515561A
Other languages
English (en)
Other versions
JP2009540763A (ja
Inventor
ワン、ソン
チョイ、エディー・エル.ティー.
グプタ、サミア・クマー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2009540763A publication Critical patent/JP2009540763A/ja
Application granted granted Critical
Publication of JP5450060B2 publication Critical patent/JP5450060B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/06Non-recursive filters
    • H03H17/0621Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
    • H03H17/0635Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies
    • H03H17/0685Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies the ratio being rational
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H19/00Networks using time-varying elements, e.g. N-path filters

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Analogue/Digital Conversion (AREA)
  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

本出願は、2006年6月14日に出願された、米国の仮特許出願60/813870号の利益を主張する。
本開示は、サンプリング・レート・コンバータに関する、そして、特にディジタル・ドメイン・サンプリング・レート・コンバータに関する。
サンプリング・レート・コンバータは、ディジタル信号のサンプリング周波数を変更するために使用され、再サンプラーとして呼ばれることもあり得る。サンプリング・レート・コンバータは、ハードウェア装置および/またはソフトウェアの形態を取ることができ、そして、アップ・サンプラーかダウン・サンプラーのいずれかであり得る。アップ・サンプラーは、ディジタル信号のサンプリング・レートを増加する。ダウン・サンプラーは、ディジタル信号のサンプリング・レートを減少する。サンプリング周波数コンバージョン・レートは、ある与えられた入力サンプリング周波数に対する所望の出力サンプリング周波数の比率であると定義される。アップ・サンプリング・コンバージョン・レートは、常に1.0より大きいが、ダウン・サンプリング・コンバージョン・レートは、常に1.0より小さい。
エイリアシング(aliasing)は、アナログ信号をディジタル信号へ変換する際、通常生じる現象である。または、逆の場合も同様である。エイリアシングは、ディジタル信号のサンプリング周波数を変換する際にも生じ得る。エイリアシングが生じると、1つの周波数における信号エネルギーは、他の周波数へイメージされる。たとえば、信号が1kHzと7.5kHzで2つの正弦波のコンポーネント(component)をそれぞれ持つと考える。シンボルが16kHzでサンプル化される場合、信号は完全に復元されることが可能である。信号が4で間引きされることにより、16kHzから4kHzへダウン・サンプル化される場合、1kHzのエネルギーは変化しないが、7.5kHzのエネルギーは0.5kHzへイメージされるであろう。0.5kHzのエネルギーは、エイリアシングと考えられる。別の例としては、1kHzのアナログ正弦波信号が、4kHzでサンプル化される場合、エネルギーは1kHzであるように現れるが、それは望ましいことである。しかしながら、信号が隣接するサンプル間に3つのゼロを挿入することにより、16kHzへアップ・サンプル化される場合、エネルギーは、1kHz、3kHz、5kHz、および、7kHzとなって現れる。3kHz、5kHz、および、7kHzのエネルギーは、1kHzのエネルギーのイメージであり、エイリアシングであると考えられる。エイリアシングによるひずみを減少するために、サンプリング・レート・コンバータは、典型的にはアンチ・エイリアシング・フィルタを含むが、それは、一般的にロー・パス・フィルタである。
アンチ・エイリアシング・フィルタは、一般にアップ・サンプラーとダウン・サンプラーの両方において必要とされる。たとえば、従来のアップ・サンプラーは、一般に、隣接するサンプルとの間に一定数のゼロを挿入する補間回路とアンチ・エイリアシング・フィルタを含んでいる。一般に、アンチ・エイリアシング・フィルタは、帯域幅π/Iを持つロー・パス・フィルタであり、そこでは、Iはアップ・サンプリング・ファクターである。別の例としては、従来のダウン・サンプラーは、一般に、一定数の標本毎に1つのサンプルを周期的に抽出するデシメータ(decimator)とアンチ・エイリアシング・フィルタを含む。一般に、アンチ・エイリアシング・フィルタは、帯域幅π/Dを持つロー・パス・フィルタであり、そこでは、Dはダウン・サンプリング・レートである。
一般に、本開示は、ディジタル信号のサンプリング周波数を変更するための技法を説明する。特に、技法は、所望の出力サンプルと対応する入力サンプルの間の相対的タイミングを決定するための精確な方法を提供する。本開示を通じて、“位相(phase)”という用語は、所望の出力サンプルと対応する入力サンプルの間のこの相対的なタイミングを表すために使用される。本開示は、整数(integer)を使用して、アップ・サンプラーにおける位相をより精確に決定するための技法を説明する。
たとえば、サンプリング・レート・コンバータは、3つのコンポーネントを使用して位相を表わし、整数を使用して各コンポーネントを追跡する。入力サンプルインデックスとしてここで呼ばれる第1のコンポーネントは、中間サンプルを生成するために使用される最新の入力サンプルを追跡する。整数位相(integer phase)としてここで呼ばれる第2のコンポーネントは、出力サンプルを生成するために使用される中間サンプルを追跡する。分数位相(fractional phase)としてここで呼ばれる第3のコンポーネントは、出力サンプルとその隣接する中間サンプルの間のタイミングの差を追跡する。このように、アップ・サンプラーは、所望の出力サンプルと対応する入力サンプルの間の相対的タイミングの整数表示を提供することが可能である。整数を使用して、出力信号の位相を決定することは、不精確な位相表示により引き起こされた再サンプリング・エラーを減少することにより、アップ・サンプラーが入力信号をより精確にアップ・サンプル化することを可能にする。
1つの実施形態では、方法は、関連する中間サンプルを生成するために使用されたディジタル信号の最新入力サンプルを識別する第1のコンポーネント、中間サンプルを識別する第2コンポーネント、および、所望の出力サンプルと中間サンプルの間のタイミングの差を識別する第3のコンポーネントを使用して、ディジタル信号の所望の出力サンプルと対応する入力サンプルの間の相対的タイミングを表わすことを含む。そこにおいて、コンポーネントの各々は、非近似の整数(non-approximated integer)として表わされる。
別の実施形態では、装置は、関連する中間サンプルを生成するために使用されるディジタル信号の最新入力サンプルを識別する第1のコンポーネント、中間サンプルを識別する第2のコンポーネント、および、所望の出力サンプルと中間サンプルの間のタイミングの差を識別する第3のコンポーネントを使用して、ディジタル信号の所望の出力サンプルと対応する入力サンプルの間の相対的タイミングを表示する位相トラッキング・モジュールを含む。そこにおいて、コンポーネントの各々は、非近似の整数として表わされる。
さらなる実施形態では、コンピュータ可読媒体は、関連する中間サンプルを生成するために使用されるディジタル信号の最新入力サンプルを識別する第1のコンポーネント、中間サンプルを識別する第2のコンポーネント、および、所望の出力サンプルと中間サンプルの間のタイミングの差を識別する第3のコンポーネントを使用して、ディジタル信号の所望の出力サンプルと対応する入力サンプルの相対的タイミングを示すことを、プロセッサに実行時に引き起こさせる命令を含む。そこにおいて、コンポーネントの各々は、非近似の整数として表わされる。
1つ以上の実施形態の詳細は、添付の図面と下記の説明において明らかにされる。他の特徴、目的、および、有利な点は、説明と図面、および請求項から明らかになるであろう。
所望の出力サンプルと対応する入力サンプルの間の相対的タイミングの整数表示を使用して、入力ディジタル信号をアップ・サンプル化する無線通信装置を例示するブロック図である。 本開示で説明された技法に従い、レート・コンバート信号の位相の整数表示を決定する、典型的アップ・サンプラーを例示するブロック図である。 入力サンプリング周波数を所望の出力サンプリング周波数へアップ・サンプル化するアップ・サンプラーの典型的動作を例示する流れ図である。 整数を使用して、所望の出力サンプルと対応する入力サンプルの間の相対的タイミングを決定するアップ・サンプラーの典型的動作を例示する流れ図である。 本開示の技法に従い、11kHzから48kHzへの入力サンプルの典型的な変換を例示するグラフである。 11kHzから48kHzへの入力サンプルの典型的な変換を例示する別のグラフである。
詳細な説明
本開示は、ディジタル信号のサンプリング周波数を変更するための技法を説明する。特に、技法は、所望の出力サンプルと対応する入力サンプルの間の相対的タイミングを決定するための精確な方法を提供する。本開示を通じて、“位相(phase)”という用語は、所望の出力サンプルと対応する入力サンプルの間のこの相対的タイミングを表すために使用される。ディジタル・アップ・サンプラーにおいて、位相の決定は、アップ・サンプラーの性能に重要となり得る。不精確な位相の決定は、アップ・サンプルされた信号内における追加的な復元のひずみ、および/または、周波数スキューを結果的に生じさせ得る。本開示は、非近似の整数を使用して、アップ・サンプラーにおける位相を精確に決定するための技法を説明する。
従来は、アップ・サンプラーは、コンバージョン・レートの関数として、出力信号の位相を追跡する。コンバージョン・レートは、所望の出力サンプリング周波数と入力サンプリング周波数の間の比として表わされ得る分数(fractional number)である(f/f)。例えば、信号が12kHzから48kHzへアップ・コンバートされている場合、コンバージョン・レートは、4になるであろう。従来のアップ・サンプラーは、一般に、位相、つまり、所望の出力サンプルと対応する入力サンプルの間の相対的タイミング、をコンバージョン・レートの関数として決定する。アップ・サンプラーが4というコンバージョン・レートで動作している場合、アップ・サンプラーは、1個の入力サンプル毎に、4個の出力サンプルを出力する。アップ・サンプラーが、第1の入力サンプルの時間から出力サンプルの生成を開始する場合、それは、第1と第2の入力サンプルの間の1/4分割、第1と第2の入力サンプルの間の1/2分割、および第1と第2の入力サンプルの間の3/4分割、という第1の入力サンプルの時間において1個の出力サンプルを生成する。出力サンプルの各々の対応する位相は、n・τ(n)に等しい。ここで、nは再帰インデックス(recursion index)であり、τ(n)は、コンバージョン・レートの逆数である。言い換えれば、後続の各出力サンプルの位相は、コンバージョン・レートの逆数だけ、前の出力サンプルの位相を増加することにより得られる。このように、位相は、入力サンプルに対する出力サンプルのタイミングに対応する。
コンバージョン・レート、従って、位相は、分数であるので、それは、有限か無限の値のいずれかになり得る。ディジタル・アップ・サンプラーは、2進数の有限数を使用して位相を表わす。アップ・サンプラーは、1/2、3/4、127/128のような有限分数(finite fractional number)を、2進数の有限数で正確に表わすことが可能である。しかしながら、1/3、4/7、441/480のような無限分数(infinite fractional number)を表わすためには、アップ・サンプラーは、2進数の有限数内でそれを表わすことができるように、分数を量子化しなければならない。量子化によって無限分数を近似化することは、アップ・サンプリング処理において、いくつかの位相誤差を導く。具体的には、後続の出力サンプルの位相が近似化された無限分数により増加される度に、入力サンプルに対する相対的な出力サンプルの位置は、量子化によってわずかに離れる。量子化されたコンバージョン・レート値の逆数により、位相が継続的に増加されるにつれて、位相誤差は増大し、やがて許容不能な水準にまで蓄積する可能性がある。
アップ・サンプリング処理における位相誤差量を減少するために、本開示の技法は、アップ・サンプル化された出力信号の位相を決定するためのより精確な方法を提供する。特に、技法は、非近似の整数を使用して、出力信号の位相を表わす方法を提供する。ここで使用されるように、句“非近似の整数(non-approximated integer number)”とは、無限数を、丸め、量子化、または、別な方法では近似化することにより得られない整数を呼ぶ。非近似の整数を使用して、出力信号の位相を追跡することは、無限分数の近似化により引き起こされる位相誤差を減少することによって、アップ・サンプラーが入力信号をより精確にアップ・サンプル化することを可能にする。
図1は、本開示において説明された技法に従い、非近似の整数を使用して、ディジタル信号の所望の出力サンプルと対応する入力サンプルの間の相対的タイミングを決定する無線通信装置(wireless communication device)(WCD)10を例示するブロック図である。WCD10は、携帯電話、衛星電話、ポータブル・コンピュータを内蔵した無線通信カード、無線通信能力を装備した携帯情報端末(PDA)、または、任意の無線通信可能な種々の装置という形態を取ることができる。本開示の技法は、典型的な目的だけのために、無線通信装置という文脈の中で説明される。その技法は、無線通信装置、パケット・ベースの通信装置、および、主に通信へ向けられないオーディオ再生装置、レコーディング装置、および表示装置のような装置を含む、他の装置においても、有用であり得る。
WCD10は、複数の基地局(示されていない)と通信することができる。基地局は、一般に、WCD10にネットワーク・アクセスを提供するために、WCD10と無線で通信する固定設備である。たとえば、基地局は、WCD10へおよびWCD10からの電話呼を転送することが可能であるような、WCD10と公衆電話交換網(PSTN)の間のインタフェースを提供することができる。選択肢として、または、追加的に、基地局は、パケット・ベースの音声情報、または、パケット・ベースのデータの伝送のためにパケット・ベースのネットワークに結合され得る。
図1の例では、WCD10は、アンテナ11、トランシーバ12、コーデック(エンコーダ/デコーダ)13、メモリ16、および、コントローラ18を含む。いくつかの実施形態では、コントローラ18は、WCD10の動作を制御することが可能な移動局モデム(MSM)を含み得る。WCD10は、アンテナ11を通じてトランシーバ12によって、基地局から無線信号を受信することができる。コーデック13は、次に受信された無線信号をデコードする。コントローラ18は、コーデック13から入力サンプリング・レートでディジタル信号を受信し、ディジタル信号を処理し、そして、WCD10のユーザに処理された信号を提供し、および/または、メモリ16内に処理された信号を格納する。
コントローラ18は、シグナル・プロセッサ14、サンプラー15、および、サンプリング・レート・コンバータ20を含む。シグナル・プロセッサ14は、入力サンプリング周波数において、コーデック13から受信されたディジタル信号を処理する。サンプリング・レート・コンバータ20は、ディジタル信号のアプリケーションに依存して、入力サンプリング周波数を所望の出力サンプリング周波数へ変換する。シグナル・プロセッサ14は、所望の出力サンプリング周波数において、ディジタル信号を再び処理することができる。WCD10のユーザへ信号を提供するために、サンプラー15はディジタル・アナログ・コンバータ(DAC)を含み、所望の出力サンプリング周波数におけるディジタル信号をアナログ信号へ変換する。
WCD10は、また、WCD10のユーザから信号を受信することができる。コントローラ18は、アナログ信号を受信し、アナログ信号をディジタル信号へ変換し、そして、送信のためにディジタル信号を処理する。この場合には、サンプラー15は、アナログ・ディジタル・コンバータ(ADC)を含み、入力サンプリング周波数において、アナログ信号をディジタル信号へ変換する。シグナル・プロセッサ14は、入力サンプリング周波数においてディジタル信号を処理する。サンプリング・レート・コンバータ20は、ディジタル信号のアプリケーションに依存して、入力サンプリング周波数を所望の出力サンプリング周波数へ変換する。シグナル・プロセッサ14は、所望の出力サンプリング周波数においてディジタル信号を再度処理することができる。コーデック13は、所望の出力サンプリング周波数においてディジタル信号を符号化する。トランシーバ12は、次に、その符号化された無線信号を、アンテナ11を介して基地局へ送信する。
いくつかの実施形態では、コントローラ18は、トランシーバ12により受信された信号とトランシーバ12により送信される信号のための、信号プロセッサ、サンプリング・レート・コンバータ、および、サンプラーの専用セットを含むことができる。いずれの場合でも、コントローラ18は、1つ以上のプロセッサ、ディジタル信号プロセッサ、特定用途向けIC(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、コンプレックス・プログラマブル・ロジック・デバイス(CPLD)、個別のロジック、ソフトウェア、ハードウェア、ファームウェアまたはそのいずれかの組み合わせとして、インプリメントされ得る。
ディジタル信号を処理する前に、コントローラ18は、ディジタル信号に対する可能性のあるアプリケーションに基づいてディジタル信号の所望の出力サンプリング周波数f0を決定する。受信されたディジタル信号に対する可能性のあるアプリケーションは、種々のサンプリング周波数を使用する。たとえば、8kHzと16kHzサンプリング周波数は、音声通信アプリケーション内で使用される。オーディオ・コンパクト・ディスク(CD)アプリケーションは、44.1kHzサンプリング周波数を使用する。デジタルオーディオテープ(DAT)アプリケーションは、48kHzサンプリング周波数を使用する。11.025kHz、12kHz、12.8kHz、20.05kHz、24kHz、32kHz、および、44kHzを含む他の典型的なサンプリング周波数は、他のディジタル信号アプリケーション内で使用され得る。ディジタル信号を異なる出力サンプリング周波数へ変換することは、WCD10内で1つより多くのディジタル信号アプリケーションを同時に実行するために、特に有用であり得る。たとえば、コントローラ18は、音声通信とオーディオ・アプリケーションの同時実行を許容するために、8kHzのサンプリング周波数を持つ音声通信アプリケーションと48kHzのサンプリング周波数を持つオーディオ・アプリケーションを、共通のサンプリング周波数へ変換することを望むことができる。つまり、WCD10のユーザは、通話に応答する一方で、音楽を聴くことができる。
コントローラ18内のサンプリング・レート・コンバータ20は、入力サンプリング周波数から所望の出力サンプリング周波数へディジタル信号のサンプリング・レートを変換するために、アップ・サンプラー22とダウン・サンプラー23を含むことができる。特に、アップ・サンプラー22は、入力周波数より大きな所望の出力周波数へ入力信号を変換し、ダウン・サンプラー23は、入力周波数より小さな所望の出力周波数へ入力信号を変換する。このように、アップ・サンプラー22は、オリジナルの入力ディジタル信号の帯域幅より広い帯域幅を持つ出力ディジタル信号を生成するために、入力ディジタル信号のサンプリング周波数を増加する。アップ・サンプラー22は、信号の忠実度を確保するために、入力ディジタル信号スペクトルのひずみと拡張された周波数帯域幅内のエネルギーを前もって決定されたレベルへ制御することができる。アップ・サンプラー22は、アップ・サンプリングと補間を実行することにより、入力サンプリング周波数を所望の出力サンプリング周波数へ変換するために、任意の合理的なアップ・サンプリング・レートをサポートする。
一例として、アップ・サンプラー22は、Nというファクターにより入力ディジタル信号をはじめにアップ・サンプリングすることによって、入力ディジタル信号のサンプリング周波数fを、Nfというサンプリング周波数の中間信号へ変換することができる。中間サンプリング周波数Nfは、所望の出力周波数f以上である。アップ・サンプラー22は、次に、位相の整数表示に基づいて、中間ディジタル信号を所望の出力サンプリング周波数fに変換する。
アップ・サンプラー22は、本開示で説明された技法に従い、非近似の整数を使用して、出力信号(つまり、レート・コンバート信号)の位相を決定する。非近似の整数を使用して出力信号の位相を決定することは、無限分数の近似化により引き起こされた位相誤差を減少することによって、アップ・サンプラーが入力信号を、より精確にアップ・サンプル化することを可能にする。下記で詳細に説明されるように、アップ・サンプラー22は、3つのコンポーネントを使用して位相を表わし、非近似の整数を使用して各コンポーネントを追跡する。入力サンプルインデックスとしてここで呼ばれる第1のコンポーネントは、中間サンプルのセットを生成するために使用される最新の入力サンプルを追跡する。整数位相としてここで呼ばれる第2のコンポーネントは、中間サンプルの1つを追跡する。分数位相としてここで呼ばれる第3のコンポーネントは、出力サンプルと整数位相に対応する中間サンプルの間のタイミングの差を追跡する。このように、アップ・サンプラー22は、所望の出力サンプルと対応する入力サンプルの間の相対的タイミングの非近似の整数表示を提供する。
図2は、図1のアップ・サンプラー22のような、本開示で説明された技法に従い、レート・コンバート信号の位相の非近似の整数表示を生成する、典型的アップ・サンプラーを例示するブロック図である。アップ・サンプラー22は、アップ・サンプリング・モジュール23、ダウン・サンプリング・モジュール27、および、位相トラッキング・モジュール30を含む。
アップ・サンプリング・モジュール23は、入力ディジタル信号を入力サンプリング周波数fから中間サンプリング周波数fへアップ・サンプル化する。特に、アップ・サンプリング・モジュール23は、アップ・サンプリング・ファクターNによりディジタル信号を拡張することによって、ディジタル信号をアップ・サンプル化する。アップ・サンプリング・モジュール23は、ディジタル信号の隣接する入力サンプル間にN−1個のゼロを挿入することによって、このアップ・サンプリング処理を達成する補間回路24を含む。このように、補間回路24は、ディジタル信号を中間サンプリング周波数Nfへアップ・サンプル化する。アップ・サンプラー22は、ゼロを挿入することにより引き起こされたディジタル信号内に存在するあらゆるエイリアシング・イメージまたはひずみを除去するために、アンチ・エイリアシング・フィルタ26で、ディジタル信号をフィルタすることができる。たとえば、アンチ・エイリアシング・フィルタ26は、帯域幅π/Nを持つロー・パス・フィルタを含むことができる。
ダウン・サンプリング・モジュール27は、位相の整数表示に基づいて、所望の出力サンプリング周波数fへアップ・サンプル化された信号をダウン・サンプル化する。ダウン・サンプリング・モジュール27は、ゼロ次補間(zero-order interpolation)、一次補間(linear interpolation)、より高次の補間(higher order interpolation)、および、種々のスプライン補間のような、たくさんの補間手段のいずれかを使用して、所望の出力サンプリング周波数へ中間信号をダウン・サンプル化する補間モジュール28を含むことができる。例としては、補間モジュール28は、次の式に従い、一次補間を使用して、アップ・サンプル化された信号をダウン・サンプル化することができる。
Figure 0005450060
ここで、s(n)はn出力サンプル、s prev(n)は対応する前の中間サンプル、s next(n)は対応する次の中間サンプル、および、λ(n)は下記で詳細に説明される位相の整数表示に基づいて計算される補間係数である。
一次補間係数は、次の式を使用して計算され得る。
Figure 0005450060
ここで、t(n)はn番目の出力サンプルのサンプル時刻、tprev(n)とtnext(n)は、それぞれ、前の中間サンプルと次の中間サンプルのサンプル時刻である。補間誤差を最小化するために、λ(n)は可能な限り精確に計算されるべきである。
上記の式(1)に従い、補間モジュール28は、出力サンプルのタイミングが前の中間サンプルのタイミングに対応する場合、つまり、λ(n)がゼロである場合、前の中間サンプルを出力する。言い換えれば、アップ・サンプラー22は、一次補間を実行する必要がない。λ(n)がゼロでない場合、前の中間サンプルと次の中間サンプルに基づいて、出力サンプルを生成するために、補間モジュール28は補間を実行する。本開示は、一次補間を使用して、中間サンプル周波数から所望の出力サンプリング周波数へのダウン・サンプリングに焦点を当てるが、ここで説明された技法は、ゼロ次補間、一次補間、より高次の補間、および、種々のスプライン補間のような、任意の次数の補間にも適用され得る。
n番目の出力サンプルのサンプル時刻t(n)は、出力サンプルと中間サンプルのものを使用して表わされる。n番目の出力サンプルの絶対的サンプル時刻は、t(n)=n▽0として表現することが可能であり、ここで、▽ =1/fである。位相τ(n)としてここで呼ばれる入力サンプルに関する相対的出力サンプルは、t(n)を▽で割ることによって得ることが可能であり、ここで、▽=1/f、つまり、τ(n)=t(n)/▽=n(f/f)である。f/fが無限分数である場合、2進数字の有限数内でそれを表わすことができるように、アップ・サンプラー22は分数を量子化する。量子化エラーがn倍されるために、位相n(f/f)はより大きな誤差を持つ傾向がある。nが大きくなるにつれて、位相誤差は増加し、やがて許容できない水準へ蓄積する可能性がある。
本開示の技法に従い、アップ・サンプラー22は、位相の整数表示を使用して、位相τ(n)をより精確に決定することによって、位相誤差を減少する。より具体的には、位相トラッキング・モジュール30は、3つのコンポーネントを使用して位相τ(n)を表示し、整数を使用してコンポーネントの各々を追跡する。たとえば、位相トラッキング・モジュール30は、出力サンプルの位相τ(n)を次のように表わすことができる。
Figure 0005450060
ここで、α(n)は第1のコンポーネントを表示し、入力サンプルインデックスと呼ばれる。β(n)は第2のコンポーネントを表わし、整数位相(integer phase)と呼ばれる、および、θ(n)は第3のコンポーネントを表わし、分数位相(fractional phase)と呼ばれる。入力サンプルインデックスは、中間サンプルのセットを生成するために使用される最新の入力サンプルを示す。整数位相は、中間サンプルの1つを示す。分数位相は、所望の出力信号と整数位相により示された中間サンプルの間のタイミングの差を表わす。
後続の所望の出力信号、つまり、現在の出力サンプルの位相、を生成するために、位相トラッキング・モジュール30は、これらの位相コンポーネントの各々を再帰的に更新する。つまり、時刻nにおける位相コンポーネントは、時刻n−1におけるそれらの値に基づいて更新される。言い換えれば、前の所望の出力サンプルの位相コンポーネントは、次の所望の出力サンプルの位相コンポーネントを生成するために使用される。初期化中に、アップ・サンプラー22は、整数位相の増分(dint)と分数位相の増分(dfrac)を計算するが、それらは位相コンポーネント値を再帰的に更新するために使用される。つまり、整数位相の増加分と分数位相の増加分は、それぞれ整数位相と分数位相に対する増分の増大値を表わす。1つの実施形態では、位相トラッキング・モジュール30は、次の式に従い、dintとdfracを計算することができる。
Figure 0005450060
ここで、Nはアップ・サンプリング・ファクター、および、fとfは、それぞれ入力周波数と出力周波数である。上記の式において、関数
Figure 0005450060
は、任意の変数x以下である最大の整数に等しい床関数を示し、mod(A,B)は、AをBで割った際の正の余りを示す。言い換えれば、dintは、Nfをfで割った際の商であり、dfracは対応する余りである。
位相トラッキング・モジュール30は、次の式に従い、現在の出力サンプルの分数位相(θ(n))を得るために、前の出力サンプルの分数位相を更新する。
θ(n)=mod(θ(n−1)+dfrac,f) (6)
式(6)に従い、分数位相θ(n)は、θ(n−1)+dfracがfより小である場合には、θ(n−1)+dfracに等しく、θ(n−1)+dfracがf以上である場合には、θ(n−1)+dfrac−fに等しい。さらに、位相トラッキング・モジュール30は、θ(n−1)+dfracがf以上である場合には、分数位相と関連するキャリーオーバーξfrac(n)を1にセットする。
位相トラッキング・モジュール30は、次に、前の出力サンプルの整数位相、整数位相増分dint、および、分数位相と関係するキャリーオーバーξfrac(n)を使用して、現在の出力サンプルの整数位相を計算する。上記で説明されたように、整数位相は、出力サンプルのタイミングが参照される中間サンプルの1つを識別する。中間サンプルは、複数の中間サンプルの任意のものであり得る。例として、整数位相は、所望の出力サンプルのすぐ前の中間サンプルを識別することができる。たとえば、位相トラッキング・モジュールは、次の式を使用して現在の出力サンプルの整数位相を計算することができる。
β(n)=mod(β(n−1)+dint+ξfrac(n),N) (7)
式(7)に従い、現在の出力サンプルの整数位相は、β(n−1)+dint+ξfrac(n)がアップ・サンプリング・レートNより小である場合には、β(n−1)+dint+ξfrac(n)に等しく、そして、β(n−1)+dint+ξfrac(n)がアップ・サンプリング・レートN以上である場合には、β(n−1)+dint+ξfrac(n)−Nに等しい。位相トラッキング・モジュール30は、β(n−1)+dint+ξfrac(n)がアップ・サンプリング・レートN以上である場合には、現在の出力サンプルの整数位相と関係するキャリア・オーバー
Figure 0005450060
を1にセットする。上記の式において、上付き文字mは、中間サンプルの1つのインデックスを表わす。
位相トラッキング・モジュール30は、整数位相により識別された中間サンプルと関係する入力サンプルインデックス(α(n))を追跡する。位相トラッキング・モジュール30は、現在の出力サンプルの整数位相と関係するキャリア・オーバー
Figure 0005450060
を使用して、入力サンプルインデックス(α(n))を追跡する。具体的には、位相トラッキング・モジュール30は、整数位相のキャリア・オーバーが1である場合には、現在の出力サンプルの入力サンプルインデックス(α(n))を増加する。そうでなければ、入力サンプルインデックス(α(n))は変わらないままである。このように、アップ・サンプラー22は、非近似の整数を使用して、3つの位相コンポーネントを再帰的に追跡することによって、所望の出力サンプルと対応する入力サンプルの間の相対的タイミングを表わす。
補間を介してダウン・サンプリングをする際の補間モジュール28を支援するために、位相トラッキング・モジュール30は、他の中間サンプルと関係する追加的なコンポーネントを計算する。例として、補間モジュール28は、一次補間を使用して出力サンプルを生成するために、5つの位相コンポーネントを使用する。5つの位相コンポーネントは、所望の出力サンプルのすぐ前の中間サンプル(“前の中間サンプル”)と関係する入力サンプルインデックスと整数位相、所望の出力サンプルのすぐ後の中間サンプル(“次の中間サンプル”)と関係する入力サンプルインデックスと整数位相、および、補間を実現するために使用される分数位相を含む。5つの位相コンポーネントのうち、3つのみが独立している。特に、出力サンプルの位相を表わすために使用される、入力サンプルインデックス、整数位相および分数位相は、独立している。他の入力サンプルインデックスと整数位相は、出力サンプルの位相を表わすために使用される入力サンプルインデックスと整数位相の関数として計算される。例として、前の中間サンプルと関係する入力サンプルインデックスと整数位相、および分数位相は、出力サンプルの位相を表わすために使用され得る。その場合には、次の中間サンプルと関係する入力サンプルインデックスと整数位相は、前の中間サンプルと関係する入力サンプルインデックスと整数位相に依存している。あるいは、次の中間サンプルに関係する入力サンプルインデックスと整数位相、および分数位相は、出力サンプルの位相を表示するために使用され得る。その場合には、前の中間サンプルと関係する入力サンプルインデックスと整数位相は、次の中間サンプルに関係する入力サンプルインデックスと整数位相に依存している。
前の中間サンプルと関係する入力サンプルインデックスと整数位相が、出力サンプルの位相を表わすために使用される場合には、前の中間サンプルと関係するサンプルインデックス(αprev(n))、前の中間サンプルと関係する整数位相(βprev(n))、および分数位相(θ(n))は、上記で説明されたように、追跡され得る。特に、位相トラッキング・モジュールは、次の式に従い、コンポーネントの各々を計算し更新する。
Figure 0005450060
次に、補間を補助するために、位相トラッキング・モジュール30は、1つ以上の他の中間サンプルと関係する整数位相と入力サンプルインデックスを計算する。たとえば、一次補間について、位相トラッキング・モジュール30は、次の中間サンプルと関係する整数位相と入力サンプルインデックスを計算する。1つの実施形態では、位相トラッキング・モジュール30は、前の中間サンプルに関して上記で説明されたのと同じように、次の中間サンプルと関係する整数位相と入力サンプルインデックスを計算する。たとえば、位相トラッキング・モジュール30は、次の式に従い、次の中間サンプルと関係する整数位相と入力サンプルインデックスを更新することができる。
Figure 0005450060
あるいは、位相トラッキング・モジュール30は、前の中間サンプルと関係する整数位相と入力サンプルインデックスに基づいて、次の中間サンプルと関係する整数位相と入力サンプルインデックスを計算することができる。たとえば、位相トラッキング・モジュールは、次の式を使用して、次の中間サンプルと関係する整数位相βnext(n)と入力サンプルインデックスαnext(n)を更新することができる。
Figure 0005450060
ここで、ξnext(n)は、次の中間サンプルと関係する整数位相(つまり、βnext(n))の計算と関係するキャリーオーバーである。βprev(n)+1がN以上である場合には、βnext(n)は1へセットされる。そうでなければ、それは0にセットされる。
補間モジュール28は、上記の式(1)に従い、出力サンプルを生成するために、補間の間にこれらのコンポーネントの各々を使用する。特に、補間モジュール28は、前の中間サンプルと次の中間サンプルを選択し、前と次の中間サンプルと、θ(n)の関数として計算される補間係数とを使用して出力信号を生成する。特に、補間モジュール28は、対応する入力サンプルインデックスと整数位相、つまり、αprev(n)とβprev(n)を使用して、前の中間サンプルを選択する。補間モジュール28は、対応する入力サンプルインデックスと整数位相、つまり、αnext(n)とβnext(n)を使用して、次の中間サンプルを選択する。補間モジュール28は、分数位相θ(n)を使用して、補間係数λ(n)を計算する。補間モジュール28は、次の式を使用して補間係数を計算することができる。
λ(n)=θ(n)/f (9)
補間モジュール28は、上記の式(1)に従い、出力サンプルを生成するために、計算された補間係数を使用する。λ(n)が0.5より小である場合には、補間モジュール28により生成される出力サンプルは、前の中間サンプルにより近い。λ(n)が0.5より大である場合には、補間モジュール28により生成された出力サンプルは、次の中間サンプルにより近い。
除算が乗算より計算上コストが高いので、計算コストを節約するために、補間モジュール28は、補間係数評価定数(interpolation coefficient evaluation constant)と呼ばれる、1/fを事前計算することができる。たとえば、補間モジュール28は、初期化において補間係数評価定数を計算し、メモリ16内に値を格納することができる。アップ・サンプラー22は、定数が固定小数点数を使用して表わされるとき、補間係数評価定数の満足な精度を維持するために、特別なQファクター装置に備えることができる。より具体的には、この定数の精度を最大化するためには、Qファクターはfの関数として決定されることが可能である。アップ・サンプラーは、Qファクターをd+kに等しくなるようにセットすることができる。ここで、kは、2<fであるような最大の正の値であり、dは、固定小数点数として1/fを表示するために使用されるビット数である。たとえば、分数位相評価定数が16ビット・ワードで表される場合、Qファクターは、16ビット・ワードのすべてのビットを完全に使用するために、15+kにセットされる。補間モジュール28は、θ(n)と1/fの掛け算の後、Qファクターを調整する。
別の実施形態では、中間サンプルは、それらが必要とされる場合に限って計算される。この場合には、入力サンプルインデックスと整数位相は、アンチ・エイリアシング・フィルタ・モジュール26を制御するために使用され得る。フィルタがポリフェーズ・フィルタリング(polyphase filtering)を使用してインプリメントされる場合、整数位相は、対応するポリフェーズ・フィルタを選択するためにも使用され得る。
入力サンプリング・レートと出力サンプリング・レートを使用する代わりに、コンバージョン比率を使用して位相を追跡するために、同じ技法が使用され得る。たとえば、位相トラッキング・モジュールは、U/Dのコンバージョン比率で動作することができる。ここで、UとDは正の整数であり、Uは、厳密にDより小である。上記の式において、fとfを、UとDで入れ替えることによって、コンバージョン比率を使用して、類似の位相トラッキング結果を得ることが可能である。
一次補間を介して出力サンプルを補間する点から説明されたけれども、本開示の技法は、ゼロ次補間、より高次の補間、および、種々のスプライン補間のような他のタイプの補間を使用して、出力サンプルを生成するために使用され得る。実行される補間のタイプに依存して、位相トラッキング・モジュール30は、より多くの位相コンポーネントを追跡するか、または、計算する。たとえば、2次補間が使用される場合、位相トラッキング・モジュール30は、補間における使用に関して3つの中間サンプルを識別するために、3つの入力サンプルインデックスと3つの整数位相を追跡する、または、計算することができる。
入力サンプリング周波数から所望の出力サンプリング周波数へディジタル信号を変換するいくつかの例は、典型的な目的に対して、下記で例示される。第1の例としては、アップ・サンプラー22は44.1kHzという入力サンプリング・レートでディジタル信号を受信し、ディジタル信号の所望の出力サンプリング周波数が48kHzであることを決定することができる。この例では、アップ・サンプラー22は、10というアップ・サンプリング・ファクターを選択し、入力サンプルを441kHzへアップ・サンプル化する。整数位相と分数位相の増分は、下記に例示されるように計算される。
Figure 0005450060
位相評価定数は1/48000である。kは15にセットされる。定数は符号付き16ビットの固定小数点数で格納される場合、その精度を最大化するために、Qファクターは30にセットされるべきである。
第2の例としては、アップ・サンプラー22は、44.1kHzという入力サンプリング・レートでディジタル信号を受信し、ディジタル信号の所望の出力サンプリング周波数が48kHzであることを決定する。この例では、アップ・サンプラー22は、入力と出力サンプリング周波数を使用する代わりに、147/160の変換比率を選択する。アップ・サンプラー22は、10というファクターにより、441kHzへ入力サンプルをアップ・サンプル化する。整数位相と分数位相の増分は、
Figure 0005450060
である。位相評価定数は1/160である。ここで、kは7である。定数が符号付き16ビットの固定小数点形式で格納される場合、Qファクターは22にセットされるべきである。例Iと比較すると、整数の更新処理は同じである。分数位相増分と位相評価定数は異なる。ここで、その位相評価定数に対するその位相評価定数の量子化エラーの比率がより小さいという事実のために、後者のケースは、すこしだけより精確である。
第3の例としては、アップ・サンプラー22は、22.05kHzという入力サンプリング・レートでディジタル信号を受信し、ディジタル信号の所望の出力サンプリング周波数が32kHzであることを決定する。この例では、アップ・サンプラー22は、12というアップ・サンプリング・ファクターを選択し、入力サンプルを264.6kHzへアップ・サンプル化する。整数位相と分数位相の増分は、下記に例示されたように計算される。
Figure 0005450060
位相評価定数は1/32000である。kは14にセットされる。定数が符号付き32ビットの固定少数点フォーマットで格納される場合、その精度を最大化するために、Qファクターは45にセットされるべきである。
図3は、入力サンプリング周波数を所望の出力サンプリング周波数へアップ・サンプル化する、図2のアップ・サンプラー22のような、アップ・サンプラーの典型的な動作を例示する流れ図である。アップ・サンプラー22は、入力サンプリング周波数fで入力ディジタル信号を受信する(40)。
アップ・サンプラー22は、入力サンプリング周波数fから中間サンプリング周波数fへ入力ディジタル信号をアップ・サンプル化する(42)。アップ・サンプラー22は、ディジタル信号の隣接する入力サンプル間にN−1個のゼロを挿入することと、結果として生じる信号をアンチ・エイリアシング・フィルタでフィルタすることにより、Nというファクターにより入力ディジタル信号をアップ・サンプル化する。このように、アップ・サンプラー22はNfに等しい中間サンプリング周波数へディジタル信号をアップ・サンプル化する。
アップ・サンプラー22は、アップ・サンプル化されたディジタル信号をフィルタする(44)。アップ・サンプラー22は、ディジタル信号に存在する任意のエイリアシング・イメージまたはひずみを除去するために、アンチ・エイリアシング・フィルタ26を適用することができる。アンチ・エイリアシング・フィルタ26は、帯域幅π/Nを持つロー・パス・フィルタを含み得る。
補間モジュール28は、追跡された分数位相を使用して、一次補間係数を計算する(46)。補間モジュール28は、次の式を使用して、一次補間係数を計算することができる。
λ(n)=θ(n)/f (10)
補間モジュール28は、補間係数がゼロに等しいかどうかを決定する(50)。補間係数がゼロに等しい場合、前の中間サンプルのタイミングは、所望の出力サンプルのタイミングに対応し、そして補間モジュール28は一次補間を実行する必要はない。代わりに、補間モジュール28は、前の中間サンプルβprev(n)と関係する整数位相に対応する前の中間サンプルを出力する。補間モジュール28は、前の中間サンプルと関係する入力サンプルインデックスと整数位相を使用して前の中間サンプルを選択し、生成された中間サンプルを出力することができる。
補間係数がゼロに等しくない場合、補間モジュールは、出力サンプルを生成するために、補間を実行する(52)。補間モジュール28は、次の式に従い、出力信号s(n)を生成するために、一次補間を使用することができる。
Figure 0005450060
ここで、λ(n)は、計算された補間係数、
Figure 0005450060
は、αprev(n)とβprev(n)を使用して生成された前の中間サンプル、および、
Figure 0005450060
は、αnext(n)とβnext(n)を使用して生成された次の中間サンプルである。
アップ・サンプラー22は、整数値を使用して、出力サンプルの位相を追跡する(54)。具体的には、アップ・サンプラー22は、3つのコンポーネント、つまり、入力サンプルインデックスα(n)、整数位相β(n)、および、分数位相θ(n)を使用して、出力サンプルの位相を表わし、本開示で詳細に説明されたように、非近似の整数を使用して各コンポーネントを追跡する。例として、前の中間サンプルと分数位相と関係する入力サンプルインデックスと整数位相は、出力サンプルの位相を表わすために使用され得る。そのケースでは、次の中間サンプルと関係する入力サンプルインデックスと整数位相は、前の中間サンプルと関係する入力サンプルインデックスと整数位相に依存している。あるいは、次の中間サンプルと分数位相と関係する入力サンプルインデックスと整数位相は、出力サンプルの位相を表示するために使用され得る。そのケースでは、前の中間サンプルと関係する入力サンプルインデックスと整数位相は、次の中間サンプルと関係する入力サンプルインデックスと整数位相に依存している。アップ・サンプラー22は、出力サンプルを生成するために、補間を実行する際に位相コンポーネントを使用する。
図4は、非近似の整数を使用して、所望の出力サンプルと対応する入力サンプルの間の相対的タイミングを決定する、アップ・サンプラー22のような、アップ・サンプラーの典型的動作を例示する流れ図である。上記で説明されたように、非近似の整数を使用して、相対的タイミングを決定することは、無限分数の近似化により位相誤差の原因を減少することによって、アップ・サンプラー22が入力信号をより精確にアップ・サンプル化することを可能にする。図4で説明された例では、前の中間サンプルと分数位相と関係する入力サンプルインデックスと整数位相は、出力サンプルの位相を表わすために使用され得る。しかしながら、上記で説明されたように、任意の中間サンプルと関係する入力サンプルインデックスと整数位相は、出力サンプルの位相を表わすために使用され得る。
最初に、アップ・サンプラー22は初期化される(60)。初期化中に、アップ・サンプラー22は、整数位相の増分(dint)と分数位相の増分(dfrac)を計算する。1つの実施形態では、アップ・サンプラー22は、次の式に従い、dintとdfracを計算することができる。
Figure 0005450060
ここで、Nは、アップ・サンプリング・レートであり、fとfは、それぞれ入力周波数と出力周波数である。上記の式において、
Figure 0005450060
は、x以下の最大の整数に等しい床関数であり、mod(A,B)は、AをBで割った際の正の余りを示す。言い換えれば、dintは、Nfをfで割った際の商であり、dfracは対応する余りである。fは、fより小であるため、次の関係が保たれる。
0≦dint<N
0≦dfrac<f
アップ・サンプラー22は、前の中間サンプルのような、中間サンプルと関係する整数位相βprev(n)、分数位相(θ(n))を初期化することもできる。βnext(n)はβprev(n)に基づいて式(8)を使用して計算されるので、それを初期化する必要はない。n、つまり再帰インデックスが0に等しい場合、βprev(n)は0とN−1の間の任意の数字へセットされ得る。θ(n)は0とf−1の間の任意の数字にセットされ得る。
アップ・サンプラー22は、分数位相を更新する(62)。アップ・サンプラー22は、次の式を使用して、θ(n)を計算することができる。
θ(n)=mod(θ(n−1)+dfrac,f) (14)
ここで、モジュロ演算子は、
Figure 0005450060
である。つまり、θ(n)は、次のように書き換えることができる。
Figure 0005450060
アップ・サンプラー22は、増加された分数位相(θ(n−1)+dfrac)がf以上であるかどうかを決定する(64)。θ(n−1)+dfracがf以上である場合に、アップ・サンプラー22により計算された新しい分数位相θ(n)は、式(14)に従い、θ(n−1)+dfrac−fである。アップ・サンプラー22は、分数位相のキャリ−・オーバー(ξfrac(n))を1にセットする(68)。このように、アップ・サンプラー22は、分数位相のキャリ−・オーバーを算出している間も、整数で分数位相の分子を追跡する。
θ(n−1)+dfracがf0以上でない場合に、アップ・サンプラー22により計算された新しい分数位相θ(n)は、式(14)に従い、θ(n−1)+dfracである。キャリーオーバーが存在しないために、アップ・サンプラー22は、分数位相のキャリーオーバー(ξfrac(n))を0にセットする(66)。つまり、分数位相のキャリーオーバーξfrac(n)は次のように定義される。
Figure 0005450060
アップ・サンプラー22は、整数位相の増分dintと分数位相の更新ξfrac(n)からのキャリーオーバーを使用して、前の中間サンプルと関係する整数位相(βprev(n))を更新する(70)。たとえば、アップ・サンプラー22は、次の式に従い、βprev(n)を計算することができる。
βprev(n)=mod(βprev(n−1)+dint+ξfrac(n),N)
(17)
アップ・サンプラー22は、βprev(n−1)+dint+ξfrac(n)がN以上であるかどうかを決定する(72)。 βprev(n−1)+dint+ξfrac(n)がN以上である場合、前の中間サンプルと関係する新しい整数位相βprev(n)は、式(17)に従い、βprev(n−1)+dint+ξfrac(n)−Nに等しくなる。さらに、アップ・サンプラー22は、前の中間サンプルと関係する整数位相のキャリーオーバー
Figure 0005450060
を1にセットする(76)。このように、アップ・サンプラー22は、キャリーオーバーを算出する間も、前の中間サンプルと関係する整数位相を整数で追跡する。
βprev(n−1)+dint+ξfrac(n)がNより小である場合に、前の中間サンプルと関係する新しい整数位相βprev(n)は、βprev(n−1)+dint+ξfrac(n)に等しくなる。この場合には、キャリーオーバーが存在しないため、アップ・サンプラー22は、キャリーオーバー
Figure 0005450060
を0にセットする(74)。つまり、整数位相のキャリーオーバー
Figure 0005450060
は、次のように定義される。
Figure 0005450060
アップ・サンプラー22は、整数位相の更新によるキャリーオーバー
Figure 0005450060
を使用して、前の中間サンプルと関係するサンプルインデックス(αprev(n))を更新する(78)。具体的には、アップ・サンプラー22は、キャリーオーバーが1である場合には、サンプルインデックスを増大し、キャリーオーバーが0である場合には、サンプルインデックスを増大しない。たとえば、アップ・サンプラー22は、次の式を使用して、サンプルインデックスαprev(n)を更新することができる。
Figure 0005450060
このように、アップ・サンプラー22は、前の中間サンプルのサンプルインデックス、前の中間サンプルと関係する整数位相、および、分数位相を使用して、出力サンプルの位相を追跡する。
補間を補助するために、サンプリング・レート・コンバータ20は、次の中間サンプルに対する整数位相βnext(n)を計算する(80)。たとえば、アップ・サンプラー22は、次の式を使用して、βnext(n)を計算することができる。
βnext(n)=mod(βprev(n)+1,N) (20)
アップ・サンプラー22は、βprev(n)+1が、N以上であるかどうかを決定する(82)。βprev(n)+1が、N以上である場合、式(20)に従い、次の中間サンプルと関係する新しい整数位相βnext(n)は、βprev(n)+1−N に等しい。さらに、アップ・サンプラー22は、次の中間サンプルと関係する整数位相のキャリーオーバー
Figure 0005450060
を1にセットする(86)。このように、アップ・サンプラー22は、キャリーオーバーを算出する間も、次の中間サンプルと関係する整数位相を整数で追跡する。
βprev(n)+1が、Nより小である場合、前の中間サンプルと関係する新しい整数位相βprev(n)は、βprev(n)+1 に等しい。この場合には、キャリーオーバーが存在しないため、アップ・サンプラー22は、キャリーオーバー
Figure 0005450060
を0にセットする(84)。つまり、整数位相のキャリーオーバー
Figure 0005450060
は、次のように定義される。
Figure 0005450060
アップ・サンプラー22は、整数位相の更新によるキャリーオーバー
Figure 0005450060
と、前の中間サンプルと関係するサンプルインデックスαprev(n)を使用して、次の中間サンプルと関係するサンプルインデックスを更新する。具体的には、アップ・サンプラー22は、キャリーオーバーが1である場合には、サンプルインデックスを増加し、キャリーオーバーが0である場合には、サンプルインデックスを増加しない。整数位相の更新は、次の式を使用して、計算され得る。
Figure 0005450060
図4で示された例において、アップ・サンプラー22は、入力サンプルインデックスおよび前の中間サンプルと関係する整数位相および分数位相と使用して出力サンプルの位相と表わしているけれども、アップ・サンプラー22は、次の中間サンプルと関係する整数位相と入力サンプルインデックスを使用して、出力サンプルの位相を表わすことができる。次に、アップ・サンプラー22は、その結果に基づいて、前の中間サンプルと関係する整数位相と入力サンプルインデックスを計算する。さらに、前の中間サンプルと関係する整数位相と入力サンプルインデックスが計算されるのと同様に、アップ・サンプラー20は、次の中間サンプルと関係する整数位相と入力サンプルインデックスを更新することができる。
図5は、本開示の技法に従い、11kHzから48kHzへの入力サンプルの変換を例示するグラフである。図5に示された例において、アップ・サンプラー22のような、アップ・サンプラーは、132kHzのサンプリング・レートで中間サンプルを得るために、12というアップ・サンプル・ファクター、つまり、N=12により入力ディジタル信号をアップ・サンプル化する。たとえば、アップ・サンプラー22は、入力サンプルの各々の間に、11の中間サンプルを生成することができる。
図5に示された例は、1という入力サンプルインデックスに位置した1つの入力サンプル90を示す。さらに、図5のグラフは、入力サンプルインデックス1における入力サンプル90と入力サンプルインデックス2(示されていない)における入力サンプルとの間に挿入される、11の中間入力サンプルの中の3つを示す。アップ・サンプラー22は、三角で示された位置における出力サンプル92を生成することを望む。所望の出力サンプルの位置/タイミングがいかなる中間サンプルとも対応しないので、アップ・サンプラー22は、前の中間サンプルと次の中間サンプルに基づいて出力サンプルを得るために、一次補間を実行しなければならない。
アップ・サンプラー22は、前の中間サンプル94と次の中間サンプ96を生成するために、ここで説明された技法に従い、追跡された入力サンプルインデックスと整数位相を使用する。この場合には、中間サンプルの両方に対する入力サンプルインデックスは1に等しい、つまり、その前の入力サンプルと共に入力サンプル90は、両方の中間サンプルを生成するために使用される。所望の出力サンプル92のすぐ前にある中間サンプルが入力サンプルインデックス1における入力サンプル90を使用して生成された第1の中間サンプルであるため、前の中間サンプル94に対する整数位相は1に等しい。同様に、所望の出力サンプル92のすぐ後にある中間サンプルが入力サンプルインデックス1における入力サンプル90を使用して生成された第3の中間サンプルであるため、次の中間サンプル96に対する整数位相は2に等しい。
さらに、図5に例示されたように、分数位相コンポーネント98は、前の中間サンプル94と所望の出力92の間のタイミングの差の大きさ(measure)である。アップ・サンプラー22は、補間係数を生成するために分数位相コンポーネント98を使用する、そして、対応する入力サンプルインデックスと整数位相に基づいて生成された前と次の中間サンプルと、計算された一次補間係数を使用して出力サンプルを補間する。
図6は、本開示の技法に従い、11kHzから48kHzへの入力サンプルの変換を例示するグラフである。図6に示されたグラフは、図5のグラフと同じ変換を示しているが、信号の異なる位置において、つまり、入力サンプル5と6の間において示している。
図6に示された例は、入力サンプルインデックス5と6における2つの入力サンプル100Aと100Bをそれぞれ示す。さらに、図6のグラフは、入力サンプルインデックス5における入力サンプル100Aと、入力サンプルインデックス6における入力サンプル100Bとの間でアップ・サンプラーにより生成される11個の中間入力サンプルすべてを示す。アップ・サンプラー22は、三角形として識別された、いくつかの出力サンプルを生成することを望む。所望の出力サンプル102の位置/タイミングは、いずれの中間サンプルにも対応しないので、アップ・サンプラー22は、前の中間サンプルと次の中間サンプルに基づいて出力サンプルを得るために、一次補間を実行しなければならない。
アップ・サンプラー22は、前の中間サンプル104と次の中間サンプル106を生成するために、ここで説明された技法に従い、追跡された入力サンプルと整数位相を使用する。この場合には、前の中間サンプル104に対する入力サンプルインデックスは、次の中間サンプル106に対する入力サンプルインデックスとは異なる。特に、前の中間サンプル104に対する入力サンプルインデックスは5に等しいが、次の中間サンプル106と関係する入力サンプルインデックスは6に等しい。言い換えれば、入力サンプル100Aとその前の入力サンプルとは対照的に、次の中間サンプルは、入力サンプル100Bとその前の入力サンプルを使用して生成される。
所望の出力サンプル102のすぐ前にある中間サンプルが、入力サンプルインデックス5における入力サンプル100Aを使用して生成された11番目の中間サンプルであるため、前の中間サンプル104に対する整数位相は11に等しい。所望の出力サンプル102のすぐ後にある中間サンプルが、インデックス6における入力サンプル100Bに位置した入力サンプルに等しいため、次の中間サンプルに対する整数位相はゼロに等しい。
図6にさらに例示されたように、分数位相コンポーネント108は前の中間サンプル104と所望の出力102の間のタイミングの差を測定する。アップ・サンプラー22は、補間係数を生成するために分数位相コンポーネント108を使用する、そして、対応する入力サンプルインデックスと整数位相に基づいて生成された前と次の中間サンプルと計算された一次補間係数を使用して出力サンプルを補間する。
多くの実施形態が説明されてきた。しかしながら、これらの実施形態に種々の修正が可能であり、ここで示された原理は、他の実施形態へ同様に適用されることができる。ここで説明された方法は、ハードウェア、ソフトウェア、および/または、ファームウェアにおいて実現されることができる。そのような方法の種々のタスクは、マイクロプロセッサ、埋め込まれたコントローラ、またはIPコアのようなロジック・エレメントの1つ以上のアレイにより実行可能な命令のセットとしてインプリメントされ得る。1つの例では、1つ以上のそのようなタスクが、携帯電話のようなパーソナル通信装置の種々の装置の動作を制御するために構成される移動局モデム・チップまたはチップセット内の実行に対して準備される。
本開示で説明された技法は、汎用目的マイクロプロセッサ、ディジタル・シグナル・
プロセッサ(DSP)、特定用途向けIC (ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、コンプレックス・プログラマブル・ロジック・デバイス(CPLD)、または、他の同等のロジック・デバイスでインプリメントされ得る。ソフトウェアでインプリメントされた場合、技法は、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、不揮発性RAM(NVRAM)、電気的消去・書き込み可能PROM(EEPROM)、FLASHメモリなどのような、コンピュータ可読媒体上の命令として具体化されることができる。命令は、1つ以上のプロセッサが本開示で説明された機能性のある種の態様を実行するよう引き起こす。
さらなる例としては、実施形態は、ハード・ワイヤード回路として、特定用途向けICの中へ組み立てられた回路構成として、または、不揮発性記憶装置の中へロードされたファームウェア・プログラム、または、マイクロプロセッサまたは他のディジタル信号処理ユニットのような、ロジック・エレメントのアレイにより実行可能な命令であるコードのような、機械可読コードとしてデータ格納媒体からまたは中へロードされるソフトウェア・プログラムとして、部分または全体において、インプリメントされることができる。データ記憶媒体は、半導体メモリ(制限なしで、ダイナミックまたはスタティックRAM、ROM、および/または、フラッシュRAMを含み得る)、または、強誘電体(ferroelectric)、オボニック(ovonic)、高分子(polymeric)、または、相転移(phase-change)メモリ、または磁気または光学ディスクのようなディスク媒体のような記憶要素のアレイであり得る。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ディジタル信号の対応する入力サンプルと所望の出力サンプルとの間の相対的タイミングを表すことを含む方法であって、関連する中間サンプルを生成するために使用される前記ディジタル信号の最新の入力サンプルを識別する第1のコンポーネントと、中間サンプルを識別する第2のコンポーネントと、前記所望の出力サンプルと前記中間サンプルの間のタイミングの差を識別する第3のコンポーネントとを使用する、そこにおいて、前記コンポーネントの各々は、非近似の整数として表わされる、ディジタル信号の対応する入力サンプルと所望の出力サンプルとの間の相対的タイミングを表すことを含む方法。
[C2]
前記第3のコンポーネントを次の式により更新することをさらに含む、[C1]の方法。
Figure 0005450060
ここで、θ(n−1)は前記第3のコンポーネントの前の値であり、d frac は増分値であり、f は所望の出力サンプリング周波数であり、および、
Figure 0005450060
は、(θ(n−1)+d frac )/f に等しいか、それより小さい最大の整数を返す床関数である。
[C3]
前記増分値d frac を次の式により計算することをさらに含む、[C2]の方法。
Figure 0005450060
ここで、Nはアップ・サンプリング・ファクタであり、f は入力サンプリング周波数であり、および、
Figure 0005450060
は、
Figure 0005450060
に等しいか、それより小さい最大の整数を返す床関数である。
[C4]
前記第3のコンポーネントに関係する第1のキャリーオーバー値ξ frac (n)を、θ(n−1)+d frac がf 以上である場合に、1にセットすることをさらに含む、[C2]の方法。
[C5]
前記第2のコンポーネントβ (n)を、次式により更新することをさらに含む、[C4]の方法。
Figure 0005450060
ここで、β (n−1)は前記第2のコンポーネントの前の値であり、そして、
Figure 0005450060
は、
Figure 0005450060
以下である最大の整数を返す床関数である。
[C6]
前記第2のコンポーネントが、前記アップ・サンプリング・ファクターNに等しいか、それより大きい場合には、第2のキャリーオーバー値を1にセットすることをさらに含む、[C5]の方法。
[C7]
前記第2のキャリーオーバー値が1に等しい場合には、前記第1のコンポーネントを増加することをさらに含む、[C6]の方法。
[C8]
前記第1のコンポーネントと前記第2のコンポーネントは、第1の中間サンプルと関係し、前記第1の中間サンプルの前記第1のコンポーネントと前記第2のコンポーネントの関数として、第2の中間サンプルと関係する第1のコンポーネントと第2のコンポーネントを計算することをさらに含む、[C7]の方法。
[C9]
前記第2の中間サンプルと関係する前記第2のコンポーネントβ (n)を、次の式により計算することをさらに含む、[C8]の方法。
Figure 0005450060
ここで、
Figure 0005450060
は、(β (n)+1)/N以下である最大の整数を返す床関数である、
[C10]
前記第2の中間サンプルと関係する前記第2のコンポーネントが前記アップ・サンプリング・ファクターN以上である場合に、第3のキャリーオーバー値を1にセットすることをさらに含む、[C9]の方法。
[C11]
前記第3のキャリーオーバー値が1に等しい場合に、前記第2の中間サンプルと関係する前記第1のコンポーネントを増加することをさらに含む、[C10]の方法。
[C12]
前記第1の中間サンプルは前の中間サンプルを含み、前記第2の中間サンプルは次の中間サンプルを含む、[C8]の方法。
[C13]
前記第1の中間サンプルは次の中間サンプルを含み、前記第2の中間サンプルは前の中間サンプルを含む、[C8]の方法。
[C14]
式θ(n)/f を使用して、補間係数を計算することと、
前記補間係数の関数として前記所望の出力サンプルを得るために補間を実行すること、
をさらに含む、[C2]の方法。
[C15]
1/f を前もって計算することと、
品質ファクターをd+kに等しくなるようにセットすること、ここで、kは2 <f のような最大の正の数であること、および、dは固定小数点数として1/f を表示するために使用されたビットの数であること、
をさらに含む、[C13]の方法。
[C16]
関連する中間サンプルを生成するために使用されるディジタル信号の最新入力サンプルを識別する第1のコンポーネント、中間サンプルを識別する第2のコンポーネント、および、前記所望の出力サンプルと前記中間サンプルの間のタイミングの差を識別する第3のコンポーネントを使用して、ディジタル信号の所望の出力サンプルと対応する入力サンプルの間の相対的タイミングを表わす位相トラッキング・モジュール、そこにおいて、前記コンポーネントの各々は、非近似の整数として表わされる、を含む装置。
[C17]
前記位相トラッキング・モジュールは、次式により、前記第3のコンポーネントを更新する、[C16]の装置。
Figure 0005450060
ここで、θ(n−1)は前記第3のコンポーネントの前の値であり、d frac は増分値であり、f は所望の出力サンプリング周波数であり、そして、
Figure 0005450060
は、(θ(n−1)+d frac )/f 以下である最大の整数を返す床関数である。
[C18]
前記位相トラッキング・モジュールは、次式により、前記増分値d frac を計算する、[C17]の装置。
Figure 0005450060
ここで、Nはアップ・サンプリング・ファクターであり、f は入力サンプリング周波数であり、そして、
Figure 0005450060
は、
Figure 0005450060
以下である最大の整数を返す床関数である。
[C19]
前記位相トラッキング・モジュールは、θ(n−1)+d frac が、f 以上である場合に、前記第3のコンポーネントに関係する第1のキャリーオーバー値ξ frac (n)を1にセットする、[C17]の装置。
[C20]
前記位相トラッキング・モジュールは、次式により、前記第2のコンポーネントβ (n)を更新する、[C19]の装置。
Figure 0005450060
ここで、β (n−1)は前記第2のコンポーネントの前の値であり、そして、
Figure 0005450060
は、
Figure 0005450060
以下である最大の整数を返す床関数である。
[C21]
前記位相トラッキング・モジュールは、前記第2のコンポーネントが前記アップ・サンプリング・ファクターN以上である場合に、第2のキャリーオーバー値を1にセットする、[C20]の装置。
[C22]
前記位相トラッキング・モジュールは、前記第2のキャリーオーバー値が1に等しい場合に、前記第1のコンポーネントを増加する、[C21]の装置。
[C23]
前記第1のコンポーネントと前記第2のコンポーネントは、第1の中間サンプルと関係しており、前記第1の中間サンプルの前記第1のコンポーネントと前記第2のコンポーネントの関数として、第2の中間サンプルと関係する第1のコンポーネントと第2のコンポーネントを計算することをさらに含む、[C22]の装置。
[C24]
前記位相トラッキング・モジュールは、次式により、前記第2の中間サンプルと関係する前記第2のコンポーネントβ (n)を計算する、[C23]の装置。
Figure 0005450060
ここで、
Figure 0005450060
は、(β (n)+1)/N 以下である最大の整数を返す床関数である、
[C25]
前記位相トラッキング・モジュールは、前記第2の中間サンプルと関係する前記第2のコンポーネントが前記アップ・サンプリング・ファクターN以上である場合に、第3のキャリーオーバー値を1にセットする、[C24]の装置。
[C26]
前記位相トラッキング・モジュールは、前記第3のキャリーオーバー値が1に等しい場合に、前記第2の中間サンプルと関係する第1のコンポーネントを増加する、[C25]の装置。
[C27]
前記第1の中間サンプルは前の中間サンプルを含み、そして、前記第2の中間サンプルは次の中間サンプルを含む、[C23]の装置。
[C28]
前記第1の中間サンプルは次の中間サンプルを含み、そして、前記第2の中間サンプルは前の中間サンプルを含む、[C23]の装置。
[C29]
式θ(n)/f を使用して補間係数を計算し、前記補間係数の関数として前記所望の出力サンプルを得るために補間を実行する補間モジュールをさらに含む、[C19]の装置。
[C30]
前記ダウン・サンプリング・モジュールは、1/f を前もって計算し、品質ファクターをd+kに等しくなるようにセットする、ここで、kは、2 <f のような最大の正の数であり、そして、dは、固定小数点数として1/f を表示するために使用されるビットの数である、[C29]の装置。
[C31]
関連する中間サンプルを生成するために使用される前記ディジタル信号の最新入力サンプルを識別する第1のコンポーネントと、中間サンプルを識別する第2のコンポーネントと、前記所望の出力サンプルと前記中間サンプルの間のタイミングの差を識別する第3のコンポーネントとを使用して、ディジタル信号の所望の出力サンプルと対応する入力サンプルの間の相対的タイミングを表わすことを、プロセッサに実行時に引き起こさせる命令を含み、そこにおいて、前記コンポーネントの各々は、非近似の整数として表わされる、コンピュータ可読媒体。
[C32]
下記の式により、前記第3のコンポーネントを更新すること、
Figure 0005450060
ここで、θ(n−1)は前記第3のコンポーネントの前の値であり、d frac は増分値であり、f は所望の出力サンプリング周波数であり、そして、
Figure 0005450060
は、(θ(n−1)+d frac )/f 以下の最大の整数を返す床関数である、および
θ(n−1)+d frac がf 以上である場合に、前記第3のコンポーネントに関係する第1のキャリーオーバー値ξ frac (n)を1にセットすること、
を前記プロセッサに実行時に引き起こさせる命令をさらに含む、[C31]のコンピュータ可読媒体。
[C33]
次式により、前記増分値d frac を計算することを前記プロセッサに実行時に引き起こさせる命令をさらに含む、[C32]のコンピュータ可読媒体。
Figure 0005450060
ここで、Nはアップ・サンプリング・ファクターであり、f は入力サンプリング周波数であり、そして、
Figure 0005450060
は、
Figure 0005450060
以下である最大の整数を返す床関数である。
[C34]
次の式により、前記第2のコンポーネントβ (n)を更新すること、
Figure 0005450060
ここで、β (n−1)は前記第2のコンポーネントの前の値であり、そして、
Figure 0005450060
は、
Figure 0005450060
以下である最大の整数を返す床関数である、および、
前記第2のコンポーネントが前記アップ・サンプリング・ファクターN以上である場合に、第2のキャリーオーバー値を1にセットすることと、
前記第2のキャリーオーバー値が1に等しい場合に、前記第1のコンポーネントを増加すること、
を前記プロセッサに実行時に引き起こさせる命令をさらに含む、[C32]のコンピュータ可読媒体。
[C35]
前記第1のコンポーネントと前記第2のコンポーネントは、第1の中間サンプルと関係しており、
次の式により、第2の中間サンプルと関係する前記第2のコンポーネントβ (n)を更新すること、
Figure 0005450060
ここで、
Figure 0005450060
は、(β (n)+1)/N以下である最大の整数を返す床関数である、および、
前記第2の中間サンプルと関係する前記第2のコンポーネントが前記アップ・サンプリング・ファクターN以上である場合に、第3のキャリーオーバー値を1にセットすることと、
前記第2のコンポーネントと関係する前記第3のキャリーオーバー値が1に等しい場合に、前記第2の中間サンプルと関係する前記第1のコンポーネントを増加すること、
を前記プロセッサに実行時に引き起こさせる命令をさらに含む、[C34]のコンピュータ可読媒体。
[C36]
前記第1の中間サンプルは前の中間サンプルを含み、そして、前記第2の中間サンプルは次の中間サンプルを含む、[C35]のコンピュータ可読媒体。
[C37]
前記第1の中間サンプルは次の中間サンプルを含み、前記第2の中間サンプルは前の中間サンプルを含む、[C35]のコンピュータ可読媒体。

Claims (57)

  1. ディジタル信号の所望の出力サンプルと対応する入力サンプルとの間の相対的タイミングを決定することを含む方法であって、前記相対的タイミングは、前記入力サンプルと、所望のサンプリングレートの前記出力サンプルとの間の位相であり、
    関連する中間サンプルを生成するために使用される前記ディジタル信号の最新の入力サンプルを識別する入力サンプルインデックスである第1のコンポーネントと、前記最新の入力サンプルを示す入力サンプルインデックスを使用して生成される、中間サンプルを識別する整数位相である第2のコンポーネントと、前記所望の出力サンプルと、前記整数位相により識別された前記中間サンプルの間のタイミングの差である分数位相を識別する第3のコンポーネントとを使用して決定すること、を含み、そこにおいて、前記コンポーネントの各々は、非近似の整数として表わされる、ディジタル信号の所望の出力サンプルと前記対応する入力サンプルとの間の相対的タイミングを決定する、方法。
  2. 前記第3のコンポーネントを次の式により更新することをさらに含む、請求項1の方法であって、
    Figure 0005450060

    ここで、θ(n−1)は前記第3のコンポーネントの前の値であり、dfracは増分値であり、fは所望の出力サンプリング周波数であり、および、
    Figure 0005450060

    は、(θ(n−1)+dfrac)/f に等しいか、それより小さい最大の整数を返す床関数である、請求項1の方法
  3. 前記増分値dfracを次の式により計算することをさらに含む、請求項2の方法であって、
    Figure 0005450060

    ここで、Nはアップ・サンプリング・ファクタであり、fは入力サンプリング周波数であり、および、
    Figure 0005450060

    は、
    Figure 0005450060

    に等しいか、それより小さい最大の整数を返す床関数である、請求項2の方法
  4. 前記第3のコンポーネントに関係する第1のキャリーオーバー値ξfrac(n)を、θ(n−1)+dfracがf 以上である場合に、1にセットすることをさらに含む、請求項2の方法。
  5. 前記第2のコンポーネントβ(n)を、次式により更新することをさらに含む、請求項4の方法であって、
    Figure 0005450060

    ここで、β(n−1)は前記第2のコンポーネントの前の値であり、そして、
    Figure 0005450060

    は、
    Figure 0005450060

    以下である最大の整数を返す床関数である請求項4の方法
  6. 前記第2のコンポーネントが、前記アップ・サンプリング・ファクターNに等しいか、それより大きい場合には、第2のキャリーオーバー値を1にセットすることをさらに含む、請求項5の方法。
  7. 前記第2のキャリーオーバー値が1に等しい場合には、前記第1のコンポーネントを増加することをさらに含む、請求項6の方法。
  8. 前記第1のコンポーネントと前記第2のコンポーネントは、第1の中間サンプルと関係し、前記第1の中間サンプルの前記第1のコンポーネントと前記第2のコンポーネントの関数として、第2の中間サンプルと関係する第1のコンポーネントと第2のコンポーネントを計算することをさらに含む、請求項7の方法。
  9. 前記第2の中間サンプルと関係する前記第2のコンポーネントβ(n)を、次の式により計算することをさらに含む、請求項8の方法であって、
    Figure 0005450060

    ここで、
    Figure 0005450060

    は、(β(n)+1)/N以下である最大の整数を返す床関数である、請求項8の方法。
  10. 前記第2の中間サンプルと関係する前記第2のコンポーネントが前記アップ・サンプリング・ファクターN以上である場合に、第3のキャリーオーバー値を1にセットすることをさらに含む、請求項9の方法。
  11. 前記第3のキャリーオーバー値が1に等しい場合に、前記第2の中間サンプルと関係する前記第1のコンポーネントを増加することをさらに含む、請求項10の方法。
  12. 前記第1の中間サンプルは前の中間サンプルを含み、前記第2の中間サンプルは次の中間サンプルを含む、請求項8の方法。
  13. 前記第1の中間サンプルは次の中間サンプルを含み、前記第2の中間サンプルは前の中間サンプルを含む、請求項8の方法。
  14. 式θ(n)/fを使用して、補間係数を計算することと、
    前記補間係数の関数として前記所望の出力サンプルを得るために補間を実行すること、
    をさらに含む、請求項2の方法。
  15. 1/fを前もって計算することと、
    品質ファクターをd+kに等しくなるようにセットすること、ここで、kは2<fのような最大の正の数であること、および、dは固定小数点数として1/fを表示するために使用されたビットの数であること、
    をさらに含む、請求項13の方法。
  16. ディジタル信号の所望の出力サンプルと対応する入力サンプルの間の相対的タイミングを決定する位相トラッキング・モジュールであって、前記相対的タイミングは、前記入力サンプルと、所望のサンプリングレートの前記出力サンプルとの間の位相であり、関連する中間サンプルを生成するために使用される前記ディジタル信号の最新入力サンプルを識別する入力サンプルインデックスである第1のコンポーネントと、前記最新の入力サンプルを示す入力サンプルインデックスを使用して生成される、中間サンプルを識別する整数位相である第2のコンポーネントと、前記所望の出力サンプルと、前記整数位相により識別された前記中間サンプルの間のタイミングの差である分数位相を識別する第3のコンポーネントとを使用して決定する位相トラッキング・モジュール、を含み、そこにおいて、前記コンポーネントの各々は、非近似の整数として表わされる、ディジタル信号の所望の出力サンプルと前記対応する入力サンプルとの間の相対的タイミングを決定する、装置。
  17. 前記位相トラッキング・モジュールは、次式により、前記第3のコンポーネントを更新する、請求項16の装置であって、
    Figure 0005450060

    ここで、θ(n−1)は前記第3のコンポーネントの前の値であり、dfracは増分値であり、f は所望の出力サンプリング周波数であり、そして、
    Figure 0005450060

    は、(θ(n−1)+dfrac)/f 以下である最大の整数を返す床関数である、請求項16の装置
  18. 前記位相トラッキング・モジュールは、次式により、前記増分値dfracを計算する、請求項17の装置であって、
    Figure 0005450060

    ここで、Nはアップ・サンプリング・ファクターであり、fは入力サンプリング周波数であり、そして、
    Figure 0005450060

    は、
    Figure 0005450060

    以下である最大の整数を返す床関数である、請求項17の装置
  19. 前記位相トラッキング・モジュールは、θ(n−1)+dfracが、f 以上である場合に、前記第3のコンポーネントに関係する第1のキャリーオーバー値ξfrac(n)を1にセットする、請求項17の装置。
  20. 前記位相トラッキング・モジュールは、次式により、前記第2のコンポーネントβ(n)を更新する、請求項19の装置であって、
    Figure 0005450060

    ここで、β(n−1)は前記第2のコンポーネントの前の値であり、そして、
    Figure 0005450060

    は、
    Figure 0005450060

    以下である最大の整数を返す床関数である、請求項19の装置
  21. 前記位相トラッキング・モジュールは、前記第2のコンポーネントが前記アップ・サンプリング・ファクターN以上である場合に、第2のキャリーオーバー値を1にセットする、請求項20の装置。
  22. 前記位相トラッキング・モジュールは、前記第2のキャリーオーバー値が1に等しい場合に、前記第1のコンポーネントを増加する、請求項21の装置。
  23. 前記第1のコンポーネントと前記第2のコンポーネントは、第1の中間サンプルと関係しており、前記第1の中間サンプルの前記第1のコンポーネントと前記第2のコンポーネントの関数として、第2の中間サンプルと関係する第1のコンポーネントと第2のコンポーネントを計算することをさらに含む、請求項22の装置。
  24. 前記位相トラッキング・モジュールは、次式により、前記第2の中間サンプルと関係する前記第2のコンポーネントβ(n)を計算する、請求項23の装置であって、
    Figure 0005450060

    ここで、
    Figure 0005450060

    は、(β(n)+1)/N 以下である最大の整数を返す床関数である、請求項23の装置。
  25. 前記位相トラッキング・モジュールは、前記第2の中間サンプルと関係する前記第2のコンポーネントが前記アップ・サンプリング・ファクターN以上である場合に、第3のキャリーオーバー値を1にセットする、請求項24の装置。
  26. 前記位相トラッキング・モジュールは、前記第3のキャリーオーバー値が1に等しい場合に、前記第2の中間サンプルと関係する第1のコンポーネントを増加する、請求項25の装置。
  27. 前記第1の中間サンプルは前の中間サンプルを含み、そして、前記第2の中間サンプルは次の中間サンプルを含む、請求項23の装置。
  28. 前記第1の中間サンプルは次の中間サンプルを含み、そして、前記第2の中間サンプルは前の中間サンプルを含む、請求項23の装置。
  29. 式θ(n)/fを使用して補間係数を計算し、前記補間係数の関数として前記所望の出力サンプルを得るために補間を実行する補間モジュールをさらに含む、請求項19の装置。
  30. 前記ダウン・サンプリング・モジュールは、1/fを前もって計算し、品質ファクターをd+kに等しくなるようにセットする、ここで、kは、2<fのような最大の正の数であり、そして、dは、固定小数点数として1/fを表示するために使用されるビットの数である、請求項29の装置。
  31. ディジタル信号の所望の出力サンプルと対応する入力サンプルの間の相対的タイミングを決定することであって前記相対的タイミングは、前記入力サンプルと、所望のサンプリングレートの前記出力サンプルとの間の位相であり、関連する中間サンプルを生成するために使用される前記ディジタル信号の最新入力サンプルを識別する入力サンプルインデックスである第1のコンポーネントと、前記最新の入力サンプルを示す入力サンプルインデックスを使用して生成される、中間サンプルを識別する整数位相である第2のコンポーネントと、前記所望の出力サンプルと、前記整数位相により識別された前記中間サンプルの間のタイミングの差である分数位相を識別する第3のコンポーネントとを使用して決定することを、プロセッサに実行時に引き起こさせる命令を含み、そこにおいて、前記コンポーネントの各々は、非近似の整数として表わされる、コンピュータ可読記憶媒体。
  32. 下記の式により、前記第3のコンポーネントを更新すること、
    Figure 0005450060

    ここで、θ(n−1)は前記第3のコンポーネントの前の値であり、dfracは増分値であり、fは所望の出力サンプリング周波数であり、そして、
    Figure 0005450060

    は、(θ(n−1)+dfrac)/f 以下の最大の整数を返す床関数である、および
    θ(n−1)+dfracがf 以上である場合に、前記第3のコンポーネントに関係する第1のキャリーオーバー値ξfrac(n)を1にセットすること、
    を前記プロセッサに実行時に引き起こさせる命令をさらに含む、請求項31のコンピュータ可読記憶媒体。
  33. 次式により、前記増分値dfracを計算することを前記プロセッサに実行時に引き起こさせる命令をさらに含む、請求項32のコンピュータ可読記憶媒体であって、
    Figure 0005450060

    ここで、Nはアップ・サンプリング・ファクターであり、fは入力サンプリング周波数であり、そして、
    Figure 0005450060

    は、
    Figure 0005450060

    以下である最大の整数を返す床関数である、請求項32のコンピュータ可読記憶媒体
  34. 次の式により、前記第2のコンポーネントβ(n)を更新すること、
    Figure 0005450060

    ここで、β(n−1)は前記第2のコンポーネントの前の値であり、そして、
    Figure 0005450060

    は、
    Figure 0005450060

    以下である最大の整数を返す床関数である、および、
    前記第2のコンポーネントが前記アップ・サンプリング・ファクターN以上である場合に、第2のキャリーオーバー値を1にセットすることと、
    前記第2のキャリーオーバー値が1に等しい場合に、前記第1のコンポーネントを増加すること、
    を前記プロセッサに実行時に引き起こさせる命令をさらに含む、請求項32のコンピュータ可読記憶媒体。
  35. 前記第1のコンポーネントと前記第2のコンポーネントは、第1の中間サンプルと関係しており、
    次の式により、第2の中間サンプルと関係する前記第2のコンポーネントβ(n)を更新すること、
    Figure 0005450060

    ここで、
    Figure 0005450060

    は、(β(n)+1)/N以下である最大の整数を返す床関数である、および、
    前記第2の中間サンプルと関係する前記第2のコンポーネントが前記アップ・サンプリング・ファクターN以上である場合に、第3のキャリーオーバー値を1にセットすることと、
    前記第2のコンポーネントと関係する前記第3のキャリーオーバー値が1に等しい場合に、前記第2の中間サンプルと関係する前記第1のコンポーネントを増加すること、
    を前記プロセッサに実行時に引き起こさせる命令をさらに含む、請求項34のコンピュータ可読記憶媒体。
  36. 前記第1の中間サンプルは前の中間サンプルを含み、そして、前記第2の中間サンプルは次の中間サンプルを含む、請求項35のコンピュータ可読記憶媒体。
  37. 前記第1の中間サンプルは次の中間サンプルを含み、前記第2の中間サンプルは前の中間サンプルを含む、請求項35のコンピュータ可読記憶媒体。
  38. 前記装置は、無線通信装置である、請求項16の装置。
  39. ディジタル信号の所望の出力サンプルと対応する入力サンプルの間の相対的タイミングを決定する手段であって前記相対的タイミングは、前記入力サンプルと、所望のサンプリングレートの前記出力サンプルとの間の位相であり、関連する中間サンプルを生成するために使用される前記ディジタル信号の最新入力サンプルを識別する入力サンプルインデックスである第1のコンポーネントと、前記最新の入力サンプルを示す入力サンプルインデックスを使用して生成される、中間サンプルを識別する整数位相である第2のコンポーネントと、前記所望の出力サンプルと、前記整数位相により識別された前記中間サンプルの間のタイミングの差である分数位相を識別する第3のコンポーネントとを使用して決定する手段を含み、そこにおいて、前記コンポーネントの各々は、非近似の整数として表わされる、ディジタル信号の所望の出力サンプルと前記対応する入力サンプルとの間の相対的タイミングを決定する装置。
  40. 前記位相トラッキング・モジュールは、次式により、前記第3のコンポーネントを更新する、請求項39の装置であって、
    Figure 0005450060

    ここで、θ(n−1)は前記第3のコンポーネントの前の値であり、dfracは増分値であり、f は所望の出力サンプリング周波数であり、そして、
    Figure 0005450060

    は、(θ(n−1)+dfrac)/f 以下である最大の整数を返す床関数である請求項39の装置
  41. 前記相対的タイミングを表す手段は、位相トラッキング・モジュールを含む、請求項39の装置。
  42. 前記装置は、無線通信装置を含む、請求項39の装置。
  43. ディジタル信号の所望の出力サンプルと対応する入力サンプルの間の相対的タイミングを決定する手段であって前記相対的タイミングは、前記入力サンプルと、所望のサンプリングレートの前記出力サンプルとの間の位相であり、関連する中間サンプルを生成するために使用される前記ディジタル信号の最新入力サンプルを識別する入力サンプルインデックスである第1のコンポーネントと、前記最新の入力サンプルを示す入力サンプルインデックスを使用して生成される、中間サンプルを識別する整数位相である第2のコンポーネントと、前記所望の出力サンプルと、前記整数位相により識別された前記中間サンプルの間のタイミングの差である分数位相を識別する第3のコンポーネントとを使用して決定する手段、そこにおいて、前記コンポーネントの各々は、非近似の整数として表わされる、ディジタル信号の所望の出力サンプルと前記対応する入力サンプルとの間の相対的タイミングを決定する装置。
  44. 次式により、前記第3のコンポーネントを更新する手段をさらに含む、請求項43の装置であって、
    Figure 0005450060

    ここで、θ(n−1)は前記第3のコンポーネントの前の値であり、dfracは増分値であり、f は所望の出力サンプリング周波数であり、そして、
    Figure 0005450060

    は、(θ(n−1)+dfrac)/f 以下である最大の整数を返す床関数である、請求項43の装置
  45. 次式により、前記増分値dfracを計算する手段をさらに含む、請求項44の装置であって、
    Figure 0005450060

    ここで、Nはアップ・サンプリング・ファクターであり、fは入力サンプリング周波数であり、そして、
    Figure 0005450060

    は、
    Figure 0005450060

    以下である最大の整数を返す床関数である請求項44の装置
  46. θ(n−1)+dfracが、f 以上である場合に、前記第3のコンポーネントに関係する第1のキャリーオーバー値ξfrac(n)を1にセットする手段をさらに含む、請求項44の装置。
  47. 次式により、前記第2のコンポーネントβ(n)を更新する手段をさらに含む、請求項46の装置であって、
    Figure 0005450060

    ここで、β(n−1)は前記第2のコンポーネントの前の値であり、そして、
    Figure 0005450060

    は、
    Figure 0005450060

    以下である最大の整数を返す床関数である請求項46の装置
  48. 前記第2のコンポーネントが前記アップ・サンプリング・ファクターN以上である場合に、第2のキャリーオーバー値を1にセットする手段をさらに含む、請求項47の装置。
  49. 前記第2のキャリーオーバー値が1に等しい場合に、前記第1のコンポーネントを増加する手段をさらに含む、請求項48の装置。
  50. 前記第1のコンポーネントと前記第2のコンポーネントは、第1の中間サンプルと関係しており、前記第1の中間サンプルの前記第1のコンポーネントと前記第2のコンポーネントの関数として、第2の中間サンプルと関係する第1のコンポーネントと第2のコンポーネントを計算する手段をさらに含む、請求項49の装置。
  51. 次式により、前記第2の中間サンプルと関係する前記第2のコンポーネントβ(n)を計算する手段をさらに含む、請求項50の装置であって、
    Figure 0005450060

    ここで、
    Figure 0005450060

    は、(β(n)+1)/N 以下である最大の整数を返す床関数である、請求項50の装置。
  52. 前記第2の中間サンプルと関係する前記第2のコンポーネントが前記アップ・サンプリング・ファクターN以上である場合に、第3のキャリーオーバー値を1にセットする手段をさらに含む、請求項51の装置。
  53. 前記第3のキャリーオーバー値が1に等しい場合に、前記第2の中間サンプルと関係する第1のコンポーネントを増加する手段をさらに含む、請求項52の装置。
  54. 前記第1の中間サンプルは前の中間サンプルを含み、そして、前記第2の中間サンプルは次の中間サンプルを含む、請求項50の装置。
  55. 前記第1の中間サンプルは次の中間サンプルを含み、そして、前記第2の中間サンプルは前の中間サンプルを含む、請求項50の装置。
  56. 式θ(n)/fを使用して補間係数を計算する手段と、
    前記補間係数の関数として前記所望の出力サンプルを得るために補間を実行する手段と、
    をさらに含む請求項44の装置。
  57. 1/fを前もって計算する手段と、
    品質ファクターをd+kに等しくなるようにセットする手段と、
    をさらに含み、ここで、kは、2<fのような最大の正の数であり、そして、dは、固定小数点数として1/fを表示するために使用されるビットの数である、請求項55の装置。
JP2009515561A 2006-06-14 2007-05-31 所望の出力サンプルと対応する入力サンプルの間の相対的タイミングの整数表示 Expired - Fee Related JP5450060B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US81387006P 2006-06-14 2006-06-14
US60/813,870 2006-06-14
US11/558,313 2006-11-09
US11/558,313 US7508327B2 (en) 2006-06-14 2006-11-09 Integer representation of relative timing between desired output samples and corresponding input samples
PCT/US2007/070038 WO2007146599A2 (en) 2006-06-14 2007-05-31 Integer represenation of relative timing between desired output samples and corresponding input samples

Publications (2)

Publication Number Publication Date
JP2009540763A JP2009540763A (ja) 2009-11-19
JP5450060B2 true JP5450060B2 (ja) 2014-03-26

Family

ID=38658529

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009515561A Expired - Fee Related JP5450060B2 (ja) 2006-06-14 2007-05-31 所望の出力サンプルと対応する入力サンプルの間の相対的タイミングの整数表示

Country Status (6)

Country Link
US (1) US7508327B2 (ja)
EP (1) EP2041870A2 (ja)
JP (1) JP5450060B2 (ja)
KR (2) KR101123604B1 (ja)
CN (1) CN101467350B (ja)
WO (1) WO2007146599A2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SI22825A (sl) * 2008-05-27 2009-12-31 Instrumentation Technologies D.O.O. Postopek kompenzacije nelinearnih popačenj visokofrekvenčnih signalov in naprava za izvedbo postopka
JP5443724B2 (ja) * 2008-10-10 2014-03-19 セミコンダクター・コンポーネンツ・インダストリーズ・リミテッド・ライアビリティ・カンパニー 音声信号処理回路
EP3044877B1 (en) 2013-09-12 2021-03-31 Dolby Laboratories Licensing Corporation System aspects of an audio codec
JP2022548555A (ja) 2019-09-24 2022-11-21 アリババ グループ ホウルディング リミテッド 映像符号化のための動き補償方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0156933B1 (en) * 1984-04-02 1987-11-19 The Boeing Company Turboprop engine
US5982305A (en) * 1997-09-17 1999-11-09 Microsoft Corporation Sample rate converter
US6473457B1 (en) * 1999-05-07 2002-10-29 Motorola, Inc. Method and apparatus for producing a pulse width modulated signal
JP3353065B2 (ja) * 2000-02-29 2002-12-03 独立行政法人通信総合研究所 サンプリング間隔数列の出力装置、受信装置、サンプリング間隔数列の出力方法、受信方法、および、情報記録媒体
US6820103B2 (en) * 2000-11-03 2004-11-16 Qualcomm Inc. Digital filter with state storage
US6563448B1 (en) 2002-04-29 2003-05-13 Texas Instruments Incorporated Flexible sample rate converter for multimedia digital-to-analog conversion in a wireless telephone
US6747858B1 (en) * 2002-12-31 2004-06-08 Texas Instruments Incorporated Digital sample rate converter architecture
US7342518B2 (en) 2004-01-20 2008-03-11 Freescale Semiconductor, Inc. Digital rate converter
EP1569336B1 (en) 2004-02-24 2010-04-07 ACCENT S.p.A. Method for implementing a fractional sample rate converter (F-SRC) and corresponding converter architecture
KR100594267B1 (ko) * 2004-03-29 2006-06-30 삼성전자주식회사 샘플링 레이트 변환 방법, 샘플링 레이트 변환 장치, 및그 장치를 포함하는 오디오 재생 시스템
US7061409B1 (en) * 2005-02-07 2006-06-13 Nokia Corporation Techniques for sample rate conversion
US7227477B2 (en) * 2005-06-27 2007-06-05 General Instrument Corporation Method and apparatus for performing sample rate conversion

Also Published As

Publication number Publication date
WO2007146599A2 (en) 2007-12-21
KR20110056552A (ko) 2011-05-30
CN101467350B (zh) 2014-03-19
KR101123604B1 (ko) 2012-03-22
US20070290900A1 (en) 2007-12-20
JP2009540763A (ja) 2009-11-19
KR101123605B1 (ko) 2012-03-22
WO2007146599A3 (en) 2008-03-06
US7508327B2 (en) 2009-03-24
EP2041870A2 (en) 2009-04-01
CN101467350A (zh) 2009-06-24
KR20090025283A (ko) 2009-03-10

Similar Documents

Publication Publication Date Title
Lai Practical digital signal processing
RU2607230C2 (ru) Адаптация взвешивающих окон анализа или синтеза для кодирования или декодирования путем преобразования
AU2013223996B2 (en) Low delay real-to-complex conversion in overlapping filter banks for partially complex processing
JP2009527206A (ja) デジタル領域サンプリングレートコンバータ
CN102576537B (zh) 用于处理音频信号的方法和装置
JP5450060B2 (ja) 所望の出力サンプルと対応する入力サンプルの間の相対的タイミングの整数表示
JP3541680B2 (ja) 音声音楽信号の符号化装置および復号装置
JP2004531151A (ja) 時間離散オーディオサンプル値を処理する方法と装置
KR20210114358A (ko) 오디오 데이터를 처리하기 위한 방법 및 장치
JP5420659B2 (ja) フィルタ補間によってエンコーダを更新する方法
US7224294B2 (en) Compressing device and method, decompressing device and method, compressing/decompressing system, program, record medium
US6766338B1 (en) High order lagrange sample rate conversion using tables for improved efficiency
US20170270939A1 (en) Efficient Sample Rate Conversion
US7312729B2 (en) Universal sampling rate converter in electronic devices and methods
US6772022B1 (en) Methods and apparatus for providing sample rate conversion between CD and DAT
US20160180860A1 (en) High order B-spline sampling rate conversion (SRC)
WO2002015406A1 (en) Acquiring local signal behavior parameters
US7177812B1 (en) Universal sampling rate converter for digital audio frequencies
WO2019152101A1 (en) Sample rate conversion with pitch-based interpolation filters
JPH0732343B2 (ja) 非同期標本化周波数変換方式
CN116760414A (zh) 一种软件无线电系统中任意倍数采样率转换的方法
US8823559B2 (en) Shift-invariant digital sampling rate conversion system
JPH04301900A (ja) 音声符号化装置
AU2022418124A1 (en) Ivas spar filter bank in qmf domain
JP2004518164A (ja) オーディオ信号又はスピーチ信号を符号化するパラメトリック・エンコーダ及び方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120207

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120507

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120514

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120607

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120614

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120709

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120717

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130402

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130603

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130610

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131002

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131225

R150 Certificate of patent or registration of utility model

Ref document number: 5450060

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees