(57)【要約】【課題】現実的な計算量で、サンプリング周波数の変換比をアップサンプリングからダウンサンプリングまで繋ぎ目なく、リアルタイムで変更でき、かつシャノンの標本化定理の面からも精度の高いサンプリング周波数変換を実現するサンプリング周波数変換方法およびサンプリング周波数変換装置を提供する。【解決手段】変換前離散信号のサンプルの振幅値とともにサンプル時刻を記録しておくか、あるいは逐一計算によって求め、該サンプルを連続信号と捉えたときの検出値を検出時刻とサンプル時刻との差から求める。【選択図】図２
2009017520.tif 000002
【特許請求の範囲】
【請求項１】
第１の離散時間信号（Ｄ１ｓ）のサンプリング周波数（ｆ１）を変換して第２のサンプリング周波数（ｆ２）の離散時間信号（Ｄ２ｓ）を生成するデータ処理装置であって、
Ｄ１ｓの１サンプルを出力する時刻値（Ｄ１ｔ）と、Ｄ２ｓの１サンプルをサンプリングする時刻値（ｔ２）とを求める手段と、該Ｄ１ｓの各サンプルの振幅値（Ｄ１ｖ）を逐一記憶する巡回バッファと、畳み込み補間に用いることを前提として０以外の値を返し得るパラメータ区間が有限なローパスフィルタ関数（ＬＰＦ）の値を求める手段とを有し、
Ｄ２ｓの１サンプルの振幅値を求める処理において、前記巡回バッファの全サンプルのうち、少なくともκ＝ＬＰＦの阻止周波数を１Ｈｚにスケールする定数（ψ）・ＭＩＮ（ｆ１，ｆ２）・（Ｄ１ｔ−ｔ２＋正の遅延時間（ｃｔ））がＬＰＦ関数の有効区間に含まれるサンプル列について、ρ＝ＬＰＦ（κ）・Ｄ１ｖを求め、ρを合計してｔ２におけるＤ２ｓの振幅値とするデータ処理装置。（ここでＭＩＮ（ｘ，ｙ）はｘとｙのうち小さな値を表す。）
【請求項２】
請求項１のデータ処理装置において、ρを合計した後にＳＱＲＴ（ｆ１≦ｆ２の時：ｆ１／ｆ２、ｆ１＞ｆ２の時：ｆ２／ｆ１）に比例した値を乗じてｔ２におけるＤ２ｓの振幅値とするデータ処理装置。（ここでＳＱＲＴ（ｘ）はｘの平方根を表す。）
【請求項３】
請求項１のデータ処理装置において、Ｄ１ｔとＤ１ｖの組を巡回バッファに記録しておき、κの算出に用いるデータ処理装置。
【請求項４】
請求項１のデータ処理装置において、正の遅延時間（ｃｔ）の値を、（ＬＰＦの正値側の有効区間＋１）／（ψ・ＭＩＮ（ｆ１，ｆ２））以上の値となるように逐一更新するデータ処理装置。
【請求項５】
請求項１における、Ｄ２ｓの１サンプルの振幅値を求める処理において、可変パラメータδに比例してＬＰＦの時間幅を伸縮することにより、Ｄ２ｓの成分にあえてエイリアスを発生させるデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】本発明は、離散時間信号処理のサンプリング周波数を変換するサンプリング周波数変換装置に関する。
【背景技術】
【０００２】従来から離散時間信号処理のサンプリング周波数変換装置は、様々な実現方法、および応用方法が知られている。
例えば特許文献１では、オーバーサンプリング、フィルタ、デシメーション処理を介すことにより、アナログ回路を用いず、デジタル信号処理のみによってサンプリング周波数変換を実現する方法が述べられている。
また、特許文献２では、デシメーション処理前段の帯域制限用ＦＩＲフィルタの係数を求めるにあたって、事前にテーブル格納されたフィルタ係数テンプレートを時間伸縮することにより、所要の周波数特性を持つフィルタ係数を生成する方法が述べられている。
また、特許文献３では、入力側サンプリング周期毎に巡回バッファに格納されたサンプル値を、出力側サンプリング周期のタイミングで、該格納されたサンプル値の格納時刻と該出力側サンプリング周期時刻との時間差に基づき多項式補間する機能を持ち、かつ該多項式補間を該出力側サンプリング周期時刻の前後数区間に対して行い、その出力値の重み付き平均値を該出力側サンプリング周期の出力値とすることにより、オーバーサンプリングを介さずサンプリング周波数変換を行う方法が述べられている。
また、特許文献４はサンプリング周波数変換装置の音楽的な応用例であり、サンプリング周波数をあえて下げることにより、古いデジタルオーディオ機器の質感を再現する方法が述べられている。【０００３】
【特許文献１】特許３０４４７３９号
【特許文献２】特許３７０７１４８号
【特許文献３】特開２００３−３２４３３７
【特許文献４】特許３７４３３２６号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
【０００５】ところで、上述した従来のサンプリング周波数変換装置は、サンプリング周波数の変換比が動作中に固定であることを前提としている。サンプリング周波数の異なる機材間で信号をやりとりすることを目的とすれば、固定であることに問題があるわけではない。
しかし、サンプリング周波数の変換を音響効果として利用する場合を想定すると、固定の変換比であっては、効果の幅が限定されたものとなってしまう。
さらに、特許文献１、特許文献２は変換前後のサンプリング周波数の最小公倍数となるサンプリング周波数へのオーバーサンプリングを前提としており、さらに畳み込みなどのフィルタ処理を伴うことから、計算量が大きくなってしまう問題を有する。
特許文献３では、位相差の情報を用いることにより、オーバーサンプリングを避ける方法が示されているが、変換前のサンプル値の多項式補間を前提としており、後述するシャノンの標本化定理の面から必ずしも最適な補間方法とはいえない。
本発明は現実的な計算量で、サンプリング周波数の変換比をアップサンプリングからダウンサンプリングまで繋ぎ目なく、リアルタイムで変更でき、かつシャノンの標本化定理の面からも精度の高いサンプリング周波数変換を実現するサンプリング周波数変換方法およびサンプリング周波数変換装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】まず、簡単にシャノンの標本化定理について説明する。
シャノンの標本化定理とは、一定間隔で連続時間信号をサンプリングするとき、そのサンプリング周波数の２分の１の周波数（以下ナイキスト周波数）までの周波数成分の情報（振幅および位相）が正しく保存でき、ナイキスト周波数よりも高い周波数成分は、ナイキスト周波数よりも低い成分（エイリアス成分）として折り返されるように現れるというものである。
一旦エイリアスとして混入した成分は取り除くことができないため、連続時間信号を正しくサンプリングするためには、事前にナイキスト周波数よりも高い周波数成分を除去しなければならない。逆にナイキスト周波数よりも高い周波数成分を除去した連続時間信号は、数理上は離散時間信号に変換した後もその情報は完全に保持され、再度、同一の連続時間信号に変換することができる。【０００７】ナイキスト周波数よりも高い周波数成分を除去した連続時間信号と、これを一定間隔でサンプリングした離散時間信号とを等価変換するために、ナイキスト周波数よりも高い成分は０倍、ナイキスト周波数よりも低い成分は１倍で、かつ特定の周波数の位相を変化させないフィルタを想定しなければならない。
上記の特性を有するフィルタは理想フィルタとも呼ばれ、数式上はＳｉｎ（ｘ）／ｘで表される。またこの数式はＳｉｎｃ関数とも称されるものである。図１にＳｉｎｃ関数のグラフを示す。【０００８】具体的には、サンプリング周波数をｆとするとき、サンプリングされた離散時間信号の各サンプル値を、「Ｓｉｎｃ（π・ｆ・（時刻−サンプル時刻））・サンプル値」という形の連続時間波形とみなし、該連続時間波形を全てのサンプル値に対し加算合成した結果の波形は、サンプリング処理前の連続時間信号の波形と同一となる。（「・」は乗算を表す）
離散時間信号と連続時間信号とを等価に見なすことができるため、この原理は連続時間→離散時間信号の変換だけではなく、サンプリング周波数の異なる離散時間→離散時間信号の変換にも当てはめることができる。
さて、本発明は任意の変換比でのサンプリング周波数の変換を目的としているが、これは変換前の離散時間信号（Ｄ１ｓ）を、理論上の連続時間信号（Ｃｓ）を介して、元の離散時間信号と異なる離散時間信号（Ｄ２ｓ）へ変換する処理といえる。【０００９】これを実現するためには以下の機能を具備しなければならない。
１．Ｃｓの上限周波数をＤ１ｓ、Ｄ２ｓのサンプリング周波数のうち小さい周波数の２分の１以下となるように調整する機能。
２．Ｄ１ｓのサンプリング周波数に依存することなく任意の時刻のＣｓ値をサンプリングする機能。
３．サンプリング周波数比に応じてＤ２ｓの振幅を調整する機能。【００１０】１は、離散時間→連続時間信号間の変換処理に際して標本化定理を満たすために必要な機能である。変換前後双方の離散時間信号で標本化定理を満たすためには小さいサンプリング周波数の側に合わせなければならない。
２は、連続時間信号から変換後の離散信号へ変換するために必須な機能であり、従来の技術ではオーバーサンプリングを行うか、標本化定理に対して厳密ではない補間処理を行うなどの方法がとられていた。
３は、再サンプリングした際、単位時間あたりのサンプル値の密度と、Ｓｉｎｃ関数の時間伸縮によるエネルギー変化とによって、信号の持つエネルギー（２乗平均振幅値）が変わってしまうため、これを補うための機能である。
本発明は、シャノンの標本化定理に従い、これらの機能を実現する技術を提供するものである。【００１１】請求項１に係る発明は、第１の離散時間信号（Ｄ１ｓ）のサンプリング周波数（ｆ１）を変換して第２のサンプリング周波数（ｆ２）の離散時間信号（Ｄ２ｓ）を生成するデータ処理装置であって、Ｄ１ｓの１サンプルを出力する時刻値（Ｄ１ｔ）と、Ｄ２ｓの１サンプルをサンプリングする時刻値（ｔ２）とを求める手段と、該Ｄ１ｓの各サンプルの振幅値（Ｄ１ｖ）を逐一記憶する巡回バッファと、畳み込み補間に用いることを前提として０以外の値を返し得るパラメータ区間が有限なローパスフィルタ関数（ＬＰＦ）の値を求める手段とを有し、Ｄ２ｓの１サンプルの振幅値を求める処理において、前記巡回バッファの全サンプルのうち、少なくともκ＝ＬＰＦの阻止周波数を１Ｈｚにスケールする定数（ψ）・ＭＩＮ（ｆ１，ｆ２）・（Ｄ１ｔ−ｔ２＋正の遅延時間（ｃｔ））がＬＰＦ関数の有効区間に含まれるサンプル列について、ρ＝ＬＰＦ（κ）・Ｄ１ｖを求め、ρを合計してｔ２におけるＤ２ｓの振幅値とするデータ処理装置である。（ここでＭＩＮ（ｘ，ｙ）はｘとｙのうち小さな値を表す。）【００１２】請求項２に係る発明は、請求項１のデータ処理装置において、ρを合計した後にＳＱＲＴ（ｆ１≦ｆ２の時：ｆ１／ｆ２、ｆ１＞ｆ２の時：ｆ２／ｆ１）に比例した値を乗じてｔ２におけるＤ２ｓの振輻値とするデータ処理装置である。（ここでＳＱＲＴ（ｘ）はｘの平方根を表す。）【００１３】請求項３に係る発明は、請求項１のデータ処理装置において、Ｄ１ｔとＤ１ｖの組を巡回バッファに記録しておき、κの算出に用いるデータ処理装置である。【００１４】請求項４に係る発明は、請求項１のデータ処理装置において、正の遅延時間（ｃｔ）の値を、（ＬＰＦの正値側の有効区間＋１）／（ψ・ＭＩＮ（ｆ１，ｆ２））以上の値となるように逐一更新するデータ処理装置である。【００１５】請求項５に係る発明は、請求項１における、Ｄ２ｓの１サンプルの振幅値を求める処理において、可変パラメータδに比例してＬＰＦの時間幅を伸縮することにより、Ｄ２ｓの成分にあえてエイリアスを発生させるデータ処理装置。
【発明の効果】
【００１６】以上説明したように本発明によれば、現実的な計算量で、サンプリング周波数の変換比をアップサンプリングからダウンサンプリングまで繋ぎ目なく、リアルタイムで変更でき、かつシャノンの標本化定理の面からも精度の高いサンプリング周波数変換を実現するサンプリング周波数変換方法およびサンプリング周波数変換装置を提供するができる。
さらに請求項５によれば、エイリアス成分をあえて発生させることにより、音響効果としての味付けをもたらすことができる。
【発明を実施するための最良の形態】
【００１７】以下、本発明を更に理解しやすくするため、実施の形態について説明する。かかる実施の形態は、本発明の一態様を示すものであり、本発明の範囲で任意に変更可能である。【００１８】図２に信号処理回路の一部をソフトウェア的に異なるサンプリング周波数で動作させる回路を例としてあげ、固定→可変サンプリング周波数回路への変換、可変→固定サンプリング周波数回路への変換手段を説明する。
同図に示すように、固定のサンプリング周波数で動作する回路１と、可変のサンプリング周波数で動作する回路２、固定サンプリング周波数の離散信号を可変サンプリング周波数の離散信号へと変換する変換装置３、可変サンプリング周波数の離散信号を固定サンプリング周波数の離散信号へと変換する変換装置４とで構成され、可変のサンプリング周波数で動作する回路２は可変サンプリング周波数値８により、そのサンプリング周波数をいつでも変更可能である。【００１９】固定サンプリング周波数は回路全体のハードウェア的サンプリング周波数を仮定し、可変サンプリング周波数はソフトウェア的に（すなわち計算上で）作られるサンプリング周波数を仮定する。（ソフトウェア的サンプリング周波数とはいえ、２次的な巡回バッファを設けるなどしてジッターなどのハードウェア的なサンプリング周波数の予期せぬ変動に対応できれば、ハードウェア間のサンプリング周波数変換にも応用可能である。）【００２０】まず、固定→可変の変換と、可変→固定の変換に共通する構成について説明する。
本発明は変換前離散信号のサンプルの振幅値とともにサンプル時刻を記録しておくか、あるいは逐一計算によって求め、該サンプルを連続信号と捉えたときの検出値を、検出時刻とサンプル時刻との差から求めることを特徴としている。
ところで、これを視覚的に理解するためには、時刻の差というよりも、位置の差として捉えたほうが判りやすい。
そこで、図３Ａに本発明のサンプリング周波数変換装置における変換前の離散時間信号のサンプルを、等速度で移動する粒子になぞらえた模式図を示す。
変換前の離散時間信号（Ｄ１ｓ）のサンプル値（Ｄ１ｖ）はノズル１０１から粒子１０２として変換前のサンプリング周期のタイミングで放出され、センサ１０３は変換後のサンプリング周期のタイミングで、各粒子をその振幅値により乗ぜられたＳｉｎｃ関数とみなして（図３Ｂ）、全粒子に対するその集計値を変換前の離散時間信号（Ｄ２ｓ）のサンプル値（Ｄ２ｖ）とする。
この例によれば、ノズルからセンサに対して粒子が移動するまでにかかる時間は、ノズルとセンサとの間の距離に比例する。すなわち、粒子とセンサのサンプリング時刻の差は、距離の差に置き換えて考えることができる。【００２１】さて、ノズルとセンサのサンプリング周波数が同一であれば、ノズルが新しい粒子を放出するのと同時にセンサの検出処理を行い、センサの出力値を求めることができる。
しかし、ノズルとセンサのサンプリング周波数が同一でなく、例えばノズルのそれが４４．１ＫＨｚで、センサが４８ＫＨｚであった場合に、ハードウェア的なサンプリング時刻に依存する形でノズルの粒子放出タイミングと、センサの検出タイミングとの同期をとろうとすると、４４１００と４８０００の最小公倍数のサンプリング周波数へのオーバーサンプリングが必要となり、現実的な計算量で求めることができなくなってしまう。
そこで、固定側サンプリング周波数で動作する回路については、毎処理に粒子放出、あるいは検出の処理を行い、可変側サンプリング周波数で動作する回路については、その処理タイミングを固定側回路に合わせこみ、該処理タイミングにおける時刻と、本来処理すべきであった時刻との差を、センサ（固定→可変の場合）、あるいはノズル（可変→固定の場合）の座標操作により補正するのである。【００２２】図４にＤ１ｓのサンプリング周波数を固定、Ｄ２ｓのサンプリング周波数を可変とした場合の処理イメージを示す。図中で粒子の下に書かれた吹き出しは粒子に記録された時刻を表し、固定サンプリング周波数側の１サンプル時間（この場合は３０００分の１秒）をその単位としている（以下、固定サンプル時間と呼ぶ）。４つの処理のコマが図示されているが、１つのコマは１固定サンプル時間での状態のスナップショットを表す。
センサ、すなわちＤ２ｓのサンプリング周波数はこの場合は２０００Ｈｚとなっているため、本来は１．５固定サンプル時間の間隔で検出処理を行うものである。
「１回目」はノズルとセンサの動作タイミングが一致しているため、センサは基準位置（図の例ではｔ＝２の粒子の位置）で検出処理を行う。
「２回目」は１回目の処理で動作した後、１固定サンプル時間しか経過していないため、検出処理は行わない。
「３回目」は１回目の処理で動作した後、２固定サンプル時間経過しているため、検出処理を行う。ただし実際に検出したいのは１回目の処理から１．５固定サンプル時間経過したときの状態であるため、０．５固定サンプル時間分ずらした位置により検出を行う。（図の例ではｔ＝３とｔ＝４の粒子の中間位置、すなわちｔ＝３．５の位置）
「４回目」は１回目の処理で動作した後、３固定サンプル時間経過している。センサの検出間隔は１．５固定サンプル時間であり、３固定サンプル時間はその整数倍であるため、ここでは基準位置にて検出処理を行う。【００２３】図４の例とは反対に、Ｄ１ｓのサンプリング周波数を可変、Ｄ２ｓのサンプリング周波数を固定とした場合は、センサではなく、ノズルの位置をずらすことにより、オーバーサンプリングを介さずに端数時間を扱うことができる。【００２４】さて、本発明で用いるＳｉｎｃ関数（Ｓｉｎ（ｘ）／ｘ）は、数学的には無限の定義域で値を持つことが知られていて、仮にＳｉｎｃ関数をそのまま使うことを考えると無限の計算量が必要となってしまい、実現不可能である。
そこで、Ｓｉｎｃ関数を有限な区間で打ち切る必要が生じる。このような方法は幾つか知られているが、ここでは、窓関数によりＳｉｎｃ関数の定義域を打ち切る方法を紹介する。
ｐＳｉｎｃ（ｔ）  ＝  Ｓｉｎｃ（π・ｔ）
Ｗｉｎ（ｔ）  ＝  （１  −Ｃｏｓ（π・ｔ／ｎ））／２
（ｎは任意の自然数）
ｗＳｉｎｃ（ｔ）  ＝  （｜ｔ｜≦ｎのとき：ｐＳｉｎｃ（ｔ）・Ｗｉｎ（ｔ）、｜ｔ｜＞ｎのとき：０）
ｐＳｉｎｃ（）は、正規化Ｓｉｎｃ関数と呼ばれる。正規化Ｓｉｎｃ関数は、サンプリング周期（サンプリング周波数の逆数）を１としてそのパラメータに対応付けることで、ナイキスト周波数が阻止周波数となるような理想フィルタ波形として機能する。（なおＳｉｎｃ関数は０を起点に左右対称なグラフである）
Ｗｉｎ（）はハニング窓と呼ばれている窓関数である。
ｗＳｉｎｃはｐＳｉｎｃ（）とＷｉｎ（）とを掛け合わせることにより、−ｎ〜ｎで表される周期の数だけ値を持つ正規化Ｓｉｎｃ関数として機能する。
ｗＳｉｎｃは阻止周波数以上の周波数成分が必ずしも０となるわけではないが、実用上は０とみなして差し支えない。
上述したセンサでは、各粒子をその振幅値により乗ぜられたＳｉｎｃ関数とみなしているが、以降はＳｉｎｃ関数の代わりに上記のｗＳｉｎｃ関数を用いるものとする。【００２５】さて、Ｄ１ｓからＤ２ｓへの変換時に、標本化定理を満たすためには、ｗＳｉｎｃ関数の阻止周波数が、Ｄ１ｓとＤ２ｓいずれのサンプリング周波数の２分の１よりも低くなければならない。
これを実現するためには、以下のようにｗＳｉｎｃを時間伸縮すればよい。
ρ＝ｗＳｉｎｃ（ＭＩＮ（Ｄ１ｓのサンプリング周波数，Ｄ２ｓのサンプリング周波数）・（粒子の持つ時刻−センサのサンプリング時刻＋正の遅延時間（ｃｔ））・δ）
ここで粒子とセンサの時間差の単位は秒である。
なお、式中のδはｗＳｉｎｃの伸縮率を微調整するための値である。ｗＳｉｎｃは理想的なＳｉｎｃ関数ではなく、その阻止周波数は厳密にはＳｉｎｃ関数のそれとは異なる。そこで、δに１未満の値を設定することで阻止周波数を下げ、エイリアス成分の発生を抑えるのである。【００２６】また、ｗＳｉｎｃの時間伸縮と、サンプリング周波数の変化によって、センサで検出される信号の信号のエネルギーは変化するので、これを補正しなければならない。
ｗＳｉｎｃの時間伸長率と、ｗＳｉｎｃ自体をフーリエ変換した後の各スペクトル成分が持つ振幅は比例する関係にある。ｗＳｉｎｃはフィルタ係数であるので、これによりフィルタリングされた波形の振幅増幅率は、ｗＳｉｎｃの時間伸長率に比例する。
また、相関のない連続信号同士を加算した結果の波形の振幅は、足し合わされる信号の数の平方根に比例する。センサでの粒子の足し合わせは、概ね相関のない連続信号同士の加算と見なすことができる。そして足し合わされる粒子の数は、Ｄ２ｓとＤ１ｓのサンプリング周波数比に比例する。
これらの条件から、以下のように補正値を求めることができる
α＝ＳＱＲＴ（ｆ１≦ｆ２の時：ｆ１／ｆ２、ｆ１＞ｆ２の時：ｆ２／ｆ１）・δ
※ここでＳＱＲＴ（ｘ）はｘの平方根を表す。【００２７】センサの検出処理では、「ρ・粒子の持つ振幅値・α」を全ての粒子に対して求め、合計すればよい。【００２８】さて、本発明では巡回バッファを用いてＤ１ｓのサンプル値とサンプル時刻の組、先の例で言えば粒子の情報を保持している。ハードウェア的に無制限にメモリを増やすことはできないし、センサでの検出（畳み込み）処理の計算量も巡回バッファのサイズに依存するため、該巡回バッファサイズの見積もりは重要である。【００２９】まず、可変側サンプリング周波数の最大値、最小値に基づき以下の変数を定義する。
ＶＲＭｉｎ＝可変側サンプリング周波数の最小値
ＶＲＭａｘ＝可変側サンプリング周波数の最大値
ＣＲ＝固定側のサンプリング周波数
ＴＲＭｉｎ＝ＭＩＮ（ＣＲ，ＶＲＭｉｎ）
ＴＲＭａｘ＝ＭＡＸ（ＣＲ，ＶＲＭａｘ）【００３０】センサが粒子をｗＳｉｎｃ関数の有効区間として捉えている間に、係る粒子が消えてしまうと、センサの検出値には不連続なノイズとして影響してしまうため、係る有効区間にいる間、粒子は存在し続けなければならない。
仮に粒子の座標を０とすると、ｗＳｉｎｃ関数の有効区間の最大幅は、
ＳｉｎｃＷｉｄｔｈ＝ｎ／ＴＲＭｉｎ／δ
（※単位は秒。ｎは窓関数の中でＳｉｎｃ関数の０点が繰り返される回数）
として
−ＳｉｎｎｃＷｉｄｔｈ≦ｔ≦ＳｉｎｃＷｉｄｔｈ
となる。【００３１】また、上述のようにサンプリング周期の違いから端数時間を処理するため、粒子の放出、あるいは検出時刻値をずらす処理が行われる。
この処理による時刻補正の最大値は、以下の計算により求める。
ＡｄｊｕｓｔＷｉｄｔｈ＝１／ＣＲ
固定→可変のサンプリング周波数変換装置における必要なバッファサイズは、
Ｓ１＝（ＳｉｎｃＷｉｄｔｈ・２＋ＡｄｊｕｓｔＷｉｄｔｈ）・ＣＲ
＝ｎ／ＴＲＭｉｎ／δ・２・ＣＲ＋１
である。
そして、可変→固定のサンプリング周波数変換装置における必要なバッファサイズは、
Ｓ２＝（ＳｉｎｃＷｉｄｔｈ・２＋ＡｄｊｕｓｔＷｉｄｔｈ）・ＴＲＭａｘ
＝ｎ／ＴＲＭｉｎ／δ・２・ＴＲＭａｘ＋１／ＣＲ・ＴＲＭａｘ
である。【００３２】ところで、上記の式ではＳｉｎｃＷｉｄｔｈは可変なサンプリング周波数の値に依らずＴＲＭｉｎにより求めている。
このため可変なサンプリング周波数の変化域が広い場合（たとえば１ＫＨｚから１００ＫＨｚなどであった場合）、バッファサイズ、特にＳ２の値は非常に大きくなり、計算量も増大してしまう。
サンプリング周波数変換に伴う信号の遅延時間を固定とする場合（すなわちノズルとセンサとの距離を固定とする場合）は、可変側サンプリング周波数が最小値をとるときにおいても、ｗＳｉｎｃの有効区間が収まるに十分な遅延時間をとる必要があるため、この問題を避けることはできない。【００３３】しかし、該遅延時間を可変側サンプリング周波数に基づき可変とすれば、バッファサイズと計算量を大幅に削減することができる。
その時々の可変側サンプリング周波数をＶＲＮｏｗとすれば、その時々で必要なバッファサイズは、以下の式によって求める。
固定→可変のサンプリング周波数変換：
Ｓ１Ｎｏｗ＝ｎ／ＭＩＮ（ＣＲ，ＶＲＮｏｗ）／δ・２・ＣＲ＋１
可変→固定のサンプリング周波数変換
Ｓ２Ｎｏｗ＝ｎ／ＭＩＮ（ＣＲ，ＶＲＮｏｗ）／δ・２・ＶＲＮｏｗ＋１／ＣＲ・ＶＲＮｏｗ
Ｓ１ＮｏｗはＶＲＮｏｗに反比例し、Ｓ２ＮｏｗはＶＲＮｏｗに比例するため、最大バッファサイズは、以下の計算により求める。
Ｓ１ＶＭａｘ＝ｎ／ＭＩＮ（ＣＲ，ＶＲＭｉｎ）／δ・２・ＣＲ＋１
Ｓ２ＶＭａｘ＝ｎ／ＭＩＮ（ＣＲ，ＶＲＭａｘ）／δ・２・ＶＲＭａｘ＋１／ＣＲ・ＶＲＭａｘ【００３４】Ｓ２Ｎｏｗについては、ＶＲＮｏｗの変動に対して大きな変動はないため、バッファないの全要素についてセンサの検出処理を行えばよい。
Ｓ１Ｎｏｗについては、ＶＲＮｏｗの変動に大きく依存するため、最新の粒子のインデックスから、Ｓ１Ｎｏｗ分過去のインデックスまでについてのみセンサの検出処理を行うことで、計算量をさらに削減できる。巡回バッファのインデックス計算方法については自明のため割愛する。【００３５】さて、既に述べた通り本発明ではサンプリング周波数の変換比が可変である。
サンプリング周波数が変化することによって、少なからず非線形効果が生じてノイズが発生してしまうし、一時的にｗＳｉｎｃの有効区間がバッファサイズを超えてしまうことがありうる。
そこで、バッファサイズを少し大きめに確保しておき、また、可変側のサンプリング周波数値にはローパスフィルタを施すことにより、これらの問題を回避することができる。【００３６】ところでｗＳｉｎｃ関数の伸縮率を微調整するために用いた値δであるが、これに１よりも大きな値を設定することで、エイリアス成分をあえて発生させることができる。
計測用機器やオーディオ機器などでは意味のある操作ではないが、音響効果の一種として捉えれば、意味を持つものである。【００３７】また、これまでに述べたサンプル間の補間用関数は主にＳｉｎｃ関数とそこから派生したｗＳｉｎｃであったが、時間伸縮により阻止周波数の変化とスペクトルの振幅値の変化は畳み込み処理をベースとした補間用関数であれば当てはまるものであり、ローパスフィルタとしての性質を持ち、阻止周波数以上の振幅が十分に小さい補間用関数であれば、本発明のサンプリング周波数変換装置に利用可能である。
【図面の簡単な説明】
【図１】Ｓｉｎｃ関数のグラフを示した図である。
【図２】本発明の一実施形態の構成を示すブロック図である。
【図３】本発明のサンプリング周波数変換装置の模式図である。
【図４】本発明のサンプリング周波数変換装置の処理イメージを示した図である。
【図１】
2009017520.tif 000003
【図２】
2009017520.tif 000004
【図３】
2009017520.tif 000005
【図４】
2009017520.tif 000006