説明

ダウンサンプリング装置とダウンサンプリング方法、及びそのプログラム

【課題】ダウンサンプリングの周波数領域における処理量を減らす。
【解決手段】周波数fでサンプリングされた入力信号を、1より大きな実数であるMのf/Mの周波数で再サンプリングするダウンサンプリング装置であり、周波数分析部は、入力信号を周波数領域の信号に変換して入力信号周波数スペクトルを出力する。デシメーションフィルタ部は、入力信号周波数スペクトルに周波数領域デシメーションフィルタ係数を乗じることで、折り返し歪みを取り除く。周波数合成部は、デシメーションフィルタ部の出力信号を、サンプリング周波数f/Mで再合成して巡回畳み込み成分を除去し、時間領域の信号を出力する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ある周波数fでサンプリングされた入力信号を、より低いf/Mの周波数で再サンプリングするダウンサンプリング方法と、ダウンサンプリング装置とそのプログラムに関する。
【背景技術】
【0002】
ディジタル信号処理においては、あるサンプリング周波数fで離散化された信号のサンプリングレートを可変したい場合がある。例えば、サンプリング周波数f=48kHzのCD音源を、f=32kHzのFM音源に変換する場合にダウンサンプリング装置が用いられる。
【0003】
図10は従来のダウンサンプリング装置100の機能構成例を示す図である。ダウンサンプリング装置100は、デシメーションフィルタ部102と、ダウンサンプル部104とで構成される。入力信号x(nT)のサンプルをMサンプル毎の信号y(nT’)=y(nMT)に変換するダウンサンプリング処理では、ダウンサンプルで生じるエリアシング(量子化歪み)を取り除くために、デシメーションフィルタh(nT)を入力信号x(nT)に畳み込み、帯域制限を行う方法がこれまでに提案されている(非特許文献1)。ここでnは、連続時間信号をサンプル間隔Tでサンプリングした所定間隔の離散時間を指す数(サンプル点の番号)である。デシメーションフィルタ部102は、入力信号x(nT)を入力として、フィルタ後信号y(nT)を式(1)により算出する。
【数1】

ここで、h(nT)はデシメーションフィルタ、Lはデシメーションフィルタ部102のサンプル数を表わす。ダウンサンプル部104は、フィルタ後信号y(nT)を入力とし、出力信号y(nT’)を式(2)によって求める。
(nT’)=y(nMT) (2)
【非特許文献1】「シミュレーションで学ぶディジタル信号処理−MATLABによる例題を使って身につける基礎から応用」、尾知博著、CQ出版、東京、pp.143-146,2001
【発明の開示】
【発明が解決しようとする課題】
【0004】
従来のダウンサンプリング方法は、デシメーションフィルタh(nT)を入力信号x(nT)に時間領域で畳み込むため多くの処理量を必要とする。処理量の多い畳み込みを回避するには、入力信号を周波数分析して周波数領域でフィルタリングする方法が考えられる。この考えは、非特許文献1の145頁に示されている。しかし、周波数分析自体の処理量も多いため、周波数分析点数が多ければ、周波数領域でも処理量を削減できない課題がある。非特許文献1には、周波数領域における処理量を減らす方法については記載されていない。
【0005】
この発明は、このような点に鑑みてなされたものであり、周波数領域における処理量を減らしてダウンサンプリングを行なう方法と、その装置と、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
この発明によるダウンサンプリング装置は、周波数fでサンプリングされた入力信号を、1より大きな実数であるMのf/Mの周波数で再サンプリングするダウンサンプリング装置である。周波数分析部は、入力信号を周波数領域の信号に変換して入力信号周波数スペクトルを出力する。デシメーションフィルタ部は、入力信号周波数スペクトルに周波数領域デシメーションフィルタ係数を乗じることで、折り返し歪みを取り除く。周波数合成部は、デシメーションフィルタ部の出力信号を、サンプリング周波数f/Mで再合成して時間領域の信号を出力する。
【発明の効果】
【0007】
この発明のダウンサンプリング装置は、周波数分析点数の1/M倍の点数で周波数合成して時間領域のダウンサンプリングした信号を得る。したがって、周波数合成を行う処理量を1/Mに削減することが出来る。
【発明を実施するための最良の形態】
【0008】
以下、この発明の実施の形態を図面を参照して説明する。複数の図面中同一のものには同じ参照符号を付し、説明は繰り返さない。
【実施例1】
【0009】
図1にこの発明のダウンサンプリング装置の実施例1の機能構成例を、図2に動作フローを示す。ダウンサンプリング装置10は、周波数分析部12と、デシメーションフィルタ部14と、周波数合成部16とで構成される。周波数分析部12は、入力信号x(nT)を入力とし、サンプリング周波数fの入力信号周波数スペクトルX(ejωT)を出力する(ステップS12)。ここで、周波数ωは所定の周波数間隔で求めたスペクトルの周波数値の番号である。サンプリング周波数fは、例えば48kHzといった値であり、周波数分析点数は、例えば1024点といった値である。デシメーションフィルタ部14は、入力信号周波数スペクトルX(ejωT)を入力として、フィルタ後信号周波数スペクトルY(ejωT)を式(3)により算出する(ステップS14)。
【0010】
【数2】

