IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ジェイディーエス ユニフェイズ コーポレーションの特許一覧

特許7572952信号リサンプリングのためのシステム及び方法
<>
  • 特許-信号リサンプリングのためのシステム及び方法 図1
  • 特許-信号リサンプリングのためのシステム及び方法 図2
  • 特許-信号リサンプリングのためのシステム及び方法 図3
  • 特許-信号リサンプリングのためのシステム及び方法 図4
  • 特許-信号リサンプリングのためのシステム及び方法 図5
  • 特許-信号リサンプリングのためのシステム及び方法 図6
  • 特許-信号リサンプリングのためのシステム及び方法 図7
  • 特許-信号リサンプリングのためのシステム及び方法 図8
  • 特許-信号リサンプリングのためのシステム及び方法 図9
  • 特許-信号リサンプリングのためのシステム及び方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-16
(45)【発行日】2024-10-24
(54)【発明の名称】信号リサンプリングのためのシステム及び方法
(51)【国際特許分類】
   H03H 17/00 20060101AFI20241017BHJP
【FI】
H03H17/00 621E
【請求項の数】 16
(21)【出願番号】P 2021534394
(86)(22)【出願日】2019-12-19
(65)【公表番号】
(43)【公表日】2022-02-17
(86)【国際出願番号】 US2019067465
(87)【国際公開番号】W WO2020132239
(87)【国際公開日】2020-06-25
【審査請求日】2022-10-27
(31)【優先権主張番号】62/782,481
(32)【優先日】2018-12-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502151820
【氏名又は名称】ヴァイアヴィ・ソリューションズ・インコーポレイテッド
【氏名又は名称原語表記】Viavi Solutions Inc.
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100203264
【弁理士】
【氏名又は名称】塩川 未久
(72)【発明者】
【氏名】シーン ハムリン
【審査官】志津木 康
(56)【参考文献】
【文献】米国特許出願公開第2007/0030939(US,A1)
【文献】米国特許出願公開第2003/0108143(US,A1)
【文献】米国特許第06035182(US,A)
【文献】米国特許第04775851(US,A)
【文献】特表2015-518312(JP,A)
【文献】特開2004-260791(JP,A)
【文献】国際公開第2007/004465(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H03H17/00-17/08
H03K21/00-21/40
H03L1/00-9/00
H04B1/38-1/58
(57)【特許請求の範囲】
【請求項1】
第1信号データを処理するように構成された機器であって、
前記機器は、
前記第1信号データを受信するように適合された入力であって、前記第1信号データは、第1サンプルレートを有する、入力と、
前記入力に接続されたコントローラと、を含み、
前記コントローラは、
前記入力からの前記第1信号データを受信し、sinc窓関数を含むシェーピング機能を用い、前記第1信号データを前記第1サンプルレートとは異なる第2サンプルレートを有する第2信号データに変換するように適合されたシェーピングフィルタと、
デュアルモジュラスカウンタを用い、前記シェーピングフィルタのタイミングを制御するように適合されたタイミングコントローラと、を含む、機器。
【請求項2】
前記デュアルモジュラスカウンタは、マルチステージノイズシェーピングデジタルデルタシグマ変調器(MASH DDSM)を含む、請求項1に記載の機器。
【請求項3】
前記タイミングコントローラは、ステートマシンをさらに含み、前記デュアルモジュラスカウンタは、前記ステートマシンに接続されたマルチステージノイズシェーピングデジタルデルタシグマ変調器(MASH DDSM)を含み、
前記MASH DDSMは、
カスケードされた複数の誤差フィードバック変調器(EFM)であって、各誤差フィードバック変調器(EFM)は、ノイズシェーピングネットワークに供給する、複数の誤差フィードバック変調器(EFM)と、
ステートマシンへの制御信号を導出するために用いられるリサンプリングレートの整数及び少数成分を累積するタイミング累積器と、を含み、前記リサンプリングレートは、前記第1サンプルレートを前記第2サンプルレートに変換し、
前記ノイズシェーピングネットワークは、ハイパスフィルタ応答に従って最後の前記EFMの量子化誤差をシェーピングしつつ、先行する前記EFMの前記量子化誤差をキャンセルするように適合され、その出力は、前記リサンプリングレートの前記少数成分を示す、請求項1に記載の機器。
【請求項4】
各EFMは、キャリーアウトビットを有するモジュロB累積器を含み、Bは、プログラム可能な整数値である、請求項3に記載の機器。
【請求項5】
前記ノイズシェーピングネットワークは、複数の前記EFMからの量子化ノイズをキャンセルするように適合されたカスケードされた微分器を含む、請求項3に記載の機器。
【請求項6】
前記タイミングコントローラは、有効、アドレス及び時間残差信号を前記シェーピングフィルタに出力して前記シェーピングフィルタの出力のタイミング及びカーネル補間を制御するように適合される、請求項1に記載の機器。
【請求項7】
前記シェーピングフィルタのインパルス応答は、前記sinc窓関数を含む、請求項6に記載の機器。
【請求項8】
前記シェーピングフィルタは、
それぞれが前記シェーピングフィルタの各ゼロ交差又はタップされた遅延出力のために記憶されたフィルタカーネル値を含む複数の第1メモリと、
それぞれが前記フィルタカーネルの前記補間に用いられる値を含む複数の第2メモリであって、前記第1及び第2メモリは、前記タイミングコントローラからの前記アドレス信号を用いてアクセスされる、複数の第2メモリと、
前記タイミングコントローラからの前記時間残差信号を入力し、前記第1メモリからのフィルタカーネル値及び前記第2メモリからの値を用い、前記入力された第1信号データに適用されるフィルタ係数を補間し、タイミングコントローラステートマシンからの制御信号のアサートに応じた前記第2サンプルレートを有する前記第2信号データを形成する組み合わせロジックと、を含む、請求項6に記載の機器。
【請求項9】
第1信号データを処理するように構成された機器であって、
前記機器は、
前記第1信号データを受信するように適合された入力ポートであって、前記第1信号データは、第1サンプルレートを有する、入力ポートと、
前記入力ポートに電気的に接続されたコントローラロジックと、含み、
前記コントローラロジックは、
前記入力ポートからの前記第1信号データを受信し、sinc窓関数を含むフィルタ機能を用い、前記第1信号データを前記第1サンプルレートとは異なる第2サンプルレートを有する第2信号データに変換するフィルタと、
マルチステージノイズシェーピングデジタルデルタシグマ変調器(MASH DDSM)を用い、前記フィルタのタイミング及び補間を制御するように適合されたタイミングコントローラと、を含む、機器。
【請求項10】
前記タイミングコントローラは、ステートマシンをさらに含み、前記MASH DDSMは、前記ステートマシンに接続され、
前記MASH DDSMは、
カスケードされた複数の誤差フィードバック変調器(EFM)であって、各誤差フィードバック変調器(EFM)は、タイミング制御信号の一部を出力する、複数の誤差フィードバック変調器(EFM)と、
複数の前記EFMからの前記タイミング制御信号の前記一部を受信し、組み合わされた制御信号を前記ステートマシンに出力するように適合されたノイズシェーピングネットワークと、を含む、請求項9に記載の機器。
【請求項11】
各EFMは、モジュロB累算器を含み、入力信号と、ディスクリート積分器又は累算器が続く前の量子化された出力信号との間の差分を計算するように適合されたフィードバックループを含み、Bは、整数である、請求項10に記載の機器。
【請求項12】
前記ノイズシェーピングネットワークは、複数の前記EFMからの量子化ノイズをキャンセルするように適合されたカスケードされた微分器を含む、請求項10に記載の機器。
【請求項13】
前記フィルタ機能は、
それぞれが各ゼロ交差において記憶されたフィルタカーネル値を含む複数の第1メモリと、
それぞれが差値を含む複数の第2メモリであって、前記第1及び第2メモリは、前記タイミングコントローラからのアドレス信号を用いてアクセスされる、複数の第2メモリと、
前記タイミングコントローラからの有効信号が前記入力された第1信号データをリサンプルする時間を示す場合、前記タイミングコントローラから時間_残差信号を入力し、前記第1メモリからのフィルタカーネル値及び前記第2メモリからの差値を用い、前記入力された第1信号データに適用されるフィルタ係数を生成し、前記第2サンプルレートを有する前記第2信号データを形成する、組み合わせロジックと、を含む、請求項10に記載の機器。
【請求項14】
第1信号データを処理する方法であって、前記第1信号データは、第1サンプルレートを有し、前記方法は、
入力デバイスのポートで、前記第1信号データを入力することと、
sinc窓関数を含むシェーピング機能を用い、前記第1信号データを前記第1サンプルレートとは異なる第2サンプルレートを有する第2信号データに変換するように適合されたシェーピングフィルタに前記第1信号データを適用することと、
デュアルモジュラスカウンタを用い、前記シェーピングフィルタのタイミングを制御することと、を含む、方法。
【請求項15】
前記デュアルモジュラスカウンタは、マルチステージノイズシェーピングデジタルデルタシグマ変調器(MASH DDSM)を含む、請求項14に記載の方法。
【請求項16】
前記第1信号データは、前記第1信号データを有する波形を生成するソースからリアルタイムで入力される、請求項14に記載の方法。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2018年12月20日に提出された米国仮出願第62/782,481号の優先権を主張するものであり、その全体が参照によりここに組み込まれる。
【技術分野】
【0002】
本開示は、概して、信号処理の機器システム及び方法に関するものであり、より詳細には、信号データを、第1サンプルレートから第1サンプルレートとは異なる第2サンプルレートにリサンプリングする機器システム及び方法に関するものである。
【背景技術】
【0003】
信号処理及び解析は、特に無線周波数(RF:Radio Frequency)ベクトルの信号処理及び解析は、今日の高度な技術の世界において、不可欠な面である。多くの場合、信号は、1つのデバイスによって生成又は記録され、その後、別のテスト機器によって処理及び/又は解析される。テスト機器には信号処理及び解析を、異なる2つの方法:1)記録された信号データでオフラインと、2)信号データのソースへの適切な接続でリアルタイムとにおいて、できることが望まれる場合がある。
【0004】
場合によっては、第1デバイスのサンプリング期間Tと第2デバイスのサンプリング期間T’とが、異なる場合がある。これらの例では、情報を失うことなくTからT’へ変換するために、リサンプリングのアルゴリズムを実行することが望まれる。多くの場合、なぜなら、テスト機器には予め決められたサンプリングレート(例えば、250MHz)があるが、波形のサンプリングレートがテスト機器のサンプリングレートの整数倍ではない場合があるため、波形のサンプルレートからテスト機器のサンプルレートへの変換は、容易に実行できない。テスト機器により実行されるリサンプリングの複雑さによって、処理が比較的遅くなったり、及び/又は、メモリ及び/又は処理リソースを使用し過ぎて完了できなくなったりする場合がある。これらの全ては、望ましくない。
【0005】
従来の有理リサンプリングが、適切ではない場合がある。図1に示すように、有理サンプルレート変換を実行するための典型的な信号処理技術10は、2つの処理ブロック12,16と、2つのブロック12,16の間に接続されたデジタルローパスフィルタ14とを含む。有理サンプルレート変換は、信号データx[n]をブロック12において整数Lで補間し、さらにブロック16においてそれを整数Mで間引くことによって実行され、出力y[m]を形成する。デジタルローパスフィルタ14は、関数max[L,M]によって駆動される周波数カットオフを有する。
【0006】
理論的には、有理サンプルレート変換を実行するための典型的な技術10は、L/Mの任意の合理因子による変換を提供する。しかしながら、この技術10には、いくつかの欠点がある。多相実装は計算量を低く抑えるように機能する場合があるが、L/M比が大きいと、係数の記憶及び処理要求が高まる可能性があり、これは、望ましくない。さらに、プログラマブルなL/M比は、技術10のハードウェア実装を複雑にする可能性がある。加えて、サンプリングレートを時間とともにスムーズに変えることができず、実装は、特に、可変群遅延の管理に便利ではない場合がある。
【0007】
したがって、係数の記憶及び処理要求の増加並びに複雑なハードウェア実装を要求せずに、サンプリングレートを時間とともに変えることを可能にしつつ、第1サンプルレートを第2サンプルレートに変換するために使用できる改善された信号リサンプリング技術が要求及び望まれている。
【発明の概要】
【0008】
本開示の一態様によれば、デジタル信号処理のためのシステムが開示される。システムは、信号データのサンプリングレートを制御及び/又は変えることにより信号データを処理するように構成された機器を含んでよい。
【0009】
1つ以上の実施形態では、第1信号データを処理するように構成された機器が提供されてよい。機器は、前記第1信号データを受信するように適合された入力であって、前記第1信号データは、第1サンプルレートを有する、入力と、前記入力に接続されたコントローラとを含む。1つ又は複数の実施形態では、前記コントローラは、前記入力からの前記第1信号データを受信し、シェーピング機能を用い、前記第1信号データを前記第1サンプルレートとは異なる第2サンプルレートを有する第2信号データに変換するように適合されたシェーピングフィルタと、デュアルモジュラスカウンタを用い、前記シェーピングフィルタのタイミングを制御するように適合されたタイミングコントローラとを含んでよい。
【0010】
1つ又は複数の実施形態では、前記デュアルモジュラスカウンタは、マルチステージノイズシェーピングデジタルデルタシグマ変調器(MASH DDSM:Multi-stAge noise Shaping Digital Delta-Sigma Modulator)を含んでよい。
【図面の簡単な説明】
【0011】
詳細な説明は、特に、以下の図面を参照する。
【0012】
図1図1は、典型的な信号処理のリサンプリング技術を示す。
図2図2は、アナログ信号のリサンプリングの一例を示すブロック図であり、ここには、ウィッタカー-シャノン(Whittaker-Shannon)補間技術を理想的な意味で示す。
図3図3は、本開示の原理に従って信号データを処理するための例示的な機器を示す簡略化されたブロック図である。
図4図4は、本開示の原理に従って図3の機器によって利用され得るリサンプリング処理を実行するためのロジックの簡略化されたブロック図である。
図5図5は、本開示の原理に従って図4のリサンプリング実装において使用され得る例示的なタイミングコントローラの簡略化されたブロック図である。
図6図6は、本開示の原理に従って図4のリサンプリングのロジックにおいて使用され得るマルチステージノイズシェーピングデジタルデルタシグマ変調器(MASH DDSM)の一例及びタイミングコントロールロジックの一例の簡略化されたブロック図である。
図7図7は、本開示の原理に従って図6のMASH DDSMにおいて使用され得る例示的なエラーフィードバック変調器(EFM:Error Feedback Modulator)の概略図を示す。
図8図8は、本開示の原理に従って図6のMASH DDSMの解析において使用され得る例示的な線形化されたEFMの概略図を示す。
図9】本開示の原理に従う図6のMASH DDSMのEFMのノイズパワースペクトル密度のグラフを示す。
図10】本開示の原理に従う図6のMASH DDSMの一例の概略図を示す。
【発明を実施するための形態】
【0013】
本開示の概念は、様々な修正及び代替的な形態の影響を受けやすいが、特定の例示的な実施形態が例示として図面に示され、本明細書において詳細に説明される。しかしながら、本開示の概念を特定の開示された形態へ限定する意図がないことを理解されたく、逆に、その意図は、添付の特許請求の範囲によって定義される発明の趣旨及び範囲内にある全ての修正、同等物及び代替物を含む。
【0014】
連続時間における完全な補間、帯域制限された関数は、例えば、図2に示すようなウィッタカー-シャノン補間技術20によって、アナログ領域で保障され得ることが理解される。技術20は、理想的なDAC(Digital-to-Analog Converter)22と、完全なローパスフィルタ24と、理想的なADC(Analog-to-Digital Converter)26とを含み得る。入力信号x[nT]は、DAC22への入力として使用され、DAC22の出力は、その出力がADC26による入力として使用されるローパスフィルタ24の入力として使用される。ADC26の出力は、補間された出力y[mT’]である。
【0015】
ウィッタカー-シャノン補間アプローチ20は、完全なローパスフィルタ24を用いた理想的なDAC22からの帯域制限された信号を再構築し、次に、理想的なADC26による新たなサンプリング期間T’で信号をリサンプリングするように描出され得る。理想的なローパスフィルタ24は、サンプルシーケンス、x[nT]を、領域|f|<1/(2T)へ完全に帯域制限し(すなわち、長方形フィルタ(rectangular filter))、関数のsin(t)/t(すなわち、sinc(t)関数)に対応するインパルス応答h(t)を有する。
【0016】
ペイリー・ウィーナーの定理は、時間制限された任意の関数を同時に周波数制限することができないことを示す。完全に再構築するためには、フィルタカーネル(すなわち、公知のsinc関数)が無限にサポートされている必要があるが、問題を扱いやすくするためには、カーネルを有限のサポートを有するものに置き換える必要がある。これは、典型的には、適宜、sinc関数で窓を掛ける(windowing)することにより、行われる(例えば、ランチョスアルゴリズム及びカイザー窓等)。例えば、ランチョス再構成カーネルh(t)は、以下のように再現される。
【数1】

