(57)【要約】【課題】計算時間を短縮してサンプリングレートを変換できるサンプリングレート変換装置及びプログラムを提供する。【解決手段】入力デジタル信号及びデジタルフィルタのそれぞれを第１分割及び第２分割し、それぞれのパーティションをＦＦＴ処理して周波数領域に変換する。周波数領域の入力信号パーティションとフィルタパーティションは畳み込み演算器３００で畳み込み演算され、さらにＩＦＦＴ（逆フーリエ変換）器３２０で時間領域に復元されて出力される。第１分割の分割数Ｄ１でサンプリングレートの変換比率が決定され、第２分割の分割数でＦＦＴ演算の高速化が図られる。【選択図】図３
2014127804.tif 000002
【特許請求の範囲】
【請求項１】
入力デジタル信号を複数のパーティションに分割する第１信号分割部と、
前記第１信号分割部で生成された複数の信号パーティションのそれぞれを高速フーリエ変換する信号ＦＦＴ部と、
前記信号ＦＦＴ部で生成されたそれぞれの信号をさらに複数の信号パーティションに分割する第２信号分割部と、
デジタルフィルタを複数のパーティションに分割する第１フィルタ分割部と、
前記第１フィルタ分割部で生成された複数のフィルタパーティションをさらに複数のフィルタパーティションに分割する第２フィルタ分割部と、
前記第２フィルタ分轄部で生成された複数のフィルタパーティションのそれぞれを高速フーリエ変換するフィルタＦＦＴ部と、
前記第２信号分割部で生成された信号パーティションと、前記フィルタＦＦＴ部で生成されたフィルタパーティションの畳み込み演算を行う畳み込み部と、
前記畳み込み部で生成された信号を逆高速フーリエ変換する逆ＦＦＴ部と、
を備え、
前記第１信号分割部と前記第１フィルタ分割部の分割数Ｄ１は互いに同一であり、前記第２信号分割部と前記第２フィルタ分割部の分割数Ｄ２は互いに同一であり、かつ、分割数Ｄ１及び分割数Ｄ２は、前記入力デジタル信号のサンプリングレートに応じて設定されることを特徴とするサンプリングレート変換装置。
【請求項２】
前記分割数Ｄ１は、前記入力デジタル信号のサンプリングレートと、出力すべき所望のサンプリングレートとの変換比率に応じて設定され、前記分割数Ｄ２は、前記ＦＦＴ部における所定のタップ数に応じて設定されることを特徴とする請求項１に記載のサンプリングレート変換装置。
【請求項３】
前記入力デジタル信号のサンプリングレートを検出する検出部と、
前記入力デジタル信号のサンプリングレートと、前記分割数Ｄ１及び分割数Ｄ２との関係を予め規定するテーブルを記憶する記憶部と、
前記記憶部に記憶された前記テーブルを参照することで、前記検出部で検出されたサンプリングレートに応じた前記分割数Ｄ１及び分割数Ｄ２を設定する設定部
をさらに備えることを特徴とする請求項１，２のいずれかに記載のサンプリングレート変換装置。
【請求項４】
前記第１信号分割部は、少なくとも前記入力デジタル信号を奇数成分と偶数成分に分割し、
前記第１フィルタ分割部は、少なくとも前記デジタルフィルタを奇数成分と偶数成分に分割し、
前記第２信号分割部は、複数の信号パーティションを時間領域で分割し、
前記第２フィルタ分割部は、複数のフィルタパーティションを時間領域で分割する
ことを特徴とする請求項１〜３のいずれかに記載のサンプリングレート変換装置。
【請求項５】
入力デジタル信号のサンプリングレートを所望のサンプリングレートに変換して出力する処理をコンピュータに実行させるプログラムであって、前記プログラムは、コンピュータのプロセッサに、  
入力デジタル信号を複数のパーティションに分割させる第１信号分割ステップと、
前記第１信号分割ステップで生成された複数の信号パーティションのそれぞれを高速フーリエ変換させる信号ＦＦＴステップと、
前記信号ＦＦＴステップで生成された複数の信号パーティションをさらに複数の信号パーティションに分割させる第２信号分割ステップと、
デジタルフィルタを複数のパーティションに分割させる第１フィルタ分割ステップと、
前記第１フィルタ分割ステップで生成された複数のフィルタパーティションをさらに複数のフィルタパーティションに分割させる第２フィルタ分割ステップと、
前記第２フィルタ分轄ステップで生成された複数のフィルタパーティションのそれぞれを高速フーリエ変換させるフィルタＦＦＴステップと、
前記第２信号分割ステップで生成された信号パーティションと、前記フィルタＦＦＴステップで生成されたフィルタ成分の畳み込み演算を実行させる畳み込みステップと、
前記畳み込みステップで生成された信号を逆高速フーリエ変換させる逆ＦＦＴステップ
を実行させ、
前記第１信号分割ステップと前記第１フィルタ分割ステップの分割数Ｄ１は互いに同一であり、前記第２信号分割ステップと前記第２フィルタ分割ステップの分割数Ｄ２は互いに同一であり、かつ、分割数Ｄ１及び分割数Ｄ２は、前記入力デジタル信号のサンプリングレートに応じて設定されることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サンプリングレート変換装置及びプログラムに関する。
【背景技術】
【０００２】
デジタル信号処理は、携帯音楽プレーヤやタブレット端末等の電子機器で広く用いられており、これらの電子機器の中には、複数のサンプリングレートを用いるものがある。この場合、あるサンプリングレートでサンプリングした信号を、異なるサンプリングレートで動作する他の処理向けに変換する必要が生じる。例えば、あるサンプリングレートの信号を使用する処理があり、元のサンプリングレートがそれよりも高い場合には、元のサンプリングレートを減じるダウンサンプリングを行う必要がある。
【０００３】
ダウンサンプリングあるいはアップサンプリング等のデジタル信号処理では、多くの場合、デジタルフィルタとしてＦＩＲ（有限インパルス応答）フィルタが用いられている。
【０００４】
ＦＩＲフィルタでは、入力サンプルは遅延要素のＺ変換表現に相当するレジスタの列を通過する。フィルタの動作は、最も新しいＮ個のサンプルデータに対して定数の配列（タップ係数）を乗算し、得られた配列の要素を全て加算する。係数の重みとフィルタのタップ数を変化させることで、ＦＩＲフィルタが任意の周波数応答特性を実現することができる。但し、タップ数の増大に伴って回路規模や消費電力が増大してしまう。  
【０００５】
そこで、ＦＩＲフィルタをいくつかの小さな要素に分割し、これらの要素から得られた結果を組み合わせることで、必要なフィルタ処理を実現するポリフェーズフィルタが提案されている。
【０００６】
また、ＦＩＲフィルタリングでデジタル信号を処理する際に、入力デジタル信号を時間領域内でパーティションするとともに、ＦＩＲフィルタリング部を時間領域内でパーティションし、入力デジタル信号のパーティションの各々をフーリエ変換し、フィルタリング部のパーティションの各々をフーリエ変換し、周波数領域で畳み込みを行うことでスペクトルパーティンを取得し、得られたスペクトルパーティションを結合することで、全スペクトルを取得する技術も提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−１４１４４５号公報
【特許文献２】特許第３６３６３６１号
【特許文献３】米国特許第５５０２７４７号
【特許文献４】米国特許第４９９２９６７号
【特許文献５】特開２００８−２０９１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
周波数領域でのパーティションされた入力デジタル信号とフィルタとの畳み込みは、時間領域での畳み込みと比べて効率的に処理することが可能であるが、依然としてタップ数が増大すると処理効率が低下する問題を内在している。
【０００９】
図４に、周波数領域でのパーティションされた信号の畳み込み処理の基本構成を示す。入力デジタル信号（サンプル数Ｎ）は、ＦＦＴ演算器１０でＦＦＴ処理され、乗算器１２に供給される。また、ＦＦＴ処理された信号は、遅延要素１４で遅延されて乗算器１６に供給され、さらに、遅延要素１８で遅延されて乗算器２０に供給される。
【００１０】
また、フィルタ係数２２はデジタル化され、時間領域でいくつかのパーティションに分けられる。図では、入力デジタル信号が時間領域で３つのパーティションに分けられていることに対応して、同様に３つのパーティションに分けられる。フィルタ係数２２の各々のパーティションは、ＦＦＴ演算器２４，２６，２８でＦＦＴ処理され、各々乗算器１２、１６、２０に供給される。
【００１１】
ＦＦＴ演算器１０で演算処理された入力デジタル信号とＦＦＴ演算器２４でＦＦＴ処理されフィルタ係数パーティションは、乗算器１２で乗算されて加算器３０に供給される。また、ＦＦＴ演算器１０で演算処理され、遅延要素１４で遅延処理された入力デジタル信号とＦＦＴ演算器２６でＦＦＴ処理されたフィルタ係数パーティションは、乗算器１６で乗算されて加算器３０に供給される。さらに、ＦＦＴ演算器１０で演算処理され、遅延要素１４及び遅延要素１８で遅延処理された入力デジタル信号とＦＦＴ演算器２８でＦＦＴ処理されたフィルタ係数パーティションは、乗算器２０で乗算されて加算器３０に供給される。加算器３０は、これらの乗算結果を互いに加算し、逆ＦＦＴ演算器（ＩＦＦＴ）３２に供給する。逆ＦＦＴ演算器３２は、加算器３０からの周波数領域の信号を時間領域の信号に復元し、出力信号(サンプル数Ｎ)を出力する。
【００１２】
通常の時間領域の畳み込みでは、フィルタ長がＭタップの場合、１サンプル当たりの計算量はフィルタ長に比例してＯ（Ｍ）となるところ、周波数領域での畳み込みでは、１サンプル当たりの計算量はＯ（２＊ｌｏｇ２（Ｍ））となって計算時間を削減できる。ここで、ＯはランダウのＯ−記法であり、Ｏ（Ｍ）はアルゴリズムの処理時間がＭのオーダであることを示す。例えば、Ｍ＝１０２４の場合、２＊ｌｏｇ２（１０２４）＝２０であるから、計算時間は１／５０となる。
【００１３】
図５に、このような周波数領域での畳み込み処理を前提とした、ダウンサンプリングの基本構成を示す。図４の構成に加え、逆ＦＦＴ演算器３２の前段に間引き係数ｋの間引き回路３４を付加した構成である。加算器３０からの周波数領域の信号は間引き回路３４に供給され、間引き回路３４で所望のサンプリング数まで間引き処理されて逆ＦＦＴ演算器３２に供給される。
【００１４】
しかしながら、周波数領域での畳み込み処理は、時間領域での畳み込みに比べれば高速であるものの、より処理時間を短縮する方法が望まれる。特に、ＦＦＴ演算器を実装した場合のパフォーマンスはフィルタのタップ数に大きく依存し、タップ数が所定の値ないしその近傍にある場合に最も処理速度あるいはパフォーマンスが高く、それ以下でもそれ以上でもパフォーマンスが低下し、特にタップ数が所定の値を超えて増大する場合には著しく低下することが知られており、本来ではＦＦＴを実装する場合にはそのパフォーマンスをも考慮してタップ数を決定する必要があるところ、従来においてはこの点における考慮が十分になされていない問題があった。そして、このような処理時間の遅延は、後段の処理にも影響を与え、ひいては携帯音楽プレーヤやタブレット端末等の電子機器に対するユーザの満足感を低下させる一因ともなり得る。
【００１５】
本発明の目的は、従来以上に処理時間を短縮してサンプリングレートを変換できるサンプリングレート変換装置及びプログラムを提供することにある。
【課題を解決するための手段】
【００１６】
本発明は、入力デジタル信号を複数のパーティションに分割する第１信号分割部と、前記第１信号分割部で生成された複数の信号パーティションのそれぞれを高速フーリエ変換する信号ＦＦＴ部と、前記信号ＦＦＴ部で生成されたそれぞれの信号をさらに複数の信号パーティションに分割する第２信号分割部と、デジタルフィルタを複数のパーティションに分割する第１フィルタ分割部と、前記第１フィルタ分割部で生成された複数のフィルタパーティションをさらに複数のフィルタパーティションに分割する第２フィルタ分割部と、前記第２フィルタ分轄部で生成された複数のフィルタパーティションのそれぞれを高速フーリエ変換するフィルタＦＦＴ部と、前記第２信号分割部で生成された信号パーティションと、前記フィルタＦＦＴ部で生成されたフィルタパーティションの畳み込み演算を行う畳み込み部と、前記畳み込み部で生成された信号を逆高速フーリエ変換する逆ＦＦＴ部とを備え、前記第１信号分割部と前記第１フィルタ分割部の分割数Ｄ１は互いに同一であり、前記第２信号分割部と前記第２フィルタ分割部の分割数Ｄ２は互いに同一であり、かつ、分割数Ｄ１及び分割数Ｄ２は、前記入力デジタル信号のサンプリングレートに応じて設定されることを特徴とする。
【００１７】
本発明の１つの実施形態では、前記分割数Ｄ１は、前記入力デジタル信号のサンプリングレートと、出力すべき所望のサンプリングレートとの変換比率に応じて設定され、前記分割数Ｄ２は、前記ＦＦＴ部における所定のタップ数に応じて設定されることを特徴とする。
【００１８】
また、本発明の他の実施形態では、前記入力デジタル信号のサンプリングレートを検出する検出部と、前記入力デジタル信号のサンプリングレートと、前記分割数Ｄ１及び分割数Ｄ２との関係を予め規定するテーブルを記憶する記憶部と、前記記憶部に記憶された前記テーブルを参照することで、前記検出部で検出されたサンプリングレートに応じた前記分割数Ｄ１及び分割数Ｄ２を設定する設定部をさらに備えることを特徴とする。
【００１９】
また、本発明のさらに他の実施形態では、前記第１信号分割部は、少なくとも前記入力デジタル信号を奇数成分と偶数成分に分割し、前記第１フィルタ分割部は、少なくとも前記デジタルフィルタを奇数成分と偶数成分に分割し、前記第２信号分割部は、複数の信号パーティションを時間領域で分割し、前記第２フィルタ分割部は、複数のフィルタパーティションを時間領域で分割することを特徴とする。
【００２０】
また、本発明は、入力デジタル信号のサンプリングレートを所望のサンプリングレートに変換して出力する処理をコンピュータに実行させるプログラムであって、前記プログラムは、コンピュータのプロセッサに、入力デジタル信号を複数のパーティションに分割させる第１信号分割ステップと、前記第１信号分割ステップで生成された複数の信号パーティションのそれぞれを高速フーリエ変換させる信号ＦＦＴステップと、前記信号ＦＦＴステップで生成された複数の信号パーティションをさらに複数の信号パーティションに分割させる第２信号分割ステップと、デジタルフィルタを複数のパーティションに分割させる第１フィルタ分割ステップと、前記第１フィルタ分割ステップで生成された複数のフィルタパーティションをさらに複数のフィルタパーティションに分割させる第２フィルタ分割ステップと、前記第２フィルタ分轄ステップで生成された複数のフィルタパーティションのそれぞれを高速フーリエ変換させるフィルタＦＦＴステップと、前記第２信号分割ステップで生成された信号パーティションと、前記フィルタＦＦＴステップで生成されたフィルタ成分の畳み込み演算を実行させる畳み込みステップと、前記畳み込みステップで生成された信号を逆高速フーリエ変換させる逆ＦＦＴステップを実行させ、前記第１信号分割ステップと前記第１フィルタ分割ステップの分割数Ｄ１は互いに同一であり、前記第２信号分割ステップと前記第２フィルタ分割ステップの分割数Ｄ２は互いに同一であり、かつ、分割数Ｄ１及び分割数Ｄ２は、前記入力デジタル信号のサンプリングレートに応じて設定されることを特徴とすることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、入力デジタル信号をフィルタ処理して出力デジタル信号を生成する際に、入力デジタル信号及びデジタルフィルタのそれぞれを第１分割及び第２分割してパーティションとし、信号パーティションとフィルタパーティションをＦＦＴ処理して周波数領域に変換し、周波数領域で畳み込み演算するので、時間領域での畳み込みに比べて処理を高速化できる。また、入力デジタル信号及びデジタルフィルタのそれぞれを第１分割し、この第１分割の分割数でポリフェーズフィルタリングを行うことで所望のサンプリングレートに変換することができる。さらに、第１分割により得られたパーティションを第２分割することでＦＦＴのタップ数を調整でき、ＦＦＴ演算の高速化あるいは効率化を図ることができる。
【図面の簡単な説明】
【００２２】
【図１】実施形態におけるサンプリング変換装置の構成図である。
【図２】ＦＦＴ処理のタップ数と処理速度との関係を示すグラフ図である。
【図３】一般化したサンプリング変換装置の構成図である。
【図４】周波数領域での畳み込み処理の基本構成図である。
【図５】周波数領域での畳み込み処理を用いたダウンサンプリングの構成図である。
【発明を実施するための形態】
【００２３】
以下、図面に基づき本発明の実施形態について、携帯音楽プレーヤやタブレット端末等の電子機器に組み込まれる場合を例にとり、かつ、入力デジタル信号のサンプリングレートを１／２に変換するダウンサンプリングの場合を例にとり説明する。但し、本発明のサンプリングレート変換装置は、これに限定されるものではない。
【００２４】
図１に、本実施形態におけるサンプリングレート変換装置の構成図を示す。基本となる構成は、図４に示す周波数領域で畳み込み処理を行う構成であるが、ダウンサンプリングを行う際に、図５に示すように間引き回路３４を設けることなく、ポリフェーズフィルタ構成を用いてダウンサンプリングを実現している。
【００２５】
図１において、入力デジタル信号（サンプル数Ｎ）は、奇数番目のサンプル（Ｏｄｄ）と偶数番目のサンプル（Ｅｖｅｎ）に２分割される。奇数番目のサンプルは、ＦＦＴ演算器１００でＦＦＴ処理され、乗算器１１２に供給される。また、ＦＦＴ処理された信号は、遅延要素１１４で遅延されて乗算器１１６に供給され、さらに、遅延要素１１４で遅延された信号は、遅延要素１１８で遅延されて乗算器１２０に供給される。すなわち、ＦＦＴ演算器１００でＦＦＴ処理された信号は、時間領域でさらに３つのパーティションに分割される。
【００２６】
また、入力デジタル信号の偶数番目のサンプルは、ＦＦＴ演算器２００でＦＦＴ処理され、乗算器２１２に供給される。また、ＦＦＴ処理された信号は、遅延要素２１４で遅延されて乗算器２１６に供給され、さらに、遅延要素２１４で遅延された信号は、遅延要素２１８で遅延されて乗算器２２０に供給される。すなわち、ＦＦＴ演算器２００でＦＦＴ処理された信号は、時間領域でさらに３つのパーティションに分割される。
【００２７】
なお、図示していないが、入力デジタル信号のうち、奇数番目のサンプルと偶数番目のサンプルが分岐する分岐点Ｐには切替スイッチが設けられ、この切替スイッチの接点を切り替えることで奇数番目のサンプルをＦＦＴ演算器１００に供給し、偶数番目のサンプルをＦＦＴ演算器２００に供給する。
【００２８】
他方、フィルタ２２（図ではアナログ波形として示されるが、実際にはデジタル化されたデジタルフィルタ）は、入力デジタル信号と同様に、奇数番目のフィルタ成分（Ｈｏｄｄ）１５０と偶数番目のフィルタ成分（Ｈｅｖｅｎ）２５０に分割される。また、入力デジタル信号の奇数番目のサンプル及び偶数番目のサンプルが、それぞれ遅延要素１１４，１１８，２１４，２１８で３つのパーティションに分けられていることに対応して、同様にそれぞれ３つのパーティションに分けられる。すなわち、奇数番目のフィルタＨｏｄｄ１５０は、Ｈｏｄｄ１（１５４）、Ｈｏｄｄ２（１５６）、Ｈｏｄｄ３（１５８）に時間領域で分けられ、かつ、偶数番目のフィルタＨｅｖｅｎ２５０は、Ｈｅｖｅｎ１（２５４）、Ｈｅｖｅｎ２（２５６）、Ｈｅｖｅｎ３（２５８）に時間領域で分けられる。
【００２９】
奇数番目と偶数番目に分割され、さらに時間領域で３分割されたフィルタは、それぞれＦＦＴ演算器１２４〜２２８でＦＦＴ処理される。すなわち、フィルタパーティションＨｏｄｄ１（１５４）はＦＦＴ演算器１２４でＦＦＴ処理されて乗算器１１２に供給される。フィルタパーティションＨｏｄｄ２（１５６）はＦＦＴ演算器１２６でＦＦＴ処理されて乗算器１１６に供給される。フィルタパーティションＨｏｄｄ３（１５８）はＦＦＴ演算器１２８でＦＦＴ処理されて乗算器１２０に供給される。同様に、フィルタパーティションＨｅｖｅｎ１（２５４）はＦＦＴ演算器２２４でＦＦＴ処理されて乗算器２１２に供給される。フィルタパーティションＨｅｖｅｎ２（２５６）はＦＦＴ演算器２２６でＦＦＴ処理されて乗算器２１６に供給される。フィルタパーティションＨｅｖｅｎ３（２５８）はＦＦＴ演算器２２８でＦＦＴ処理されて乗算器２２０に供給される。
【００３０】
ＦＦＴ演算器１００でＦＦＴ処理された入力デジタル信号の奇数番目の信号とＦＦＴ演算器１２４でＦＦＴ処理されフィルタパーティションは、乗算器１１２で乗算されて加算器１３０に供給される。また、ＦＦＴ演算器１００でＦＦＴ処理され、遅延要素１１４で遅延処理された入力デジタル信号の奇数番目の信号とＦＦＴ演算器１２６でＦＦＴ処理されたフィルタパーティションは、乗算器１１６で乗算されて加算器１３０に供給される。さらに、ＦＦＴ演算器１００で演算処理され、遅延要素１１４及び遅延要素１１８で遅延処理された入力デジタル信号の奇数番目の信号とＦＦＴ演算器１２８でＦＦＴ処理されたフィルタパーティションは、乗算器１２０で乗算されて加算器１３０に供給される。加算器１３０は、これらの乗算結果を互いに加算し、加算器２６０に供給する。同様に、ＦＦＴ演算器２００でＦＦＴ処理された入力デジタル信号の偶数番目の信号とＦＦＴ演算器２２４でＦＦＴ処理されフィルタパーティションは、乗算器２１２で乗算されて加算器２３０に供給される。また、ＦＦＴ演算器２００でＦＦＴ処理され、遅延要素２１４で遅延処理された入力デジタル信号の偶数番目の信号とＦＦＴ演算器２２６でＦＦＴ処理されたフィルタパーティションは、乗算器２１６で乗算されて加算器２３０に供給される。さらに、ＦＦＴ演算器２００で演算処理され、遅延要素２１４及び遅延要素２１８で遅延処理された入力デジタル信号の偶数番目の信号とＦＦＴ演算器２２８でＦＦＴ処理されたフィルタパーティションは、乗算器２２０で乗算されて加算器２３０に供給される。加算器２３０は、これらの乗算結果を互いに加算し、加算器２６０に供給する。
【００３１】
加算器２６０は、加算器１３０からの奇数番目の信号についての処理結果と、加算器２３０からの偶数番目の信号についての処理結果を加算して結合し、逆ＦＦＴ演算器（ＩＦＦＴ）２７０に供給する。逆ＦＦＴ演算器２７０は、加算器２６０からの周波数領域の信号を時間領域の信号に復元し、出力信号(サンプル数Ｎ／２)を出力する。
【００３２】
本実施形態において、自然数ｉをインデックスとして、入力デジタル信号をｘｉ（ｎ）とすると、奇数番目のサンプルｘ１（ｎ）、ｘ３（ｎ）、ｘ５（ｎ）、・・・はＦＦＴ演算器１００でＦＦＴ処理されて周波数領域の信号Ｘｉ（ω）（以下、これを奇数成分と適宜称する）に変換される。また、偶数番目のサンプルｘ２（ｎ）、ｘ４（ｎ）、ｘ６（ｎ）、・・・はＦＦＴ演算器２００でＦＦＴ処理されて周波数領域の信号Ｘｉ(ω)（以下、これを偶数成分と適宜称する）に変換される。
【００３３】
他方、フィルタパーティションも、奇数番目のフィルタＨｏｄｄ及び偶数番目のフィルタＨｅｖｅｎがさらに時間領域でそれぞれ３分割され、ＦＦＴ演算器でＦＦＴ処理されて、Ｈｉ(ω)に変換される。入力デジタル信号の信号パーティションＸｉ（ω）の個数と、フィルタパーティションＨｉ（ω）の個数はともに６個で同一である。
【００３４】
本実施形態では、ＦＦＴ処理された信号パーティションＸｉ（ω）と、これに対応するＦＦＴ処理されたフィルタパーティションＨｉ（ω）は、乗算器１１２〜２２０及び加算器１３０，２３０を用いて畳み込み演算されることで奇数成分及び偶数成分の畳み込み結果Ｙｉ（ω）が得られる。出力信号は、これらの信号を加算器２６０で結合し、さらに逆ＦＦＴ演算器２７０で時間領域の信号に復元することで得られる。すなわち、出力信号をｙ（ｍ）とすると、
ｙ（ｍ）＝ＩＦＦＴ（Ｙ（ω））
Ｙ（ω）＝ΣＹｉ（ω）＝Σ｛Ｘｉ(ω)  ＊Ｈｉ（ω）｝
である。ここで、ＩＦＦＴは逆ＦＦＴを表し、＊は畳み込みを表す。
【００３５】
入力デジタル信号及びフィルタがそれぞれ奇数番目と偶数番目の２つのパーティションに分けられて処理されるポリフェーズフィルタ構成であるため、出力信号ｙ（ｍ）のサンプル数は、入力デジタル信号のサンプル数の１／２である。すなわち、通常の畳み込みでは、Ｘｉ（ω）の奇数成分及び偶数成分と、Ｈｉ(ω)の奇数成分と偶数成分の畳み込みとなるため、
（Ｘｉ（ω）の奇数成分）×（Ｈｉ（ω）の奇数成分）
＋（Ｘｉ（ω）の奇数成分）×（Ｈｉ（ω）の偶数成分）
＋（Ｘｉ（ω）の偶数成分）×（Ｈｉ（ω）の奇数成分）
＋（Ｘｉ（ω）の偶数成分）×（Ｈｉ（ω）の偶数成分）
となるところ、図１の構成では、
（Ｘｉ（ω）の奇数成分）×（Ｈｉ（ω）の奇数成分）
＋（Ｘｉ（ω）の偶数成分）×（Ｈｉ（ω）の偶数成分）
のみを演算しており、
（Ｘｉ（ω）の奇数成分）×（Ｈｉ（ω）の偶数成分）
及び
（Ｘｉ（ω）の偶数成分）×（Ｈｉ（ω）の奇数成分）
が演算されず削除されるため、演算の結果得られるンプル数が１／２となるからである。
【００３６】
また、本実施形態では、入力デジタル信号の奇数番目及び偶数番目のサンプルを、それぞれ時間領域で３つのパーティションに分け、これに応じて、フィルタの奇数番目及び偶数番目を、それぞれ時間領域で３つのパーティションに分けているため、ＦＦＴ演算器１２４〜２２８におけるタップ数を適当な長さまで小さくすることが可能となり、これによりＦＦＴのパフォーマンスを向上させることができる。
【００３７】
図２に、汎用のマイクロプロセッサでＦＦＴ演算を行う際の、タップ数と処理速度（図ではスピードと略して記す）との関係を示す。タップ数が増大するに従って処理速度は増大し、所定のタップ数Ｎｔｈあるいはその近傍において処理速度が最大となり、タップ数がさらに増大すると逆に処理速度は急峻に減少していく傾向を示す。もちろん、マイクロプロセッサの種類に応じて、処理速度が最大となるタップ数Ｎｔｈは変わり得る。
【００３８】
従って、ＦＦＴ演算器１２４〜２２８として用いられるマイクロプロセッサに応じ、その処理速度が最大となるタップ数Ｎｔｈと同一あるいはそれに近いタップに設定することで、ダウンサンプリングを行いつつ効率的なＦＦＴ処理が可能となる。本実施形態では、Ｎｔｈが例えば４０９６であるとすると、フィルタをまず偶数番目と奇数番目に３分割し、次に時間領域でそれぞれ３分割して合計６個のフィルタパーティションに分割しており、当初のフィルタの総タップ数を２４５７６であるとすると、ＦＦＴ演算器１２４〜２２８におけるタップ数は、２４５７６／６＝４０９６となり、それぞれのＦＦＴ演算器１２４〜２２８における演算速度を最大化することが可能となる。
【００３９】
本実施形態では、入力デジタル信号及びフィルタのそれぞれに対し、まず奇数番目と偶数番目に２分割し、その後に、時間領域で３分割しているが、前者の分割を第１分割、後者の分割を第２分割とすると、第１分割の分割数はダウンサンプリングする際の間引き係数ｋに応じて決定され、第２分割の分割数は、当該間引き係数ｋと、ＦＦＴ演算器において処理速度が最大となるタップ数に応じて決定されることになる。なお、入力デジタル信号とフィルタとで、第１分割と第２分割の分割数は互いに等しくなる。
【００４０】
本実施形態では、サンプル数を１／２とするダウンサンプリングを行うために第１分割の分割数を２とし、第２分割の分割数を３としているが、例えばサンプル数を１／８とするダウンサンプリングを行う場合には以下のようになる。
【００４１】
すなわち、間引き係数ｋがｋ＝８であるため、第１分割の分割数を８とする。つまり、入力デジタル信号をまず８個のパーティションに分割する。８個のパーティションに分割する方法は任意であり、例えばまず奇数番目と偶数番目に分割し、それぞれについてさらに４個のパーティションに分割してもよい。次に、第２分割の分割数を３とする。つまり、８個の入力デジタル信号パーティションに対し、ＦＦＴ処理した後に、それぞれ時間領域で３個に分割する。同様にして、フィルタに対しても、第１分割の分割数として８個のフィルタパーティションに分割し、それぞれについてさらに時間領域で３個に分割する。これにより、例えばフィルタの総タップ数が９８３０４の場合、ＦＦＴ演算器におけるタップ数は、９８３０４／２４＝４０９６となる、それぞれのＦＦＴ演算器における処理速度を最大化することが可能となる。
【００４２】
以下に、入力デジタル信号の周波数、出力周波数、第１分割の分割数、第２分割の分割数、フィルタの総タップ数、ＦＦＴ演算器のタップ数を例示する。
＜例１＞
入力デジタル信号周波数：８８２００ｋＨｚ
出力デジタル信号周波数：４４１００ｋＨｚ
第１分割の分割数：２
第２分割の分割数：３
フィルタの総タップ数：２４５７６
ＦＦＴのタップ数：４０９６
＜例２＞
入力デジタル信号周波数：３５２８００ｋＨｚ
出力デジタル信号周波数：４４１００ｋＨｚ
第１分割の分割数：８
第２分割の分割数：３
フィルタの総タップ数：９８３０４
ＦＦＴのタップ数：４０９６
【００４３】
上記の例１及び例２において、入力デジタル信号周波数が異なっていても、出力デジタル信号周波数はともに４４１００ｋＨｚであることに留意されたい。また、入力デジタル信号周波数が異なっていても、ＦＦＴのタップ数はともに４０９６であることに留意されたい。すなわち、入力デジタル信号の周波数が異なっていても、第１分割及び第２分割の分割数を入力デジタル信号の周波数に応じて適応的に設定することで、所望の出力デジタル信号周波数を得ることができるとともに、ＦＦＴ演算処理を高速化して効率的に処理することができる。なお、本願出願人は、例２に示すようにサンプリングレートを１／８にダウンサンプリングする場合、図１に示す本実施形態の構成では、図５に示す従来の構成に比べて約１．５倍の処理速度を実現できることを確認している。
【００４４】
図３に、図１の構成をより一般化した構成を示す。入力デジタル信号は第１分割で分割数Ｄ１（Ｄ１は２以上の自然数）に分割され、それぞれＦＦＴ演算器でＦＦＴ処理された後、さらに第２分割で分割数Ｄ２（Ｄ２は２以上の自然数）に分割されてＤ１×Ｄ２個の入力信号パーティションに分割されて畳み込み演算器３００に供給される。同様に、デジタルフィルタ（ＦＩＲフィルタ）も第１分割で分割数Ｄ１に分割され、さらに第２分割で分割数Ｄ２に分割されてＤ１×Ｄ２個のフィルタパーティションに分割された後、ＦＦＴ演算器でＦＦＴ処理される。ＦＦＴ処理された周波数領域の信号は畳み込み演算器３００に供給される。畳み込み演算器３００は、乗算器及び加算器を備え、入力信号パーティションとフィルタパーティションの畳み込み演算を行い、その結果をＩＦＦＴ演算器３２０に供給する。ＩＦＦＴ演算器３２０は、畳み込み演算して得られた信号を逆ＦＦＴ処理し、時間領域の信号に復元して出力デジタル信号を得る。
【００４５】
ＦＦＴ演算器において、最大の処理速度（あるいは最大パフォーマンス）が得られるタップ数（これを所定のタップ数とする）をＭｏ、所望の出力デジタル信号のサンプリングレートを得るための間引き係数をｋ、フィルタの総タップ数をＳとすると、分割数Ｄ１及び分割数Ｄ２は以下の式を満たす。
Ｄ１＝ｋ
Ｓ／（Ｄ１×Ｄ２）〜Ｍｏ
ここで、〜Ｍｏは、所定のタップ数Ｍｏあるいはその近傍であることを表す。第１分割及び第２分割を行う分割器（スイッチや遅延要素で構成される）、ＦＦＴ演算器、ＩＦＦＴ演算器、及び畳み込み演算器は、ＤＳＰあるいはマイクロプロセッサで構成される。ＤＳＰあるいはマイクロプロセッサは、入力デジタル信号のサンプリングレート（周波数）を検出し、所望の出力デジタル信号のサンプリングレートに変換するために間引き係数ｋを決定し、この間引き係数ｋとＦＦＴ演算処理を効率的に実行できる所定のタップ数Ｍｏに応じて分割数Ｄ１，Ｄ２を適応的に設定する。なお、ＤＳＰあるいはマイクロプロセッサは、入力デジタル信号のサンプリングレートを検出し、演算により分割数Ｄ１、Ｄ２を算出してもよいが、予め入力デジタル信号のサンプリングレートと分割数Ｄ１，Ｄ２との最適の関係を規定するテーブルをメモリに予め記憶しておき、入力デジタル信号のサンプリングレートが確定した場合に、メモリにアクセスして当該テーブルで規定された関係を用いて分割数Ｄ１，Ｄ２を適応的に設定してもよい。分割器やＦＦＴ演算器、畳み込み演算器３００、ＩＦＦＴ演算器３２０をＤＳＰで構成し、別個に設けられたマイクロプロセッサが入力デジタル信号のサンプリングレートを検出し、メモリに記憶されたテーブルを参照して入力デジタル信号のサンプリングレートに応じた分割数Ｄ１，Ｄ２を適応的に決定してＤＳＰに制御信号を出力し、分割数Ｄ１，Ｄ２を調整してもよい。また、第１分割、第２分割、ＦＦＴ処理、畳み込み演算、逆ＦＦＴ処理は、ＤＳＰにより実行され得るが、マイクロプロセッサがプログラムメモリに格納されたプログラムを順次読み出し、当該プログラムに従って入力デジタル信号のサンプリングレートを検出し、ＤＳＰに制御信号を供給して入力デジタル信号及びフィルタを第１分割、第２分割し、ＦＦＴ処理し、畳み込み演算処理し、逆ＦＦＴ処理して出力デジタル信号を出力する各処理を実行する。ＤＳＰ及びマイクロプロセッサは、例えば携帯音楽プレーヤやタブレット端末等の電子機器に組み込まれ、プログラムはタブレット端末等のメモリに格納される。プログラムは、ファームウェアとしてタブレット端末等のメモリに当初から組み込まれていてもよく、あるいはインターネット等の通信回線を介して所定のサーバからダウンロードしてメモリに格納してもよい。入力デジタル信号は、ソース音源から入力する他、インターネットからダウンロードしてもよい。
【符号の説明】
【００４６】
１００，１２４，１２６，１２８，２００，２２４，２２６，２２８，２００  ＦＦＴ（高速フーリエ変換）演算器、１１２，１１６，１２０，２１２，２１６，２２０  乗算器、１３０，２６０  加算器、２７０，３２０  ＩＦＦＴ（逆高速フーリエ変換）演算器、３００  畳み込み演算器。
【図１】
2014127804.tif 000003
【図２】
2014127804.tif 000004
【図３】
2014127804.tif 000005
【図４】
2014127804.tif 000006
【図５】
2014127804.tif 000007