ここでH(ejωT)は、周波数領域デシメーションフィルタを表わす。周波数合成部16は、予め設定されたレート変換値Mによって、M個置きのフィルタ後信号周波数スペクトルY(ejωT)を再合成して時間領域の出力信号y(nT’)を出力する(ステップS16)。例えば、M=2とすれば、周波数合成を行う処理量を1/2に削減することが出来る。
【0011】
〔エリアシング成分とデシメーションフィルタの特性について〕
ここでエリアシング成分と、デシメーションフィルタのフィルタ特性との関係について説明する。あるアナログ信号を、例えばサンプリング周波数f=4kHzで離散値とし、その信号を周波数分析した結果を模式的に図3(a)に示す。図3(a)の横軸は、周波数を角周波数ω(rad)で表わす。縦軸は、周波数スペクトルの振幅である。この例ではサンプリング周波数f=4kHzであるので、2π(rad)が4kHzに相当する。サンプリング周波数f=4kHzの時のナイキスト周波数ωは、π(rad)(2kHz)である。ナイキスト周波数ωを超える周波数成分は折り返し雑音となる。この折り返しがエリアシング成分である。ナイキスト周波数ωを中心として、低い周波数範囲の0〜πの波形が、複素共役の関係で折り返されてπ〜2π(rad)の波形となる。時間領域の信号波形は、横軸を時間として無限に連続する。それに対して、周波数領域に変換した信号は、図3(a)に示すように0〜2π(rad)の範囲の波形が高調波成分として繰り返される。
【0012】
ここで、図3(a)に示した信号を、レート換算値M=2としてダウンサンプリングした場合の周波数スペクトルを図3(b)に示す。横軸と縦軸は図3(a)と同じである。ただし、M=2でダウンサンプリングした結果、サンプリング周波数f=2kHzになるので、図3(a)のπ(rad)の位置が2π(rad)となる。そして、図3(a)の0〜2πの範囲の波形が、図3(b)の0〜2π(rad)の範囲に圧縮された周波数スペクトルとなる。図3(b)に示す様に、全周波数域に、エリアシング成分(梨子地)が含まれるようになってしまう。このエリアシングを含んだ信号を時間領域の信号に変換しても、元の信号を再現することは出来ない。
【0013】
そこで、この実施例1では、デシメーションフィルタ部14が、ダウンサンプリング後の新たなナイキスト周波数ω=π/2(1kHz)以下の周波数でフィルタリングする。その様子を模式的に図4(a)に示す。0〜π/2の範囲を通過させるローパスフィルタの特性を破線で示す。このローパスフィルタの特性も複素共役の関係でπ(rad)を中心として折り返されるので、−π/2〜π/2,3π/2〜5π/2,…、を通過域とするバンドパスフィルタの特性を示す。π/2〜3π/2(1kHz〜3kHz)の範囲をデシメーションフィルタ部14で削除した後に、レート換算値M=2としてダウンサンプリングした場合の周波数スペクトルを図4(b)に示す。図3(b)に梨子地で示した全周波数領域に含まれたエリアシング成分が除去出来ていることが分かる。エリアシング成分が除去された周波数スペクトルを周波数合成部16で周波数合成することで、元の信号を復元することが出来る。
【0014】
図4(a)に示したフィルタ特性は理想特性である。実際のフィルタの遮断特性は、図5に示すように傾斜を持つ。図5の横軸は周波数で縦軸は振幅を表わす。振幅が最初に横軸と交差するωSB1,ωSB2は、フィルタのストップバンド端の周波数である。実線で示す遮断特性の急峻な特性の方が、リップルが多く、且つ振幅の振動幅も大きい。つまり、歪が増加する。この歪を減らすためには、フィルタの遮断特性の傾斜をなだらかにし、且つ、フィルタのストップバンド端の周波数ωSBが、ナイキスト周波数ωを超えないようにすれば良い。
【0015】
しかし、単純にそのようにすると帯域幅が狭くなり過ぎて不都合な場合もある。そのような場合にも対応可能な実施例2を次に示して説明する。
【実施例2】
【0016】
帯域幅を極力広くした実施例2のダウンサンプリング装置10’には、デシメーションフィルタ部14と周波数合成部16との間に、図1に破線で示すエリアシング成分加算部18が追加される。エリアシング成分加算部18は、フィルタ後信号周波数スペクトルY(ejωT)を入力とし、出力信号周波数スペクトルY(ejωT’)を式(4)により算出する。
【数3】