窓の長さは、典型的には、sinc関数のk番目のゼロ交差と一致する(sinc(0)=1、他の全てのn整数の場合はsinc(n)=0)。
【0017】
ここで、図3を参照すると、本開示の原理に従って信号データを処理するための機器100の一例が示される。1つ以上の実施形態では、機器100は、(例えば、なぜなら、信号が機器100のサンプルレートとは異なる1つ以上のサンプルレートを有するデバイスによって生成又は補足される場合があるため)、機器100のサンプルレートとは異なる第1サンプルレートを有する信号及び/又は波形を入力してよい。より詳細に以下に説明するように、機器100は、入力信号をリサンプルし、機器100のサンプルレートで信号を処理するように、構成されてよい。加えて、リサンプリングは、リアルタイム又はオフライン方式で行われてよいし、サンプリングレートは、本開示の原理に従って時間とともにスムーズに変えられてよい。
【0018】
図示の例では、機器100は、複数のI/Oポート112及びユーザインタフェース126に接続されたコントローラ110を含む。例示的な実施形態では、コントローラ110は、(より詳細に以下に説明する)プログラマブルゲートアレイ(FPGA:Field Programmable Gate Array)116と、例えばメモリ118のような記憶装置とを含む。1つ以上の実施形態では、メモリ118は、FPGA116によってアクセス及び/又は出力され得る記録された信号データ及び他のデータを記憶するように、構成されてよい。他の実施形態では、コントローラ110は、例えば、マイクロプロセッサ、プロセッサ、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)、ADC及び/又はDAC等の他の回路素子を含み得ることを理解されたい。
【0019】
図示の例では、I/Oポート112は、イーサネットポート120と、ユニバーサルシリアルバス(USB:Universal Serial Bus)ポート122と、アンテナ(図示せず)を受信するためのコネクタ124とを含む。I/Oポート112は、機器100が信号及び他のデータを送受信することを可能にする。1つの実施形態では、I/Oポート112は、リアルタイム信号データを出力する別のデバイス又は機器100がオフライン(すなわち、非リアルタイム)方式で使用される場合に記憶装置となり得る、信号データのソースに、接続されてよい。他の実施形態では、機器100がデータを送受信可能な他のポートを含み得ることを理解されたい。
【0020】
図3に示すように、機器100は、機器100の動作を制御するためにユーザによって操作され得るユーザインタフェース126をも含む。1つ以上の実施形態では、ユーザインタフェース126は、ディスプレイ及びキーボードを含んでよい。他の実施形態では、機器100は、ユーザが機器100の動作を制御できるように、ディスプレイモニタ、キーボード及びマウス等の周辺機器に接続されるように構成され得ることを理解されたい。
【0021】
機器100は、いくつかの異なる波形を含み得る信号データを処理するように構成されてよく、多くの場合、各波形は、機器100とは異なるサンプルレートを有し得る。より詳細に以下に説明するように、機器100は、機器の基本的なサンプルレートに波形のサンプルレートをリサンプルするように構成されてよい。そうするために、機器100は、次の式に基づくsinc窓(windowed-sinc)フィルタを利用するロジックを有する。
【数2】

