JP2016090670A - Frequency analysis device and program - Google Patents
Frequency analysis device and program Download PDFInfo
- Publication number
- JP2016090670A JP2016090670A JP2014221867A JP2014221867A JP2016090670A JP 2016090670 A JP2016090670 A JP 2016090670A JP 2014221867 A JP2014221867 A JP 2014221867A JP 2014221867 A JP2014221867 A JP 2014221867A JP 2016090670 A JP2016090670 A JP 2016090670A
- Authority
- JP
- Japan
- Prior art keywords
- frame
- frequency
- term
- frequency analysis
- analysis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
Abstract
Description
この発明は、入力した時系列ディジタルデータの周波数成分を分析する周波数分析装置およびプログラムに関する。 The present invention relates to a frequency analysis apparatus and program for analyzing frequency components of input time-series digital data.
従来より、音響信号などの時系列ディジタルデータの周波数分析等を行う手法として離散フーリエ変換(Discrete Fourier Transform:DFT)が知られている。通常は無限の区間に渡って積分を実行するわけにはいかないので、分析対象のディジタル信号から、所定のホップ長毎に所定のフレーム長の区間のデータを切り出し窓関数を掛けて離散フーリエ変換する処理を繰り返して分析する、いわゆる短時間フーリエ変換(Short-Time Fourier Transform:STFT)の手法が使われる。 Conventionally, Discrete Fourier Transform (DFT) is known as a technique for performing frequency analysis of time-series digital data such as acoustic signals. Normally, it is impossible to perform integration over an infinite interval, so the data of the predetermined frame length is extracted from the digital signal to be analyzed for each predetermined hop length and is subjected to a discrete Fourier transform by applying a window function. A so-called Short-Time Fourier Transform (STFT) technique is used in which processing is repeated and analyzed.
図7は、STFTの概念図を示す。701は時系列データであるディジタル信号x(t)の時間変化を示すグラフである。702は最初に切り出したフレーム長がNの区間のフレーム(データ列)を示す。このフレーム702に対してDFTの演算を実行し、最初の分析結果X0(f)を得る。X0(f)の下付の添え字は分析したフレームを特定するフレーム番号(フレーム0を先頭とする)、パラメータfは周波数ビンを特定する番号(あるいは周波数)を示す。分析結果X0(f)は、各周波数ビンにおける分析対象の信号の成分を複素数表現したデータ列である。703は次のフレーム1を示す。フレーム1は、フレーム0からホップ長Hだけ進んだ位置からフレーム長Nの区間を切り出したものである。フレーム1に対してDFTの演算を実行し分析結果X1(f)を得る。同様にして、ホップ長H毎にフレーム長Nの区間をフレームとして順次切り出しDFTの演算を実行していく。なお、DFTの計算においては、演算を高速に行うことができる高速フーリエ変換(Fast Fourier Transform:FFT)の手法を用いることが多い。
FIG. 7 shows a conceptual diagram of the STFT.
さらに、DFTの循環性を用いることによるスライディング離散フーリエ変換(Sliding-DFT:SDFT)という手法も提案されている(非特許文献1,2参照)。図8は、SDFTの概念図を示す。801は、701と同様の信号x(t)のグラフを示す。802は最初に切り出したフレーム長がNの区間のフレームを示す。このフレーム802に対してDFTの演算を実行し、最初の分析結果X0(f)を得る。次に、フレーム802の処理対象データを1サンプル分スライドする。すなわち、先頭サンプル803を削除するとともにフレーム802の最終サンプルの次のサンプル805を追加し、この網掛け804と805に示す一連のデータの周波数分析結果を求める。この計算は、フレーム802の分析結果X0(f)を補正することで得ることができる。この補正の計算は各周波数ビン毎の計算であるが、DFTの計算を行うのに比べれば簡単で計算量が少ない。以下同様にして、806,807に示すように分析対象データをスライドさせていき、補正計算で各周波数ビンの分析結果を求めていく。ホップ長Hまでスライドさせることで、次のフレーム808の分析結果が得られる。
Furthermore, a technique called sliding discrete Fourier transform (Sliding-DFT: SDFT) using the circularity of DFT has also been proposed (see
音響信号の周波数分析等に適用する短時間フーリエ変換の計算は、できるだけ効率よく短時間で行うことが求められる。 The calculation of the short-time Fourier transform applied to the frequency analysis of the acoustic signal is required to be performed as efficiently and in a short time as possible.
一般にFFTの計算量は O[N log2(N)] である。これを踏まえ、上述のSTFTおよびSDFTにおける各フレームでの計算量を考える。まず、図7のSTFTでは、FFTを1回行うので計算量は O[N log2(N)] となる。図8のSDFTでは、スライド処理をホップ長Hだけ行うので計算量は O(NH) となる。 In general, the calculation amount of FFT is O [N log 2 (N)]. Based on this, the amount of calculation in each frame in the above-described STFT and SDFT will be considered. First, in the STFT of FIG. 7, since the FFT is performed once, the calculation amount is O [N log 2 (N)]. In the SDFT of FIG. 8, since the slide process is performed only for the hop length H, the calculation amount is O (NH).
本発明は、音響信号などの時系列ディジタルデータの周波数分析を効率よく短時間で実行できる周波数分析装置およびプログラムを提供することを目的とする。 An object of the present invention is to provide a frequency analyzer and a program that can efficiently perform frequency analysis of time-series digital data such as an acoustic signal in a short time.
上記目的を達成するため、請求項1に係る発明は、入力した時系列ディジタルデータに対し所定のホップ長H毎に所定のフレーム長Nの長さのフレームの周波数分析を行う周波数分析装置であって、既に分析済みのm−1番目のフレームの周波数分析結果に所定の位相差を加えることにより今回の分析対象であるm番目のフレームの分析結果の第1項を取得する手段と、m−1番目のフレームのサンプルデータと今回の分析対象であるm番目のフレームの新たなサンプルデータとの差分をとる手段と、前記差分に対して所定の離散フーリエ変換の処理を施すことにより今回の分析対象であるm番目のフレームの分析結果の第2項を取得する手段と、前記第1項に第2項を加えることにより今回の分析対象であるm番目のフレームの周波数分析結果を取得する手段とを備えることを特徴とする。
In order to achieve the above object, an invention according to
請求項2に係る発明は、入力した時系列ディジタルデータに対し所定のホップ長H毎に所定のフレーム長Nの長さのフレームの周波数分析を行う周波数分析装置であって、既に分析済みのm−1番目のフレームの周波数分析結果Xm-1(k)に所定の位相差を加える演算
請求項3に係る発明は、請求項1または2に記載の周波数分析装置において、前記ホップ長Hが2のべき乗であり、前記差分に対する離散フーリエ変換の処理が高速フーリエ変換の処理であることを特徴とする。 According to a third aspect of the present invention, in the frequency analyzer according to the first or second aspect, the hop length H is a power of 2, and the discrete Fourier transform process for the difference is a fast Fourier transform process. Features.
請求項4に係る発明は、請求項1から3の何れか1つに記載の周波数分析装置において、ホップ長Hとフレーム長Nとを、HQ=N(HはNの約数)を満たすように設定し、前記差分に対する離散フーリエ変換の処理をQ回の離散フーリエ変換のループ処理で実行することを特徴とする。
The invention according to
請求項5に係る発明は、請求項1から3の何れか1つに記載の周波数分析装置において、ホップ長Hとフレーム長Nとを、HQ=N(HはNの約数)を満たすように設定し、前記差分に対する離散フーリエ変換の処理は、H点の差分に対する離散フーリエ変換の処理を実行し、得られたH点の離散フーリエ変換の結果を用いて補間演算によりN点の離散フーリエ変換の結果を取得するものであることを特徴とする。
The invention according to
請求項6に係る発明は、請求項1から5の何れか1つに記載の周波数分析装置において、前記求めたm番目のフレームの周波数分析結果に、所定の窓関数の周波数応答を畳み込む演算を行うことにより最適化された周波数分析結果を求めることを特徴とする。 According to a sixth aspect of the present invention, in the frequency analyzer according to any one of the first to fifth aspects, an operation for convolving a frequency response of a predetermined window function with the obtained frequency analysis result of the mth frame. It is characterized by obtaining an optimized frequency analysis result by performing.
請求項7に係る発明は、入力した時系列ディジタルデータに対し所定のホップ長H毎に所定のフレーム長Nの長さのフレームの周波数分析を行う周波数分析装置を実現する周波数分析プログラムであって、処理装置で実行させることにより、既に分析済みのm−1番目のフレームの周波数分析結果に所定の位相差を加えることにより今回の分析対象であるm番目のフレームの分析結果の第1項を取得する手段と、m−1番目のフレームのサンプルデータと今回の分析対象であるm番目のフレームの新たなサンプルデータとの差分をとる手段と、前記差分に対して所定の離散フーリエ変換の処理を施すことにより今回の分析対象であるm番目のフレームの分析結果の第2項を取得する手段と、前記第1項に第2項を加えることにより今回の分析対象であるm番目のフレームの周波数分析結果を取得する手段とを備える周波数分析装置として機能させる周波数分析プログラムである。
The invention according to
本発明によれば、時系列ディジタルデータに対する周波数分析を従来よりも高速に効率よく行うことができる。 According to the present invention, frequency analysis for time-series digital data can be efficiently performed at a higher speed than before.
以下、図面を用いて本発明の実施の形態を説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は、この発明の実施の形態である周波数分析装置のハードウェア構成を示すブロック図である。CPU101は、この装置全体の動作を制御する処理装置である。メモリ102は、CPU101が実行する各種のプログラムや各種のデータなどを格納した記憶装置であり、RAM、ROM、フラッシュメモリ、ハードディスクなどを適宜組み合わせて構成することができる。表示器103は、この装置の操作パネル上に設けられた各種の情報を表示するためのディスプレイである。操作子104は、この装置の操作パネル上に設けられたユーザが操作するための各種の操作子である。信号処理部105は、例えばDSPであり、CPU101の指示に基づいて各種の信号処理プログラムを実行する。特に、信号処理部105は、後述する図5A,5Bの周波数分析処理プログラムを実行することにより、波形I/O106経由で入力した音響信号の周波数分析処理を行い、その分析結果をCPU101に出力する。バス110は、これら各部を接続するバスラインであり、コントロールバス、データバス、およびアドレスバスを総称したものである。
FIG. 1 is a block diagram showing a hardware configuration of a frequency analyzer according to an embodiment of the present invention. The
図1の装置では、信号処理装置105で周波数分析処理を実行したが、CPU101で実行するように構成してもよい。また、汎用のパーソナルコンピュータ(PC)で、以下で説明する本実施形態の装置のプログラムを実行させることにより周波数分析装置を実現することもできる。さらに、図1の装置は単体の周波数分析装置として構成したが、例えば図1の装置を楽音信号を発生する電子楽器や音響信号を処理するミキサとして構成し、それらの装置の機能の一部として周波数分析の機能を実現するようにしてもよい。
In the apparatus of FIG. 1, the frequency analysis process is executed by the
図2は、図1の装置における周波数分析の概念図を示す。201は分析対象の音響信号x(t)の時間的な変化を示すグラフである。202は処理対象として最初に切り出したフレーム0を示す。最初のフレーム0については、従来技術の図7の702や図8の802と同様にしてDFTの演算を行い、分析結果X0(k)を得る。
FIG. 2 shows a conceptual diagram of frequency analysis in the apparatus of FIG. 201 is a graph showing temporal changes in the acoustic signal x (t) to be analyzed.
206は次の処理対象のフレーム1を示す。フレーム1に対するDFTの演算結果を得るため、本実施形態では、前のフレーム0と今回のフレーム1との差分に着目する。フレーム0と1とでは網掛け204の波形サンプルが重複している。また、フレーム0から網掛け203の波形サンプルを削除し、網掛け205の波形サンプルを追加すればフレーム1となる。そこで、本実施形態では、前のフレームの分析結果に所定の位相差を加えた項と、前のフレームと今回分析対象のフレームとの差分に対するDFT演算結果を元に求めた補正項とから、今回分析対象のフレームの分析結果を取得する。
以下、そのような本発明に係る分析手法の原理を説明する。図3、図4A、および図4Bは、本実施形態における周波数分析の演算の原理を説明するための数式である。 Hereinafter, the principle of such an analysis method according to the present invention will be described. 3, 4A, and 4B are mathematical expressions for explaining the principle of frequency analysis calculation in the present embodiment.
式(1)は、フレーム0に対して施すDFTの演算式を示す。式(1)において、x(n)は入力信号であり時刻nにおける波形サンプル値(複素数表現)を示している。eは自然対数の底、jは虚数単位、πは円周率である。Nはフレーム長、kは周波数ビンを特定する番号(ビン番号と呼ぶものとする)である。計算結果のX0(k)は、各周波数ビン毎の成分を示す複素数であり、これから各周波数ビンにおける入力信号の振幅と位相が計算できる。
Expression (1) represents an arithmetic expression of DFT applied to
次の式(2)は、フレーム1に対して施すDFTの演算式を示す。式(1)と同様の演算式であるが、フレーム1に対する演算でありN=0からN-1の総和(Σ)をとる演算であるので、式(1)のx(n)の部分はx(n+H)に置き換えている。式(3)は、式(2)の総和の計算を、図2の網掛け204の範囲に対する計算に相当する第1項と、網掛け205の範囲に対する計算に相当する第2項に分けたものである。式(4)の第1項は、式(3)の第1項のnの範囲をn=0〜N-H-1からn=H〜N-1に書き換え、x(n+H)の+Hの部分を調整した。式(4)の第2項は、式(3)の第2項の指数部の定数をΣの前に出した。式(5)は、式(4)の第1項の指数部の定数をΣの前に出した。式(6)は、式(5)の第1項についてn=0〜N-1の範囲の総和の形とし、その総和の余分を第2項で引いている。式(7)は、式(6)の第2項にexp(-j2π/N)kN=exp(-j2πk)=1を書き加えた。式(7)を(8)(9)と変形していき、最終的に式(10)を得ることができる。
The following formula (2) shows a DFT calculation formula applied to the
式(10)の第1項は、いま求めようとしているフレーム1の直前のフレーム0のDFT結果X0(k)に位相差を加えたものである。式(10)の第2項に含まれているx(n+N)-x(n)は、フレーム1の波形サンプル値からフレーム0の波形サンプル値を引いた差であるから、式(10)の第2項はフレーム0の分析結果を元にフレーム1の分析結果を求める際の補正項といえる。この補正項は、図2の網掛け203の範囲を削除し網掛け205の範囲を追加することに相当しているといえる。
The first term of the equation (10) is obtained by adding a phase difference to the DFT result X 0 (k) of the
図4Aの式(11)は、式(10)の第2項の補正項のΣの部分を取り出したものである。式(11)のY(k)を用いて、式(10)は式(12)のように変形できる。式(10)の形から式(11)のY(k)が計算量が多い部分といえるが、式(11)は差分に対するDFT演算であり、まとめて計算することができるので、従来の手法より高速に計算できる。 Equation (11) in FIG. 4A is obtained by extracting the Σ portion of the correction term of the second term of Equation (10). Using Y (k) in equation (11), equation (10) can be transformed into equation (12). Although Y (k) in equation (11) is a portion with a large calculation amount from the form of equation (10), equation (11) is a DFT operation on the difference and can be calculated together, so that the conventional method It can calculate faster.
式(13)は、HQ=N(HはNの約数)と仮定して、式(11)を変形したものである。HはNの約数であるので、式(11)のkを^kQ+iに置き換えている(^kは、図4A中の上部に^(サーカムフレックスあるいはハット記号)が付いているkを示すものとする)。この式(13)は、DFTをQ回実行すれば計算できる。従って、式(13)を利用して計算した場合の計算量は、O[Q*H*log(H)]=O[N*log(H)]である。 Expression (13) is a modification of Expression (11) on the assumption that HQ = N (H is a divisor of N). Since H is a divisor of N, k in equation (11) is replaced with ^ kQ + i (^ k is k with ^ (circumflex or hat symbol) at the top in Fig. 4A. Shall be shown). This equation (13) can be calculated by executing DFT Q times. Therefore, the amount of calculation when the calculation is performed using Expression (13) is O [Q * H * log (H)] = O [N * log (H)].
図4Bは、m-1フレーム目とmフレーム目の表現を示す。式(15)と(16)は、m-1フレーム目とmフレーム目のDFTの演算式である。式(17)は、式(16)を変形したものであり、図3の式(10)に相当する。式(18)は、式(19)のように定義したYm(k)を用いて式(17)を変形したものである。式(20)は、HQ=N(HはNの約数)と仮定した場合の式(13)に相当する式である。m-1フレーム目の分析結果Xm-1(k)を元にmフレーム目を計算する際には式(18)を適用すれば良い。また、HQ=N(HはNの約数)の場合は、式(20)を適用して高速に計算できる。 FIG. 4B shows representations of the (m-1) th frame and the mth frame. Expressions (15) and (16) are DFT arithmetic expressions for the (m-1) th and mth frames. Expression (17) is a modification of Expression (16) and corresponds to Expression (10) in FIG. Expression (18) is a modification of Expression (17) using Y m (k) defined as in Expression (19). Expression (20) is an expression corresponding to Expression (13) when HQ = N (H is a divisor of N). When calculating the m-th frame based on the analysis result X m-1 (k) of the m-1 frame, Equation (18) may be applied. In addition, when HQ = N (H is a divisor of N), it can be calculated at high speed by applying equation (20).
図5Aおよび図5Bは、本実施形態の周波数分析装置における周波数分析処理の流れを示すフローチャートである。この処理プログラムは、図1の信号処理部105で実行される。なお、このフローチャートの処理は、HQ=N(HはNの約数)と仮定した場合の処理である。
FIG. 5A and FIG. 5B are flowcharts showing the flow of frequency analysis processing in the frequency analyzer of the present embodiment. This processing program is executed by the
ステップ501〜504は、最初のフレーム0の演算を行う部分である。ステップ501で、最初のフレーム0のN個(Nはフレーム長)の波形サンプルをバッファに取り込む。mはフレーム番号を格納する変数であり、ここでは初期値m=0に設定される。ステップ502で、バッファ内のN個の波形サンプルに対して、DFTを施し、X0(k)を得る。ステップ503で演算結果X0(k)を出力する。この演算結果はCPU101に出力され、周波数分析結果として利用される。ステップ504で、次のフレームの処理のために、フレーム0の波形サンプルx(n)とDFT結果X0(k)を一時記憶する。
ステップ505から517は、mを1から順に歩進しながら、フレームm-1の分析結果を元にフレームmの分析結果を求めるループ処理である。まずステップ506では、一時記憶しておいた前のフレームm-1のDFT結果の各周波数ビンの値に位相差を加える。この計算は、図4Bの式(18)の第1項の計算である。ステップ507で、今回の処理対象であるフレームmの新しいH個の波形サンプルを取得する。これは図2で言えば網掛け205の範囲の波形サンプルに相当する。次にステップ508で、1つ前のフレームm-1の古いH個の波形サンプル(図2の203に相当)とフレームmの新しいH個の波形サンプル(図2の205に相当)との差をとる。これは図4Bの式(17)のΣの中の差分をとる部分に相当する。
次のステップ509〜514は、iを0〜Q-1の範囲で歩進させながら、式(18)の第2項の補正項を求めて第1項に順次加えていくループ処理である。まずステップ510では、ステップ508で求めた差分に位相調整を施す前処理を行う。これは、1つのiの値での式(20)のΣの括弧の中の計算である。ステップ511で、ステップ510の結果である前処理されたH個のサンプルにDFTを施す。これは式(20)の計算である。ステップ512で、ステップ511の結果を調整する。これは式(18)の第2項の計算である。ステップ513で、算出しておいた前のフレームm-1のDFT結果に位相差を加えたもの(すなわちステップ506の結果)に、ステップ512の結果を加える。以上をiを歩進させながら処理し、Q回処理したらループから抜ける。この時点でのステップ513の結果が、フレームmの分析結果Xm(k)である。
The
ステップ515で、分析結果Xm(k)を出力する。ステップ516で、次のフレームの処理のために、今回のフレームの波形サンプルと分析結果を一時記憶する。ステップ517で、最終フレームまで処理したらループから抜けて処理を終了する。
In
上記実施形態では、ステップ511や式(20)でDFTの計算をすると説明したが、ホップ長Hが2のべき乗であれば高速フーリエ変換(FFT)の手法が適用できる。この場合、Q回のFFTで計算でき、一般にDFTよりFFTのほうが高速に計算できる。そこで、上記実施形態の第1の変形例では、ホップ長Hを2のべき乗とし、ステップ511の計算をFFTとする。これにより、さらに高速な分析を実現することができる。
In the above embodiment, it has been described that the DFT is calculated in
上記実施形態の第2の変形例を説明する。通常、DFTやFFTの計算では、窓関数を適用して分析結果を最適化することができる。ただし、通常の窓関数はDFTやFFT演算を施す対象のフレームのデータ列に対して窓関数を掛けて最適化するものであるが、上記実施形態の手法では今回のフレームの分析結果を前のフレームの分析結果を利用して求めているので、前のフレームに窓関数を掛けてしまうと今回のフレームとの差分を求めるときに窓関数を掛けた前フレームの値を元に戻すことなどを考慮しなければならなくなり計算が煩雑になる。そのため本実施形態では、従前の窓関数の手法をそのまま適用できない。 A second modification of the above embodiment will be described. Usually, in the calculation of DFT or FFT, the analysis result can be optimized by applying a window function. However, the normal window function is to optimize the data sequence of the frame subjected to the DFT or FFT operation by applying the window function. However, in the method of the above embodiment, the analysis result of the current frame is the previous one. Since it is obtained using the analysis result of the frame, if the window function is multiplied by the previous frame, the value of the previous frame multiplied by the window function is restored when obtaining the difference from the current frame. The calculation becomes complicated because it must be taken into consideration. Therefore, in the present embodiment, the conventional window function method cannot be applied as it is.
そこで、時間領域での窓関数の掛け算が周波数領域では畳み込み演算に相当することに鑑み、予め適用する窓関数の周波数応答を求めておき、ステップ515の直前で、求めた結果Xm(k)に対して該窓関数の周波数応答を畳み込む演算を行う。ステップ515では畳み込み演算の結果を分析結果として出力し、ステップ516では畳み込み演算を行う前の計算結果を次のフレームのために一時記憶する。そのようにすることで、窓関数が適用され最適化された周波数分析結果を出力することができる。
In view of the fact that the multiplication of the window function in the time domain corresponds to the convolution operation in the frequency domain, the frequency response of the window function to be applied is obtained in advance, and the obtained result X m (k) immediately before
なお、適切な窓関数を選ぶことにより、その窓関数の周波数応答の振幅特性はメインローブに集中しサイドローブは無視できるようにできる。従って、各周波数ビンのうちこの辺りの周波数ビンについて際だたせたいという範囲があれば、その範囲を際だたせるような周波数応答を持つ窓関数を選んで適用することで、それが実現できる。 By selecting an appropriate window function, the amplitude characteristic of the frequency response of the window function can be concentrated on the main lobe and the side lobe can be ignored. Accordingly, if there is a range in which the frequency bins of each frequency bin are desired to be prominent, this can be realized by selecting and applying a window function having a frequency response that emphasizes the range.
また、全周波数ビンに対して上記畳み込みをそれぞれ計算しても良いが、ユーザが注目している周波数帯域の周波数ビンについてだけ上記畳み込みを求めるようにしてもよい。例えば、ユーザにとって不要な低すぎる周波数帯や高すぎる周波数帯については上記畳み込み演算を省略することもできる。 Moreover, although the said convolution may be calculated with respect to all the frequency bins, you may make it obtain | require the said convolution only about the frequency bin of the frequency band which the user is paying attention. For example, the convolution calculation can be omitted for a frequency band that is too low or too high that is unnecessary for the user.
さらに、周波数ビン毎に、違う特性を持つ窓関数の周波数応答を畳み込んでもよい。 Further, the frequency response of the window function having different characteristics may be convoluted for each frequency bin.
上記実施形態の第3の変形例を説明する。第3の変形例では、上述のステップ509〜514を図6のステップ601〜604の処理に置き換える。その他の処理は、図5A,5Bと同じである。上記実施形態のステップ509〜514では、H点の差分に対し、1回毎にWH (i/Q)nとのかけ算を実行して、全部でQ回のDFT計算を行っている。これに対し、本変形例では、H点の差分に対し1回のDFT計算を実行して周波数軸上のH点のDFT結果を求め、そのH点のDFT結果を使って補間することによりN点ののDFT結果を求める。
A third modification of the above embodiment will be described. In the third modification, the above-described
具体的には、ステップ508でH点の差分を求めた後、ステップ601に進み、求めたH点の差分に対してDFT計算を実行する。次にステップ602で、そのDFT結果をYm(^kQ)とするとともに、それを補間することによりN点からなるYm(^kQ+i)を求める。ステップ603で、求めたYm(^kQ+i)=Ym(k)を調整する。ステップ604で、算出しておいた前のフレームm-1のDFT結果に位相差を加えたものに、上記ステップ603の結果である調整されたYm(k)を加える。以上でフレームmの分析結果Xm(k)が取得でき、ステップ515でそれを出力する。
Specifically, after obtaining the H point difference in
上記第3の変形例によれば、厳密な計算でなく、簡単な補間計算によって大雑把なDFT結果を求めることができる。なお、補間は例えば直線補間や4点補間などの従前より知られている補間方法を用いれば良い。 According to the third modified example, a rough DFT result can be obtained by a simple interpolation calculation instead of a strict calculation. For interpolation, a conventionally known interpolation method such as linear interpolation or four-point interpolation may be used.
101…中央処理装置(CPU)、102…メモリ、103…表示器、104…操作子、105…信号処理部(DSP)、106…波形I/O。
DESCRIPTION OF
Claims (7)
既に分析済みのm−1番目のフレームの周波数分析結果に所定の位相差を加えることにより今回の分析対象であるm番目のフレームの分析結果の第1項を取得する手段と、
m−1番目のフレームのサンプルデータと今回の分析対象であるm番目のフレームの新たなサンプルデータとの差分をとる手段と、
前記差分に対して所定の離散フーリエ変換の処理を施すことにより今回の分析対象であるm番目のフレームの分析結果の第2項を取得する手段と、
前記第1項に第2項を加えることにより今回の分析対象であるm番目のフレームの周波数分析結果を取得する手段と
を備えることを特徴とする周波数分析装置。 A frequency analysis device that performs frequency analysis of a frame having a predetermined frame length N for each predetermined hop length H with respect to input time-series digital data,
Means for obtaining the first term of the analysis result of the mth frame that is the current analysis object by adding a predetermined phase difference to the frequency analysis result of the m−1th frame that has already been analyzed;
means for taking a difference between the sample data of the (m-1) th frame and the new sample data of the mth frame to be analyzed this time;
Means for obtaining a second term of the analysis result of the m-th frame that is the current analysis target by performing a predetermined discrete Fourier transform process on the difference;
Means for obtaining a frequency analysis result of the m-th frame that is the current analysis object by adding the second term to the first term.
既に分析済みのm−1番目のフレームの周波数分析結果Xm-1(k)に所定の位相差を加える演算
m−1番目のフレームのサンプルデータx(n+mN)と今回の分析対象であるm番目のフレームの新たなサンプルデータx(n+mN-N)との差分を
前記差分に対して離散フーリエ変換の処理を施すことにより
前記第1項に第2項を加えることにより今回の分析対象であるm番目のフレームの周波数分析結果Xm(k)を取得する手段と
を備えることを特徴とする周波数分析装置。 A frequency analysis device that performs frequency analysis of a frame having a predetermined frame length N for each predetermined hop length H with respect to input time-series digital data,
An operation for adding a predetermined phase difference to the frequency analysis result X m-1 (k) of the already analyzed m−1 th frame.
The difference between the sample data x (n + mN) of the (m-1) th frame and the new sample data x (n + mN-N) of the mth frame to be analyzed this time
By applying discrete Fourier transform to the difference
Means for acquiring a frequency analysis result X m (k) of the m-th frame that is the current analysis target by adding the second term to the first term.
前記ホップ長Hが2のべき乗であり、
前記差分に対する離散フーリエ変換の処理が高速フーリエ変換の処理である
ことを特徴とする周波数分析装置。 The frequency analyzer according to claim 1 or 2,
The hop length H is a power of 2,
The frequency analysis apparatus, wherein the discrete Fourier transform process for the difference is a fast Fourier transform process.
ホップ長Hとフレーム長Nとを、HQ=N(HはNの約数)を満たすように設定し、前記差分に対する離散フーリエ変換の処理をQ回の離散フーリエ変換のループ処理で実行する
ことを特徴とする周波数分析装置。 In the frequency analyzer as described in any one of Claim 1 to 3,
The hop length H and the frame length N are set so as to satisfy HQ = N (H is a divisor of N), and the discrete Fourier transform process for the difference is executed by Q discrete loop transform processes. The frequency analyzer characterized by this.
ホップ長Hとフレーム長Nとを、HQ=N(HはNの約数)を満たすように設定し、前記差分に対する離散フーリエ変換の処理は、H点の差分に対する離散フーリエ変換の処理を実行し、得られたH点の離散フーリエ変換の結果を用いて補間演算によりN点の離散フーリエ変換の結果を取得するものである
ことを特徴とする周波数分析装置。 In the frequency analyzer as described in any one of Claim 1 to 3,
The hop length H and the frame length N are set so as to satisfy HQ = N (H is a divisor of N), and the process of the discrete Fourier transform for the difference executes the process of the discrete Fourier transform for the difference of the H points. A frequency analyzer that obtains the result of N-point discrete Fourier transform by interpolation using the obtained result of H-point discrete Fourier transform.
前記求めたm番目のフレームの周波数分析結果に、所定の窓関数の周波数応答を畳み込む演算を行うことにより最適化された周波数分析結果を求める
ことを特徴とする周波数分析装置。 In the frequency analyzer as described in any one of Claim 1 to 5,
An optimized frequency analysis result is obtained by performing an operation of convolving a frequency response of a predetermined window function on the obtained frequency analysis result of the m-th frame.
処理装置で実行させることにより、
既に分析済みのm−1番目のフレームの周波数分析結果に所定の位相差を加えることにより今回の分析対象であるm番目のフレームの分析結果の第1項を取得する手段と、
m−1番目のフレームのサンプルデータと今回の分析対象であるm番目のフレームの新たなサンプルデータとの差分をとる手段と、
前記差分に対して所定の離散フーリエ変換の処理を施すことにより今回の分析対象であるm番目のフレームの分析結果の第2項を取得する手段と、
前記第1項に第2項を加えることにより今回の分析対象であるm番目のフレームの周波数分析結果を取得する手段と
を備える周波数分析装置として機能させる周波数分析プログラム。 A frequency analysis program for realizing a frequency analysis device for performing frequency analysis of a frame having a predetermined frame length N for each predetermined hop length H with respect to input time-series digital data,
By running it on the processing device,
Means for obtaining the first term of the analysis result of the mth frame that is the current analysis object by adding a predetermined phase difference to the frequency analysis result of the m−1th frame that has already been analyzed;
means for taking a difference between the sample data of the (m-1) th frame and the new sample data of the mth frame to be analyzed this time;
Means for obtaining a second term of the analysis result of the m-th frame that is the current analysis target by performing a predetermined discrete Fourier transform process on the difference;
A frequency analysis program that functions as a frequency analysis device comprising: adding a second term to the first term to obtain a frequency analysis result of an m-th frame that is a current analysis target.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014221867A JP2016090670A (en) | 2014-10-30 | 2014-10-30 | Frequency analysis device and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014221867A JP2016090670A (en) | 2014-10-30 | 2014-10-30 | Frequency analysis device and program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2016090670A true JP2016090670A (en) | 2016-05-23 |
Family
ID=56016098
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014221867A Pending JP2016090670A (en) | 2014-10-30 | 2014-10-30 | Frequency analysis device and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2016090670A (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018147149A (en) * | 2017-03-03 | 2018-09-20 | 国立大学法人 名古屋工業大学 | Frequency response analysis system suppressing frequency dead band |
| CN115206340A (en) * | 2022-04-25 | 2022-10-18 | 维沃移动通信有限公司 | Time difference of arrival (TDOA) estimation method, device, electronic equipment and readable storage medium |
| JP2023131161A (en) * | 2022-03-08 | 2023-09-21 | アクセンチュア グローバル ソリューションズ リミテッド | Efficient audio-to-spike conversion pipeline for spiking neural networks |
-
2014
- 2014-10-30 JP JP2014221867A patent/JP2016090670A/en active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018147149A (en) * | 2017-03-03 | 2018-09-20 | 国立大学法人 名古屋工業大学 | Frequency response analysis system suppressing frequency dead band |
| JP2023131161A (en) * | 2022-03-08 | 2023-09-21 | アクセンチュア グローバル ソリューションズ リミテッド | Efficient audio-to-spike conversion pipeline for spiking neural networks |
| JP7583088B2 (en) | 2022-03-08 | 2024-11-13 | アクセンチュア グローバル ソリューションズ リミテッド | An efficient audio-to-spike pipeline for spiking neural networks |
| CN115206340A (en) * | 2022-04-25 | 2022-10-18 | 维沃移动通信有限公司 | Time difference of arrival (TDOA) estimation method, device, electronic equipment and readable storage medium |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Zhivomirov | On the development of STFT-analysis and ISTFT-synthesis routines and their practical implementation | |
| US9171532B2 (en) | Sound signal analysis apparatus, sound signal analysis method and sound signal analysis program | |
| EP1774517B1 (en) | Audio signal dereverberation | |
| EP1930880A1 (en) | Method and device for noise suppression, and computer program | |
| JP2016090670A (en) | Frequency analysis device and program | |
| US20130246060A1 (en) | Signal processing device, signal processing method and signal processing program | |
| US8296143B2 (en) | Audio signal processing apparatus, audio signal processing method, and program for having the method executed by computer | |
| JP5669036B2 (en) | Parameter estimation device for signal separation, signal separation device, parameter estimation method for signal separation, signal separation method, and program | |
| JP2010185682A (en) | General harmonic analyzer and frequency analyzer | |
| JP2010020012A (en) | Noise suppressing device and program | |
| JP6229576B2 (en) | Sampling frequency estimation device | |
| JP4454591B2 (en) | Noise spectrum estimation method, noise suppression method, and noise suppression device | |
| CN101136204B (en) | Signal processing method and device | |
| van der Byl et al. | Recursive sliding discrete Fourier transform with oversampled data | |
| JP3849679B2 (en) | Noise removal method, noise removal apparatus, and program | |
| Fasciani | Spectral granular synthesis | |
| KR101027969B1 (en) | Recursive Discrete Fourier Transform Based Multi-resolution Frequency Detection Apparatus and Method | |
| WO2021193637A1 (en) | Fundamental frequency estimation device, active noise control device, fundamental frequency estimation method, and fundamental frequency estimation program | |
| JP2005215058A5 (en) | ||
| JP2005215058A (en) | Impulse response calculation method by FFT | |
| JP6372072B2 (en) | Acoustic signal analysis apparatus, acoustic signal analysis method, and acoustic signal analysis program | |
| CN112614512B (en) | Noise detection method and device | |
| JP6438786B2 (en) | Device for extracting sine component contained in signal, method for extracting sine component, and program | |
| David et al. | Fast sequential LS estimation for sinusoidal modeling and decomposition of audio signals | |
| JP2010056688A (en) | Method and program for processing synchronous operation of digital signal |