JP2007228349A - Sampling frequency converting method, its program, and its recording medium - Google Patents
Sampling frequency converting method, its program, and its recording medium Download PDFInfo
- Publication number
- JP2007228349A JP2007228349A JP2006048208A JP2006048208A JP2007228349A JP 2007228349 A JP2007228349 A JP 2007228349A JP 2006048208 A JP2006048208 A JP 2006048208A JP 2006048208 A JP2006048208 A JP 2006048208A JP 2007228349 A JP2007228349 A JP 2007228349A
- Authority
- JP
- Japan
- Prior art keywords
- intermediate signal
- signal
- equation
- calculating
- sampling frequency
- 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
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
本発明は、演算量を削減して低消費電力のあるいは高速な、複素指数変調フィルタバンクを使用するサンプリング周波数変換方法に関するものである。 The present invention relates to a sampling frequency conversion method using a complex exponential modulation filter bank with reduced calculation amount and low power consumption or high speed.
近年、信号を複数の帯域分割信号に分割する信号分析フィルタバンクと前記帯域分割信号を合成して元の信号を再生する信号合成フィルタバンクは、オーディオ信号や画像信号のサブバンド符号化による高能率符号化を実現する信号分析と信号合成手段として注目されている。特に、帯域毎にゲインを変えても折り返し歪が発生しない複素指数変調フィルタバンクが注目されている。複素指数変調フィルタバンクは、帯域拡張により、低いビットレートでの符号化オーディオ信号の音質を向上するスペクトルバンド複製(Spectral Band Replication、以下SBRと呼ぶ)技術で用いられている。SBRによる帯域拡張技術を用いたオーディオコーデックとしては、非特許文献1及び非特許文献2に記載のMPEG(Moving Picture Experts Group)AAC(Advanced Audio Coding)とSBRを組み合わせたHE AAC(High Efficeincy AAC)や、非特許文献3に記載のmp3(MPEG Audio Layer 3)とSBRを組み合わせたmp3PROが知られている。
In recent years, a signal analysis filter bank that divides a signal into a plurality of band division signals and a signal synthesis filter bank that synthesizes the band division signals and reproduces the original signals have achieved high efficiency by subband coding of audio signals and image signals. It is attracting attention as a signal analysis and signal synthesis means for realizing encoding. In particular, a complex exponential modulation filter bank that does not cause aliasing even when the gain is changed for each band is attracting attention. The complex exponential modulation filter bank is used in a spectrum band replication (hereinafter referred to as SBR) technique that improves the sound quality of an encoded audio signal at a low bit rate by band expansion. As an audio codec using band extension technology based on SBR, HEAAC (High Efficiency AAC), which combines MPEG (Moving Picture Experts Group) AAC (Advanced Audio Coding) and SBR described in Non-Patent
以下に従来の複素指数変調フィルタバンクを使用するサンプリング周波数変換方法について説明する。図8は従来の信号分析フィルタバンクと信号合成フィルタバンクを使用するサンプリング周波数変換方法の構成を示すブロック図である。 A sampling frequency conversion method using a conventional complex exponential modulation filter bank will be described below. FIG. 8 is a block diagram showing the configuration of a conventional sampling frequency conversion method using a signal analysis filter bank and a signal synthesis filter bank.
信号分析フィルタバンク801は、サンプリング周波数K倍補間器803とM個の分析用帯域通過フィルタ804とM個の間引き器805とから成り、信号合成フィルタバンク802は、M個の補間器806とM個の合成用帯域通過フィルタ807と加算器808とサンプリング周波数1/L倍間引き器809とから成る。分析用帯域通過フィルタ804と合成用帯域通過フィルタ807は、互いにペアをなす。ここで、KとLは帯域分割数Mの1を含む正の約数で異なる値をとる。
The signal
最初に信号分析フィルタバンク801の動作について説明する。サンプリング周波数K倍補間器803では、入力サンプリング周波数fsでサンプリングした入力信号に対して、1個のデータ毎に(K−1)個の零データを挿入することにより、入力サンプリング周波数fsをK倍上昇して、Kfsにする。次に、全帯域をM個の等帯域幅の帯域に分割する分析用帯域通過フィルタ804によって帯域通過信号とし、間引き器805でM個のデータ毎に(M−1)個のデータを間引き、1個のデータを出力することによってサンプリング周波数(fsK/M)の帯域分割信号に変換し、出力する。入力信号の入力サンプリング周波数fsをK倍にしているので、第M/K帯域以上の帯域分割信号は零である。
First, the operation of the signal
次に、信号合成フィルタバンク802の動作について説明する。信号分析フィルタバンク801から出力されたサンプリング周波数(fsK/M)の帯域分割信号を入力とし、補間器806で1個のデータ毎に(M−1)個の零データを挿入することによってサンプリング周波数をM倍のKfsに上昇し、M個の等帯域幅の合成用帯域通過フィルタ807により帯域通過信号とした後、加算器808によって合成し、サンプリング周波数Kfsの信号を再生する。次に、サンプリング周波数1/L倍間引き器809で、L個のデータ毎に(L−1)個のデータを間引き、出力サンプリング周波数(fsK/L)でサンプリングした信号を出力する。
Next, the operation of the signal
したがって、図8の信号分析フィルタバンクと信号合成フィルタバンクは、入力サンプリング周波数fsでサンプリングした入力信号を出力サンプリング周波数(fsK/L)でサンプリングした出力信号に変換するサンプリング周波数変換装置として動作する。 Therefore, the signal analysis filter bank and the signal synthesis filter bank in FIG. 8 operate as a sampling frequency converter that converts an input signal sampled at the input sampling frequency fs into an output signal sampled at the output sampling frequency (fsK / L).
特許文献1に記載されているように複素指数変調フィルタバンクは、プロトタイプフィルタを複素指数変調することにより構成される。特許文献1より、直線位相非巡回形プロトタイプフィルタのフィルタ係数をh(n)(ただし、0≦n≦N、Nはフィルタ次数)とするとき、複素指数変調信号分析フィルタバンクの第k帯域のサンプリング時刻nのフィルタ係数ha(k,n)は(数1)(ただし、jは虚数単位、Aは信号分析の位相)で与えられる。
As described in
したがって、最初と最後のプロトタイプフィルタのフィルタ係数の値を零(h(0)=h(N)=0)とするとき、信号分析フィルタバンクのサンプリング時刻nにおける入力信号をx(n)とすれば、第k帯域(ただし、0≦k≦(M/K−1))のサンプリング時刻mM/Kにおける複素帯域分割出力信号X(k,mM/K)は(数2)で与えられる。 Therefore, when the values of the filter coefficients of the first and last prototype filters are zero (h (0) = h (N) = 0), the input signal at the sampling time n of the signal analysis filter bank is set to x (n). For example, the complex band division output signal X (k, mM / K) at the sampling time mM / K in the k-th band (where 0 ≦ k ≦ (M / K−1)) is given by (Equation 2).
(数2)を直接計算すると演算量が多くなるので、従来、以下のように演算量を削減した複素指数変調信号分析フィルタバンクが用いられてきた。図9は従来の複素指数変調信号分析フィルタバンクの分析方法の処理ステップを示すフローチャートである。ステップ901で、サンプリング時刻nの入力信号x(n)から中間信号w(n)を(数3)によって算出する。
Since the amount of calculation increases when (Equation 2) is directly calculated, a complex exponential modulation signal analysis filter bank with a reduced amount of calculation has been conventionally used. FIG. 9 is a flowchart showing processing steps of a conventional complex exponential modulation signal analysis filter bank analysis method. In
次に、ステップ902で中間信号w(n)から第k帯域(ただし、0≦k≦(M/K−1))のサンプリング時刻mM/Kにおける複素帯域分割出力信号X(k,mM/K)を(数4)(ただし、Aは信号分析の位相)によって算出する。
Next, in
例えば、非特許文献1には、帯域分割数Mが64、プロトタイプフィルタのフィルタ次数Nが640、アップサンプリングの倍率Kが2、信号の位相Aが−1の場合の複素指数変調信号分析フィルタバンクの例が記載されている。ただし、非特許文献1では、プロトタイプフィルタのフィルタ係数h(n)の代わりに、h(n)から(数5)で算出したc(n)を用いている。
For example, Non-Patent
ここで、INT(x)は、xの小数点以下を切り捨て整数化する関数である。 Here, INT (x) is a function that rounds off the decimal part of x to make it an integer.
図9の従来例では、中間信号を導入することにより、(数2)を直接計算する場合と比較して演算量を削減することができる。 In the conventional example of FIG. 9, the amount of calculation can be reduced by introducing an intermediate signal as compared with the case of directly calculating (Equation 2).
ここで、図9の複素指数変調信号分析フィルタバンクを実現するのに必要な演算量を実数加算回数と実数乗算回数を評価する。 Here, the number of operations necessary to realize the complex exponential modulation signal analysis filter bank of FIG.
ステップ901で、h(n)の代わりに(数5)であらかじめ算出したc(n)をテーブルに記憶して用いることにすると、実数加算回数は(N/2M−1)(2M/K)=(N/K−2M/K)回、実数乗算回数は(N/2M)(2M/K)=N/K回である。
In
ステップ902で、Kexp(jπ(k+0.5)(2Kn+A)/(2M))をあらかじめ算出してテーブルに記憶して用いることにすると、実数加算回数は2(2M/K−1)(M/K)=(4(M/K)2−2(M/K))回であり、実数乗算回数は2(2M/K)(M/K)=4(M/K)2回である。
In
プロトタイプフィルタの次数Nを640、帯域分割数Mを64,アップサンプリングの倍率Kを1とすれば、ステップ901で、実数加算回数が512回、実数乗算回数が640回、ステップ902で、実数加算回数が16256回、実数乗算回数が16384回、ステップ901とステップ902を合わせた合計で、実数加算回数が16768回、実数乗算回数が17024回である。
If the order N of the prototype filter is 640, the band division number M is 64, and the upsampling factor K is 1, the real number addition number is 512, the real number multiplication number is 640 times, and the real number addition is
次に、従来の複素指数変調信号合成フィルタバンクについて説明する。特許文献1より、複素指数変調信号合成フィルタバンクの第k帯域のサンプリング時刻nのフィルタ係数hs(k,n)は(数6)(ただし、Bは信号合成の位相)で与えられる。
Next, a conventional complex exponential modulation signal synthesis filter bank will be described. From
ここで、信号合成の位相Bは信号分析の位相Aと(数7)(ただし、Pは任意の整数)の関係式を満足する。 Here, the phase B of the signal synthesis satisfies the relational expression of the phase A of the signal analysis and (Expression 7) (where P is an arbitrary integer).
入力の複素帯域分割信号を(数6)のフィルタ係数でたたみこんだ信号の有効帯域(第0帯域から第(M/L−1)帯域までの帯域)での総和の実数部が信号合成フィルタバンク802の出力である。最初と最後のプロトタイプフィルタのフィルタ係数の値を零とするとき、複素指数変調信号合成フィルタバンクの第k帯域のサンプリング時刻(mM/K)における複素帯域分割入力信号をX(k,mM/K)とすれば、サンプリング時刻(mM/K+nL/K)における出力信号x(mM/K+nL/K)は(数8)(ただし、Re(x)は複素数xの実部)で与えられる。
The real part of the sum in the effective band (band from the 0th band to the (M / L-1) band) of the signal obtained by convolving the input complex band division signal with the filter coefficient of (Equation 6) is the signal synthesis filter This is the output of
(数8)を直接計算すると演算量が多くなるので、複素指数変調信号分析フィルタバンクの場合と同様に、従来、以下のように演算量を削減した複素指数変調信号合成バンクが用いられてきた。図10は従来の複素指数変調信号合成フィルタバンクの合成方法の処理ステップを示すフローチャートである。ステップ1001で、0≦n≦(2(N−M)/L−1)に対する中間信号w(n)をw(n+2M/L)にシフトし、第k帯域のサンプリング時刻mM/Kにおける複素帯域分割入力信号X(k,mM/K)から0≦n≦(2M/L−1)に対する中間信号w(n)を(数9)によって算出する。
Since the amount of calculation increases when (Equation 8) is directly calculated, a complex exponential modulation signal synthesis bank with a reduced amount of calculation has been conventionally used as in the case of the complex exponential modulation signal analysis filter bank. . FIG. 10 is a flowchart showing processing steps of a conventional method for synthesizing a complex exponential modulation signal synthesis filter bank. In
次に、ステップ1002で中間信号w(n)からサンプリング時刻(mM/K+nL/K)(ただし、0≦n≦(M/L−1))における出力信号x(mM/K+nL/K)を(数10)によって算出する。
Next, in
例えば、非特許文献1には、帯域分割数Mが64、プロトタイプフィルタのフィルタ次数Nが640、アップサンプリングの倍率Kが2、ダウンサンプリングの倍率1/Lが1、信号合成の位相Bが−255の場合の複素指数変調信号合成フィルタバンクの例が記載されている。
For example, in Non-Patent
図10の複素指数変調信号合成フィルタバンクを実現するのに必要な演算量を、実数加算回数と実数乗算回数を評価する。 The number of operations required to realize the complex exponential modulation signal synthesis filter bank of FIG. 10 is evaluated as the real number addition number and the real number multiplication number.
ステップ1001で、(1/M)exp(jπ(k+0.5)(2Ln+B)/(2M))をあらかじめ算出し、テーブルに記憶して用いることにすると、実数加算回数は(M/L−1)(2M/L)+(M/L)(2M/L)=(4(M/L)2−2(M/L))回であり、実数乗算回数は2(M/L)(2M/L)=4(M/L)2回である。
In
ステップ1002で、h(n)の代わりに(数5)で算出したc(n)をテーブルに記憶して用いるとすると、実数加算回数は(N/M−1)(M/L)=(N/L−M/L)回、実数乗算回数は(N/2M)2(M/L)=N/L回である。
If c (n) calculated in (Equation 5) is stored in a table instead of h (n) in
プロトタイプフィルタの次数Nを640、帯域分割数Mを64,ダウンサンプリングの倍率1/Lを1/2とすれば、ステップ1001で、実数加算回数が4032回、実数乗算回数が4096回、ステップ1002で、実数加算回数が288回、実数乗算回数が320回、ステップ1001とステップ1002を合わせた合計で、実数加算回数が4320回、実数乗算回数が4416回である。
If the order N of the prototype filter is 640, the band division number M is 64, and the
したがって上述の複素数指数変調信号分析フィルタバンク(アップサンプリングの倍率1)と複素指数変調信号合成フィルタバンク(ダウンサンプリングの倍率1/2)を実現するのに必要な演算量を合計することにより、従来の複素指数変調フィルタバンクを使用するサンプリング周波数変換(サンプリング周波数を1/2に変換)方法の演算量は、実数加算回数が16768+4320=21088回、実数乗算回数が17024+4416=21440回となる。
しかしながら、上記従来の複素指数変調フィルタバンクを使用するサンプリング周波数変換方法では、演算量が多い、という問題点を有していた。したがって、デジタルシグナルプロセッサのように限られた数の乗算器と加算器を時分割で使ってサンプリング周波数変換を実装するときの動作クロック周波数が高くなり、消費電力が大きい、という課題を有していた。また、コンピュータを使ってソフトウェアでサンプリング周波数変換を実行するときの処理時間が大きいという課題を有していた。 However, the sampling frequency conversion method using the conventional complex exponential modulation filter bank has a problem that the amount of calculation is large. Therefore, there is a problem that the operating clock frequency becomes high and the power consumption is large when the sampling frequency conversion is implemented by using a limited number of multipliers and adders in a time division manner like a digital signal processor. It was. In addition, there is a problem that the processing time when executing sampling frequency conversion by software using a computer is long.
本発明は上記従来の問題点を解決するもので、サンプリング周波数変換実行時の演算量を削減し、消費電力を低減したサンプリング周波数変換方法を提供することを目的とする。また、サンプリング周波数変換実行時の処理時間を短縮し、高速化したサンプリング周波数変換方法を提供することを目的とする。 SUMMARY OF THE INVENTION The present invention solves the above-described conventional problems, and an object thereof is to provide a sampling frequency conversion method that reduces the amount of calculation when executing sampling frequency conversion and reduces power consumption. Another object of the present invention is to provide a sampling frequency conversion method that shortens the processing time when executing the sampling frequency conversion and increases the processing speed.
この課題を解決するために、本発明のサンプリング周波数変換方法は、入力サンプリング周波数fsでサンプリングした入力信号を出力サンプリング周波数(fsK/L)(ただし、Mは入力信号を等帯域幅で分割した際の分割数、KとLはMの1を含む正の約数で異なる値)でサンプリングした出力信号に変換するサンプリング周波数変換方法であって、入力信号から第1の中間信号を算出するステップと、第1の中間信号から第2の中間信号を算出するステップと、第2の中間信号からM/K点の高速フーリエ変換あるいは逆高速フーリエ変換で第3の中間信号を算出するステップと、第3の中間信号から第4の中間信号を算出するステップと、第4の中間信号からM/L点の高速フーリエ変換あるいは逆高速フーリエ変換で第5の中間信号を算出するステップと、第6の中間信号をシフトし、次に第5の中間信号から第6の中間信号を算出するステップと、第6の中間信号から出力信号を算出するステップとを備えたことを特徴とする。 In order to solve this problem, the sampling frequency conversion method of the present invention uses an input signal sampled at an input sampling frequency fs as an output sampling frequency (fsK / L) (where M is an input signal divided by an equal bandwidth). A sampling frequency conversion method for converting to an output signal sampled with a division number of K, and L is a positive divisor including 1 of M and different values), and calculating a first intermediate signal from the input signal; Calculating a second intermediate signal from the first intermediate signal, calculating a third intermediate signal from the second intermediate signal by fast Fourier transform or inverse fast Fourier transform at the M / K point, Calculating a fourth intermediate signal from the three intermediate signals, and a fifth intermediate signal from the fourth intermediate signal by fast Fourier transform or inverse fast Fourier transform at the M / L point. Calculating a signal, shifting the sixth intermediate signal, then calculating a sixth intermediate signal from the fifth intermediate signal, and calculating an output signal from the sixth intermediate signal. It is characterized by that.
これにより、複素指数関数の周期性を利用して、高速フーリエ変換あるいは逆高速フーリエ変換を効率的に適用することができるので、複素指数変調フィルタバンクの演算量を削減することができる。また、上記サンプリング周波数変換方法は、信号分析の位相と信号合成の位相に依存しない構成をとることにより、演算量を削減することができる。 Thereby, since the fast Fourier transform or the inverse fast Fourier transform can be efficiently applied using the periodicity of the complex exponential function, the amount of calculation of the complex exponential modulation filter bank can be reduced. The sampling frequency conversion method can reduce the amount of calculation by adopting a configuration that does not depend on the phase of signal analysis and the phase of signal synthesis.
本発明によれば、サンプリング周波数変換実行時の演算量を削減することができる。したがって、デジタルシグナルプロセッサやLSIでサンプリング周波数変換を実装するときの動作クロック周波数を低減することができ、低消費電力でサンプリング周波数変換を実現することができる。また、サンプリング周波数変換を、コンピュータを使ってソフトウェアで実行する時の処理時間を短縮することができ、処理の高速化を実現することができる。 According to the present invention, it is possible to reduce the amount of calculation when performing sampling frequency conversion. Therefore, it is possible to reduce the operation clock frequency when the sampling frequency conversion is implemented by a digital signal processor or LSI, and to realize the sampling frequency conversion with low power consumption. In addition, the processing time when the sampling frequency conversion is executed by software using a computer can be shortened, and the processing speed can be increased.
本発明の複素指数変調フィルタバンクを使用したサンプリング周波数変換方法は、入力サンプリング周波数fsでサンプリングした入力信号x(n)(nはサンプリング時刻)を出力サンプリング周波数(fsK/L)(ただし、Mは入力信号を等帯域幅で分割した際の分割数、KとLはMの1を含む正の約数で異なる値)でサンプリングした出力信号y(n)に変換する。複素指数変調フィルタバンクはプロトタイプフィルタを複素指数変調することによって構成される。以下の実施の形態では、直線位相非巡回形プロトタイプフィルタのフィルタ次数をN(ただし、N=2MQ、Qは正整数)、フィルタ係数をh(n)(0≦n≦N、最初と最後のフィルタ係数の値を零(h(0)=h(N)=0))とする。 In the sampling frequency conversion method using the complex exponential modulation filter bank of the present invention, the input signal x (n) (n is the sampling time) sampled at the input sampling frequency fs is output to the output sampling frequency (fsK / L) (where M is The input signal is converted into an output signal y (n) sampled by dividing the input signal into equal bandwidths, where K and L are positive divisors including 1 of M and different values. The complex exponential modulation filter bank is constructed by performing complex exponential modulation on a prototype filter. In the following embodiment, the filter order of the linear phase acyclic prototype filter is N (where N = 2MQ, Q is a positive integer), and the filter coefficient is h (n) (0 ≦ n ≦ N, first and last). The value of the filter coefficient is set to zero (h (0) = h (N) = 0)).
以下本発明の実施の形態について、図面を参照しながら説明する。 Embodiments of the present invention will be described below with reference to the drawings.
(実施の形態1)
図1は、実施の形態1のサンプリング周波数変換方法を実行する装置の構成を示すブロック図である。
(Embodiment 1)
FIG. 1 is a block diagram illustrating a configuration of an apparatus that executes the sampling frequency conversion method according to the first embodiment.
第1の中間信号生成部101では、入力信号x(n)(nはサンプリング時刻)とプロトタイプフィルタのフィルタ係数h(n)から第1の中間信号w1(n)を出力する。
The first
サンプリング時刻mM(ただし、mは整数)において、入力信号x(n)から第1の中間信号w1(n)を(数11)によって算出する。 At the sampling time mM (where m is an integer), the first intermediate signal w1 (n) is calculated from the input signal x (n) by (Equation 11).
h(n)の代わりに(数12)であらかじめ算出したc(n)をテーブルに記憶して用いることにすると、(数11)は(数13)となる。 If c (n) calculated in advance in (Equation 12) instead of h (n) is stored in a table and used, (Equation 11) becomes (Equation 13).
第1の中間信号生成部101では、(数13)を実行して第1の中間信号w1(n)を出力する。
The first intermediate
第2の中間信号生成部102では、第1の中間信号生成部101の出力した第1の中間信号w1(n)から(数14)(ただし、jは虚数単位)を実行して第2の中間信号w2(n)を出力する。
The second intermediate
FFT部103では、第2の中間信号生成部102の出力した第2の中間信号w2(n)に対して(数15)のM/K点の高速フーリエ変換(FFT:Fast Fourier Transform)を実行して結果を第3の中間信号W3(k)として出力する。
The
第4の中間信号生成部104では、FFT部103の出力した第3の中間信号w3(k)から、K<Lの場合には(数16)を、K>Lの場合には(数17)を実行して第4の中間信号W4(k)を算出し、出力する。
In the fourth intermediate
FFT部105では、第4の中間信号生成部104の出力した第4の中間信号W4(k)に対して(数18)のM/L点の高速フーリエ変換を実行して結果を第5の中間信号w5(n)として出力する。
The
第6の中間信号生成部106では、FFT部105の出力した第5の中間信号w5(n)から(数19)を実行して第6の中間信号w6(n)を出力する。
The sixth intermediate
出力信号生成部107では、第6の中間信号生成部106の出力した第6の中間信号w6(n)とプロトタイプフィルタのフィルタ係数h(n)から出力信号y(n)を算出する。
The output
第6の中間信号w6(n)からサンプリング時刻(mM/K+nL/K)(ただし、0≦n≦(M/L−1))における出力信号y(mM/K+nL/K)を(数20)によって算出する。ここでh(n)の代わりに(数12)であらかじめ算出したc(n)をテーブルに記憶して用いることにすると、(数20)は(数21)となる。 The output signal y (mM / K + nL / K) at the sampling time (mM / K + nL / K) (where 0 ≦ n ≦ (M / L−1)) from the sixth intermediate signal w6 (n) (Expression 20) Calculated by Here, instead of h (n), c (n) calculated in advance in (Equation 12) is stored in a table and used, (Equation 20) becomes (Equation 21).
ここでh(n)の代わりに(数12)であらかじめ算出したc(n)をテーブルに記憶して用いることにすると、(数20)は(数21)となる。 Here, instead of h (n), c (n) calculated in advance in (Equation 12) is stored in a table and used, (Equation 20) becomes (Equation 21).
出力信号生成部107では、(数21)を実行して出力信号y(mM/K+nL/K)を算出し、出力する。
The output
図2は、本発明の実施の形態1におけるサンプリング周波数変換方法の処理ステップを示すフローチャートである。
FIG. 2 is a flowchart showing processing steps of the sampling frequency conversion method according to
図2で、ステップ201からステップ203は、複素指数変調による信号分析フィルタバンクを構成し、ステップ204からステップ207は、複素指数変調による信号合成フィルタバンクを構成する。以下ではnはサンプリング時刻である。
In FIG. 2,
ステップ201では、サンプリング時刻mM(ただし、mは整数)において、入力信号x(n)から第1の中間信号w1(n)を(数11)によって算出する。ステップ201で、h(n)の代わりに(数12)であらかじめ算出したc(n)をテーブルに記憶して用いることにすると、(数11)は(数13)となる。
In
したがって、ステップ201を実行するのに必要な実数加算回数は(N/2M−1)(2M/K)=N/K−2M/K回、実数乗算回数は(N/2M)(2M/K)=N/K回である。
Therefore, the number of real number additions necessary to execute
ステップ202では、第1の中間信号w1(n)から(数14)(ただし、jは虚数単位)によって第2の中間信号w2(n)(ただし、0≦n≦(M/K−1))を算出する。
In
ここで、Kexp(−jπnK/(2M))をテーブルに記憶して用いることにすると、ステップ202を実行するには複素乗算がM/K回必要である。これを実数演算に直すと、実数加算は2M/K回、実数乗算は4M/K回必要である。
Here, if Kexp (−jπnK / (2M)) is stored in a table and used, complex multiplication is required M / K times to execute
ステップ203では第2の中間信号w2(n)から高速フーリエ変換で(数15)によって第3の中間信号W3(k)(ただし、0≦k≦(M/K−1))を算出する。
In
M/K点のFFTでは、(M/(2K))log2(M/K)回のバタフライ演算が必要である。1回のバタフライ演算には2回の複素加算と1回の複素乗算が含まれるので、これを実数演算に直すと、6回の実数加算と4回の実数乗算が必要である。したがって、ステップ203を実行するのに必要な実数加算回数は(3M/K)log2(M/K)回で、実数乗算回数は(2M/K)log2(M/K)回である。
In the FFT of M / K points, (M / (2K)) log 2 (M / K) times of butterfly operations are required. Since one butterfly operation includes two complex additions and one complex multiplication, converting this into a real number operation requires six real number additions and four real number multiplications. Therefore, the number of real number additions required to execute
ステップ204で、第3の中間信号W3(k)から(数16)によって第4の中間信号W4(k)(ただし、0≦k≦(M/L−1))を算出する。
In
ステップ204は、第3の中間信号W3(k)の並べ替えのみであり、実数加算と実数乗算は発生しない。 Step 204 is only rearrangement of the third intermediate signal W3 (k), and real number addition and real number multiplication do not occur.
なお、(数16)はK<Lの場合で、K>Lの場合には、第3の中間信号W3(k)から(数17)によって第4の中間信号W4(k)(ただし、0≦k≦(M/L−1))を算出する。 Note that (Equation 16) is the case where K <L, and when K> L, the fourth intermediate signal W4 (k) (where 0 is calculated from the third intermediate signal W3 (k) to (Equation 17)). ≦ k ≦ (M / L−1)) is calculated.
ステップ205で、第4の中間信号W4(k)から高速フーリエ変換で(数18)によって第5の中間信号w5(n)(ただし、0≦n≦(M/L−1))を算出する。
In
ステップ205で、M/L点のFFTを実行するのに必要な実数加算回数は(3M/L)log2(M/L)回で、実数乗算回数は(2M/L)log2(M/L)回である。
In
ステップ206で、0≦n≦(2(N−M)/L−1)に対する第6の中間信号w6(n)をw6(n+2M/L)にシフトし、次に、0≦n≦(M/L)に対する第6の中間信号w6(n)とw6(n+M/L)を第5の中間信号w5(n)から(数19)によって算出する。
In
ステップ206で、(1/M)exp(−jπ(Q+Ln/(2M)))をテーブルに記憶して用いることにすると、ステップ206を実行するには、M/L回の複素乗算が必要で、これを実数演算に直すと、2M/L回の実数加算と4M/L回の実数乗算が必要である。
If (1 / M) exp (−jπ (Q + Ln / (2M))) is stored in a table and used in
ステップ207で、第6の中間信号w6(n)からサンプリング時刻(mM/K+nL/K)(ただし、0≦n≦(M/L−1))における出力信号y(mM/K+nL/K)を(数20)によって算出する。
In
ここでh(n)の代わりに(数12)であらかじめ算出したc(n)をテーブルに記憶して用いることにすると、(数20)は(数21)となる。 Here, instead of h (n), c (n) calculated in advance in (Equation 12) is stored in a table and used, (Equation 20) becomes (Equation 21).
したがって、ステップ207を実行するのに必要な実数加算回数は(N/M−1)(M/L)=(N/L−M/L)回、実数乗算回数は(N/2M)2(M/L)=N/L回である。
Therefore, the number of real number additions required to execute
図2の実施の形態1を実行するのに必要な演算回数を、上記各ステップの演算回数の総和で求めると、実数加算回数は(N/K+(3M/K)log2(M/K)+N/L+M/L+(3M/L)log2(M/L))回、実数乗算回数は(N/K+4M/K+(2M/K)log2(M/K)+N/L+4M/L+(2M/L)log2(M/L))回である。プロトタイプフィルタの次数Nを640、帯域分割数Mを64、アップサンプリングの倍率Kを1、ダウンサンプリングの倍率1/Lを1/2とすれば、実施の形態1を実行するのに必要な演算量は、実数加算回数が2624回、実数乗算回数が2432回である。これを従来例(実数加算回数21088回、実数乗算回数21440回)と比較すると、実施の形態1では、実数加算回数を従来例の約12%、実数乗算回数を従来例の約11%に削減することができる。
When the number of calculations required to execute the first embodiment of FIG. 2 is obtained as the sum of the number of calculations in each of the above steps, the real number addition number is (N / K + (3M / K) log 2 (M / K) + N / L + M / L + (3M / L) log 2 (M / L)) times, the number of real multiplications is (N / K + 4M / K + (2M / K) log 2 (M / K) + N / L + 4M / L + (2M / L) log 2 (M / L)) times. If the order N of the prototype filter is 640, the band division number M is 64, the up-sampling factor K is 1, and the down-
以上のように実施の形態1のサンプリング周波数変換方法では、複素指数関数の周期性を利用して、高速フーリエ変換を効率的に適用することにより演算量を削減することができる。また、信号分析の位相と信号合成の位相に依存しない構成をとることにより、演算量を削減することができる。これらのことより、サンプリング周波数変換実行に必要な演算量を削減することができる。これによってデジタルシグナルプロセッサやLSIでサンプリング周波数変換を実装するときの動作クロック周波数を低減することができ、低消費電力でサンプリング周波数変換を実現することができる。また、コンピュータを使ってソフトウェアでサンプリング周波数変換を実行する時の処理時間を短縮することができ、処理の高速化を実現することができる。 As described above, in the sampling frequency conversion method of the first embodiment, it is possible to reduce the amount of calculation by efficiently applying the fast Fourier transform using the periodicity of the complex exponential function. Further, the calculation amount can be reduced by adopting a configuration that does not depend on the phase of signal analysis and the phase of signal synthesis. From these things, the amount of calculation required for execution of sampling frequency conversion can be reduced. As a result, the operation clock frequency when the sampling frequency conversion is implemented by a digital signal processor or LSI can be reduced, and the sampling frequency conversion can be realized with low power consumption. In addition, it is possible to shorten the processing time when performing sampling frequency conversion by software using a computer, and it is possible to realize high-speed processing.
(実施の形態2)
図3は、実施の形態2のサンプリング周波数変換方法を実行する装置の構成を示すブロック図である。図3は、実施の形態1の図1の構成に帯域分割信号生成部108を追加したものである。これによって、実施の形態2では、サンプリング周波数変換を実行するとともに、指定した信号分析の位相の複素帯域分割信号を出力することができる。
(Embodiment 2)
FIG. 3 is a block diagram illustrating a configuration of an apparatus that executes the sampling frequency conversion method according to the second embodiment. 3 is obtained by adding a band division signal generation unit 108 to the configuration of FIG. 1 of the first embodiment. As a result, in the second embodiment, sampling frequency conversion can be performed and a complex band division signal having a specified signal analysis phase can be output.
帯域分割信号生成部108は、FFT部103の出力した第3の中間信号W3(k)からkが偶数(k=2l)の場合には(数22)(ただし、*は共役複素数、Aは信号分析の位相)をkが奇数(k=2l+1)の場合には(数23)を実行して複素帯域分割信号X(k,mM/K)を算出し、出力する。 The band division signal generation unit 108 calculates (Expression 22) when k is an even number (k = 2l) from the third intermediate signal W3 (k) output from the FFT unit 103 (where * is a conjugate complex number and A is When k is an odd number (phase of signal analysis) (k = 2l + 1), (Equation 23) is executed to calculate and output a complex band division signal X (k, mM / K).
図4は、本発明の実施の形態2におけるサンプリング周波数変換方法の処理ステップを示すフローチャートである。
FIG. 4 is a flowchart showing processing steps of the sampling frequency conversion method according to
実施の形態2は、実施の形態1において、指定した信号分析の位相の複素帯域分割信号を算出するステップ301を追加したものである。図4に示すようにステップ203の後にステップ301を追加する。図4において、図2と同一の番号のステップは、図2と同一のステップであり、説明を省略する。
The second embodiment is the same as the first embodiment except that
ステップ301では、ステップ203で算出した第3の中間信号W3(k)から第k帯域(ただし、0≦k≦(M/K−1))のサンプリング時刻mM/Kにおける複素帯域分割信号X(k,mM/K)を、kが偶数(k=2l)の場合には(数22)(ただし、*は共役複素数、Aは信号分析の位相)、kが奇数(k=2l+1)の場合には(数23)、によって算出し、出力する。
In
入力信号をK倍にアップサンプリングしているので、複素帯域分割信号の有効な帯域は第0帯域から第(M/K−1)帯域までで、第M/K帯域以上の複素帯域分割信号は零である。 Since the input signal is up-sampled K times, the effective band of the complex band division signal is from the 0th band to the (M / K-1) band, and the complex band division signal above the M / K band is Zero.
ステップ301を実行するには、M/K回の複素乗算が必要であり、これを実数演算に直すと、2M/K回の実数加算と4M/K回の実数乗算が必要である。
In order to execute
なお、信号分析の位相Aが8Mの倍数の時には、(数22)と(数23)は、それぞれ(数24)と(数25)になり、ステップ301を実行するのに実数加算と実数乗算は不要となる。
When the phase A of the signal analysis is a multiple of 8M, (Equation 22) and (Equation 23) become (Equation 24) and (Equation 25), respectively, and real number addition and real number multiplication are performed to execute
図4の実施の形態2を実行するのに必要な演算回数は、上記各ステップの演算回数の総和であり、実数加算回数は(N/K+2M/K+(3M/K)log2(M/K)+N/L+M/L+(3M/L)log2(M/L))回、実数乗算回数は(N/K+8M/K+(2M/K)log2(M/K)+N/L+4M/L+(2M/L)log2(M/L))回である。ここで、プロトタイプフィルタの次数Nを640、帯域分割数Mを64、アップサンプリングの倍率Kを1、ダウンサンプリングの倍率1/Lを1/2とすれば、実施の形態2を実行するのに必要な演算量は、実数加算回数が2752回、実数乗算回数が2688回である。これを従来例(実数加算回数21088回、実数乗算回数21440回)と比較すると、実施の形態2では、実数加算回数を従来例の約13%、実数乗算回数を従来例の約13%に削減することができる。
The number of operations required to execute the second embodiment of FIG. 4 is the sum of the number of operations in each of the above steps, and the real number addition number is (N / K + 2M / K + (3M / K) log 2 (M / K ) + N / L + M / L + (3M / L) log 2 (M / L)) times, real number of times of multiplication is (N / K + 8M / K + (2M / K) log 2 (M / K) + N / L + 4M / L + (2M) / L) log 2 (M / L)) times. Here, when the order N of the prototype filter is 640, the band division number M is 64, the upsampling factor K is 1, and the
以上のように実施の形態2の複素指数変調を使用するサンプリング周波数変換方法では、実施の形態1と同様にしてサンプリング周波数変換を実行するとともに、指定した信号分析の位相の複素帯域分割信号を算出し、出力することができる。 As described above, in the sampling frequency conversion method using complex exponential modulation according to the second embodiment, the sampling frequency conversion is performed in the same manner as in the first embodiment, and the complex band division signal of the phase of the designated signal analysis is calculated. Can be output.
(実施の形態3)
図5は、本発明の実施の形態3におけるサンプリング周波数変換方法の処理ステップを示すフローチャートである。
(Embodiment 3)
FIG. 5 is a flowchart showing processing steps of the sampling frequency conversion method according to
図5で、ステップ501からステップ503は、複素指数変調による信号分析フィルタバンクを構成し、ステップ504からステップ507は、複素指数変調による信号合成フィルタバンクを構成する。
In FIG. 5,
実施の形態3と実施の形態1の違いは、実施の形態1では、複素指数変調による信号分析フィルタバンクを、高速フーリエ変換を使って効率的に実現しているのに対して、実施の形態3では、逆高速フーリエ変換(IFFT:Inverse Fast Fourier Transform)を使って効率的に実現している点である。 The difference between the third embodiment and the first embodiment is that, in the first embodiment, the signal analysis filter bank based on complex exponential modulation is efficiently realized using the fast Fourier transform, whereas the first embodiment is different from the first embodiment. 3 is an efficient implementation by using an inverse fast Fourier transform (IFFT: Inverse Fast Fourier Transform).
図5の実施の形態3を図2の実施の形態1と比較すると、実施の形態3のステップ501、ステップ505、ステップ506、ステップ507は、それぞれ実施の形態1のステップ201、ステップ205、ステップ206、ステップ207と同一であるが、実施の形態3のステップ502からステップ504は、実施の形態1のステップ202からステップ204と異なる。
Comparing
ステップ501では、サンプリング時刻mM(ただし、mは整数)において、入力信号x(n)から第1の中間信号w1(n)を(数26)によって算出する。
In
ステップ501で、h(n)の代わりに(数12)であらかじめ算出したc(n)をテーブルに記憶して用いることにすると、(数26)は(数27)となる。
If c (n) calculated in advance in (Equation 12) instead of h (n) in
したがって、ステップ501を実行するのに必要な実数加算回数は(N/2M−1)(2M/K)=(N/K−2M/K)回、実数乗算回数は(N/2M)(2M/K)=N/K回である。
Therefore, the number of real number additions required to execute
ステップ502では、第1の中間信号w1(n)から(数28)(ただし、jは虚数単位)によって第2の中間信号w2(n)(ただし、0≦n≦(M/K−1))を算出する。
In
ここで、Kexp(jπnK/(2M))をテーブルに記憶して用いることにすると、ステップ502を実行するには、複素乗算がM/K回必要である。これを実数演算に直すと、実数加算は2M/K回、実数乗算は4M/K回必要である。
Here, if Kexp (jπnK / (2M)) is stored in a table and used, complex multiplication is required M / K times to execute
ステップ503では第2の中間信号w2(n)から逆高速フーリエ変換で(数29)によって第3の中間信号W3(k)(ただし、0≦k≦(M/K−1))を算出する。
In
ステップ503で、M/K点のIFFTを実行するのに必要な実数加算回数は(3M/K)log2(M/K)回で、実数乗算回数は(2M/K)log2(M/K)回である。
In
ステップ504で、第3の中間信号W3(k)から(数30)によって第4の中間信号W4(k)(ただし、0≦k≦(M/L−1)、*は共役複素数)を算出する。
In
ステップ504は、第3の中間信号W3(k)の共役複素数をとることと並べ替えであり、実数加算と実数乗算は発生しない。 Step 504 is taking the conjugate complex number of the third intermediate signal W3 (k) and rearranging, and real number addition and real number multiplication do not occur.
なお、(数30)はK<Lの場合で、K>Lの場合には、第3の中間信号W3(k)から(数31)によって第4の中間信号W4(k)(ただし、0≦k≦(M/L−1))を算出する。 Note that (Equation 30) is the case where K <L, and in the case of K> L, the fourth intermediate signal W4 (k) (provided that 0 through the third intermediate signal W3 (k) to (Equation 31)). ≦ k ≦ (M / L−1)) is calculated.
ステップ505で、第4の中間信号W4(k)から高速フーリエ変換で(数32)によって第5の中間信号w5(n)(ただし、0≦n≦(M/L−1))を算出する。 In step 505, the fifth intermediate signal w5 (n) (where 0 ≦ n ≦ (M / L−1)) is calculated from the fourth intermediate signal W4 (k) by the fast Fourier transform (Expression 32). .
ステップ505でM/L点のFFTを実行するのに必要な実数加算回数は(3M/L)log2(M/L)回で、実数乗算回数は(2M/L)log2(M/L)回である。 The number of real number additions required to execute M / L point FFT in step 505 is (3M / L) log 2 (M / L) times, and the number of real number multiplications is (2M / L) log 2 (M / L). ) Times.
ステップ506で、0≦n≦(2(N−M)/L−1)に対する第6の中間信号w6(n)をw6(n+2M/L)にシフトし、次に、0≦n≦(M/L)に対する第6の中間信号w6(n)とw6(n+M/L)を第5の中間信号w5(n)から(数33)によって算出する。
In
ステップ506で、(1/M)exp(−jπ(Q+Ln/(2M)))をテーブルに記憶して用いることにすると、ステップ506を実行するには、M/L回の複素乗算が必要で、これを実数演算に直すと、2M/L回の実数加算と4M/L回の実数乗算が必要である。
If (1 / M) exp (−jπ (Q + Ln / (2M))) is stored in a table and used in
ステップ507で第6の中間信号w6(n)からサンプリング時刻(mM/K+nL/K)(ただし、0≦n≦(M/L−1))における出力信号y(mM/K+nL/K)を(数34)によって算出する。 In step 507, the output signal y (mM / K + nL / K) at the sampling time (mM / K + nL / K) (where 0 ≦ n ≦ (M / L−1)) is calculated from the sixth intermediate signal w6 (n) ( It is calculated by the equation 34).
ここでh(n)の代わりに(数12)であらかじめ算出したc(n)をテーブルに記憶して用いることにすると、(数34)は(数35)となる。 Here, if c (n) calculated in advance in (Equation 12) instead of h (n) is stored in a table and used, (Equation 34) becomes (Equation 35).
したがって、ステップ507を実行するのに必要な実数加算回数は(N/M−1)(M/L)=(N/L−M/L)回、実数乗算回数は(N/2M)2(M/L)=N/L回である。 Therefore, the number of real number additions necessary to execute Step 507 is (N / M−1) (M / L) = (N / LM−L / L) times, and the number of real number multiplications is (N / 2M) 2 ( M / L) = N / L times.
図5の実施の形態3を実行するのに必要な演算回数を、上記各ステップの演算回数の総和で求めると、実数加算回数は(N/K+(3M/K)log2(M/K)+N/L+M/L+(3M/L)log2(M/L))回、実数乗算回数は(N/K+4M/K+(2M/K)log2(M/K)+N/L+4M/L+(2M/L)log2(M/L))回である。実施の形態3の演算回数は実施の形態1の演算回数と同一である。ここで、プロトタイプフィルタの次数Nを640、帯域分割数Mを64、アップサンプリングの倍率Kを1、ダウンサンプリングの倍率1/Lを1/2とすれば、実施の形態3を実行するのに必要な演算量は、実数加算回数が2624回、実数乗算回数が2432回である。これを従来例(実数加算回数21088回、実数乗算回数21440回)と比較すると、実施の形態3では、実数加算回数を従来例の約12%、実数乗算回数を従来例の約11%に削減することができる。
When the number of computations necessary to execute the third embodiment of FIG. 5 is obtained as the sum of the number of computations in each of the above steps, the real number addition number is (N / K + (3M / K) log 2 (M / K) + N / L + M / L + (3M / L) log 2 (M / L)) times, the number of real multiplications is (N / K + 4M / K + (2M / K) log 2 (M / K) + N / L + 4M / L + (2M / L) log 2 (M / L)) times. The number of calculations in the third embodiment is the same as the number of calculations in the first embodiment. Here, when the order N of the prototype filter is 640, the band division number M is 64, the upsampling factor K is 1, and the
以上のように実施の形態3のサンプリング周波数変換方法では、複素指数関数の周期性を利用して、逆高速フーリエ変換と高速フーリエ変換を効率的に適用することにより演算量を削減することができる。また、信号分析の位相と信号合成の位相に依存しない構成をとることにより、演算量を削減することができる。これらのことより、サンプリング周波数変換実行に必要な演算量を削減することができる。これによってデジタルシグナルプロセッサやLSIでサンプリング周波数変換を実装するときの動作クロック周波数を低減することができ、低消費電力でサンプリング周波数変換を実現することができる。また、コンピュータを使ってソフトウェアでサンプリング周波数変換を実行する時の処理時間を短縮することができ、処理の高速化を実現することができる。 As described above, in the sampling frequency conversion method of the third embodiment, it is possible to reduce the amount of calculation by efficiently applying the inverse fast Fourier transform and the fast Fourier transform using the periodicity of the complex exponential function. . Further, the calculation amount can be reduced by adopting a configuration that does not depend on the phase of signal analysis and the phase of signal synthesis. From these things, the amount of calculation required for execution of sampling frequency conversion can be reduced. As a result, the operation clock frequency when the sampling frequency conversion is implemented by a digital signal processor or LSI can be reduced, and the sampling frequency conversion can be realized with low power consumption. In addition, it is possible to shorten the processing time when performing sampling frequency conversion by software using a computer, and it is possible to realize high-speed processing.
(実施の形態4)
図6は、本発明の実施の形態4におけるサンプリング周波数変換方法の処理ステップを示すフローチャートである。
(Embodiment 4)
FIG. 6 is a flowchart showing processing steps of the sampling frequency conversion method according to
図6で、ステップ601からステップ603は、複素指数変調による信号分析フィルタバンクを構成し、ステップ604からステップ607は、複素指数変調による信号合成フィルタバンクを構成する。
In FIG. 6,
実施の形態4と実施の形態1の違いは、実施の形態1では、複素指数変調による信号合成フィルタバンクを、高速フーリエ変換を使って効率的に実現しているのに対して、実施の形態4では、逆高速フーリエ変換を使って効率的に実現している点である。 The difference between the fourth embodiment and the first embodiment is that, in the first embodiment, the signal synthesis filter bank based on complex exponential modulation is efficiently realized by using the fast Fourier transform. 4 is an efficient implementation using inverse fast Fourier transform.
図6の実施の形態4を図2の実施の形態1と比較すると、実施の形態4のステップ601、ステップ602、ステップ603、ステップ607は、それぞれ実施の形態1のステップ201、ステップ202、ステップ203、ステップ207と同一であるが、実施の形態4のステップ604からステップ606は、実施の形態1のステップ204からステップ206と異なる。
Comparing
ステップ601では、サンプリング時刻mM(ただし、mは整数)において、入力信号x(n)から第1の中間信号w1(n)を(数36)によって算出する。
In
ステップ601で、h(n)の代わりに(数12)であらかじめ算出したc(n)をテーブルに記憶して用いることにすると、(数36)は(数37)となる。
If c (n) calculated in advance in (Equation 12) instead of h (n) is stored in the table and used in
したがって、ステップ601を実行するのに必要な実数加算回数は(N/2M−1)(2M/K)=(N/K−2M/K)回、実数乗算回数は(N/2M)(2M/K)=N/K回である。
Therefore, the number of real number additions required to execute
ステップ602では、第1の中間信号w1(n)から(数38)(ただし、jは虚数単位)によって第2の中間信号w2(n)(ただし、0≦n≦(M/K−1))を算出する。
In
ここで、Kexp(−jπnK/(2M))をテーブルに記憶して用いることにすると、ステップ602を実行するには、複素乗算がM/K回必要である。これを実数演算に直すと、実数加算は2M/K回、実数乗算は4M/K回必要である。
Here, if Kexp (−jπnK / (2M)) is stored in a table and used, complex multiplication is required M / K times to execute
ステップ603では第2の中間信号w2(n)から高速フーリエ変換で(数39)によって第3の中間信号W3(k)(ただし、0≦k≦(M/K−1))を算出する。 In step 603, the third intermediate signal W3 (k) (where 0 ≦ k ≦ (M / K−1)) is calculated from the second intermediate signal w2 (n) by fast Fourier transform (Equation 39).
ステップ603で、M/K点のFFTを実行するのに必要な実数加算回数は(3M/K)log2(M/K)回で、実数乗算回数は(2M/K)log2(M/K)回である。 In step 603, the number of real number additions required to execute M / K point FFT is (3M / K) log 2 (M / K) times, and the number of real number multiplications is (2M / K) log 2 (M / K) times.
ステップ604で、第3の中間信号W3(k)から(数40)によって第4の中間信号W4(k)(ただし、0≦k≦(M/L−1)、*は共役複素数)を算出する。 In step 604, the fourth intermediate signal W4 (k) (where 0 ≦ k ≦ (M / L−1), * is a conjugate complex number) is calculated from the third intermediate signal W3 (k) using (Equation 40). To do.
ステップ604は、第3の中間信号W3(k)の共役複素数をとることと並べ替えであり、実数加算と実数乗算は発生しない。 Step 604 is taking the conjugate complex number of the third intermediate signal W3 (k) and rearranging, and real number addition and real number multiplication do not occur.
なお、(数40)はK<Lの場合で、K>Lの場合には、第3の中間信号W3(k)から(数41)によって第4の中間信号W4(k)(ただし、0≦k≦(M/L−1))を算出する。 Note that (Equation 40) is the case of K <L, and when K> L, the fourth intermediate signal W4 (k) (where 0 is calculated from the third intermediate signal W3 (k) to (Equation 41)). ≦ k ≦ (M / L−1)) is calculated.
ステップ605で、第4の中間信号W4(k)から逆高速フーリエ変換で(数42)によって第5の中間信号w5(n)(ただし、0≦n≦(M/L−1))を算出する。
In
ステップ605でM/L点のIFFTを実行するのに必要な実数加算回数は(3M/L)log2(M/L)回で、実数乗算回数は(2M/L)log2(M/L)回である。
In
ステップ606で、0≦n≦(2(N−M)/L−1)に対する第6の中間信号w6(n)をw6(n+2M/L)にシフトし、次に、0≦n≦(M/L)に対する第6の中間信号w6(n)とw6(n+M/L)を第5の中間信号w5(n)から(数43)によって算出する。 In step 606, the sixth intermediate signal w6 (n) for 0 ≦ n ≦ (2 (N−M) / L−1) is shifted to w6 (n + 2M / L), and then 0 ≦ n ≦ (M / L), the sixth intermediate signals w6 (n) and w6 (n + M / L) are calculated from the fifth intermediate signal w5 (n) by (Equation 43).
ステップ606で、(1/M)exp(jπ(Q+Ln/(2M)))をテーブルに記憶して用いることにすると、ステップ606を実行するには、M/L回の複素乗算が必要で、これを実数演算に直すと、2M/L回の実数加算と4M/L回の実数乗算が必要である。 If (1 / M) exp (jπ (Q + Ln / (2M))) is stored in a table and used in step 606, M / L complex multiplications are required to execute step 606. When this is converted into a real number calculation, 2M / L real number addition and 4M / L real number multiplication are required.
ステップ607で第6の中間信号w6(n)からサンプリング時刻(mM/K+nL/K)(ただし、0≦n≦(M/L−1))における出力信号y(mM/K+nL/K)を(数44)によって算出する。
In
ここでh(n)の代わりに(数12)であらかじめ算出したc(n)をテーブルに記憶して用いることにすると、(数44)は(数45)となる。 Here, if c (n) calculated in advance in (Equation 12) instead of h (n) is stored in a table and used, (Equation 44) becomes (Equation 45).
したがって、ステップ607を実行するのに必要な実数加算回数は(N/M−1)(M/L)=(N/L−M/L)回、実数乗算回数は(N/2M)2(M/L)=N/L回である。
Therefore, the number of real number additions necessary to execute
図6の実施の形態4を実行するのに必要な演算回数を、上記各ステップの演算回数の総和で求めると、実数加算回数は(N/K+(3M/K)log2(M/K)+N/L+M/L+(3M/L)log2(M/L))回、実数乗算回数は(N/K+4M/K+(2M/K)log2(M/K)+N/L+4M/L+(2M/L)log2(M/L))回である。実施の形態4の演算回数は実施の形態1の演算回数と同一である。ここで、プロトタイプフィルタの次数Nを640、帯域分割数Mを64、アップサンプリングの倍率Kを1、ダウンサンプリングの倍率1/Lを1/2とすれば、実施の形態4を実行するのに必要な演算量は、実数加算回数が2624回、実数乗算回数が2432回である。これを従来例(実数加算回数21088回、実数乗算回数21440回)と比較すると、実施の形態4では、実数加算回数を従来例の約12%、実数乗算回数を従来例の約11%に削減することができる。
When the number of computations necessary to execute the fourth embodiment of FIG. 6 is obtained as the sum of the number of computations in the above steps, the real number addition number is (N / K + (3M / K) log 2 (M / K). + N / L + M / L + (3M / L) log 2 (M / L)) times, the number of real multiplications is (N / K + 4M / K + (2M / K) log 2 (M / K) + N / L + 4M / L + (2M / L) log 2 (M / L)) times. The number of calculations in the fourth embodiment is the same as the number of calculations in the first embodiment. Here, if the order N of the prototype filter is 640, the band division number M is 64, the upsampling factor K is 1, and the
以上のように実施の形態4のサンプリング周波数変換方法では、複素指数関数の周期性を利用して、高速フーリエ変換と逆高速フーリエ変換を効率的に適用することにより演算量を削減することができる。また、信号分析の位相と信号合成の位相に依存しない構成をとることにより、演算量を削減することができる。 As described above, in the sampling frequency conversion method of the fourth embodiment, it is possible to reduce the amount of calculation by efficiently applying the fast Fourier transform and the inverse fast Fourier transform using the periodicity of the complex exponential function. . Further, the calculation amount can be reduced by adopting a configuration that does not depend on the phase of signal analysis and the phase of signal synthesis.
これらのことより、サンプリング周波数変換実行に必要な演算量を削減することができる。これによってデジタルシグナルプロセッサやLSIでサンプリング周波数変換を実装するときの動作クロック周波数を低減することができ、低消費電力でサンプリング周波数変換を実現することができる。また、コンピュータを使ってソフトウェアでサンプリング周波数変換を実行する時の処理時間を短縮することができ、処理の高速化を実現することができる。 From these things, the amount of calculation required for execution of sampling frequency conversion can be reduced. As a result, the operation clock frequency when the sampling frequency conversion is implemented by a digital signal processor or LSI can be reduced, and the sampling frequency conversion can be realized with low power consumption. In addition, it is possible to shorten the processing time when performing sampling frequency conversion by software using a computer, and it is possible to realize high-speed processing.
(実施の形態5)
図7は、本発明の実施の形態5におけるサンプリング周波数変換方法の処理ステップを示すフローチャートである。
(Embodiment 5)
FIG. 7 is a flowchart showing processing steps of the sampling frequency conversion method according to the fifth embodiment of the present invention.
図7で、ステップ701からステップ703は、複素指数変調による信号分析フィルタバンクを構成し、ステップ704からステップ707は、複素指数変調による信号合成フィルタバンクを構成する。
In FIG. 7,
実施の形態5と実施の形態1の違いは、実施の形態1では、複素指数変調による信号分析フィルタバンクと信号合成フィルタバンクを、ともに高速フーリエ変換を使って効率的に実現しているのに対して、実施の形態5では、ともに逆高速フーリエ変換を使って効率的に実現している点である。 The difference between the fifth embodiment and the first embodiment is that, in the first embodiment, both the signal analysis filter bank and the signal synthesis filter bank by complex exponential modulation are efficiently realized by using the fast Fourier transform. On the other hand, in the fifth embodiment, both are efficiently realized using inverse fast Fourier transform.
図7の実施の形態5を図2の実施の形態1と比較すると、実施の形態5のステップ701、ステップ704、ステップ707は、それぞれ実施の形態1のステップ201、ステップ204、ステップ207と同一であるが、実施の形態5のステップ702、ステップ703、ステップ705、ステップ706は、実施の形態1のステップ202、ステップ203、ステップ205、ステップ206と異なる。
Comparing Embodiment 5 of FIG. 7 with
ステップ701では、サンプリング時刻mM(ただし、mは整数)において、入力信号x(n)から第1の中間信号w1(n)を(数46)によって算出する。
In
ステップ701で、h(n)の代わりに(数12)であらかじめ算出したc(n)をテーブルに記憶して用いることにすると、(数46)は(数47)となる。
If c (n) calculated in advance in (Equation 12) instead of h (n) is stored in the table and used in
したがって、ステップ701を実行するのに必要な実数加算回数は(N/2M−1)(2M/K)=(N/K−2M/K)回、実数乗算回数は(N/2M)(2M/K)=N/K回である。
Therefore, the number of real number additions required to execute
ステップ702では、第1の中間信号w1(n)から(数48)(ただし、jは虚数単位)によって第2の中間信号w2(n)(ただし、0≦n≦(M/K−1))を算出する。
In
ここで、Kexp(jπnK/(2M))をテーブルに記憶して用いることにすると、ステップ702を実行するには、複素乗算がM/K回必要である。これを実数演算に直すと実数加算は2M/K回、実数乗算は4M/K回必要である。
Here, if Kexp (jπnK / (2M)) is stored in a table and used, complex multiplication is required M / K times to execute
ステップ703では第2の中間信号w2(n)から逆高速フーリエ変換で(数49)によって第3の中間信号W3(k)(ただし、0≦k≦(M/K−1))を算出する。
In
ステップ703で、M/K点のIFFTを実行するのに必要な実数加算回数は(3M/K)log2(M/K)回で、実数乗算回数は(2M/K)log2(M/K)回である。
In
ステップ704で、第3の中間信号W3(k)から(数50)によって第4の中間信号W4(k)(ただし、0≦k≦(M/L−1))を算出する。
In
ステップ704は、第3の中間信号W3(k)の並べ替えであり、実数加算と実数乗算は発生しない。 Step 704 is a rearrangement of the third intermediate signal W3 (k), and real number addition and real number multiplication do not occur.
なお、(数50)はK<Lの場合で、K>Lの場合には、第3の中間信号W3(k)から(数51)によって第4の中間信号W4(k)(ただし、0≦k≦(M/L−1))を算出する。 Note that (Equation 50) is the case of K <L, and when K> L, the fourth intermediate signal W4 (k) (where 0 is calculated from the third intermediate signal W3 (k) to (Equation 51)). ≦ k ≦ (M / L−1)) is calculated.
ステップ705で、第4の中間信号W4(k)から逆高速フーリエ変換で(数52)によって第5の中間信号w5(n)(ただし、0≦n≦(M/L−1))を算出する。
In
ステップ705でM/L点のIFFTを実行するのに必要な実数加算回数は(3M/L)log2(M/L)回で、実数乗算回数は(2M/L)log2(M/L)回である。
In
ステップ706で、0≦n≦(2(N−M)/L−1)に対する第6の中間信号w6(n)をw6(n+2M/L)にシフトし、次に、0≦n≦(M/L)に対する第6の中間信号w6(n)とw6(n+M/L)を第5の中間信号w5(n)から(数53)によって算出する。
In
ステップ706で、(1/M)exp(jπ(Q+Ln/(2M)))をテーブルに記憶して用いることにすると、ステップ706を実行するには、M/L回の複素乗算が必要で、これを実数演算に直すと、2M/L回の実数加算と4M/L回の実数乗算が必要である。
In
ステップ707で第6の中間信号w6(n)からサンプリング時刻(mM/K+nL/K)(ただし、0≦n≦(M/L−1))における出力信号y(mM/K+nL/K)を(数54)によって算出する。
In
ここでh(n)の代わりに(数12)であらかじめ算出したc(n)をテーブルに記憶して用いることにすると、(数54)は(数55)となる。 Here, if c (n) calculated in advance in (Equation 12) instead of h (n) is stored in a table and used, (Equation 54) becomes (Equation 55).
したがって、ステップ707を実行するのに必要な実数加算回数は(N/M−1)(M/L)=(N/L−M/L)回、実数乗算回数は(N/2M)2(M/L)=(N/L)回である。
Therefore, the number of real number additions required to execute
図7の実施の形態5を実行するのに必要な演算回数を、上記各ステップの演算回数の総和で求めると、実数加算回数は(N/K+(3M/K)log2(M/K)+N/L+M/L+(3M/L)log2(M/L))回、実数乗算回数は(N/K+4M/K+(2M/K)log2(M/K)+N/L+4M/L+(2M/L)log2(M/L))回である。実施の形態5の演算回数は実施の形態1の演算回数と同一である。ここで、プロトタイプフィルタの次数Nを640、帯域分割数Mを64、アップサンプリングの倍率Kを1、ダウンサンプリングの倍率1/Lを1/2とすれば、実施の形態5を実行するのに必要な演算量は、実数加算回数が2624回、実数乗算回数が2432回である。これを従来例(実数加算回数21088回、実数乗算回数21440回)と比較すると、実施の形態5では、実数加算回数を従来例の約12%、実数乗算回数を従来例の約11%に削減することができる。
When the number of calculations required to execute the fifth embodiment of FIG. 7 is obtained as the sum of the number of calculations in each of the above steps, the real number addition number is (N / K + (3M / K) log 2 (M / K) + N / L + M / L + (3M / L) log 2 (M / L)) times, the number of real multiplications is (N / K + 4M / K + (2M / K) log 2 (M / K) + N / L + 4M / L + (2M / L) log 2 (M / L)) times. The number of calculations in the fifth embodiment is the same as the number of calculations in the first embodiment. Here, when the order N of the prototype filter is 640, the band division number M is 64, the upsampling factor K is 1, and the
以上のように実施の形態5のサンプリング周波数変換方法では、複素指数関数の周期性を利用して、逆高速フーリエ変換を効率的に適用することにより演算量を削減することができる。また、信号分析の位相と信号合成の位相に依存しない構成をとることにより、演算量を削減することができる。これらのことより、サンプリング周波数変換実行に必要な演算量を削減することができる。これによってデジタルシグナルプロセッサやLSIでサンプリング周波数変換を実装するときの動作クロック周波数を低減することができ、低消費電力でサンプリング周波数変換を実現することができる。また、コンピュータを使ってソフトウェアでサンプリング周波数変換を実行する時の処理時間を短縮することができ、処理の高速化を実現することができる。 As described above, in the sampling frequency conversion method according to the fifth embodiment, it is possible to reduce the amount of calculation by efficiently applying the inverse fast Fourier transform using the periodicity of the complex exponential function. Further, the calculation amount can be reduced by adopting a configuration that does not depend on the phase of signal analysis and the phase of signal synthesis. From these things, the amount of calculation required for execution of sampling frequency conversion can be reduced. As a result, the operation clock frequency when the sampling frequency conversion is implemented by a digital signal processor or LSI can be reduced, and the sampling frequency conversion can be realized with low power consumption. In addition, it is possible to shorten the processing time when performing sampling frequency conversion by software using a computer, and it is possible to realize high-speed processing.
なお、上記各実施の形態で、前のステップで定数を掛け、後のステップで前記定数の逆数を掛けるようにステップを変形してもよい。 In each of the above embodiments, the step may be modified such that a constant is multiplied in the previous step and a reciprocal of the constant is multiplied in the subsequent step.
なお、上記各実施の形態における信号分析と合成方法は、コンピュータまたはデジタルシグナルプロセッサに実行させるためのプログラムとして実現することができ、これをコンピュータで読み取り可能な記録媒体に記録してもよい。 The signal analysis and synthesis method in each of the above embodiments can be realized as a program to be executed by a computer or a digital signal processor, and may be recorded on a computer-readable recording medium.
以上のように、本発明にかかるサンプリング周波数変換方法は、オーディオ信号や画像信号の高能率符号化、帯域拡張等に有用であり、特に演算量を削減し、低消費電力のあるいは高速なサンプリング周波数変換を実現するのに適している。 As described above, the sampling frequency conversion method according to the present invention is useful for high-efficiency encoding of audio signals and image signals, band expansion, etc., and particularly reduces the amount of calculation and has low power consumption or high sampling frequency. Suitable for realizing conversion.
101 第1の中間信号生成部
102 第2の中間信号生成部
103 FFT部(第3の中間信号生成部)
104 第4の中間信号生成部
105 FFT部(第5の中間信号生成部)
106 第6の中間信号生成部
107 出力信号生成部
108 帯域分割信号生成部
801 信号分析フィルタバンク
802 信号合成フィルタバンク
803 サンプリング周波数K倍補間器
804 分析用帯域通過フィルタ
805 間引き器
806 補間器
807 合成用帯域通過フィルタ
808 加算器
809 サンプリング周波数1/L倍間引き器
101 first intermediate
104 fourth intermediate
106 sixth intermediate
Claims (6)
サンプリング時刻mM(ただし、mは整数)において、前記入力信号x(n)から第1の中間信号w1(n)を(数1)によって算出するステップと、
Calculating the first intermediate signal w1 (n) from the input signal x (n) at the sampling time mM (where m is an integer) according to (Equation 1);
サンプリング時刻mM(ただし、mは整数)において、前記入力信号x(n)から第1の中間信号w1(n)を(数9)によって算出するステップと、
Calculating the first intermediate signal w1 (n) from the input signal x (n) at the sampling time mM (where m is an integer) according to (Equation 9);
サンプリング時刻mM(ただし、mは整数)において、前記入力信号x(n)から第1の中間信号w1(n)を(数17)によって算出するステップと、
Calculating the first intermediate signal w1 (n) from the input signal x (n) at the sampling time mM (where m is an integer) according to (Equation 17);
サンプリング時刻mM(ただし、mは整数)において、前記入力信号x(n)から第1の中間信号w1(n)を(数25)によって算出するステップと、
Calculating a first intermediate signal w1 (n) from the input signal x (n) at the sampling time mM (where m is an integer) according to (Equation 25);
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006048208A JP2007228349A (en) | 2006-02-24 | 2006-02-24 | Sampling frequency converting method, its program, and its recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006048208A JP2007228349A (en) | 2006-02-24 | 2006-02-24 | Sampling frequency converting method, its program, and its recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007228349A true JP2007228349A (en) | 2007-09-06 |
Family
ID=38549691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006048208A Pending JP2007228349A (en) | 2006-02-24 | 2006-02-24 | Sampling frequency converting method, its program, and its recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007228349A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108900221A (en) * | 2018-06-19 | 2018-11-27 | 哈尔滨工程大学 | A kind of index modulation Frequency-hopping Communication Technology based on IFFT/FFT frame |
CN112067874A (en) * | 2019-06-11 | 2020-12-11 | 广州汽车集团股份有限公司 | Filtering method and device suitable for vehicle sensor signal and storage medium |
-
2006
- 2006-02-24 JP JP2006048208A patent/JP2007228349A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108900221A (en) * | 2018-06-19 | 2018-11-27 | 哈尔滨工程大学 | A kind of index modulation Frequency-hopping Communication Technology based on IFFT/FFT frame |
CN108900221B (en) * | 2018-06-19 | 2020-09-11 | 哈尔滨工程大学 | Index modulation frequency hopping communication method based on IFFT/FFT framework |
CN112067874A (en) * | 2019-06-11 | 2020-12-11 | 广州汽车集团股份有限公司 | Filtering method and device suitable for vehicle sensor signal and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4396233B2 (en) | Complex exponential modulation filter bank signal analysis method, signal synthesis method, program thereof, and recording medium thereof | |
JP7522331B1 (en) | Improved subband block based harmonic transposition | |
JP5750464B2 (en) | Band extension method, band extension apparatus, program, integrated circuit, and audio decoding apparatus | |
JP2013502607A (en) | Multi-channel audio decoding method and apparatus | |
JP2007228349A (en) | Sampling frequency converting method, its program, and its recording medium | |
KR20180045774A (en) | Efficient polyphase architecture for interpolator and decimator | |
JP6248923B2 (en) | Digital filter circuit, digital filter processing method, and digital filter processing program | |
KR101831286B1 (en) | Apparatus and method for processing an audio signal using an aliasing error signal |