時間指数mでの出力サンプル(y)は、適切な時間指数に対応するカーネル値を有する2*kの入力サンプルの畳み込みから構築される。sinc窓関数によって、必要なフィルタ係数の数が補間比pによってスケーリングされ、機器100は、カーネル値のルックアップテーブルからの時間指数に応じてフィルタカーネル値(すなわち、sinc窓関数の値)を補間するように構成されてよい。1つ以上の実施形態では、機器100によって使用される補間は、線形補間であってよい。ただし、他の補間方法(立方体、二次、フォロータイプ)が他の実施形態において使用され得ることを理解されたい。一般的に、高次の補間では、ルックアップテーブル内のカーネル値が小さくなり、計算量が増える。
【0022】
ここで図4を参照すると、図4には、本開示の原理に従って実行されるリサンプリング処理を実装するために機器100によって使用され得るロジック200の一例が示される。1つ以上の実施形態では、リサンプリング処理したがって図4に示されるロジック200は、より詳細に以下に説明するように、補間形式を利用して信号データを処理してよい。1つ以上の実施形態では、ロジック200は、FPGA116に実装される。
【0023】
図4に示されるように、ロジック200は、sinc窓フィルタ210として実装されるシェーピングフィルタと、sinc窓フィルタ210を制御するためのタイミングコントローラ280とを含んでよい。図示の実施形態では、sinc窓フィルタ210は、タイミングコントローラ280から出力される「有効」信号によって制御されるスイッチ212を含む。リサンプリングフィルタが新たな入力サンプルを要求する場合、有効信号は、スイッチ212を瞬間的に閉じる。
【0024】
閉位置にあるとき、スイッチ212は、入力信号x[n]を、一連のレジスタ214,216,218から構成される遅延ライン構造と、さらに第1乗算器220とに接続する。各レジスタ214,216,218は、それが入力するデータに、1つのタイミングサンプル遅延を導入してよい。図面の長円で示されるように、フィルタの長さ(及び拡張による遅延ライン、乗算器、加算器等)を任意に大きくできることを理解されたい。レジスタ214の出力は、レジスタ216へ入力される。レジスタ216の出力は、レジスタ218へ入力される。加えて、各レジスタ214,216,218の出力は、それぞれ接続される乗算器222,224,226への入力として使用される。乗算器220,222,224,226は、それぞれ、係数c[m],c[m],C[m],C2k-i[m]として示される別の入力信号を受信する(以下でより詳細に説明される)。乗算器220,222,224,226の出力は、一連の加算器228,230,232を介して合計される。図示の実施形態では、加算器232の出力は、リサンプルされた波形出力信号y[m]である。
【0025】
sinc窓フィルタ210の他のロジックは、追加の乗算器234,238,242,246及び加算器236,240,244,248並びにメモリ250,252,254,256,258,260,262,264を含んでよい。1つ以上の実施形態では、乗算器234,238,242,246は、それらの入力の1つとして、タイミングコントローラ280から出力される時間残差(「時間_残差」)信号を使用する。
【0026】
1つ以上の実施形態では、メモリ250,252,254,256,258,260,262,264は、読み取り専用メモリ(ROM:Read Only Memory)である。1つ以上の実施形態では、メモリ250,252,254,256,258,260,262,264は、カーネル値間の差値(kernel_diff[addr]=kernel[addr+1]-kernel[addr])とともに、各ゼロ交差において格納された事前計算されたフィルタカーネル値(kernel[addr])を含んでよい。図示の実施形態では、メモリ250,254,258,262は、差値kernel_diff[addr],kernel_diff[addr],kernel_diff[addr],kernel_diff2k-1[addr]を格納してよく、一方、メモリ252,256,260,264は、それぞれ、カーネル値kernel[addr],kernel[addr],kernel[addr],kernel2k-1[addr]を格納してよい。
【0027】
図示の実施形態では、メモリ250,252,254,256,258,260,262,264は、それぞれ、タイミングコントローラ280から出力される「アドレス」信号によって索引付けされる。1つ以上の実施形態では、メモリ250,254,258,262の出力(例えば、差値kernel_diff[addr],kernel_diff[addr],kernel_diff[addr],kernel_diff2k-1[addr])は、それぞれ、乗算器234,238,242,246によって入力として使用される。1つ以上の実施形態では、メモリ252,256,260,264(例えば、カーネル値kernel[addr],kernel[addr],kernel[addr],kernel2k-1[addr])の出力は、それぞれ、加算器236,240,244,248によって入力として使用される。
【0028】
1つ以上の実施形態では、係数c[m]は、加算器236で乗算器234の出力(例えば、時間_残差*kernel_diff[addr])をメモリ252の出力(例えば、kernel[addr])に加算することにより、生成されてよく、係数c[m]は、加算器240で乗算器238の出力(例えば、時間_残差*kernel_diff[addr])をメモリ256の出力(例えば、kernel[addr])に加算することにより、生成されてよく、係数c[m]は、加算器244で乗算器242の出力(例えば、時間_残差*kernel_diff[addr])をメモリ260の出力(例えば、kernel[addr])に加算することにより、生成されてよく、係数c2k―1[m]は、加算器248で乗算器246の出力(例えば、時間_残差*kernel_diff2k-1[addr])をメモリ264の出力(例えば、kernel2k-1[addr])に加算することにより、生成されてよい。
【0029】
1つ以上の実施形態では、sinc窓フィルタ210は、現在のサンプル時間を示すカウンタからの(上述した)「有効」、「アドレス」及び「時間_残差」信号を生成するタイミングコントローラ280によって制御されてよい。図5に示すように、タイミングコントローラ280の一例(ここでは、タイミング制御又はタイミングステートマシンとも称される)は、カウンタ282と、スプリッタ284と、レジスタ286とを含む。
【0030】
1つ以上の実施形態では、カウンタ282は、整数Nを受信するための第1入力(x)と、レジスタ286からのフィードバック信号を受信するための第2入力(y)とを有するエラーフィードバック変調器(すなわち、モジュロ-2)として実装されてよい。1つの実施形態では、カウンタ282は、整数値Nの値によってインクリメントされてよく、これは、1つ以上の実施形態では、リサンプリング比pによって表される最も近い整数(すなわち、N=p*2)に対応してよい。1つ以上の実施形態では、カウンタ282のキャリービット(c)は、なぜならそれが時間値のロールオーバ及びsinc窓フィルタ210への新たなサンプルの受け入れを示すため、「有効」信号として使用されてよい。1つの実施形態では、2Мの事前計算されたフィルタカーネル値は、以下に従うカーネル値間の差値とともに各ゼロ交差において、メモリ250,252,254,256,258,260,262,264(図4)に格納されてよい。
kernel_diff[addr]=kernel[addr+1]-kernel[addr]、ここで、addr=[0:2M-1
【0031】
1つ以上の実施形態では、スプリッタ284は、カウンタ282の出力(x+y)を上述したような「アドレス」信号と「時間_残差」信号とに分割するロジックを含む。例えば、1つの実施形態では、カウンタ282の出力(x+y)からのM最上位ビットは、各ゼロ交差において、カーネルメモリ250,252,254,256,258,260,262、264(図4)への索引として使用される「アドレス」を形成する。1つの実施形態では、カウンタ282の出力(x+y)からのW-M最下位ビットは、リサンプル比pの出力サンプルmの時間_残差がm*p-floor(m*p)によって与えられるように、「時間_残差」信号を形成し、理想的なカーネル時間値及び格納されたカーネル値からの残差を示す。上述したように、時間値の係数c[m]は、線形補間を用いて形成される。
[m]=時間_残差*kernel_diff[addr]+kernel[addr]、ここで、g=[0:2k-1]
【0032】
上述のロジック200は、十分に大きい時間カウンタレジスタ幅Wで補間精度の任意の量を達成することができる。しかしながら、N/2の比として正確に表すことができないレートにおいて、実際の補間レート誤差を同じくゼロにすることができない。多くのアプリケーションでは、サブヘルツの補間レート誤差が重要ではないほど波形の長さが十分に短くなり得るため、これが問題にならない場合がある。しかしながら、かなりの時間期間にわたって観測される信号においては、補間レート誤差が蓄積されることがあり、時間精度における誤差を増加させることがある。したがって、ロジック200は、本開示の原理をさらに進めるために改良されてよい。
【0033】
本発明者は、タイミング制御ロジックにおけるデュアルモジュラスカウンタの使用によって、さらなる精度が達成され得ることを測定した。例えば、デュアルモジュラスカウンタは、p=T’/T=fin/fоutとなるように実装されてよく、そのため、タイミングコントローラへの入力N,A及びBは、次の式を用いて計算されてよい。
【数3】
ここで、
inは、ターゲット波形のベースバンドサンプルレートであり、
outは、機器100のサンプルレート(例えば、250МHz)であり、
Wは、定数(例えば、32)である。
【0034】
効果的に、時間カウンタは、B-AサイクルにおいてNでインクリメントし、次にAサイクルにおいてN+1でカウントし、これにより、N+A/Bの平均インクリメント値が生成され得る。このアプローチの1つの潜在的な欠点は、エイリアスされた周波数成分が出力周波数からA/Bの倍数で現れ得ることである。よって、1つ以上の実施形態では、時間カウンタのデュアルモジュラス動作は、「ディザード」され、スプリアス成分を分割して周波数全体にそれを分散させてよい。
【0035】
よって、1つ以上の実施形態では、FPGA116のロジックは、図6に示されるような、マルチステージノイズシェーピングデジタルデルタシグマ変調器(MASH DDSM:Multi-stAge noise Shaping Digital Delta-Sigma Modulator)310を利用し、本開示の原理に従ってスプリアス成分を分割して周波数全体にそれを分散させてよい。MASH DDSM310は、sinc窓フィルタ210(図4)を制御するために使用され得る「有効」、「アドレス」及び「時間_残差」信号を出力する新規なタイミングステートマシン又はタイミング制御ロジック300に含められる。
【0036】
図示の実施形態では、MASH DDSM310は、ノイズシェーピングネットワーク350に接続された複数の誤差フィードバック変調器(EFM:error feedback modulator)320,330,340を含む。図示の実施形態では、第1EFM320は、モジュロB累算器322と、レジスタ324とを有する。モジュロB累算器322は、A信号を受信するように接続された入力(x)と、レジスタ324からのフィードバック信号w[n]を受信するように接続された第2入力(y)とを有する。レジスタ324は、モジュロB累算器322の出力(x+y)からのe[n]を入力し、フィードバック信号w[n]を形成する1つのサンプル遅延を導入する。
【0037】
図示の実施形態では、第2EFM330は、モジュロB累算器332と、レジスタ334とを有する。モジュロB累算器332は、モジュロB累算器322の出力(x+y)からのe[n]を受信するように接続された入力(x)と、レジスタ334からのフィードバック信号w[n]を受信するように接続された第2入力(y)とを有する。レジスタ334は、モジュロB累算器322の出力(x+y)からのe[n]を入力し、フィードバック信号w[n]を形成する1つのサンプル遅延を導入する。
【0038】
図示の実施形態では、第3EFM340は、モジュロB累算器342と、レジスタ344とを有する。モジュロB累算器342は、モジュロB累算器332の出力(x+y)からのe[n]を受信するように接続された入力(x)と、レジスタ344からのフィードバック信号w[n]を受信するように接続された第2入力(y)とを有する。レジスタ344は、モジュロB累算器342の出力(x+y)からのe[n]を入力し、フィードバック信号w[n]を形成する1つのサンプル遅延を導入する。
【0039】
EFM320,330,340のキャリービット(c)部分から出力されたキャリービットy[n],y[n],y[n]は、ノイズシェーピングネットワーク350に出力される。図示の実施形態では、ノイズシェーピングネットワーク350は、2つの加算器352,356と、2つのレジスタ354,358とを備える。第1加算器352は、第1EFM320からのキャリービットy[n]を入力してよく、第2加算器356は、第2EFM330からのキャリービットy[n]を入力してよく、第2レジスタ358は、第3EFM340からのキャリービットy[n]を入力してよい。
【0040】
第2レジスタ358の出力は、遅延されたキャリービットy[n]であり、加算器356で、第2EFM330からのキャリービットy[n]及び第3EFM330からのキャリービットy[n]に加算される。加算器356の出力は、レジスタ354で入力される。レジスタ354の出力は、加算器356からの遅延された合計であり、加算器352で、第1EFM320からのキャリービットy[n]及び加算器356からの合計に加算される。加算器352の出力は、A/B信号であり、MASH DDSMの次数に応じて変化する瞬間値を有するが、時間経過にわたるその平均値は、A/B比に対応し、加算器302で入力として使用される。加算器302の出力は、N+A/Bとなり得、タイミングコントローラ280の累算器282の入力(x)として使用される。
【0041】
一般的に、各誤差フィードバック変調器320,330,340は、デルタシグマ変調器であり、その入力信号とディスクリート積分器/累算器(シグマ)が続く前の量子化出力(デルタ)との間の差分を計算するフィードバックループを使用する。1次のEFMの実装は、モジュロB累算器であり、ここでは、誤差フィードバックは、任意のオーバーフローから生じるモジュラスである。EFM320,330,340の動作の理論は、それぞれ、図7及び図8に示すような例示的な概略図420,520から理解され得る。
【0042】
例えば、図7は、2つの加算器422,426と、フィードバック/遅延レジスタ424と、処理ブロック428,430とを備える1次EFMモデル420を示す。入力x[n]は、加算器422で、フィードバック信号w[n]に加算される。加算器422の出力v[n]は、その出力y[n]がEFM420の出力となるブロック428で入力される。出力y[n]は、その出力が加算器426の負端子で入力されるブロック430へ供給される。また、加算器426は、加算器422からの出力v[n]を入力し、加算器422にフィードバック信号w[n]を出力するレジスタ424に供給される出力e[n]を生成する。以下の変数は、処理中に計算されてよい。
【数4】
【0043】
図8は、3つの加算器522,526,532と、フィードバック/遅延レジスタ524と、処理ブロック528,530とを備える線形化された1次EFMモデル520を示す。入力x[n]は、加算器522で、フィードバック信号w[n]に加算される。加算器522の出力v[n]は、その出力が加算器532に供給されるブロック528で入力される。加算器532の他の入力は、量子化ノイズe[n]を受信する。加算器532の出力は、EFM520の出力y[n]である。出力y[n]は、その出力が加算器526の負端子によって入力されるブロック530へ供給される。また、加算器526は、加算器522からの出力v[n]を入力し、加算器522にフィードバック信号w[n]を出力するレジスタ524に供給される出力e[n]を生成する。線形化されたモデルでは、EFM520の、非線形モジュラス演算子、Q(・)は、量子化ノイズ、e[n]として吸収される。キャリー信号の平均出力、y[n]は、値x[n]/Bである。以下の変数は、処理中に計算されてよい。
【数5】
【0044】
再び図6を参照すると、МASH DDSM310の誤差フィードバック変調器320,330,340は、カスケードされ、ノイズシェーピングネットワーク350へ供給される出力を有する。ノイズシェーピングネットワーク350は、ハイパス応答を伴う伝達関数を有するカスケードされた微分器からなる。微分器は、前のEFMの量子化ノイズを完全にキャンセルする。ノイズは、微分器ネットワークのハイパス応答によってシェープされ、その結果、ノイズスペクトル密度が0Hzで最小化され、ナイキスト周波数に向けて増加する。この結果は、図9に示すグラフによって表示される。
【0045】
MASH DDSMの動作の理論は、図7に示すような、1次誤差フィードバック変調器(EFM)420の動作をまず解析することにより、説明され得る。1次EFMは、モジュラスB、入力x[n]、登録状態w[n]及び出力y[n](累算器のキャリーアウトビット)を有するデジタル累算器で構成される。図7によれば、EFM420の状態は、以下によって与えられる。
【数6】

EFM420の出力は、
【数7】

によって与えられる。
モジュラB累算器の非線形モジュラ演算子Q(・)428は、近似によって線形化され得る。
【数8】

ここで、e[n]は、均一なスペクトル密度の量子化である。線形化された1次EFMモデル520の概略図は、図8に与えられる。誤差信号e[n]は、次によって与えられる。
【数9】

続いて、EFM520の出力y[n]は、以下に示される。
【数10】

これは、次の同等のz変換を有する。
【数11】
【0046】
MASH DDSM310のネットワークは、いくつかのカスケードされたEFM420からなる。各EFMの、累算器の出力信号、e[n]は、後続のEFMに供給される。各EFMの、キャリー出力信号、y[n]は、ノイズシェーピングネットワークに供給される。ノイズシェーピングネットワーク(MASH1-1-1 DDSM310)を有する3つの1次EFMのカスケードは、図10に示される。ノイズシェーピングネットワークは、デジタル微分器のカスケードで構成される。図10の微分器は、中間EFMエラー信号、e[n]のノイズをキャンセルし、ハイパス応答に従って最後のEFMの量子化ノイズをシェープする。
【数12】
【0047】
1-1-1 MASH DDSM310の動作の理論は、図10の概略図によって説明され得る。例えば、MASH DDSM310は、1-1-1 MASHであってよく、それぞれの出力y[n],y[n],y[n]がノイズシェーピングネットワーク350に供給される3つの1次EFM320,330,340を含んでよい。モジュロB累算器の、非線形モジュラス演算子、Q()は、均一なスペクトル密度を有する量子化ノイズであると仮定することができる。第1EFM320からの量子化ノイズe[n]は、その量子化ノイズe[n]が第3EFM340へ入力される第2EFM330へ、入力される。レジスタ358は、出力y[n]を入力し、それを加算器356に出力する前に、それを1つの時間サンプル遅延させる。また、加算器356は、元の出力y[n]を入力する。加算器356の出力(y[n]+y[n]+遅延されたy[n])は、レジスタ354で入力され、レジスタ354は、それを1つの時間サンプル遅延させ、遅延結果を加算器352に出力する。加算器352は、EFM320からの出力y[n]と、加算器356からの元の出力と、(レジスタ354を介した)加算器356からの遅延された出力とを加算することにより、出力y[n]を形成する。
【0048】
1つ以上の実施形態では、時間カウンタの整数コンポーネントへのMASH DDSM310の包含は、カウンタモジュラスの比として表現可能なそれらのレートにおける完全なレート補間の任意の制限を克服する。任意の潜在的なMASH DDSMノイズは、ナイキスト周波数に押し出され、フィルタのローパス応答によって自然に減衰する。加えて、MASH DDSMは、係数量子化の結果として、フィルタ応答のスプリアス発生を改善するシェープされたディザノイズを提供する。本開示の原理に従うMASH DDSMのモジュラス(B)は、最大のMASHの累積器のカウンタ幅まで任意の値にプログラム可能であり、達成可能な補間レートをさらに拡大する。
【0049】
MASH DDSMの実装は、時変フィルタリングの目的においてシェープされたノイズを追加するための唯一のアプローチであることを理解されたい。シェープされたノイズは、通常、デルタシグマ変調を介して実現され、このMASH DDSMの実装は、シーケンスを生成するための1つの手段であるが、排他的ではない。他の実施形態では、信号データのリサンプリング及び処理を改善するために、低レベルであって、フィルタリング動作自体によって拒絶されるようにシェープされた、ノイズを、フィルタ実装に意図的に追加する他の方法が使用されてよい。
【0050】
上述したアプローチのアプリケーションは、幅広く、上述した機器を超えて、デジタルオーディオ、画像又はビデオのリサンプリング及び他のデジタル信号アプリケーションを含むことを理解されたい。
【0051】
本開示は、図面及び上述の説明において詳細に例示及び説明されているが、そのような例示及び説明は、例示的であり、特徴を限定するものではないと見なされるべきであり、例示的な実施形態のみが示されて説明され、開示の趣旨の範囲に入る全ての変更及び修正が保護されることが望ましいことが理解される。
【0052】
本明細書に記載の方法、装置及びシステムの様々な特徴から生じる本開示の複数の利点がある。本開示の方法、装置及びシステムの代替の実施形態は、記載された特徴の全てを含むとは限らないが、そのような特徴の少なくともいくつかの利点から依然として利益を得ることに留意されたい。当業者は、本発明の特徴の1つ又は複数を組み込み、添付の特許請求の範囲によって定義される本開示の趣旨及び範囲内に入る方法、装置及びシステムの独自の実装を容易に考案することができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10