ここで、T’=MTである。レート換算値M=2とすると式(5)となる。
【数4】

式(5)の第1項はスペクトル成分を表わし、第2項はそのスペクトルをπだけシフトして加算されるエリアシング成分である。ナイキスト周波数ω=πを超えるエリアシング成分を加算することで、線形動作が行え、歪を減らすことが出来る。
【0017】
エリアシング成分加算部18を設けることで、デシメーションフィルタ部14の遮断周波数をナイキスト周波数ωと等しくしても、歪が発生しない。ただし、エリアシング成分加算部18を設けると、必ず式(4)の第2項を加算する処理を行なう。これは、ストップバンド端の周波数ωSBを超える周波数でも行われるので、その場合は、0を加算する無駄な処理になってしまう。それを自動的に防止する構成を実施例3として次に示す。
【実施例3】
【0018】
実施例3の機能構成例を図6に示す。実施例3は、実施例2にストップバンド端判定部62を追加した構成である。他の構成は、実施例2と同じである。ストップバンド端判定部62は、デシメーションフィルタ部14のストップバンド端の周波数ωSBを検出して、エリアシング成分加算部18における周波数ωSB以上でのエリアシング成分の加算動作を省略するものである。図7に実施例3の動作フローを示す。ストップバンド端判定部62が追加されたことにより、ストップバンド端判定部62がデシメーションフィルタ部14のストップバンド端の周波数ωSBを検出するステップS62が追加されている。そして、エリアシング成分加算部18の動作ステップ(ステップS18)が、上記した動作フロー(図2)と異なっている。他の動作は同じである。
【0019】
エリアシング成分加算部18は、デシメーションフィルタ部14でフィルタリングした遮断周波数範囲のエリアシング成分のスペクトルを、通過周波数範囲のスペクトルに加算する動作を行う。実施例1で説明した例で、動作を説明する。この場合は、−π/2〜π/2の周波数スペクトルに、π/2〜3π/2の範囲のエリアシング成分を加算する。ダウンサンプリング後のナイキスト周波数ωは、π/2である。したがって、エリアシング成分加算部18は、最初にナイキスト周波数ω以上で最も周波数の低い周波数スペクトル(ω=π/2+Δω)を指定する(ステップS180)。そのω=π/2+Δωのエリアシング成分の周波数スペクトルを加算する(ステップS181)。加算後、次のエリアシング成分を指定する(ステップS182)。加算後の周波数が3π/2を越えたか否かを判定する(ステップS183)。加算後の周波数が3π/2を越えた場合は、エリアシング成分加算部18の動作は終了する(ステップS183のYes)。次に加算後の周波数が、ストップバンド端の周波数ωSB以上か否かを判定する(ステップS184)。周波数が周波数ωSB未満の場合は、ステップS181〜S184の動作を繰り返す(ステップS184のNo)。周波数が周波数ωSB以上の場合は、エリアシング成分加算部18の動作を終了し(ステップS183のYes)、周波数合成部16が動作を開始する。
【0020】
以上のように構成することで、ストップバンド端の周波数ωSBを超える周波数でのエリアシング成分の加算動作を省略することが出来る。つまり、デシメーションフィルタ部14の遮断周波数を、ナイキスト周波数以上に設定しても無駄なエリアシング成分の加算動作を省略することが可能である。
【実施例4】
【0021】
上記した実施例1乃至3では、デシメーションフィルタ部14のフィルタ特性が予め決められている例で説明を行った。この発明は、任意なレート換算値Mに対応したダウンサンプリングを行うダウンサンプリング装置にも適用可能である。そのダウンサンプリング装置80の機能構成例を実施例4として図8に示す。ダウンサンプリング装置80は、実施例3のダウンサンプリング装置60に、M値設定部82とフィルタ係数生成部84とが追加されたものである。また、周波数合成部16は、M値設定部82に設定されたMの値に従って、周波数合成を行う点で、上記した実施例と異なっている。他の構成は実施例3と同じである。M値設定部82には、図示しない例えばスイッチ等でレート換算値Mの値が設定される。フィルタ係数生成部84は、レート換算値Mに従ったフィルタ係数を生成して、デシメーションフィルタ部14に設定する。フィルタ係数の生成は、従来技術の範疇であるので詳しい説明は省略する。
【0022】
例えば、サンプリング周波数f=48kHzで離散化された入力信号x(nT)に対して、M=2を設定した場合は、ダウンサンプリング後のナイキスト周波数fが12kHzになる。この場合、フィルタ係数生成部84は、デシメーションフィルタ部14の遮断周波数を12kHzにするフィルタ係数を生成する。48kHzの離散値を32kHzにダウンサンプリングする時のMの値は、M=1.5が設定される。この場合、フィルタ係数生成部84は、デシメーションフィルタ部14の遮断周波数を16kHzにするフィルタ係数を生成する。このように構成することで、任意なレート換算値Mの値に対応可能なダウンサンプリング装置が実現出来る。
【実施例5】
【0023】
上記した実施例1乃至4では、デシメーションフィルタ部14のフィルタ特性をローパスフィルタとした例で説明を行った。しかし、デシメーションフィルタ部14のフィルタ特性は、ローパスフィルタに限られない。バンドパスフィルタでも構わない。
【0024】
例えば、サンプリング周波数fでの周波数分析点数を2Nとした場合、デシメーションフィルタH(ejωT)の長さPをP<Nとする。フィルタ長PをP<Nとする考えを模式的に図9に示す。図9の横軸は周波数であり、縦軸は振幅である。横軸Nがπであり、図示していないπ〜2πの範囲に、0〜πと同じ波形が折り返される。つまり、デシメーションフィルタ部14のフィルタ長を、通過帯域の幅分だけにする考えである。こうすることで、ハードウェア資源とソフトウェア資源の両方を節約することが出来る。
【0025】
この場合、デシメーションフィルタ部14の出力信号であるフィルタ後信号周波数スペクトルY(ejωT)を、フィルタ長Pに相当する周波数範囲のω≦ω≦ωの範囲で上記した式(3)で計算する。次にエリアシング成分加算部18では、出力信号周波数スペクトルY(ejωT’)を、ω〜ωの範囲において式(6)で計算する。
【0026】
【数5】

