(57)【要約】【課題】複素指数変調フィルタバンクを使用するサンプリング周波数変換方法において、演算量を削減することにより低消費電力化あるいは高速化の実現。【解決手段】入力信号から第１の中間信号を算出し出力する第１の中間信号生成部１０１、第１の中間信号から第２の中間信号を算出し出力する第２の中間信号生成部１０２、第２の中間信号から高速フーリエ変換で第３の中間信号を算出し出力するＦＦＴ部１０３、第３の中間信号から第４の中間信号を算出し出力する第４の中間信号生成部１０４、第４の中間信号から高速フーリエ変換で第５の中間信号を算出し出力するＦＦＴ部１０５、第５の中間信号から第６の中間信号を算出し出力する第６の中間信号生成部１０６、第６の中間信号から出力信号を算出し出力する出力信号生成部１０７とを備える。これにより複素指数変調フィルタバンクを使用するサンプリング周波数変換の実現に必要な演算量を削減することができる。【選択図】図１
2007228349.tif 000002
【特許請求の範囲】
【請求項１】
入力サンプリング周波数ｆｓでサンプリングした入力信号ｘ（ｎ）（ｎはサンプリング時刻）を出力サンプリング周波数（ｆｓＫ／Ｌ）（ただし、Ｍは入力信号を等帯域幅で分割した際の分割数、ＫとＬはＭの１を含む正の約数で異なる値）でサンプリングした出力信号ｙ（ｎ）に変換するサンプリング周波数変換方法であって、直線位相非巡回形のプロトタイプフィルタのフィルタ係数をｈ（ｎ）（ただし、Ｎはフィルタ次数、０≦ｎ≦Ｎ、Ｎ＝２ＭＱ、Ｑは正整数、ｈ（０）＝ｈ（Ｎ）＝０）とするとき、
サンプリング時刻ｍＭ（ただし、ｍは整数）において、前記入力信号ｘ（ｎ）から第１の中間信号ｗ１（ｎ）を（数１）によって算出するステップと、
【数１】
2007228349.tif 000058
前記第１の中間信号ｗ１（ｎ）から第２の中間信号ｗ２（ｎ）を（数２）（ただし、ｊは虚数単位）によって算出するステップと、
【数２】
2007228349.tif 000059
前記第２の中間信号ｗ２（ｎ）から第３の中間信号Ｗ３（ｋ）を高速フーリエ変換で（数３）によって算出するステップと、
【数３】
2007228349.tif 000060
Ｋ＜Ｌの場合には（数４）によって、Ｋ＞Ｌの場合には（数５）によって、前記第３の中間信号Ｗ３（ｋ）から第４の中間信号Ｗ４（ｋ）を算出するステップと、
【数４】
2007228349.tif 000061
【数５】
2007228349.tif 000062
前記第４の中間信号Ｗ４（ｋ）から第５の中間信号ｗ５（ｎ）を高速フーリエ変換で（数６）によって算出するステップと、
【数６】
2007228349.tif 000063
０≦ｎ≦（２（Ｎ−Ｍ）／Ｌ−１）に対する第６の中間信号ｗ６（ｎ）をｗ６（ｎ＋２Ｍ／Ｌ）にシフトし、０≦ｎ≦Ｍ／Ｌに対する第６の中間信号ｗ６（ｎ）とｗ６（ｎ＋Ｍ／Ｌ）を前記第５の中間信号ｗ５（ｎ）から（数７）（ただし、Ｒｅ（ｘ）は複素数ｘの実部、Ｉｍ（ｘ）はｘの虚部）によって算出するステップと、
【数７】
2007228349.tif 000064
サンプリング時刻（ｍＭ／Ｋ＋ｎＬ／Ｋ）（ただし、０≦ｎ≦（Ｍ／Ｌ−１））における前記出力信号ｙ（ｍＭ／Ｋ＋ｎＬ／Ｋ）を前記第６の中間信号ｗ６（ｎ）から（数８）によって算出するステップと、
【数８】
2007228349.tif 000065
を備えたことを特徴とするサンプリング周波数変換方法。
【請求項２】
入力サンプリング周波数ｆｓでサンプリングした入力信号ｘ（ｎ）（ｎはサンプリング時刻）を出力サンプリング周波数（ｆｓＫ／Ｌ）（ただし、Ｍは入力信号を等帯域幅で分割した際の分割数、ＫとＬはＭの１を含む正の約数で異なる値）でサンプリングした出力信号ｙ（ｎ）に変換するサンプリング周波数変換方法であって、直線位相非巡回形のプロトタイプフィルタのフィルタ係数をｈ（ｎ）（ただし、Ｎはフィルタ次数、０≦ｎ≦Ｎ、Ｎ＝２ＭＱ、Ｑは正整数、ｈ（０）＝ｈ（Ｎ）＝０）とするとき、
サンプリング時刻ｍＭ（ただし、ｍは整数）において、前記入力信号ｘ（ｎ）から第１の中間信号ｗ１（ｎ）を（数９）によって算出するステップと、
【数９】
2007228349.tif 000066
前記第１の中間信号ｗ１（ｎ）から第２の中間信号ｗ２（ｎ）を（数１０）（ただし、ｊは虚数単位）によって算出するステップと、
【数１０】
2007228349.tif 000067
前記第２の中間信号ｗ２（ｎ）から第３の中間信号Ｗ３（ｋ）を逆高速フーリエ変換で（数１１）によって算出するステップと、
【数１１】
2007228349.tif 000068
Ｋ＜Ｌの場合には（数１２）（ただし、＊は共役複素数）によって、Ｋ＞Ｌの場合には（数１３）によって、前記第３の中間信号Ｗ３（ｋ）から第４の中間信号Ｗ４（ｋ）を算出するステップと、
【数１２】
2007228349.tif 000069
【数１３】
2007228349.tif 000070
前記第４の中間信号Ｗ４（ｋ）から第５の中間信号ｗ５（ｎ）を高速フーリエ変換で（数１４）によって算出するステップと、
【数１４】
2007228349.tif 000071
０≦ｎ≦（２（Ｎ−Ｍ）／Ｌ−１）に対する第６の中間信号ｗ６（ｎ）をｗ６（ｎ＋２Ｍ／Ｌ）にシフトし、０≦ｎ≦Ｍ／Ｌに対する第６の中間信号ｗ６（ｎ）とｗ６（ｎ＋Ｍ／Ｌ）を前記第５の中間信号ｗ５（ｎ）から（数１５）（ただし、Ｒｅ（ｘ）は複素数ｘの実部、Ｉｍ（ｘ）はｘの虚部）によって算出するステップと、
【数１５】
2007228349.tif 000072
サンプリング時刻（ｍＭ／Ｋ＋ｎＬ／Ｋ）（ただし、０≦ｎ≦（Ｍ／Ｌ−１））における前記出力信号ｙ（ｍＭ／Ｋ＋ｎＬ／Ｋ）を前記第６の中間信号ｗ６（ｎ）から（数１６）によって算出するステップと、
【数１６】
2007228349.tif 000073
を備えたことを特徴とするサンプリング周波数変換方法。
【請求項３】
入力サンプリング周波数ｆｓでサンプリングした入力信号ｘ（ｎ）（ｎはサンプリング時刻）を出力サンプリング周波数（ｆｓＫ／Ｌ）（ただし、Ｍは入力信号を等帯域幅で分割した際の分割数、ＫとＬはＭの１を含む正の約数で異なる値）でサンプリングした出力信号ｙ（ｎ）に変換するサンプリング周波数変換方法であって、直線位相非巡回形のプロトタイプフィルタのフィルタ係数をｈ（ｎ）（ただし、Ｎはフィルタ次数、０≦ｎ≦Ｎ、Ｎ＝２ＭＱ、Ｑは正整数、ｈ（０）＝ｈ（Ｎ）＝０）とするとき、
サンプリング時刻ｍＭ（ただし、ｍは整数）において、前記入力信号ｘ（ｎ）から第１の中間信号ｗ１（ｎ）を（数１７）によって算出するステップと、
【数１７】
2007228349.tif 000074
前記第１の中間信号ｗ１（ｎ）から第２の中間信号ｗ２（ｎ）を（数１８）（ただし、ｊは虚数単位）によって算出するステップと、
【数１８】
2007228349.tif 000075
前記第２の中間信号ｗ２（ｎ）から第３の中間信号Ｗ３（ｋ）を高速フーリエ変換で（数１９）によって算出するステップと、
【数１９】
2007228349.tif 000076
Ｋ＜Ｌの場合には（数２０）（ただし、＊は共役複素数）によって、Ｋ＞Ｌの場合には（数２１）によって、前記第３の中間信号Ｗ３（ｋ）から第４の中間信号Ｗ４（ｋ）を算出するステップと、
【数２０】
2007228349.tif 000077
【数２１】
2007228349.tif 000078
前記第４の中間信号Ｗ４（ｋ）から第５の中間信号ｗ５（ｎ）を逆高速フーリエ変換で（数２２）によって算出するステップと、
【数２２】
2007228349.tif 000079
０≦ｎ≦（２（Ｎ−Ｍ）／Ｌ−１）に対する第６の中間信号ｗ６（ｎ）をｗ６（ｎ＋２Ｍ／Ｌ）にシフトし、０≦ｎ≦Ｍ／Ｌに対する第６の中間信号ｗ６（ｎ）とｗ６（ｎ＋Ｍ／Ｌ）を前記第５の中間信号ｗ５（ｎ）から（数２３）（ただし、Ｒｅ（ｘ）は複素数ｘの実部、Ｉｍ（ｘ）はｘの虚部）によって算出するステップと、
【数２３】
2007228349.tif 000080
前記第６の中間信号ｗ６（ｎ）からサンプリング時刻（ｍＭ／Ｋ＋ｎＬ／Ｋ）（ただし、０≦ｎ≦（Ｍ／Ｌ−１））における前記出力信号ｙ（ｍＭ／Ｋ＋ｎＬ／Ｋ）を（数２４）によって算出するステップと、
【数２４】
2007228349.tif 000081
を備えたことを特徴とするサンプリング周波数変換方法。
【請求項４】
入力サンプリング周波数ｆｓでサンプリングした入力信号ｘ（ｎ）（ｎはサンプリング時刻）を出力サンプリング周波数（ｆｓＫ／Ｌ）（ただし、Ｍは入力信号を等帯域幅で分割した際の分割数、ＫとＬはＭの１を含む正の約数で異なる値）でサンプリングした出力信号ｙ（ｎ）に変換するサンプリング周波数変換方法であって、直線位相非巡回形のプロトタイプフィルタのフィルタ係数をｈ（ｎ）（ただし、Ｎはフィルタ次数、０≦ｎ≦Ｎ、Ｎ＝２ＭＱ、Ｑは正整数、ｈ（０）＝ｈ（Ｎ）＝０）とするとき、
サンプリング時刻ｍＭ（ただし、ｍは整数）において、前記入力信号ｘ（ｎ）から第１の中間信号ｗ１（ｎ）を（数２５）によって算出するステップと、
【数２５】
2007228349.tif 000082
前記第１の中間信号ｗ１（ｎ）から第２の中間信号ｗ２（ｎ）を（数２６）（ただし、ｊは虚数単位）によって算出するステップと、
【数２６】
2007228349.tif 000083
前記第２の中間信号ｗ２（ｎ）から第３の中間信号Ｗ３（ｋ）を逆高速フーリエ変換で（数２７）によって算出するステップと、
【数２７】
2007228349.tif 000084
Ｋ＜Ｌの場合には（数２８）によって、Ｋ＞Ｌの場合には（数２９）によって、前記第３の中間信号Ｗ３（ｋ）から第４の中間信号Ｗ４（ｋ）を算出するステップと、
【数２８】
2007228349.tif 000085
【数２９】
2007228349.tif 000086
前記第４の中間信号Ｗ４（ｋ）から第５の中間信号ｗ５（ｎ）を逆高速フーリエ変換で（数３０）によって算出するステップと、
【数３０】
2007228349.tif 000087
０≦ｎ≦（２（Ｎ−Ｍ）／Ｌ−１）に対する第６の中間信号ｗ６（ｎ）をｗ６（ｎ＋２Ｍ／Ｌ）にシフトし、０≦ｎ≦Ｍ／Ｌに対する第６の中間信号ｗ６（ｎ）とｗ６（ｎ＋Ｍ／Ｌ）を前記第５の中間信号ｗ５（ｎ）から（数３１）（ただし、Ｒｅ（ｘ）は複素数ｘの実部、Ｉｍ（ｘ）はｘの虚部）によって算出するステップと、
【数３１】
2007228349.tif 000088
前記第６の中間信号ｗ６（ｎ）からサンプリング時刻（ｍＭ／Ｋ＋ｎＬ／Ｋ）（ただし、０≦ｎ≦（Ｍ／Ｌ−１））における前記出力信号ｙ（ｍＭ／Ｋ＋ｎＬ／Ｋ）を（数３２）によって算出するステップと、
【数３２】
2007228349.tif 000089
を備えたことを特徴とするサンプリング周波数変換方法。
【請求項５】
請求項１〜４のいずれかの一項に記載のサンプリング周波数変換方法を、コンピュータに実行させるためのプログラム。
【請求項６】
請求項５記載のプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算量を削減して低消費電力のあるいは高速な、複素指数変調フィルタバンクを使用するサンプリング周波数変換方法に関するものである。
【背景技術】
【０００２】
近年、信号を複数の帯域分割信号に分割する信号分析フィルタバンクと前記帯域分割信号を合成して元の信号を再生する信号合成フィルタバンクは、オーディオ信号や画像信号のサブバンド符号化による高能率符号化を実現する信号分析と信号合成手段として注目されている。特に、帯域毎にゲインを変えても折り返し歪が発生しない複素指数変調フィルタバンクが注目されている。複素指数変調フィルタバンクは、帯域拡張により、低いビットレートでの符号化オーディオ信号の音質を向上するスペクトルバンド複製（Ｓｐｅｃｔｒａｌ  Ｂａｎｄ  Ｒｅｐｌｉｃａｔｉｏｎ、以下ＳＢＲと呼ぶ）技術で用いられている。ＳＢＲによる帯域拡張技術を用いたオーディオコーデックとしては、非特許文献１及び非特許文献２に記載のＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）ＡＡＣ（Ａｄｖａｎｃｅｄ  Ａｕｄｉｏ  Ｃｏｄｉｎｇ）とＳＢＲを組み合わせたＨＥ  ＡＡＣ（Ｈｉｇｈ  Ｅｆｆｉｃｅｉｎｃｙ  ＡＡＣ）や、非特許文献３に記載のｍｐ３（ＭＰＥＧ  Ａｕｄｉｏ  Ｌａｙｅｒ  ３）とＳＢＲを組み合わせたｍｐ３ＰＲＯが知られている。
【０００３】
以下に従来の複素指数変調フィルタバンクを使用するサンプリング周波数変換方法について説明する。図８は従来の信号分析フィルタバンクと信号合成フィルタバンクを使用するサンプリング周波数変換方法の構成を示すブロック図である。
【０００４】
信号分析フィルタバンク８０１は、サンプリング周波数Ｋ倍補間器８０３とＭ個の分析用帯域通過フィルタ８０４とＭ個の間引き器８０５とから成り、信号合成フィルタバンク８０２は、Ｍ個の補間器８０６とＭ個の合成用帯域通過フィルタ８０７と加算器８０８とサンプリング周波数１／Ｌ倍間引き器８０９とから成る。分析用帯域通過フィルタ８０４と合成用帯域通過フィルタ８０７は、互いにペアをなす。ここで、ＫとＬは帯域分割数Ｍの１を含む正の約数で異なる値をとる。
【０００５】
最初に信号分析フィルタバンク８０１の動作について説明する。サンプリング周波数Ｋ倍補間器８０３では、入力サンプリング周波数ｆｓでサンプリングした入力信号に対して、１個のデータ毎に（Ｋ−１）個の零データを挿入することにより、入力サンプリング周波数ｆｓをＫ倍上昇して、Ｋｆｓにする。次に、全帯域をＭ個の等帯域幅の帯域に分割する分析用帯域通過フィルタ８０４によって帯域通過信号とし、間引き器８０５でＭ個のデータ毎に（Ｍ−１）個のデータを間引き、１個のデータを出力することによってサンプリング周波数（ｆｓＫ／Ｍ）の帯域分割信号に変換し、出力する。入力信号の入力サンプリング周波数ｆｓをＫ倍にしているので、第Ｍ／Ｋ帯域以上の帯域分割信号は零である。
【０００６】
次に、信号合成フィルタバンク８０２の動作について説明する。信号分析フィルタバンク８０１から出力されたサンプリング周波数（ｆｓＫ／Ｍ）の帯域分割信号を入力とし、補間器８０６で１個のデータ毎に（Ｍ−１）個の零データを挿入することによってサンプリング周波数をＭ倍のＫｆｓに上昇し、Ｍ個の等帯域幅の合成用帯域通過フィルタ８０７により帯域通過信号とした後、加算器８０８によって合成し、サンプリング周波数Ｋｆｓの信号を再生する。次に、サンプリング周波数１／Ｌ倍間引き器８０９で、Ｌ個のデータ毎に（Ｌ−１）個のデータを間引き、出力サンプリング周波数（ｆｓＫ／Ｌ）でサンプリングした信号を出力する。
【０００７】
したがって、図８の信号分析フィルタバンクと信号合成フィルタバンクは、入力サンプリング周波数ｆｓでサンプリングした入力信号を出力サンプリング周波数（ｆｓＫ／Ｌ）でサンプリングした出力信号に変換するサンプリング周波数変換装置として動作する。
【０００８】
特許文献１に記載されているように複素指数変調フィルタバンクは、プロトタイプフィルタを複素指数変調することにより構成される。特許文献１より、直線位相非巡回形プロトタイプフィルタのフィルタ係数をｈ（ｎ）（ただし、０≦ｎ≦Ｎ、Ｎはフィルタ次数）とするとき、複素指数変調信号分析フィルタバンクの第ｋ帯域のサンプリング時刻ｎのフィルタ係数ｈａ（ｋ，ｎ）は（数１）（ただし、ｊは虚数単位、Ａは信号分析の位相）で与えられる。
【０００９】
【数１】
2007228349.tif 000003
【００１０】
したがって、最初と最後のプロトタイプフィルタのフィルタ係数の値を零（ｈ（０）＝ｈ（Ｎ）＝０）とするとき、信号分析フィルタバンクのサンプリング時刻ｎにおける入力信号をｘ（ｎ）とすれば、第ｋ帯域（ただし、０≦ｋ≦（Ｍ／Ｋ−１））のサンプリング時刻ｍＭ／Ｋにおける複素帯域分割出力信号Ｘ（ｋ，ｍＭ／Ｋ）は（数２）で与えられる。
【００１１】
【数２】
2007228349.tif 000004
【００１２】
（数２）を直接計算すると演算量が多くなるので、従来、以下のように演算量を削減した複素指数変調信号分析フィルタバンクが用いられてきた。図９は従来の複素指数変調信号分析フィルタバンクの分析方法の処理ステップを示すフローチャートである。ステップ９０１で、サンプリング時刻ｎの入力信号ｘ（ｎ）から中間信号ｗ（ｎ）を（数３）によって算出する。
【００１３】
【数３】
2007228349.tif 000005
【００１４】
次に、ステップ９０２で中間信号ｗ（ｎ）から第ｋ帯域（ただし、０≦ｋ≦（Ｍ／Ｋ−１））のサンプリング時刻ｍＭ／Ｋにおける複素帯域分割出力信号Ｘ（ｋ，ｍＭ／Ｋ）を（数４）（ただし、Ａは信号分析の位相）によって算出する。
【００１５】
【数４】
2007228349.tif 000006
【００１６】
例えば、非特許文献１には、帯域分割数Ｍが６４、プロトタイプフィルタのフィルタ次数Ｎが６４０、アップサンプリングの倍率Ｋが２、信号の位相Ａが−１の場合の複素指数変調信号分析フィルタバンクの例が記載されている。ただし、非特許文献１では、プロトタイプフィルタのフィルタ係数ｈ（ｎ）の代わりに、ｈ（ｎ）から（数５）で算出したｃ（ｎ）を用いている。
【００１７】
【数５】
2007228349.tif 000007
【００１８】
ここで、ＩＮＴ（ｘ）は、ｘの小数点以下を切り捨て整数化する関数である。
【００１９】
図９の従来例では、中間信号を導入することにより、（数２）を直接計算する場合と比較して演算量を削減することができる。
【００２０】
ここで、図９の複素指数変調信号分析フィルタバンクを実現するのに必要な演算量を実数加算回数と実数乗算回数を評価する。
【００２１】
ステップ９０１で、ｈ（ｎ）の代わりに（数５）であらかじめ算出したｃ（ｎ）をテーブルに記憶して用いることにすると、実数加算回数は（Ｎ／２Ｍ−１）（２Ｍ／Ｋ）＝（Ｎ／Ｋ−２Ｍ／Ｋ）回、実数乗算回数は（Ｎ／２Ｍ）（２Ｍ／Ｋ）＝Ｎ／Ｋ回である。
【００２２】
ステップ９０２で、Ｋｅｘｐ（ｊπ（ｋ＋０．５）（２Ｋｎ＋Ａ）／（２Ｍ））をあらかじめ算出してテーブルに記憶して用いることにすると、実数加算回数は２（２Ｍ／Ｋ−１）（Ｍ／Ｋ）＝（４（Ｍ／Ｋ）2−２（Ｍ／Ｋ））回であり、実数乗算回数は２（２Ｍ／Ｋ）（Ｍ／Ｋ）＝４（Ｍ／Ｋ）2回である。
【００２３】
プロトタイプフィルタの次数Ｎを６４０、帯域分割数Ｍを６４，アップサンプリングの倍率Ｋを１とすれば、ステップ９０１で、実数加算回数が５１２回、実数乗算回数が６４０回、ステップ９０２で、実数加算回数が１６２５６回、実数乗算回数が１６３８４回、ステップ９０１とステップ９０２を合わせた合計で、実数加算回数が１６７６８回、実数乗算回数が１７０２４回である。
【００２４】
次に、従来の複素指数変調信号合成フィルタバンクについて説明する。特許文献１より、複素指数変調信号合成フィルタバンクの第ｋ帯域のサンプリング時刻ｎのフィルタ係数ｈｓ（ｋ，ｎ）は（数６）（ただし、Ｂは信号合成の位相）で与えられる。
【００２５】
【数６】
2007228349.tif 000008
【００２６】
ここで、信号合成の位相Ｂは信号分析の位相Ａと（数７）（ただし、Ｐは任意の整数）の関係式を満足する。
【００２７】
【数７】
2007228349.tif 000009
【００２８】
入力の複素帯域分割信号を（数６）のフィルタ係数でたたみこんだ信号の有効帯域（第０帯域から第（Ｍ／Ｌ−１）帯域までの帯域）での総和の実数部が信号合成フィルタバンク８０２の出力である。最初と最後のプロトタイプフィルタのフィルタ係数の値を零とするとき、複素指数変調信号合成フィルタバンクの第ｋ帯域のサンプリング時刻（ｍＭ／Ｋ）における複素帯域分割入力信号をＸ（ｋ，ｍＭ／Ｋ）とすれば、サンプリング時刻（ｍＭ／Ｋ＋ｎＬ／Ｋ）における出力信号ｘ（ｍＭ／Ｋ＋ｎＬ／Ｋ）は（数８）（ただし、Ｒｅ（ｘ）は複素数ｘの実部）で与えられる。
【００２９】
【数８】
2007228349.tif 000010
【００３０】
（数８）を直接計算すると演算量が多くなるので、複素指数変調信号分析フィルタバンクの場合と同様に、従来、以下のように演算量を削減した複素指数変調信号合成バンクが用いられてきた。図１０は従来の複素指数変調信号合成フィルタバンクの合成方法の処理ステップを示すフローチャートである。ステップ１００１で、０≦ｎ≦（２（Ｎ−Ｍ）／Ｌ−１）に対する中間信号ｗ（ｎ）をｗ（ｎ＋２Ｍ／Ｌ）にシフトし、第ｋ帯域のサンプリング時刻ｍＭ／Ｋにおける複素帯域分割入力信号Ｘ（ｋ，ｍＭ／Ｋ）から０≦ｎ≦（２Ｍ／Ｌ−１）に対する中間信号ｗ（ｎ）を（数９）によって算出する。
【００３１】
【数９】
2007228349.tif 000011
【００３２】
次に、ステップ１００２で中間信号ｗ（ｎ）からサンプリング時刻（ｍＭ／Ｋ＋ｎＬ／Ｋ）（ただし、０≦ｎ≦（Ｍ／Ｌ−１））における出力信号ｘ（ｍＭ／Ｋ＋ｎＬ／Ｋ）を（数１０）によって算出する。
【００３３】
【数１０】
2007228349.tif 000012
【００３４】
例えば、非特許文献１には、帯域分割数Ｍが６４、プロトタイプフィルタのフィルタ次数Ｎが６４０、アップサンプリングの倍率Ｋが２、ダウンサンプリングの倍率１／Ｌが１、信号合成の位相Ｂが−２５５の場合の複素指数変調信号合成フィルタバンクの例が記載されている。
【００３５】
図１０の複素指数変調信号合成フィルタバンクを実現するのに必要な演算量を、実数加算回数と実数乗算回数を評価する。
【００３６】
ステップ１００１で、（１／Ｍ）ｅｘｐ（ｊπ（ｋ＋０．５）（２Ｌｎ＋Ｂ）／（２Ｍ））をあらかじめ算出し、テーブルに記憶して用いることにすると、実数加算回数は（Ｍ／Ｌ−１）（２Ｍ／Ｌ）＋（Ｍ／Ｌ）（２Ｍ／Ｌ）＝（４（Ｍ／Ｌ）2−２（Ｍ／Ｌ））回であり、実数乗算回数は２（Ｍ／Ｌ）（２Ｍ／Ｌ）＝４（Ｍ／Ｌ）2回である。
【００３７】
ステップ１００２で、ｈ（ｎ）の代わりに（数５）で算出したｃ（ｎ）をテーブルに記憶して用いるとすると、実数加算回数は（Ｎ／Ｍ−１）（Ｍ／Ｌ）＝（Ｎ／Ｌ−Ｍ／Ｌ）回、実数乗算回数は（Ｎ／２Ｍ）２（Ｍ／Ｌ）＝Ｎ／Ｌ回である。
【００３８】
プロトタイプフィルタの次数Ｎを６４０、帯域分割数Ｍを６４，ダウンサンプリングの倍率１／Ｌを１／２とすれば、ステップ１００１で、実数加算回数が４０３２回、実数乗算回数が４０９６回、ステップ１００２で、実数加算回数が２８８回、実数乗算回数が３２０回、ステップ１００１とステップ１００２を合わせた合計で、実数加算回数が４３２０回、実数乗算回数が４４１６回である。
【００３９】
したがって上述の複素数指数変調信号分析フィルタバンク（アップサンプリングの倍率１）と複素指数変調信号合成フィルタバンク（ダウンサンプリングの倍率１／２）を実現するのに必要な演算量を合計することにより、従来の複素指数変調フィルタバンクを使用するサンプリング周波数変換（サンプリング周波数を１／２に変換）方法の演算量は、実数加算回数が１６７６８＋４３２０＝２１０８８回、実数乗算回数が１７０２４＋４４１６＝２１４４０回となる。
【特許文献１】国際公開第０２／０８０３６２号パンフレット
【非特許文献１】イソ／アイイーシー１４４９６−３：２００１（ＩＳＯ／ＩＥＣ１４４９６−３：２００１）、インフォメーション  テクノロジー  コーディング  オブ  オーディオ・ビジュアル  オブジェクト  パート３  オーディオ（Ｉｎｆｏｒｍａｔｉｏｎ ｔｅｃｈｎｏｌｏｇｙ  −  Ｃｏｄｉｎｇ  ｏｆ  ａｕｄｉｏ−ｖｉｓｕａｌ  ｏｂｊｅｃｔｓ，  Ｐａｒｔ  ３  Ａｕｄｉｏ）、２００３年３月、（ＦＤＡＭ１の本文、帯域拡張（Ｂａｎｄｗｉｄｔｈ Ｅｘｔｅｎｓｉｏｎ））
【非特許文献２】ウォルター（Ｗｏｌｔｅｒ）、外３名、「ＭＰＥＧ−４  高効率ＡＡＣの徹底的な研究（Ａ  ｃｌｏｓｅｒ  ｌｏｏｋ  ｉｎｔｏ  ＭＰＥＧ−４  Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  ＡＡＣ）」第１１５回ＡＥＳ会議（ｃｏｎｖｅｎｔｉｏｎ）、論文番号５８７１、２００３年１０月
【非特許文献３】ジーグラー（Ｚｉｅｇｌｅｒ）、外３名、「ｍｐ３をＳＢＲで強化：新しいｍｐ３ＰＲＯアルゴリズムの特徴と能力（Ｅｎｈａｎｃｉｎｇ ｍｐ３  ｗｉｔｈ  ＳＢＲ：  Ｆｅａｔｕｒｅｓ  ａｎｄ  Ｃａｐａｂｉｌｉｔｉｅｓ  ｏｆ  ｔｈｅ  ｎｅｗ  ｍｐ３ＰＲＯ  Ａｌｇｏｒｉｔｈｍ）」第１１２回ＡＥＳ会議（ｃｏｎｖｅｎｔｉｏｎ）、論文番号５５６０、２００２年５月
【発明の開示】
【発明が解決しようとする課題】
【００４０】
しかしながら、上記従来の複素指数変調フィルタバンクを使用するサンプリング周波数変換方法では、演算量が多い、という問題点を有していた。したがって、デジタルシグナルプロセッサのように限られた数の乗算器と加算器を時分割で使ってサンプリング周波数変換を実装するときの動作クロック周波数が高くなり、消費電力が大きい、という課題を有していた。また、コンピュータを使ってソフトウェアでサンプリング周波数変換を実行するときの処理時間が大きいという課題を有していた。
【００４１】
本発明は上記従来の問題点を解決するもので、サンプリング周波数変換実行時の演算量を削減し、消費電力を低減したサンプリング周波数変換方法を提供することを目的とする。また、サンプリング周波数変換実行時の処理時間を短縮し、高速化したサンプリング周波数変換方法を提供することを目的とする。
【課題を解決するための手段】
【００４２】
この課題を解決するために、本発明のサンプリング周波数変換方法は、入力サンプリング周波数ｆｓでサンプリングした入力信号を出力サンプリング周波数（ｆｓＫ／Ｌ）（ただし、Ｍは入力信号を等帯域幅で分割した際の分割数、ＫとＬはＭの１を含む正の約数で異なる値）でサンプリングした出力信号に変換するサンプリング周波数変換方法であって、入力信号から第１の中間信号を算出するステップと、第１の中間信号から第２の中間信号を算出するステップと、第２の中間信号からＭ／Ｋ点の高速フーリエ変換あるいは逆高速フーリエ変換で第３の中間信号を算出するステップと、第３の中間信号から第４の中間信号を算出するステップと、第４の中間信号からＭ／Ｌ点の高速フーリエ変換あるいは逆高速フーリエ変換で第５の中間信号を算出するステップと、第６の中間信号をシフトし、次に第５の中間信号から第６の中間信号を算出するステップと、第６の中間信号から出力信号を算出するステップとを備えたことを特徴とする。
【００４３】
これにより、複素指数関数の周期性を利用して、高速フーリエ変換あるいは逆高速フーリエ変換を効率的に適用することができるので、複素指数変調フィルタバンクの演算量を削減することができる。また、上記サンプリング周波数変換方法は、信号分析の位相と信号合成の位相に依存しない構成をとることにより、演算量を削減することができる。
【発明の効果】
【００４４】
本発明によれば、サンプリング周波数変換実行時の演算量を削減することができる。したがって、デジタルシグナルプロセッサやＬＳＩでサンプリング周波数変換を実装するときの動作クロック周波数を低減することができ、低消費電力でサンプリング周波数変換を実現することができる。また、サンプリング周波数変換を、コンピュータを使ってソフトウェアで実行する時の処理時間を短縮することができ、処理の高速化を実現することができる。
【発明を実施するための最良の形態】
【００４５】
本発明の複素指数変調フィルタバンクを使用したサンプリング周波数変換方法は、入力サンプリング周波数ｆｓでサンプリングした入力信号ｘ（ｎ）（ｎはサンプリング時刻）を出力サンプリング周波数（ｆｓＫ／Ｌ）（ただし、Ｍは入力信号を等帯域幅で分割した際の分割数、ＫとＬはＭの１を含む正の約数で異なる値）でサンプリングした出力信号ｙ（ｎ）に変換する。複素指数変調フィルタバンクはプロトタイプフィルタを複素指数変調することによって構成される。以下の実施の形態では、直線位相非巡回形プロトタイプフィルタのフィルタ次数をＮ（ただし、Ｎ＝２ＭＱ、Ｑは正整数）、フィルタ係数をｈ（ｎ）（０≦ｎ≦Ｎ、最初と最後のフィルタ係数の値を零（ｈ（０）＝ｈ（Ｎ）＝０））とする。
【００４６】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００４７】
（実施の形態１）
図１は、実施の形態１のサンプリング周波数変換方法を実行する装置の構成を示すブロック図である。
【００４８】
第１の中間信号生成部１０１では、入力信号ｘ（ｎ）（ｎはサンプリング時刻）とプロトタイプフィルタのフィルタ係数ｈ（ｎ）から第１の中間信号ｗ１（ｎ）を出力する。
【００４９】
サンプリング時刻ｍＭ（ただし、ｍは整数）において、入力信号ｘ（ｎ）から第１の中間信号ｗ１（ｎ）を（数１１）によって算出する。
【００５０】
【数１１】
2007228349.tif 000013
【００５１】
ｈ（ｎ）の代わりに（数１２）であらかじめ算出したｃ（ｎ）をテーブルに記憶して用いることにすると、（数１１）は（数１３）となる。
【００５２】
【数１２】
2007228349.tif 000014
【００５３】
【数１３】
2007228349.tif 000015
【００５４】
第１の中間信号生成部１０１では、（数１３）を実行して第１の中間信号ｗ１（ｎ）を出力する。
【００５５】
第２の中間信号生成部１０２では、第１の中間信号生成部１０１の出力した第１の中間信号ｗ１（ｎ）から（数１４）（ただし、ｊは虚数単位）を実行して第２の中間信号ｗ２（ｎ）を出力する。
【００５６】
【数１４】
2007228349.tif 000016
【００５７】
ＦＦＴ部１０３では、第２の中間信号生成部１０２の出力した第２の中間信号ｗ２（ｎ）に対して（数１５）のＭ／Ｋ点の高速フーリエ変換（ＦＦＴ：Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）を実行して結果を第３の中間信号Ｗ３（ｋ）として出力する。
【００５８】
【数１５】
2007228349.tif 000017
【００５９】
第４の中間信号生成部１０４では、ＦＦＴ部１０３の出力した第３の中間信号ｗ３（ｋ）から、Ｋ＜Ｌの場合には（数１６）を、Ｋ＞Ｌの場合には（数１７）を実行して第４の中間信号Ｗ４（ｋ）を算出し、出力する。
【００６０】
【数１６】
2007228349.tif 000018
【００６１】
【数１７】
2007228349.tif 000019
【００６２】
ＦＦＴ部１０５では、第４の中間信号生成部１０４の出力した第４の中間信号Ｗ４（ｋ）に対して（数１８）のＭ／Ｌ点の高速フーリエ変換を実行して結果を第５の中間信号ｗ５（ｎ）として出力する。
【００６３】
【数１８】
2007228349.tif 000020
【００６４】
第６の中間信号生成部１０６では、ＦＦＴ部１０５の出力した第５の中間信号ｗ５（ｎ）から（数１９）を実行して第６の中間信号ｗ６（ｎ）を出力する。
【００６５】
【数１９】
2007228349.tif 000021
【００６６】
出力信号生成部１０７では、第６の中間信号生成部１０６の出力した第６の中間信号ｗ６（ｎ）とプロトタイプフィルタのフィルタ係数ｈ（ｎ）から出力信号ｙ（ｎ）を算出する。
【００６７】
第６の中間信号ｗ６（ｎ）からサンプリング時刻（ｍＭ／Ｋ＋ｎＬ／Ｋ）（ただし、０≦ｎ≦（Ｍ／Ｌ−１））における出力信号ｙ（ｍＭ／Ｋ＋ｎＬ／Ｋ）を（数２０）によって算出する。ここでｈ（ｎ）の代わりに（数１２）であらかじめ算出したｃ（ｎ）をテーブルに記憶して用いることにすると、（数２０）は（数２１）となる。
【００６８】
ここでｈ（ｎ）の代わりに（数１２）であらかじめ算出したｃ（ｎ）をテーブルに記憶して用いることにすると、（数２０）は（数２１）となる。
【００６９】
【数２０】
2007228349.tif 000022
【００７０】
【数２１】
2007228349.tif 000023
【００７１】
出力信号生成部１０７では、（数２１）を実行して出力信号ｙ（ｍＭ／Ｋ＋ｎＬ／Ｋ）を算出し、出力する。
【００７２】
図２は、本発明の実施の形態１におけるサンプリング周波数変換方法の処理ステップを示すフローチャートである。
【００７３】
図２で、ステップ２０１からステップ２０３は、複素指数変調による信号分析フィルタバンクを構成し、ステップ２０４からステップ２０７は、複素指数変調による信号合成フィルタバンクを構成する。以下ではｎはサンプリング時刻である。
【００７４】
ステップ２０１では、サンプリング時刻ｍＭ（ただし、ｍは整数）において、入力信号ｘ（ｎ）から第１の中間信号ｗ１（ｎ）を（数１１）によって算出する。ステップ２０１で、ｈ（ｎ）の代わりに（数１２）であらかじめ算出したｃ（ｎ）をテーブルに記憶して用いることにすると、（数１１）は（数１３）となる。
【００７５】
したがって、ステップ２０１を実行するのに必要な実数加算回数は（Ｎ／２Ｍ−１）（２Ｍ／Ｋ）＝Ｎ／Ｋ−２Ｍ／Ｋ回、実数乗算回数は（Ｎ／２Ｍ）（２Ｍ／Ｋ）＝Ｎ／Ｋ回である。
【００７６】
ステップ２０２では、第１の中間信号ｗ１（ｎ）から（数１４）（ただし、ｊは虚数単位）によって第２の中間信号ｗ２（ｎ）（ただし、０≦ｎ≦（Ｍ／Ｋ−１））を算出する。
【００７７】
ここで、Ｋｅｘｐ（−ｊπｎＫ／（２Ｍ））をテーブルに記憶して用いることにすると、ステップ２０２を実行するには複素乗算がＭ／Ｋ回必要である。これを実数演算に直すと、実数加算は２Ｍ／Ｋ回、実数乗算は４Ｍ／Ｋ回必要である。
【００７８】
ステップ２０３では第２の中間信号ｗ２（ｎ）から高速フーリエ変換で（数１５）によって第３の中間信号Ｗ３（ｋ）（ただし、０≦ｋ≦（Ｍ／Ｋ−１））を算出する。
【００７９】
Ｍ／Ｋ点のＦＦＴでは、（Ｍ／（２Ｋ））ｌｏｇ2（Ｍ／Ｋ）回のバタフライ演算が必要である。１回のバタフライ演算には２回の複素加算と１回の複素乗算が含まれるので、これを実数演算に直すと、６回の実数加算と４回の実数乗算が必要である。したがって、ステップ２０３を実行するのに必要な実数加算回数は（３Ｍ／Ｋ）ｌｏｇ2（Ｍ／Ｋ）回で、実数乗算回数は（２Ｍ／Ｋ）ｌｏｇ2（Ｍ／Ｋ）回である。
【００８０】
ステップ２０４で、第３の中間信号Ｗ３（ｋ）から（数１６）によって第４の中間信号Ｗ４（ｋ）（ただし、０≦ｋ≦（Ｍ／Ｌ−１））を算出する。
【００８１】
ステップ２０４は、第３の中間信号Ｗ３（ｋ）の並べ替えのみであり、実数加算と実数乗算は発生しない。
【００８２】
なお、（数１６）はＫ＜Ｌの場合で、Ｋ＞Ｌの場合には、第３の中間信号Ｗ３（ｋ）から（数１７）によって第４の中間信号Ｗ４（ｋ）（ただし、０≦ｋ≦（Ｍ／Ｌ−１））を算出する。
【００８３】
ステップ２０５で、第４の中間信号Ｗ４（ｋ）から高速フーリエ変換で（数１８）によって第５の中間信号ｗ５（ｎ）（ただし、０≦ｎ≦（Ｍ／Ｌ−１））を算出する。
【００８４】
ステップ２０５で、Ｍ／Ｌ点のＦＦＴを実行するのに必要な実数加算回数は（３Ｍ／Ｌ）ｌｏｇ2（Ｍ／Ｌ）回で、実数乗算回数は（２Ｍ／Ｌ）ｌｏｇ2（Ｍ／Ｌ）回である。
【００８５】
ステップ２０６で、０≦ｎ≦（２（Ｎ−Ｍ）／Ｌ−１）に対する第６の中間信号ｗ６（ｎ）をｗ６（ｎ＋２Ｍ／Ｌ）にシフトし、次に、０≦ｎ≦（Ｍ／Ｌ）に対する第６の中間信号ｗ６（ｎ）とｗ６（ｎ＋Ｍ／Ｌ）を第５の中間信号ｗ５（ｎ）から（数１９）によって算出する。
【００８６】
ステップ２０６で、（１／Ｍ）ｅｘｐ（−ｊπ（Ｑ＋Ｌｎ／（２Ｍ）））をテーブルに記憶して用いることにすると、ステップ２０６を実行するには、Ｍ／Ｌ回の複素乗算が必要で、これを実数演算に直すと、２Ｍ／Ｌ回の実数加算と４Ｍ／Ｌ回の実数乗算が必要である。
【００８７】
ステップ２０７で、第６の中間信号ｗ６（ｎ）からサンプリング時刻（ｍＭ／Ｋ＋ｎＬ／Ｋ）（ただし、０≦ｎ≦（Ｍ／Ｌ−１））における出力信号ｙ（ｍＭ／Ｋ＋ｎＬ／Ｋ）を（数２０）によって算出する。
【００８８】
ここでｈ（ｎ）の代わりに（数１２）であらかじめ算出したｃ（ｎ）をテーブルに記憶して用いることにすると、（数２０）は（数２１）となる。
【００８９】
したがって、ステップ２０７を実行するのに必要な実数加算回数は（Ｎ／Ｍ−１）（Ｍ／Ｌ）＝（Ｎ／Ｌ−Ｍ／Ｌ）回、実数乗算回数は（Ｎ／２Ｍ）２（Ｍ／Ｌ）＝Ｎ／Ｌ回である。
【００９０】
図２の実施の形態１を実行するのに必要な演算回数を、上記各ステップの演算回数の総和で求めると、実数加算回数は（Ｎ／Ｋ＋（３Ｍ／Ｋ）ｌｏｇ2（Ｍ／Ｋ）＋Ｎ／Ｌ＋Ｍ／Ｌ＋（３Ｍ／Ｌ）ｌｏｇ2（Ｍ／Ｌ））回、実数乗算回数は（Ｎ／Ｋ＋４Ｍ／Ｋ＋（２Ｍ／Ｋ）ｌｏｇ2（Ｍ／Ｋ）＋Ｎ／Ｌ＋４Ｍ／Ｌ＋（２Ｍ／Ｌ）ｌｏｇ2（Ｍ／Ｌ））回である。プロトタイプフィルタの次数Ｎを６４０、帯域分割数Ｍを６４、アップサンプリングの倍率Ｋを１、ダウンサンプリングの倍率１／Ｌを１／２とすれば、実施の形態１を実行するのに必要な演算量は、実数加算回数が２６２４回、実数乗算回数が２４３２回である。これを従来例（実数加算回数２１０８８回、実数乗算回数２１４４０回）と比較すると、実施の形態１では、実数加算回数を従来例の約１２％、実数乗算回数を従来例の約１１％に削減することができる。
【００９１】
以上のように実施の形態１のサンプリング周波数変換方法では、複素指数関数の周期性を利用して、高速フーリエ変換を効率的に適用することにより演算量を削減することができる。また、信号分析の位相と信号合成の位相に依存しない構成をとることにより、演算量を削減することができる。これらのことより、サンプリング周波数変換実行に必要な演算量を削減することができる。これによってデジタルシグナルプロセッサやＬＳＩでサンプリング周波数変換を実装するときの動作クロック周波数を低減することができ、低消費電力でサンプリング周波数変換を実現することができる。また、コンピュータを使ってソフトウェアでサンプリング周波数変換を実行する時の処理時間を短縮することができ、処理の高速化を実現することができる。
【００９２】
（実施の形態２）
図３は、実施の形態２のサンプリング周波数変換方法を実行する装置の構成を示すブロック図である。図３は、実施の形態１の図１の構成に帯域分割信号生成部１０８を追加したものである。これによって、実施の形態２では、サンプリング周波数変換を実行するとともに、指定した信号分析の位相の複素帯域分割信号を出力することができる。
【００９３】
帯域分割信号生成部１０８は、ＦＦＴ部１０３の出力した第３の中間信号Ｗ３（ｋ）からｋが偶数（ｋ＝２ｌ）の場合には（数２２）（ただし、＊は共役複素数、Ａは信号分析の位相）をｋが奇数（ｋ＝２ｌ＋１）の場合には（数２３）を実行して複素帯域分割信号Ｘ（ｋ，ｍＭ／Ｋ）を算出し、出力する。
【００９４】
【数２２】
2007228349.tif 000024
【００９５】
【数２３】
2007228349.tif 000025
【００９６】
図４は、本発明の実施の形態２におけるサンプリング周波数変換方法の処理ステップを示すフローチャートである。
【００９７】
実施の形態２は、実施の形態１において、指定した信号分析の位相の複素帯域分割信号を算出するステップ３０１を追加したものである。図４に示すようにステップ２０３の後にステップ３０１を追加する。図４において、図２と同一の番号のステップは、図２と同一のステップであり、説明を省略する。
【００９８】
ステップ３０１では、ステップ２０３で算出した第３の中間信号Ｗ３（ｋ）から第ｋ帯域（ただし、０≦ｋ≦（Ｍ／Ｋ−１））のサンプリング時刻ｍＭ／Ｋにおける複素帯域分割信号Ｘ（ｋ，ｍＭ／Ｋ）を、ｋが偶数（ｋ＝２ｌ）の場合には（数２２）（ただし、＊は共役複素数、Ａは信号分析の位相）、ｋが奇数（ｋ＝２ｌ＋１）の場合には（数２３）、によって算出し、出力する。
【００９９】
入力信号をＫ倍にアップサンプリングしているので、複素帯域分割信号の有効な帯域は第０帯域から第（Ｍ／Ｋ−１）帯域までで、第Ｍ／Ｋ帯域以上の複素帯域分割信号は零である。
【０１００】
ステップ３０１を実行するには、Ｍ／Ｋ回の複素乗算が必要であり、これを実数演算に直すと、２Ｍ／Ｋ回の実数加算と４Ｍ／Ｋ回の実数乗算が必要である。
【０１０１】
なお、信号分析の位相Ａが８Ｍの倍数の時には、（数２２）と（数２３）は、それぞれ（数２４）と（数２５）になり、ステップ３０１を実行するのに実数加算と実数乗算は不要となる。
【０１０２】
【数２４】
2007228349.tif 000026
【０１０３】
【数２５】
2007228349.tif 000027
【０１０４】
図４の実施の形態２を実行するのに必要な演算回数は、上記各ステップの演算回数の総和であり、実数加算回数は（Ｎ／Ｋ＋２Ｍ／Ｋ＋（３Ｍ／Ｋ）ｌｏｇ2（Ｍ／Ｋ）＋Ｎ／Ｌ＋Ｍ／Ｌ＋（３Ｍ／Ｌ）ｌｏｇ2（Ｍ／Ｌ））回、実数乗算回数は（Ｎ／Ｋ＋８Ｍ／Ｋ＋（２Ｍ／Ｋ）ｌｏｇ2（Ｍ／Ｋ）＋Ｎ／Ｌ＋４Ｍ／Ｌ＋（２Ｍ／Ｌ）ｌｏｇ2（Ｍ／Ｌ））回である。ここで、プロトタイプフィルタの次数Ｎを６４０、帯域分割数Ｍを６４、アップサンプリングの倍率Ｋを１、ダウンサンプリングの倍率１／Ｌを１／２とすれば、実施の形態２を実行するのに必要な演算量は、実数加算回数が２７５２回、実数乗算回数が２６８８回である。これを従来例（実数加算回数２１０８８回、実数乗算回数２１４４０回）と比較すると、実施の形態２では、実数加算回数を従来例の約１３％、実数乗算回数を従来例の約１３％に削減することができる。
【０１０５】
以上のように実施の形態２の複素指数変調を使用するサンプリング周波数変換方法では、実施の形態１と同様にしてサンプリング周波数変換を実行するとともに、指定した信号分析の位相の複素帯域分割信号を算出し、出力することができる。
【０１０６】
（実施の形態３）
図５は、本発明の実施の形態３におけるサンプリング周波数変換方法の処理ステップを示すフローチャートである。
【０１０７】
図５で、ステップ５０１からステップ５０３は、複素指数変調による信号分析フィルタバンクを構成し、ステップ５０４からステップ５０７は、複素指数変調による信号合成フィルタバンクを構成する。
【０１０８】
実施の形態３と実施の形態１の違いは、実施の形態１では、複素指数変調による信号分析フィルタバンクを、高速フーリエ変換を使って効率的に実現しているのに対して、実施の形態３では、逆高速フーリエ変換（ＩＦＦＴ：Ｉｎｖｅｒｓｅ  Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）を使って効率的に実現している点である。
【０１０９】
図５の実施の形態３を図２の実施の形態１と比較すると、実施の形態３のステップ５０１、ステップ５０５、ステップ５０６、ステップ５０７は、それぞれ実施の形態１のステップ２０１、ステップ２０５、ステップ２０６、ステップ２０７と同一であるが、実施の形態３のステップ５０２からステップ５０４は、実施の形態１のステップ２０２からステップ２０４と異なる。
【０１１０】
ステップ５０１では、サンプリング時刻ｍＭ（ただし、ｍは整数）において、入力信号ｘ（ｎ）から第１の中間信号ｗ１（ｎ）を（数２６）によって算出する。
【０１１１】
【数２６】
2007228349.tif 000028
【０１１２】
ステップ５０１で、ｈ（ｎ）の代わりに（数１２）であらかじめ算出したｃ（ｎ）をテーブルに記憶して用いることにすると、（数２６）は（数２７）となる。
【０１１３】
【数２７】
2007228349.tif 000029
【０１１４】
したがって、ステップ５０１を実行するのに必要な実数加算回数は（Ｎ／２Ｍ−１）（２Ｍ／Ｋ）＝（Ｎ／Ｋ−２Ｍ／Ｋ）回、実数乗算回数は（Ｎ／２Ｍ）（２Ｍ／Ｋ）＝Ｎ／Ｋ回である。
【０１１５】
ステップ５０２では、第１の中間信号ｗ１（ｎ）から（数２８）（ただし、ｊは虚数単位）によって第２の中間信号ｗ２（ｎ）（ただし、０≦ｎ≦（Ｍ／Ｋ−１））を算出する。
【０１１６】
【数２８】
2007228349.tif 000030
【０１１７】
ここで、Ｋｅｘｐ（ｊπｎＫ／（２Ｍ））をテーブルに記憶して用いることにすると、ステップ５０２を実行するには、複素乗算がＭ／Ｋ回必要である。これを実数演算に直すと、実数加算は２Ｍ／Ｋ回、実数乗算は４Ｍ／Ｋ回必要である。
【０１１８】
ステップ５０３では第２の中間信号ｗ２（ｎ）から逆高速フーリエ変換で（数２９）によって第３の中間信号Ｗ３（ｋ）（ただし、０≦ｋ≦（Ｍ／Ｋ−１））を算出する。
【０１１９】
【数２９】
2007228349.tif 000031
【０１２０】
ステップ５０３で、Ｍ／Ｋ点のＩＦＦＴを実行するのに必要な実数加算回数は（３Ｍ／Ｋ）ｌｏｇ2（Ｍ／Ｋ）回で、実数乗算回数は（２Ｍ／Ｋ）ｌｏｇ2（Ｍ／Ｋ）回である。
【０１２１】
ステップ５０４で、第３の中間信号Ｗ３（ｋ）から（数３０）によって第４の中間信号Ｗ４（ｋ）（ただし、０≦ｋ≦（Ｍ／Ｌ−１）、＊は共役複素数）を算出する。
【０１２２】
【数３０】
2007228349.tif 000032
【０１２３】
ステップ５０４は、第３の中間信号Ｗ３（ｋ）の共役複素数をとることと並べ替えであり、実数加算と実数乗算は発生しない。
【０１２４】
なお、（数３０）はＫ＜Ｌの場合で、Ｋ＞Ｌの場合には、第３の中間信号Ｗ３（ｋ）から（数３１）によって第４の中間信号Ｗ４（ｋ）（ただし、０≦ｋ≦（Ｍ／Ｌ−１））を算出する。
【０１２５】
【数３１】
2007228349.tif 000033
【０１２６】
ステップ５０５で、第４の中間信号Ｗ４（ｋ）から高速フーリエ変換で（数３２）によって第５の中間信号ｗ５（ｎ）（ただし、０≦ｎ≦（Ｍ／Ｌ−１））を算出する。
【０１２７】
【数３２】
2007228349.tif 000034
【０１２８】
ステップ５０５でＭ／Ｌ点のＦＦＴを実行するのに必要な実数加算回数は（３Ｍ／Ｌ）ｌｏｇ2（Ｍ／Ｌ）回で、実数乗算回数は（２Ｍ／Ｌ）ｌｏｇ2（Ｍ／Ｌ）回である。
【０１２９】
ステップ５０６で、０≦ｎ≦（２（Ｎ−Ｍ）／Ｌ−１）に対する第６の中間信号ｗ６（ｎ）をｗ６（ｎ＋２Ｍ／Ｌ）にシフトし、次に、０≦ｎ≦（Ｍ／Ｌ）に対する第６の中間信号ｗ６（ｎ）とｗ６（ｎ＋Ｍ／Ｌ）を第５の中間信号ｗ５（ｎ）から（数３３）によって算出する。
【０１３０】
【数３３】
2007228349.tif 000035
【０１３１】
ステップ５０６で、（１／Ｍ）ｅｘｐ（−ｊπ（Ｑ＋Ｌｎ／（２Ｍ）））をテーブルに記憶して用いることにすると、ステップ５０６を実行するには、Ｍ／Ｌ回の複素乗算が必要で、これを実数演算に直すと、２Ｍ／Ｌ回の実数加算と４Ｍ／Ｌ回の実数乗算が必要である。
【０１３２】
ステップ５０７で第６の中間信号ｗ６（ｎ）からサンプリング時刻（ｍＭ／Ｋ＋ｎＬ／Ｋ）（ただし、０≦ｎ≦（Ｍ／Ｌ−１））における出力信号ｙ（ｍＭ／Ｋ＋ｎＬ／Ｋ）を（数３４）によって算出する。
【０１３３】
【数３４】
2007228349.tif 000036
【０１３４】
ここでｈ（ｎ）の代わりに（数１２）であらかじめ算出したｃ（ｎ）をテーブルに記憶して用いることにすると、（数３４）は（数３５）となる。
【０１３５】
【数３５】
2007228349.tif 000037
【０１３６】
したがって、ステップ５０７を実行するのに必要な実数加算回数は（Ｎ／Ｍ−１）（Ｍ／Ｌ）＝（Ｎ／Ｌ−Ｍ／Ｌ）回、実数乗算回数は（Ｎ／２Ｍ）２（Ｍ／Ｌ）＝Ｎ／Ｌ回である。
【０１３７】
図５の実施の形態３を実行するのに必要な演算回数を、上記各ステップの演算回数の総和で求めると、実数加算回数は（Ｎ／Ｋ＋（３Ｍ／Ｋ）ｌｏｇ2（Ｍ／Ｋ）＋Ｎ／Ｌ＋Ｍ／Ｌ＋（３Ｍ／Ｌ）ｌｏｇ2（Ｍ／Ｌ））回、実数乗算回数は（Ｎ／Ｋ＋４Ｍ／Ｋ＋（２Ｍ／Ｋ）ｌｏｇ2（Ｍ／Ｋ）＋Ｎ／Ｌ＋４Ｍ／Ｌ＋（２Ｍ／Ｌ）ｌｏｇ2（Ｍ／Ｌ））回である。実施の形態３の演算回数は実施の形態１の演算回数と同一である。ここで、プロトタイプフィルタの次数Ｎを６４０、帯域分割数Ｍを６４、アップサンプリングの倍率Ｋを１、ダウンサンプリングの倍率１／Ｌを１／２とすれば、実施の形態３を実行するのに必要な演算量は、実数加算回数が２６２４回、実数乗算回数が２４３２回である。これを従来例（実数加算回数２１０８８回、実数乗算回数２１４４０回）と比較すると、実施の形態３では、実数加算回数を従来例の約１２％、実数乗算回数を従来例の約１１％に削減することができる。
【０１３８】
以上のように実施の形態３のサンプリング周波数変換方法では、複素指数関数の周期性を利用して、逆高速フーリエ変換と高速フーリエ変換を効率的に適用することにより演算量を削減することができる。また、信号分析の位相と信号合成の位相に依存しない構成をとることにより、演算量を削減することができる。これらのことより、サンプリング周波数変換実行に必要な演算量を削減することができる。これによってデジタルシグナルプロセッサやＬＳＩでサンプリング周波数変換を実装するときの動作クロック周波数を低減することができ、低消費電力でサンプリング周波数変換を実現することができる。また、コンピュータを使ってソフトウェアでサンプリング周波数変換を実行する時の処理時間を短縮することができ、処理の高速化を実現することができる。
【０１３９】
（実施の形態４）
図６は、本発明の実施の形態４におけるサンプリング周波数変換方法の処理ステップを示すフローチャートである。
【０１４０】
図６で、ステップ６０１からステップ６０３は、複素指数変調による信号分析フィルタバンクを構成し、ステップ６０４からステップ６０７は、複素指数変調による信号合成フィルタバンクを構成する。
【０１４１】
実施の形態４と実施の形態１の違いは、実施の形態１では、複素指数変調による信号合成フィルタバンクを、高速フーリエ変換を使って効率的に実現しているのに対して、実施の形態４では、逆高速フーリエ変換を使って効率的に実現している点である。
【０１４２】
図６の実施の形態４を図２の実施の形態１と比較すると、実施の形態４のステップ６０１、ステップ６０２、ステップ６０３、ステップ６０７は、それぞれ実施の形態１のステップ２０１、ステップ２０２、ステップ２０３、ステップ２０７と同一であるが、実施の形態４のステップ６０４からステップ６０６は、実施の形態１のステップ２０４からステップ２０６と異なる。
【０１４３】
ステップ６０１では、サンプリング時刻ｍＭ（ただし、ｍは整数）において、入力信号ｘ（ｎ）から第１の中間信号ｗ１（ｎ）を（数３６）によって算出する。
【０１４４】
【数３６】
2007228349.tif 000038
【０１４５】
ステップ６０１で、ｈ（ｎ）の代わりに（数１２）であらかじめ算出したｃ（ｎ）をテーブルに記憶して用いることにすると、（数３６）は（数３７）となる。
【０１４６】
【数３７】
2007228349.tif 000039
【０１４７】
したがって、ステップ６０１を実行するのに必要な実数加算回数は（Ｎ／２Ｍ−１）（２Ｍ／Ｋ）＝（Ｎ／Ｋ−２Ｍ／Ｋ）回、実数乗算回数は（Ｎ／２Ｍ）（２Ｍ／Ｋ）＝Ｎ／Ｋ回である。
【０１４８】
ステップ６０２では、第１の中間信号ｗ１（ｎ）から（数３８）（ただし、ｊは虚数単位）によって第２の中間信号ｗ２（ｎ）（ただし、０≦ｎ≦（Ｍ／Ｋ−１））を算出する。
【０１４９】
【数３８】
2007228349.tif 000040
【０１５０】
ここで、Ｋｅｘｐ（−ｊπｎＫ／（２Ｍ））をテーブルに記憶して用いることにすると、ステップ６０２を実行するには、複素乗算がＭ／Ｋ回必要である。これを実数演算に直すと、実数加算は２Ｍ／Ｋ回、実数乗算は４Ｍ／Ｋ回必要である。
【０１５１】
ステップ６０３では第２の中間信号ｗ２（ｎ）から高速フーリエ変換で（数３９）によって第３の中間信号Ｗ３（ｋ）（ただし、０≦ｋ≦（Ｍ／Ｋ−１））を算出する。
【０１５２】
【数３９】
2007228349.tif 000041
【０１５３】
ステップ６０３で、Ｍ／Ｋ点のＦＦＴを実行するのに必要な実数加算回数は（３Ｍ／Ｋ）ｌｏｇ2（Ｍ／Ｋ）回で、実数乗算回数は（２Ｍ／Ｋ）ｌｏｇ2（Ｍ／Ｋ）回である。
【０１５４】
ステップ６０４で、第３の中間信号Ｗ３（ｋ）から（数４０）によって第４の中間信号Ｗ４（ｋ）（ただし、０≦ｋ≦（Ｍ／Ｌ−１）、＊は共役複素数）を算出する。
【０１５５】
【数４０】
2007228349.tif 000042
【０１５６】
ステップ６０４は、第３の中間信号Ｗ３（ｋ）の共役複素数をとることと並べ替えであり、実数加算と実数乗算は発生しない。
【０１５７】
なお、（数４０）はＫ＜Ｌの場合で、Ｋ＞Ｌの場合には、第３の中間信号Ｗ３（ｋ）から（数４１）によって第４の中間信号Ｗ４（ｋ）（ただし、０≦ｋ≦（Ｍ／Ｌ−１））を算出する。
【０１５８】
【数４１】
2007228349.tif 000043
【０１５９】
ステップ６０５で、第４の中間信号Ｗ４（ｋ）から逆高速フーリエ変換で（数４２）によって第５の中間信号ｗ５（ｎ）（ただし、０≦ｎ≦（Ｍ／Ｌ−１））を算出する。
【０１６０】
【数４２】
2007228349.tif 000044
【０１６１】
ステップ６０５でＭ／Ｌ点のＩＦＦＴを実行するのに必要な実数加算回数は（３Ｍ／Ｌ）ｌｏｇ2（Ｍ／Ｌ）回で、実数乗算回数は（２Ｍ／Ｌ）ｌｏｇ2（Ｍ／Ｌ）回である。
【０１６２】
ステップ６０６で、０≦ｎ≦（２（Ｎ−Ｍ）／Ｌ−１）に対する第６の中間信号ｗ６（ｎ）をｗ６（ｎ＋２Ｍ／Ｌ）にシフトし、次に、０≦ｎ≦（Ｍ／Ｌ）に対する第６の中間信号ｗ６（ｎ）とｗ６（ｎ＋Ｍ／Ｌ）を第５の中間信号ｗ５（ｎ）から（数４３）によって算出する。
【０１６３】
【数４３】
2007228349.tif 000045
【０１６４】
ステップ６０６で、（１／Ｍ）ｅｘｐ（ｊπ（Ｑ＋Ｌｎ／（２Ｍ）））をテーブルに記憶して用いることにすると、ステップ６０６を実行するには、Ｍ／Ｌ回の複素乗算が必要で、これを実数演算に直すと、２Ｍ／Ｌ回の実数加算と４Ｍ／Ｌ回の実数乗算が必要である。
【０１６５】
ステップ６０７で第６の中間信号ｗ６（ｎ）からサンプリング時刻（ｍＭ／Ｋ＋ｎＬ／Ｋ）（ただし、０≦ｎ≦（Ｍ／Ｌ−１））における出力信号ｙ（ｍＭ／Ｋ＋ｎＬ／Ｋ）を（数４４）によって算出する。
【０１６６】
【数４４】
2007228349.tif 000046
【０１６７】
ここでｈ（ｎ）の代わりに（数１２）であらかじめ算出したｃ（ｎ）をテーブルに記憶して用いることにすると、（数４４）は（数４５）となる。
【０１６８】
【数４５】
2007228349.tif 000047
【０１６９】
したがって、ステップ６０７を実行するのに必要な実数加算回数は（Ｎ／Ｍ−１）（Ｍ／Ｌ）＝（Ｎ／Ｌ−Ｍ／Ｌ）回、実数乗算回数は（Ｎ／２Ｍ）２（Ｍ／Ｌ）＝Ｎ／Ｌ回である。
【０１７０】
図６の実施の形態４を実行するのに必要な演算回数を、上記各ステップの演算回数の総和で求めると、実数加算回数は（Ｎ／Ｋ＋（３Ｍ／Ｋ）ｌｏｇ2（Ｍ／Ｋ）＋Ｎ／Ｌ＋Ｍ／Ｌ＋（３Ｍ／Ｌ）ｌｏｇ2（Ｍ／Ｌ））回、実数乗算回数は（Ｎ／Ｋ＋４Ｍ／Ｋ＋（２Ｍ／Ｋ）ｌｏｇ2（Ｍ／Ｋ）＋Ｎ／Ｌ＋４Ｍ／Ｌ＋（２Ｍ／Ｌ）ｌｏｇ2（Ｍ／Ｌ））回である。実施の形態４の演算回数は実施の形態１の演算回数と同一である。ここで、プロトタイプフィルタの次数Ｎを６４０、帯域分割数Ｍを６４、アップサンプリングの倍率Ｋを１、ダウンサンプリングの倍率１／Ｌを１／２とすれば、実施の形態４を実行するのに必要な演算量は、実数加算回数が２６２４回、実数乗算回数が２４３２回である。これを従来例（実数加算回数２１０８８回、実数乗算回数２１４４０回）と比較すると、実施の形態４では、実数加算回数を従来例の約１２％、実数乗算回数を従来例の約１１％に削減することができる。
【０１７１】
以上のように実施の形態４のサンプリング周波数変換方法では、複素指数関数の周期性を利用して、高速フーリエ変換と逆高速フーリエ変換を効率的に適用することにより演算量を削減することができる。また、信号分析の位相と信号合成の位相に依存しない構成をとることにより、演算量を削減することができる。
【０１７２】
これらのことより、サンプリング周波数変換実行に必要な演算量を削減することができる。これによってデジタルシグナルプロセッサやＬＳＩでサンプリング周波数変換を実装するときの動作クロック周波数を低減することができ、低消費電力でサンプリング周波数変換を実現することができる。また、コンピュータを使ってソフトウェアでサンプリング周波数変換を実行する時の処理時間を短縮することができ、処理の高速化を実現することができる。
【０１７３】
（実施の形態５）
図７は、本発明の実施の形態５におけるサンプリング周波数変換方法の処理ステップを示すフローチャートである。
【０１７４】
図７で、ステップ７０１からステップ７０３は、複素指数変調による信号分析フィルタバンクを構成し、ステップ７０４からステップ７０７は、複素指数変調による信号合成フィルタバンクを構成する。
【０１７５】
実施の形態５と実施の形態１の違いは、実施の形態１では、複素指数変調による信号分析フィルタバンクと信号合成フィルタバンクを、ともに高速フーリエ変換を使って効率的に実現しているのに対して、実施の形態５では、ともに逆高速フーリエ変換を使って効率的に実現している点である。
【０１７６】
図７の実施の形態５を図２の実施の形態１と比較すると、実施の形態５のステップ７０１、ステップ７０４、ステップ７０７は、それぞれ実施の形態１のステップ２０１、ステップ２０４、ステップ２０７と同一であるが、実施の形態５のステップ７０２、ステップ７０３、ステップ７０５、ステップ７０６は、実施の形態１のステップ２０２、ステップ２０３、ステップ２０５、ステップ２０６と異なる。
【０１７７】
ステップ７０１では、サンプリング時刻ｍＭ（ただし、ｍは整数）において、入力信号ｘ（ｎ）から第１の中間信号ｗ１（ｎ）を（数４６）によって算出する。
【０１７８】
【数４６】
2007228349.tif 000048
【０１７９】
ステップ７０１で、ｈ（ｎ）の代わりに（数１２）であらかじめ算出したｃ（ｎ）をテーブルに記憶して用いることにすると、（数４６）は（数４７）となる。
【０１８０】
【数４７】
2007228349.tif 000049
【０１８１】
したがって、ステップ７０１を実行するのに必要な実数加算回数は（Ｎ／２Ｍ−１）（２Ｍ／Ｋ）＝（Ｎ／Ｋ−２Ｍ／Ｋ）回、実数乗算回数は（Ｎ／２Ｍ）（２Ｍ／Ｋ）＝Ｎ／Ｋ回である。
【０１８２】
ステップ７０２では、第１の中間信号ｗ１（ｎ）から（数４８）（ただし、ｊは虚数単位）によって第２の中間信号ｗ２（ｎ）（ただし、０≦ｎ≦（Ｍ／Ｋ−１））を算出する。
【０１８３】
【数４８】
2007228349.tif 000050
【０１８４】
ここで、Ｋｅｘｐ（ｊπｎＫ／（２Ｍ））をテーブルに記憶して用いることにすると、ステップ７０２を実行するには、複素乗算がＭ／Ｋ回必要である。これを実数演算に直すと実数加算は２Ｍ／Ｋ回、実数乗算は４Ｍ／Ｋ回必要である。
【０１８５】
ステップ７０３では第２の中間信号ｗ２（ｎ）から逆高速フーリエ変換で（数４９）によって第３の中間信号Ｗ３（ｋ）（ただし、０≦ｋ≦（Ｍ／Ｋ−１））を算出する。
【０１８６】
【数４９】
2007228349.tif 000051
【０１８７】
ステップ７０３で、Ｍ／Ｋ点のＩＦＦＴを実行するのに必要な実数加算回数は（３Ｍ／Ｋ）ｌｏｇ2（Ｍ／Ｋ）回で、実数乗算回数は（２Ｍ／Ｋ）ｌｏｇ2（Ｍ／Ｋ）回である。
【０１８８】
ステップ７０４で、第３の中間信号Ｗ３（ｋ）から（数５０）によって第４の中間信号Ｗ４（ｋ）（ただし、０≦ｋ≦（Ｍ／Ｌ−１））を算出する。
【０１８９】
【数５０】
2007228349.tif 000052
【０１９０】
ステップ７０４は、第３の中間信号Ｗ３（ｋ）の並べ替えであり、実数加算と実数乗算は発生しない。
【０１９１】
なお、（数５０）はＫ＜Ｌの場合で、Ｋ＞Ｌの場合には、第３の中間信号Ｗ３（ｋ）から（数５１）によって第４の中間信号Ｗ４（ｋ）（ただし、０≦ｋ≦（Ｍ／Ｌ−１））を算出する。
【０１９２】
【数５１】
2007228349.tif 000053
【０１９３】
ステップ７０５で、第４の中間信号Ｗ４（ｋ）から逆高速フーリエ変換で（数５２）によって第５の中間信号ｗ５（ｎ）（ただし、０≦ｎ≦（Ｍ／Ｌ−１））を算出する。
【０１９４】
【数５２】
2007228349.tif 000054
【０１９５】
ステップ７０５でＭ／Ｌ点のＩＦＦＴを実行するのに必要な実数加算回数は（３Ｍ／Ｌ）ｌｏｇ2（Ｍ／Ｌ）回で、実数乗算回数は（２Ｍ／Ｌ）ｌｏｇ2（Ｍ／Ｌ）回である。
【０１９６】
ステップ７０６で、０≦ｎ≦（２（Ｎ−Ｍ）／Ｌ−１）に対する第６の中間信号ｗ６（ｎ）をｗ６（ｎ＋２Ｍ／Ｌ）にシフトし、次に、０≦ｎ≦（Ｍ／Ｌ）に対する第６の中間信号ｗ６（ｎ）とｗ６（ｎ＋Ｍ／Ｌ）を第５の中間信号ｗ５（ｎ）から（数５３）によって算出する。
【０１９７】
【数５３】
2007228349.tif 000055
【０１９８】
ステップ７０６で、（１／Ｍ）ｅｘｐ（ｊπ（Ｑ＋Ｌｎ／（２Ｍ）））をテーブルに記憶して用いることにすると、ステップ７０６を実行するには、Ｍ／Ｌ回の複素乗算が必要で、これを実数演算に直すと、２Ｍ／Ｌ回の実数加算と４Ｍ／Ｌ回の実数乗算が必要である。
【０１９９】
ステップ７０７で第６の中間信号ｗ６（ｎ）からサンプリング時刻（ｍＭ／Ｋ＋ｎＬ／Ｋ）（ただし、０≦ｎ≦（Ｍ／Ｌ−１））における出力信号ｙ（ｍＭ／Ｋ＋ｎＬ／Ｋ）を（数５４）によって算出する。
【０２００】
【数５４】
2007228349.tif 000056
【０２０１】
ここでｈ（ｎ）の代わりに（数１２）であらかじめ算出したｃ（ｎ）をテーブルに記憶して用いることにすると、（数５４）は（数５５）となる。
【０２０２】
【数５５】
2007228349.tif 000057
【０２０３】
したがって、ステップ７０７を実行するのに必要な実数加算回数は（Ｎ／Ｍ−１）（Ｍ／Ｌ）＝(Ｎ／Ｌ−Ｍ／Ｌ)回、実数乗算回数は（Ｎ／２Ｍ）２（Ｍ／Ｌ）＝(Ｎ／Ｌ)回である。
【０２０４】
図７の実施の形態５を実行するのに必要な演算回数を、上記各ステップの演算回数の総和で求めると、実数加算回数は（Ｎ／Ｋ＋（３Ｍ／Ｋ）ｌｏｇ2（Ｍ／Ｋ）＋Ｎ／Ｌ＋Ｍ／Ｌ＋（３Ｍ／Ｌ）ｌｏｇ2（Ｍ／Ｌ））回、実数乗算回数は（Ｎ／Ｋ＋４Ｍ／Ｋ＋（２Ｍ／Ｋ）ｌｏｇ2（Ｍ／Ｋ）＋Ｎ／Ｌ＋４Ｍ／Ｌ＋（２Ｍ／Ｌ）ｌｏｇ2（Ｍ／Ｌ））回である。実施の形態５の演算回数は実施の形態１の演算回数と同一である。ここで、プロトタイプフィルタの次数Ｎを６４０、帯域分割数Ｍを６４、アップサンプリングの倍率Ｋを１、ダウンサンプリングの倍率１／Ｌを１／２とすれば、実施の形態５を実行するのに必要な演算量は、実数加算回数が２６２４回、実数乗算回数が２４３２回である。これを従来例（実数加算回数２１０８８回、実数乗算回数２１４４０回）と比較すると、実施の形態５では、実数加算回数を従来例の約１２％、実数乗算回数を従来例の約１１％に削減することができる。
【０２０５】
以上のように実施の形態５のサンプリング周波数変換方法では、複素指数関数の周期性を利用して、逆高速フーリエ変換を効率的に適用することにより演算量を削減することができる。また、信号分析の位相と信号合成の位相に依存しない構成をとることにより、演算量を削減することができる。これらのことより、サンプリング周波数変換実行に必要な演算量を削減することができる。これによってデジタルシグナルプロセッサやＬＳＩでサンプリング周波数変換を実装するときの動作クロック周波数を低減することができ、低消費電力でサンプリング周波数変換を実現することができる。また、コンピュータを使ってソフトウェアでサンプリング周波数変換を実行する時の処理時間を短縮することができ、処理の高速化を実現することができる。
【０２０６】
なお、上記各実施の形態で、前のステップで定数を掛け、後のステップで前記定数の逆数を掛けるようにステップを変形してもよい。
【０２０７】
なお、上記各実施の形態における信号分析と合成方法は、コンピュータまたはデジタルシグナルプロセッサに実行させるためのプログラムとして実現することができ、これをコンピュータで読み取り可能な記録媒体に記録してもよい。
【産業上の利用可能性】
【０２０８】
以上のように、本発明にかかるサンプリング周波数変換方法は、オーディオ信号や画像信号の高能率符号化、帯域拡張等に有用であり、特に演算量を削減し、低消費電力のあるいは高速なサンプリング周波数変換を実現するのに適している。
【図面の簡単な説明】
【０２０９】
【図１】本発明の実施の形態１におけるサンプリング周波数変換方法を実行する装置の構成を示すブロック図
【図２】本発明の実施の形態１におけるサンプリング周波数変換方法の処理ステップを示すフローチャート
【図３】本発明の実施の形態２におけるサンプリング周波数変換方法を実行する装置の構成を示すブロック図
【図４】本発明の実施の形態２におけるサンプリング周波数変換方法の処理ステップを示すフローチャート
【図５】本発明の実施の形態３におけるサンプリング周波数変換方法の処理ステップを示すフローチャート
【図６】本発明の実施の形態４におけるサンプリング周波数変換方法の処理ステップを示すフローチャート
【図７】本発明の実施の形態５におけるサンプリング周波数変換方法の処理ステップを示すフローチャート
【図８】従来の信号分析フィルタバンクと信号合成フィルタバンクを使用するサンプリング周波数変換装置の構成を示すブロック図
【図９】従来の複素指数変調フィルタバンクの信号分析方法の処理ステップを示すフローチャート
【図１０】従来の複素指数変調フィルタバンクの信号合成方法の処理ステップを示すフローチャート
【符号の説明】
【０２１０】
１０１  第１の中間信号生成部
１０２  第２の中間信号生成部
１０３  ＦＦＴ部（第３の中間信号生成部）
１０４  第４の中間信号生成部
１０５  ＦＦＴ部（第５の中間信号生成部）
１０６  第６の中間信号生成部
１０７  出力信号生成部
１０８  帯域分割信号生成部
８０１  信号分析フィルタバンク
８０２  信号合成フィルタバンク
８０３  サンプリング周波数Ｋ倍補間器
８０４  分析用帯域通過フィルタ
８０５  間引き器
８０６  補間器
８０７  合成用帯域通過フィルタ
８０８  加算器
８０９  サンプリング周波数１／Ｌ倍間引き器
【図１】
2007228349.tif 000090
【図２】
2007228349.tif 000091
【図３】
2007228349.tif 000092
【図４】
2007228349.tif 000093
【図５】
2007228349.tif 000094
【図６】
2007228349.tif 000095
【図７】
2007228349.tif 000096
【図８】
2007228349.tif 000097
【図９】
2007228349.tif 000098
【図１０】
2007228349.tif 000099