式(6)に示す処理は、デシメーションフィルタ部14の動作を線形にするためのものである。この処理は、実施例2で説明済みであるのでここでの説明は省略する。他の処理も実施例2乃至4と同じである。
このように必要な周波数範囲ω〜ωに限定した処理にすることで、ダウンサンプリング装置のハードウェア資源とソフトウェア資源を節約することが可能になる。
【0027】
以上の実施例の他、この発明である装置及び方法は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記装置及び方法において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【0028】
また、上記装置における処理手段をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、各装置における処理手段がコンピュータ上で実現される。
【0029】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記憶媒体に記憶しておくことができる。コンピュータで読み取り可能な記憶媒体としては、例えば、磁気記憶装置、光ディスク、光磁気記憶媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記憶装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記憶媒体として、MO(Magneto Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
【0030】
また、このプログラムの流通は、例えば、そのプログラムを記憶したDVD、CD−ROM等の可搬型記憶媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0031】
また、各手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図面の簡単な説明】
【0032】
【図1】この発明の実施例1のダウンサンプリング装置10と、実施例2のダウンサンプリング装置10’の機能構成例を示す図。
【図2】ダウンサンプリング装置10と10’の動作フローを示す図。
【図3】エリアシング成分とデシメーションフィルタのフィルタ特性との関係について説明する図であり、(a)はあるアナログ信号をサンプリング周波数f=4kHzで離散値とし、その信号を周波数分析した結果を模式的に示す、(b)は(a)に示した信号を、レート換算値M=2としてダウンサンプリングした場合の周波数スペクトルを示す図である。
【図4】ダウンサンプリング後の周波数スペクトルの例を説明する図であり、(a)はダウンサンプリング後の新たなナイキスト周波数ω=π/2(1kHz)以下の周波数でフィルタリングすることを模式的に示す、(b)はM=2でダウンサンプリングした場合の周波数スペクトルを示す図である。
【図5】ローパスフィルタの遮断特性の例を示す図。
【図6】この発明の実施例3のダウンサンプリング装置60の機能構成例を示す図。
【図7】ダウンサンプリング装置60の動作フローを示す図。
【図8】この発明の実施例4のダウンサンプリング装置80の機能構成例を示す図。
【図9】フィルタ長PをP<Nとする考えを模式的に示す図。
【図10】従来のダウンサンプリング装置100の機能構成例を示す図。

【特許請求の範囲】
【請求項1】
周波数fでサンプリングされた入力信号を、f/M(ただし、Mは1より大きな実数)の周波数で再サンプリングするダウンサンプリング装置であって、
上記入力信号を周波数領域の信号に変換して入力信号周波数スペクトルを出力する周波数分析部と、
上記入力信号周波数スペクトルに周波数領域デシメーションフィルタ係数を乗じることで、折り返し歪みを取り除くデシメーションフィルタ部と、
上記デシメーションフィルタ部の出力信号を、サンプリング周波数f/Mで再合成して時間領域の信号を出力する周波数合成部と、
を具備するダウンサンプリング装置。
【請求項2】
請求項1に記載したダウンサンプリング装置において、
上記デシメーションフィルタ部の出力信号に、当該デシメーションフィルタ部の出力信号をf/Mだけシフトした信号を加算するエリアシング成分加算部も、
具備することを特徴とするダウンサンプリング装置。
【請求項3】
請求項2に記載したダウンサンプリング装置において、
上記デシメーションフィルタ部のストップバンド端の周波数を検出して、上記エリアシング成分加算部の動作を制御するストップバンド端判定部も備え、
上記ストップバンド端判定部は、上記エリアシング成分加算部における上記ストップバンド端の周波数以上での上記加算を省略することを特徴とするダウンサンプリング装置。
【請求項4】
請求項1乃至3の何れかに記載したダウンサンプリング装置において、
上記Mの値を設定するM値設定部と、
上記M値設定部で設定されたMの値から上記周波数領域フィルタ係数を生成するフィルタ係数生成部と、
をさらに備えることを特徴とするダウンサンプリング装置。
【請求項5】
請求項1乃至4の何れかに記載したダウンサンプリング装置において、
上記周波数分析部におけるサンプリング周波数fでの周波数分析点数を2Nとした場合、上記デシメーションフィルタ部のフィルタ長PをP<Nとすることを特徴とするダウンサンプリング装置。
【請求項6】
周波数fでサンプリングされた入力信号を、周波数f/M(ただし、Mは1より大きな実数)で再サンプリングするダウンサンプリング方法であって、
周波数分析部が、上記入力信号を周波数領域の信号に変換して入力信号周波数スペクトルを出力する周波数分析過程と、
デシメーションフィルタ部が、上記入力信号周波数スペクトルに周波数領域デシメーションフィルタ係数を乗じることで、折り返し歪みを取り除くデシメーションフィルタ過程と、
周波数合成部が、上記デシメーションフィルタ部の出力信号を、サンプリング周波数f/Mで再合成して巡回畳み込み成分を除去する周波数合成過程と、
を有するダウンサンプリング方法。
【請求項7】
請求項6に記載したダウンサンプリング方法において、
エリアシング成分加算部が、上記デシメーションフィルタ部の出力信号に、当該デシメーションフィルタ部の出力信号を周波数f/Mだけシフトした信号を加算するエリアシング成分加算過程も、
含むことを特徴とするダウンサンプリング方法。
【請求項8】
請求項7に記載したダウンサンプリング方法において、
デシメーションフィルタ部のストップバンド端の周波数を検出するストップバンド端判定部が、上記エリアシング成分加算部における上記ストップバンド端の周波数以上での上記加算を省略するストップバンド端判定過程も、
含むことを特徴とするダウンサンプリング方法。
【請求項9】
請求項1から5の何れかに記載されたダウンサンプリング装置としてコンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2009−38691(P2009−38691A)
【公開日】平成21年2月19日(2009.2.19)
【国際特許分類】
【出願番号】特願2007−202472(P2007−202472)
【出願日】平成19年8月3日(2007.8.3)
【出願人】(000004226)日本電信電話株式会社 (13,992)