JP6015431B2 - Sampling rate conversion device and program - Google Patents

Sampling rate conversion device and program Download PDF

Info

Publication number
JP6015431B2
JP6015431B2 JP2012282399A JP2012282399A JP6015431B2 JP 6015431 B2 JP6015431 B2 JP 6015431B2 JP 2012282399 A JP2012282399 A JP 2012282399A JP 2012282399 A JP2012282399 A JP 2012282399A JP 6015431 B2 JP6015431 B2 JP 6015431B2
Authority
JP
Japan
Prior art keywords
signal
filter
fft
division
partitions
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.)
Expired - Fee Related
Application number
JP2012282399A
Other languages
Japanese (ja)
Other versions
JP2014127804A (en
Inventor
伸也 日月
伸也 日月
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Onkyo Corp
Original Assignee
Onkyo Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Onkyo Corp filed Critical Onkyo Corp
Priority to JP2012282399A priority Critical patent/JP6015431B2/en
Publication of JP2014127804A publication Critical patent/JP2014127804A/en
Application granted granted Critical
Publication of JP6015431B2 publication Critical patent/JP6015431B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、サンプリングレート変換装置及びプログラムに関する。   The present invention relates to a sampling rate conversion apparatus and program.

デジタル信号処理は、携帯音楽プレーヤやタブレット端末等の電子機器で広く用いられており、これらの電子機器の中には、複数のサンプリングレートを用いるものがある。この場合、あるサンプリングレートでサンプリングした信号を、異なるサンプリングレートで動作する他の処理向けに変換する必要が生じる。例えば、あるサンプリングレートの信号を使用する処理があり、元のサンプリングレートがそれよりも高い場合には、元のサンプリングレートを減じるダウンサンプリングを行う必要がある。   Digital signal processing is widely used in electronic devices such as portable music players and tablet terminals, and some of these electronic devices use a plurality of sampling rates. In this case, it is necessary to convert a signal sampled at a certain sampling rate for other processing that operates at a different sampling rate. For example, when there is processing using a signal at a certain sampling rate and the original sampling rate is higher than that, it is necessary to perform downsampling to reduce the original sampling rate.

ダウンサンプリングあるいはアップサンプリング等のデジタル信号処理では、多くの場合、デジタルフィルタとしてFIR(有限インパルス応答)フィルタが用いられている。   In digital signal processing such as down-sampling or up-sampling, an FIR (finite impulse response) filter is often used as a digital filter.

FIRフィルタでは、入力サンプルは遅延要素のZ変換表現に相当するレジスタの列を通過する。フィルタの動作は、最も新しいN個のサンプルデータに対して定数の配列(タップ係数)を乗算し、得られた配列の要素を全て加算する。係数の重みとフィルタのタップ数を変化させることで、FIRフィルタが任意の周波数応答特性を実現することができる。但し、タップ数の増大に伴って回路規模や消費電力が増大してしまう。   In the FIR filter, the input samples pass through a sequence of registers corresponding to the Z-transform representation of the delay element. The operation of the filter is to multiply the newest N sample data by a constant array (tap coefficient) and add all the elements of the obtained array. By changing the weight of the coefficient and the number of taps of the filter, the FIR filter can realize an arbitrary frequency response characteristic. However, the circuit scale and power consumption increase as the number of taps increases.

そこで、FIRフィルタをいくつかの小さな要素に分割し、これらの要素から得られた結果を組み合わせることで、必要なフィルタ処理を実現するポリフェーズフィルタが提案されている。   Therefore, a polyphase filter has been proposed that realizes necessary filter processing by dividing the FIR filter into several small elements and combining the results obtained from these elements.

また、FIRフィルタリングでデジタル信号を処理する際に、入力デジタル信号を時間領域内でパーティションするとともに、FIRフィルタリング部を時間領域内でパーティションし、入力デジタル信号のパーティションの各々をフーリエ変換し、フィルタリング部のパーティションの各々をフーリエ変換し、周波数領域で畳み込みを行うことでスペクトルパーティンを取得し、得られたスペクトルパーティションを結合することで、全スペクトルを取得する技術も提案されている。   In addition, when processing a digital signal by FIR filtering, the input digital signal is partitioned in the time domain, the FIR filtering unit is partitioned in the time domain, and each of the partitions of the input digital signal is Fourier-transformed, and the filtering unit A technique has also been proposed in which a spectral partition is obtained by performing Fourier transform on each of the partitions and performing convolution in the frequency domain, and by combining the obtained spectral partitions, the entire spectrum is obtained.

特開2009−141445号公報JP 2009-141445 A 特許第3636361号Japanese Patent No. 3636361 米国特許第5502747号US Pat. No. 5,502,747 米国特許第4992967号U.S. Pat. No. 4,992,967 特開2008−20913号公報JP 2008-20913 A

周波数領域でのパーティションされた入力デジタル信号とフィルタとの畳み込みは、時間領域での畳み込みと比べて効率的に処理することが可能であるが、依然としてタップ数が増大すると処理効率が低下する問題を内在している。   The convolution of the input digital signal and the filter that is partitioned in the frequency domain can be processed more efficiently than the convolution in the time domain, but the processing efficiency decreases as the number of taps still increases. Is inherent.

図4に、周波数領域でのパーティションされた信号の畳み込み処理の基本構成を示す。入力デジタル信号(サンプル数N)は、FFT演算器10でFFT処理され、乗算器12に供給される。また、FFT処理された信号は、遅延要素14で遅延されて乗算器16に供給され、さらに、遅延要素18で遅延されて乗算器20に供給される。   FIG. 4 shows a basic configuration of the convolution processing of the partitioned signal in the frequency domain. The input digital signal (number of samples N) is FFT processed by the FFT calculator 10 and supplied to the multiplier 12. The FFT-processed signal is delayed by the delay element 14 and supplied to the multiplier 16, and further delayed by the delay element 18 and supplied to the multiplier 20.

また、フィルタ係数22はデジタル化され、時間領域でいくつかのパーティションに分けられる。図では、入力デジタル信号が時間領域で3つのパーティションに分けられていることに対応して、同様に3つのパーティションに分けられる。フィルタ係数22の各々のパーティションは、FFT演算器24,26,28でFFT処理され、各々乗算器12、16、20に供給される。   The filter coefficient 22 is digitized and divided into several partitions in the time domain. In the figure, corresponding to the fact that the input digital signal is divided into three partitions in the time domain, it is similarly divided into three partitions. Each partition of the filter coefficient 22 is subjected to FFT processing by FFT calculators 24, 26, and 28 and supplied to multipliers 12, 16, and 20, respectively.

FFT演算器10で演算処理された入力デジタル信号とFFT演算器24でFFT処理されフィルタ係数パーティションは、乗算器12で乗算されて加算器30に供給される。また、FFT演算器10で演算処理され、遅延要素14で遅延処理された入力デジタル信号とFFT演算器26でFFT処理されたフィルタ係数パーティションは、乗算器16で乗算されて加算器30に供給される。さらに、FFT演算器10で演算処理され、遅延要素14及び遅延要素18で遅延処理された入力デジタル信号とFFT演算器28でFFT処理されたフィルタ係数パーティションは、乗算器20で乗算されて加算器30に供給される。加算器30は、これらの乗算結果を互いに加算し、逆FFT演算器(IFFT)32に供給する。逆FFT演算器32は、加算器30からの周波数領域の信号を時間領域の信号に復元し、出力信号(サンプル数N)を出力する。   The input digital signal computed by the FFT computing unit 10 and the FFT coefficient unit FFT processed by the FFT computing unit 24 are multiplied by the multiplier 12 and supplied to the adder 30. Further, the input digital signal that has been processed by the FFT calculator 10 and delayed by the delay element 14 and the filter coefficient partition that has been FFT processed by the FFT calculator 26 are multiplied by the multiplier 16 and supplied to the adder 30. The Further, the input digital signal that is processed by the FFT calculator 10 and delayed by the delay element 14 and the delay element 18 and the filter coefficient partition that is FFT processed by the FFT calculator 28 are multiplied by the multiplier 20 and added. 30. The adder 30 adds these multiplication results to each other and supplies the result to an inverse FFT calculator (IFFT) 32. The inverse FFT calculator 32 restores the frequency domain signal from the adder 30 to a time domain signal and outputs an output signal (number of samples N).

通常の時間領域の畳み込みでは、フィルタ長がMタップの場合、1サンプル当たりの計算量はフィルタ長に比例してO(M)となるところ、周波数領域での畳み込みでは、1サンプル当たりの計算量はO(2*log(M))となって計算時間を削減できる。ここで、OはランダウのO−記法であり、O(M)はアルゴリズムの処理時間がMのオーダであることを示す。例えば、M=1024の場合、2*log(1024)=20であるから、計算時間は1/50となる。 In normal time-domain convolution, when the filter length is M taps, the calculation amount per sample is O (M) in proportion to the filter length, whereas in the frequency-domain convolution, the calculation amount per sample is Becomes O (2 * log 2 (M)), and the calculation time can be reduced. Here, O is Landau's O-notation, and O (M) indicates that the processing time of the algorithm is on the order of M. For example, when M = 1024, since 2 * log 2 (1024) = 20, the calculation time is 1/50.

図5に、このような周波数領域での畳み込み処理を前提とした、ダウンサンプリングの基本構成を示す。図4の構成に加え、逆FFT演算器32の前段に間引き係数kの間引き回路34を付加した構成である。加算器30からの周波数領域の信号は間引き回路34に供給され、間引き回路34で所望のサンプリング数まで間引き処理されて逆FFT演算器32に供給される。   FIG. 5 shows a basic configuration of downsampling based on such a convolution process in the frequency domain. In addition to the configuration of FIG. 4, a decimation circuit 34 is added to the preceding stage of the inverse FFT calculator 32. The frequency domain signal from the adder 30 is supplied to the thinning circuit 34, thinned out to a desired number of samples by the thinning circuit 34, and supplied to the inverse FFT calculator 32.

しかしながら、周波数領域での畳み込み処理は、時間領域での畳み込みに比べれば高速であるものの、より処理時間を短縮する方法が望まれる。特に、FFT演算器を実装した場合のパフォーマンスはフィルタのタップ数に大きく依存し、タップ数が所定の値ないしその近傍にある場合に最も処理速度あるいはパフォーマンスが高く、それ以下でもそれ以上でもパフォーマンスが低下し、特にタップ数が所定の値を超えて増大する場合には著しく低下することが知られており、本来ではFFTを実装する場合にはそのパフォーマンスをも考慮してタップ数を決定する必要があるところ、従来においてはこの点における考慮が十分になされていない問題があった。そして、このような処理時間の遅延は、後段の処理にも影響を与え、ひいては携帯音楽プレーヤやタブレット端末等の電子機器に対するユーザの満足感を低下させる一因ともなり得る。   However, although the convolution process in the frequency domain is faster than the convolution process in the time domain, a method for further shortening the processing time is desired. In particular, the performance when an FFT computing unit is implemented greatly depends on the number of taps of the filter. When the number of taps is at a predetermined value or in the vicinity thereof, the processing speed or performance is highest. It is known that the number of taps decreases, especially when the number of taps increases beyond a predetermined value. When implementing FFT, it is necessary to determine the number of taps considering its performance. However, in the past, there was a problem that this point was not fully considered. Such processing time delay also affects subsequent processing, which may be a cause of lowering user satisfaction with electronic devices such as portable music players and tablet terminals.

本発明の目的は、従来以上に処理時間を短縮してサンプリングレートを変換できるサンプリングレート変換装置及びプログラムを提供することにある。   An object of the present invention is to provide a sampling rate conversion apparatus and program capable of converting the sampling rate by reducing the processing time more than before.

本発明は、入力デジタル信号を複数のパーティションに分割する第1信号分割部と、前記第1信号分割部で生成された複数の信号パーティションのそれぞれを高速フーリエ変換する信号FFT部と、前記信号FFT部で生成されたそれぞれの信号をさらに複数の信号パーティションに分割する第2信号分割部と、デジタルフィルタを複数のパーティションに分割する第1フィルタ分割部と、前記第1フィルタ分割部で生成された複数のフィルタパーティションをさらに複数のフィルタパーティションに分割する第2フィルタ分割部と、前記第2フィルタ分轄部で生成された複数のフィルタパーティションのそれぞれを高速フーリエ変換するフィルタFFT部と、前記第2信号分割部で生成された信号パーティションと、前記フィルタFFT部で生成されたフィルタパーティションの畳み込み演算を行う畳み込み部と、前記畳み込み部で生成された信号を逆高速フーリエ変換する逆FFT部とを備え、前記第1信号分割部と前記第1フィルタ分割部の分割数D1は互いに同一であり、前記第2信号分割部と前記第2フィルタ分割部の分割数D2は互いに同一であり、かつ、分割数D1及び分割数D2は、前記入力デジタル信号のサンプリングレートに応じて設定されることを特徴とする。   The present invention includes a first signal dividing unit that divides an input digital signal into a plurality of partitions, a signal FFT unit that performs fast Fourier transform on each of the plurality of signal partitions generated by the first signal dividing unit, and the signal FFT. Generated by the first filter dividing unit, a second signal dividing unit that further divides each signal generated by the unit into a plurality of signal partitions, a first filter dividing unit that divides the digital filter into a plurality of partitions, and the first filter dividing unit. A second filter dividing unit that further divides the plurality of filter partitions into a plurality of filter partitions; a filter FFT unit that performs fast Fourier transform on each of the plurality of filter partitions generated by the second filter demarcation unit; and the second signal The signal partition generated by the dividing unit and the filter FFT unit A convolution unit that performs a convolution operation of the generated filter partition; and an inverse FFT unit that performs inverse fast Fourier transform on the signal generated by the convolution unit, and the division of the first signal division unit and the first filter division unit The number D1 is the same, the number of divisions D2 of the second signal dividing unit and the second filter dividing unit are the same, and the number of divisions D1 and D2 are determined by the sampling rate of the input digital signal. It is characterized by being set accordingly.

本発明の1つの実施形態では、前記分割数D1は、前記入力デジタル信号のサンプリングレートと、出力すべき所望のサンプリングレートとの変換比率に応じて設定され、前記分割数D2は、前記FFT部における所定のタップ数に応じて設定されることを特徴とする。   In one embodiment of the present invention, the division number D1 is set according to a conversion ratio between a sampling rate of the input digital signal and a desired sampling rate to be output, and the division number D2 is the FFT unit. It is set according to a predetermined number of taps.

また、本発明の他の実施形態では、前記入力デジタル信号のサンプリングレートを検出する検出部と、前記入力デジタル信号のサンプリングレートと、前記分割数D1及び分割数D2との関係を予め規定するテーブルを記憶する記憶部と、前記記憶部に記憶された前記テーブルを参照することで、前記検出部で検出されたサンプリングレートに応じた前記分割数D1及び分割数D2を設定する設定部をさらに備えることを特徴とする。   In another embodiment of the present invention, a table that predefines a relationship between a detection unit that detects a sampling rate of the input digital signal, a sampling rate of the input digital signal, and the division number D1 and the division number D2. And a setting unit that sets the division number D1 and the division number D2 according to the sampling rate detected by the detection unit by referring to the table stored in the storage unit It is characterized by that.

また、本発明のさらに他の実施形態では、前記第1信号分割部は、少なくとも前記入力デジタル信号を奇数成分と偶数成分に分割し、前記第1フィルタ分割部は、少なくとも前記デジタルフィルタを奇数成分と偶数成分に分割し、前記第2信号分割部は、複数の信号パーティションを時間領域で分割し、前記第2フィルタ分割部は、複数のフィルタパーティションを時間領域で分割することを特徴とする。   In still another embodiment of the present invention, the first signal dividing unit divides at least the input digital signal into an odd component and an even component, and the first filter dividing unit converts at least the digital filter into an odd component. The second signal dividing unit divides a plurality of signal partitions in the time domain, and the second filter dividing unit divides the plurality of filter partitions in the time domain.

また、本発明は、入力デジタル信号のサンプリングレートを所望のサンプリングレートに変換して出力する処理をコンピュータに実行させるプログラムであって、前記プログラムは、コンピュータのプロセッサに、入力デジタル信号を複数のパーティションに分割させる第1信号分割ステップと、前記第1信号分割ステップで生成された複数の信号パーティションのそれぞれを高速フーリエ変換させる信号FFTステップと、前記信号FFTステップで生成された複数の信号パーティションをさらに複数の信号パーティションに分割させる第2信号分割ステップと、デジタルフィルタを複数のパーティションに分割させる第1フィルタ分割ステップと、前記第1フィルタ分割ステップで生成された複数のフィルタパーティションをさらに複数のフィルタパーティションに分割させる第2フィルタ分割ステップと、前記第2フィルタ分轄ステップで生成された複数のフィルタパーティションのそれぞれを高速フーリエ変換させるフィルタFFTステップと、前記第2信号分割ステップで生成された信号パーティションと、前記フィルタFFTステップで生成されたフィルタ成分の畳み込み演算を実行させる畳み込みステップと、前記畳み込みステップで生成された信号を逆高速フーリエ変換させる逆FFTステップを実行させ、前記第1信号分割ステップと前記第1フィルタ分割ステップの分割数D1は互いに同一であり、前記第2信号分割ステップと前記第2フィルタ分割ステップの分割数D2は互いに同一であり、かつ、分割数D1及び分割数D2は、前記入力デジタル信号のサンプリングレートに応じて設定されることを特徴とすることを特徴とする。   The present invention also provides a program for causing a computer to execute a process of converting a sampling rate of an input digital signal into a desired sampling rate and outputting the same, and the program causes a processor of the computer to input the input digital signal into a plurality of partitions. A first signal division step for dividing the signal partition, a signal FFT step for fast Fourier transforming each of the plurality of signal partitions generated in the first signal division step, and a plurality of signal partitions generated in the signal FFT step A second signal dividing step for dividing the plurality of signal partitions; a first filter dividing step for dividing the digital filter into a plurality of partitions; and a plurality of filter partitions generated in the first filter dividing step. A second filter dividing step for dividing into filter partitions, a filter FFT step for fast Fourier transforming each of the plurality of filter partitions generated in the second filter demarcation step, and a signal partition generated in the second signal dividing step A convolution step for performing a convolution operation of the filter component generated in the filter FFT step, an inverse FFT step for performing an inverse fast Fourier transform on the signal generated in the convolution step, and the first signal dividing step; The division numbers D1 of the first filter division step are the same, the division numbers D2 of the second signal division step and the second filter division step are the same, and the division numbers D1 and D2 are: The input digital signal Characterized in that characterized in that it is set in accordance with the purine Great.

本発明によれば、入力デジタル信号をフィルタ処理して出力デジタル信号を生成する際に、入力デジタル信号及びデジタルフィルタのそれぞれを第1分割及び第2分割してパーティションとし、信号パーティションとフィルタパーティションをFFT処理して周波数領域に変換し、周波数領域で畳み込み演算するので、時間領域での畳み込みに比べて処理を高速化できる。また、入力デジタル信号及びデジタルフィルタのそれぞれを第1分割し、この第1分割の分割数でポリフェーズフィルタリングを行うことで所望のサンプリングレートに変換することができる。さらに、第1分割により得られたパーティションを第2分割することでFFTのタップ数を調整でき、FFT演算の高速化あるいは効率化を図ることができる。   According to the present invention, when the input digital signal is filtered to generate the output digital signal, each of the input digital signal and the digital filter is divided into the first and second partitions, and the signal partition and the filter partition are divided. Since FFT processing is performed to convert to the frequency domain and convolution is performed in the frequency domain, the processing can be speeded up as compared with convolution in the time domain. Also, each of the input digital signal and the digital filter can be divided into the first sampling rate, and can be converted to a desired sampling rate by performing polyphase filtering with the number of divisions of the first division. Furthermore, by dividing the partition obtained by the first division into the second, the number of taps of the FFT can be adjusted, and the FFT operation can be speeded up or made efficient.

実施形態におけるサンプリング変換装置の構成図である。It is a block diagram of the sampling converter in embodiment. FFT処理のタップ数と処理速度との関係を示すグラフ図である。It is a graph which shows the relationship between the tap number of FFT processing, and processing speed. 一般化したサンプリング変換装置の構成図である。It is a block diagram of the generalized sampling converter. 周波数領域での畳み込み処理の基本構成図である。It is a basic block diagram of the convolution process in a frequency domain. 周波数領域での畳み込み処理を用いたダウンサンプリングの構成図である。It is a block diagram of the downsampling using the convolution process in a frequency domain.

以下、図面に基づき本発明の実施形態について、携帯音楽プレーヤやタブレット端末等の電子機器に組み込まれる場合を例にとり、かつ、入力デジタル信号のサンプリングレートを1/2に変換するダウンサンプリングの場合を例にとり説明する。但し、本発明のサンプリングレート変換装置は、これに限定されるものではない。   Hereinafter, the embodiment of the present invention will be described with reference to the drawings, taking as an example the case of being incorporated in an electronic device such as a portable music player or a tablet terminal, and the case of downsampling that converts the sampling rate of the input digital signal to ½. An example will be described. However, the sampling rate converter of the present invention is not limited to this.

図1に、本実施形態におけるサンプリングレート変換装置の構成図を示す。基本となる構成は、図4に示す周波数領域で畳み込み処理を行う構成であるが、ダウンサンプリングを行う際に、図5に示すように間引き回路34を設けることなく、ポリフェーズフィルタ構成を用いてダウンサンプリングを実現している。   FIG. 1 shows a configuration diagram of a sampling rate conversion apparatus according to the present embodiment. The basic configuration is a configuration in which convolution processing is performed in the frequency domain shown in FIG. 4, but when performing downsampling, a polyphase filter configuration is used without providing a thinning circuit 34 as shown in FIG. Downsampling is realized.

図1において、入力デジタル信号(サンプル数N)は、奇数番目のサンプル(Odd)と偶数番目のサンプル(Even)に2分割される。奇数番目のサンプルは、FFT演算器100でFFT処理され、乗算器112に供給される。また、FFT処理された信号は、遅延要素114で遅延されて乗算器116に供給され、さらに、遅延要素114で遅延された信号は、遅延要素118で遅延されて乗算器120に供給される。すなわち、FFT演算器100でFFT処理された信号は、時間領域でさらに3つのパーティションに分割される。   In FIG. 1, the input digital signal (number of samples N) is divided into two, odd-numbered samples (Odd) and even-numbered samples (Even). The odd-numbered samples are FFT processed by the FFT calculator 100 and supplied to the multiplier 112. The FFT-processed signal is delayed by the delay element 114 and supplied to the multiplier 116, and the signal delayed by the delay element 114 is delayed by the delay element 118 and supplied to the multiplier 120. That is, the signal subjected to the FFT processing by the FFT calculator 100 is further divided into three partitions in the time domain.

また、入力デジタル信号の偶数番目のサンプルは、FFT演算器200でFFT処理され、乗算器212に供給される。また、FFT処理された信号は、遅延要素214で遅延されて乗算器216に供給され、さらに、遅延要素214で遅延された信号は、遅延要素218で遅延されて乗算器220に供給される。すなわち、FFT演算器200でFFT処理された信号は、時間領域でさらに3つのパーティションに分割される。   The even-numbered sample of the input digital signal is subjected to FFT processing by the FFT calculator 200 and supplied to the multiplier 212. The FFT-processed signal is delayed by the delay element 214 and supplied to the multiplier 216, and the signal delayed by the delay element 214 is delayed by the delay element 218 and supplied to the multiplier 220. That is, the signal subjected to the FFT processing by the FFT computing unit 200 is further divided into three partitions in the time domain.

なお、図示していないが、入力デジタル信号のうち、奇数番目のサンプルと偶数番目のサンプルが分岐する分岐点Pには切替スイッチが設けられ、この切替スイッチの接点を切り替えることで奇数番目のサンプルをFFT演算器100に供給し、偶数番目のサンプルをFFT演算器200に供給する。   Although not shown, a change-over switch is provided at a branch point P where the odd-numbered sample and the even-numbered sample branch out of the input digital signal, and the odd-numbered sample is switched by switching the contact of this change-over switch. Are supplied to the FFT calculator 100, and even-numbered samples are supplied to the FFT calculator 200.

他方、フィルタ22(図ではアナログ波形として示されるが、実際にはデジタル化されたデジタルフィルタ)は、入力デジタル信号と同様に、奇数番目のフィルタ成分(Hodd)150と偶数番目のフィルタ成分(Heven)250に分割される。また、入力デジタル信号の奇数番目のサンプル及び偶数番目のサンプルが、それぞれ遅延要素114,118,214,218で3つのパーティションに分けられていることに対応して、同様にそれぞれ3つのパーティションに分けられる。すなわち、奇数番目のフィルタHodd150は、Hodd1(154)、Hodd2(156)、Hodd3(158)に時間領域で分けられ、かつ、偶数番目のフィルタHeven250は、Heven1(254)、Heven2(256)、Heven3(258)に時間領域で分けられる。   On the other hand, the filter 22 (shown as an analog waveform in the figure, but actually a digital filter) is an odd-numbered filter component (Hodd) 150 and an even-numbered filter component (Heven), similar to the input digital signal. ) Is divided into 250. Similarly, the odd-numbered sample and the even-numbered sample of the input digital signal are divided into three partitions in the same manner, corresponding to the fact that the delay elements 114, 118, 214, and 218 are divided into three partitions, respectively. It is done. That is, the odd-numbered filter Hodd150 is divided into Hodd1 (154), Hodd2 (156), and Hodd3 (158) in the time domain. (258).

奇数番目と偶数番目に分割され、さらに時間領域で3分割されたフィルタは、それぞれFFT演算器124〜228でFFT処理される。すなわち、フィルタパーティションHodd1(154)はFFT演算器124でFFT処理されて乗算器112に供給される。フィルタパーティションHodd2(156)はFFT演算器126でFFT処理されて乗算器116に供給される。フィルタパーティションHodd3(158)はFFT演算器128でFFT処理されて乗算器120に供給される。同様に、フィルタパーティションHeven1(254)はFFT演算器224でFFT処理されて乗算器212に供給される。フィルタパーティションHeven2(256)はFFT演算器226でFFT処理されて乗算器216に供給される。フィルタパーティションHeven3(258)はFFT演算器228でFFT処理されて乗算器220に供給される。   The filters that are divided into odd-numbered and even-numbered and further divided into three in the time domain are subjected to FFT processing by FFT calculators 124-228, respectively. That is, the filter partition Hodd 1 (154) is subjected to FFT processing by the FFT calculator 124 and supplied to the multiplier 112. The filter partition Hood2 (156) is subjected to FFT processing by the FFT calculator 126 and supplied to the multiplier 116. The filter partition Hodd3 (158) is subjected to FFT processing by the FFT calculator 128 and supplied to the multiplier 120. Similarly, the filter partition Heven 1 (254) is FFT processed by the FFT calculator 224 and supplied to the multiplier 212. The filter partition Heven2 (256) is subjected to FFT processing by the FFT calculator 226 and supplied to the multiplier 216. The filter partition Heven3 (258) is subjected to FFT processing by the FFT calculator 228 and supplied to the multiplier 220.

FFT演算器100でFFT処理された入力デジタル信号の奇数番目の信号とFFT演算器124でFFT処理されフィルタパーティションは、乗算器112で乗算されて加算器130に供給される。また、FFT演算器100でFFT処理され、遅延要素114で遅延処理された入力デジタル信号の奇数番目の信号とFFT演算器126でFFT処理されたフィルタパーティションは、乗算器116で乗算されて加算器130に供給される。さらに、FFT演算器100で演算処理され、遅延要素114及び遅延要素118で遅延処理された入力デジタル信号の奇数番目の信号とFFT演算器128でFFT処理されたフィルタパーティションは、乗算器120で乗算されて加算器130に供給される。加算器130は、これらの乗算結果を互いに加算し、加算器260に供給する。同様に、FFT演算器200でFFT処理された入力デジタル信号の偶数番目の信号とFFT演算器224でFFT処理されフィルタパーティションは、乗算器212で乗算されて加算器230に供給される。また、FFT演算器200でFFT処理され、遅延要素214で遅延処理された入力デジタル信号の偶数番目の信号とFFT演算器226でFFT処理されたフィルタパーティションは、乗算器216で乗算されて加算器230に供給される。さらに、FFT演算器200で演算処理され、遅延要素214及び遅延要素218で遅延処理された入力デジタル信号の偶数番目の信号とFFT演算器228でFFT処理されたフィルタパーティションは、乗算器220で乗算されて加算器230に供給される。加算器230は、これらの乗算結果を互いに加算し、加算器260に供給する。   The odd numbered signal of the input digital signal subjected to the FFT processing by the FFT computing unit 100 and the FFT processing performed by the FFT computing unit 124 are multiplied by the multiplier 112 and supplied to the adder 130. Also, the odd-numbered signal of the input digital signal that has been subjected to FFT processing by the FFT arithmetic unit 100 and subjected to delay processing by the delay element 114 and the filter partition that has been FFT processed by the FFT arithmetic unit 126 are multiplied by the multiplier 116 and added. 130. Further, the odd-numbered signal of the input digital signal that is arithmetically processed by the FFT arithmetic unit 100 and subjected to the delay processing by the delay element 114 and the delay element 118 and the filter partition that has been FFT processed by the FFT arithmetic unit 128 are multiplied by the multiplier 120. And supplied to the adder 130. The adder 130 adds these multiplication results to each other and supplies the result to the adder 260. Similarly, the even-numbered signal of the input digital signal subjected to the FFT processing by the FFT calculator 200 and the FFT partition by the FFT calculator 224 are multiplied by the multiplier 212 and supplied to the adder 230. The even-numbered signal of the input digital signal that has been subjected to FFT processing by the FFT arithmetic unit 200 and subjected to delay processing by the delay element 214 and the filter partition that has been subjected to FFT processing by the FFT arithmetic unit 226 are multiplied by the multiplier 216 and added. 230. Further, the even-numbered signal of the input digital signal that has been processed by the FFT calculator 200 and delayed by the delay element 214 and the delay element 218 and the filter partition that has been FFT processed by the FFT calculator 228 are multiplied by the multiplier 220. And supplied to the adder 230. The adder 230 adds these multiplication results to each other and supplies the result to the adder 260.

加算器260は、加算器130からの奇数番目の信号についての処理結果と、加算器230からの偶数番目の信号についての処理結果を加算して結合し、逆FFT演算器(IFFT)270に供給する。逆FFT演算器270は、加算器260からの周波数領域の信号を時間領域の信号に復元し、出力信号(サンプル数N/2)を出力する。   The adder 260 adds and combines the processing result for the odd-numbered signal from the adder 130 and the processing result for the even-numbered signal from the adder 230, and supplies the result to the inverse FFT calculator (IFFT) 270. To do. The inverse FFT calculator 270 restores the frequency domain signal from the adder 260 to a time domain signal and outputs an output signal (number of samples N / 2).

本実施形態において、自然数iをインデックスとして、入力デジタル信号をxi(n)とすると、奇数番目のサンプルx1(n)、x3(n)、x5(n)、・・・はFFT演算器100でFFT処理されて周波数領域の信号Xi(ω)(以下、これを奇数成分と適宜称する)に変換される。また、偶数番目のサンプルx2(n)、x4(n)、x6(n)、・・・はFFT演算器200でFFT処理されて周波数領域の信号Xi(ω)(以下、これを偶数成分と適宜称する)に変換される。   In this embodiment, when the natural number i is an index and the input digital signal is xi (n), odd-numbered samples x1 (n), x3 (n), x5 (n),. FFT processing is performed to convert the signal into a frequency domain signal Xi (ω) (hereinafter referred to as an odd component as appropriate). Further, the even-numbered samples x2 (n), x4 (n), x6 (n),... Are subjected to FFT processing by the FFT computing unit 200, and the frequency domain signal Xi (ω) (hereinafter referred to as the even component). (Referred to as appropriate).

他方、フィルタパーティションも、奇数番目のフィルタHodd及び偶数番目のフィルタHevenがさらに時間領域でそれぞれ3分割され、FFT演算器でFFT処理されて、Hi(ω)に変換される。入力デジタル信号の信号パーティションXi(ω)の個数と、フィルタパーティションHi(ω)の個数はともに6個で同一である。   On the other hand, the odd-numbered filter Hodd and the even-numbered filter Heven are each further divided into three parts in the time domain, and are subjected to FFT processing by an FFT calculator and converted to Hi (ω). The number of signal partitions Xi (ω) of the input digital signal and the number of filter partitions Hi (ω) are both six and the same.

本実施形態では、FFT処理された信号パーティションXi(ω)と、これに対応するFFT処理されたフィルタパーティションHi(ω)は、乗算器112〜220及び加算器130,230を用いて畳み込み演算されることで奇数成分及び偶数成分の畳み込み結果Yi(ω)が得られる。出力信号は、これらの信号を加算器260で結合し、さらに逆FFT演算器270で時間領域の信号に復元することで得られる。すなわち、出力信号をy(m)とすると、
y(m)=IFFT(Y(ω))
Y(ω)=ΣYi(ω)=Σ{Xi(ω) *Hi(ω)}
である。ここで、IFFTは逆FFTを表し、*は畳み込みを表す。
In this embodiment, the FFT-processed signal partition Xi (ω) and the FFT-processed filter partition Hi (ω) corresponding thereto are subjected to a convolution operation using the multipliers 112 to 220 and the adders 130 and 230. As a result, the convolution result Yi (ω) of the odd and even components is obtained. An output signal is obtained by combining these signals with an adder 260 and further restoring the signal into a time domain signal with an inverse FFT calculator 270. That is, if the output signal is y (m),
y (m) = IFFT (Y (ω))
Y (ω) = ΣYi (ω) = Σ {Xi (ω) * Hi (ω)}
It is. Here, IFFT represents inverse FFT, and * represents convolution.

入力デジタル信号及びフィルタがそれぞれ奇数番目と偶数番目の2つのパーティションに分けられて処理されるポリフェーズフィルタ構成であるため、出力信号y(m)のサンプル数は、入力デジタル信号のサンプル数の1/2である。すなわち、通常の畳み込みでは、Xi(ω)の奇数成分及び偶数成分と、Hi(ω)の奇数成分と偶数成分の畳み込みとなるため、
(Xi(ω)の奇数成分)×(Hi(ω)の奇数成分)
+(Xi(ω)の奇数成分)×(Hi(ω)の偶数成分)
+(Xi(ω)の偶数成分)×(Hi(ω)の奇数成分)
+(Xi(ω)の偶数成分)×(Hi(ω)の偶数成分)
となるところ、図1の構成では、
(Xi(ω)の奇数成分)×(Hi(ω)の奇数成分)
+(Xi(ω)の偶数成分)×(Hi(ω)の偶数成分)
のみを演算しており、
(Xi(ω)の奇数成分)×(Hi(ω)の偶数成分)
及び
(Xi(ω)の偶数成分)×(Hi(ω)の奇数成分)
が演算されず削除されるため、演算の結果得られるンプル数が1/2となるからである。
Since the input digital signal and the filter have a polyphase filter configuration that is processed by being divided into two odd and even partitions, the number of samples of the output signal y (m) is 1 of the number of samples of the input digital signal. / 2. That is, normal convolution results in convolution of odd and even components of Xi (ω) and odd and even components of Hi (ω).
(Odd component of Xi (ω)) × (Odd component of Hi (ω))
+ (Odd component of Xi (ω)) × (Even component of Hi (ω))
+ (Even component of Xi (ω)) × (odd component of Hi (ω))
+ (Even component of Xi (ω)) × (even component of Hi (ω))
In the configuration of FIG.
(Odd component of Xi (ω)) × (Odd component of Hi (ω))
+ (Even component of Xi (ω)) × (even component of Hi (ω))
Only
(Odd component of Xi (ω)) × (even component of Hi (ω))
And (even component of Xi (ω)) × (odd component of Hi (ω))
This is because the number of samples obtained as a result of the calculation is halved.

また、本実施形態では、入力デジタル信号の奇数番目及び偶数番目のサンプルを、それぞれ時間領域で3つのパーティションに分け、これに応じて、フィルタの奇数番目及び偶数番目を、それぞれ時間領域で3つのパーティションに分けているため、FFT演算器124〜228におけるタップ数を適当な長さまで小さくすることが可能となり、これによりFFTのパフォーマンスを向上させることができる。   In the present embodiment, the odd-numbered and even-numbered samples of the input digital signal are each divided into three partitions in the time domain, and accordingly, the odd-numbered and even-numbered samples of the filter are divided into three in the time domain. Since it is divided into partitions, the number of taps in the FFT calculators 124 to 228 can be reduced to an appropriate length, thereby improving the FFT performance.

図2に、汎用のマイクロプロセッサでFFT演算を行う際の、タップ数と処理速度(図ではスピードと略して記す)との関係を示す。タップ数が増大するに従って処理速度は増大し、所定のタップ数Nthあるいはその近傍において処理速度が最大となり、タップ数がさらに増大すると逆に処理速度は急峻に減少していく傾向を示す。もちろん、マイクロプロセッサの種類に応じて、処理速度が最大となるタップ数Nthは変わり得る。   FIG. 2 shows the relationship between the number of taps and the processing speed (abbreviated as speed in the figure) when performing an FFT operation with a general-purpose microprocessor. As the number of taps increases, the processing speed increases, the processing speed becomes maximum at or near the predetermined number of taps Nth, and the processing speed tends to decrease sharply as the number of taps further increases. Of course, depending on the type of microprocessor, the number of taps Nth that maximizes the processing speed may vary.

従って、FFT演算器124〜228として用いられるマイクロプロセッサに応じ、その処理速度が最大となるタップ数Nthと同一あるいはそれに近いタップに設定することで、ダウンサンプリングを行いつつ効率的なFFT処理が可能となる。本実施形態では、Nthが例えば4096であるとすると、フィルタをまず偶数番目と奇数番目に3分割し、次に時間領域でそれぞれ3分割して合計6個のフィルタパーティションに分割しており、当初のフィルタの総タップ数を24576であるとすると、FFT演算器124〜228におけるタップ数は、24576/6=4096となり、それぞれのFFT演算器124〜228における演算速度を最大化することが可能となる。   Therefore, according to the microprocessors used as the FFT calculators 124 to 228, efficient FFT processing can be performed while downsampling by setting the taps to be the same as or close to the tap number Nth that maximizes the processing speed. It becomes. In the present embodiment, assuming that Nth is 4096, for example, the filter is first divided into even and odd numbers, and then divided into three in the time domain and divided into a total of six filter partitions. Assuming that the total number of taps of the filter is 24576, the number of taps in the FFT calculators 124 to 228 is 24576/6 = 4096, and the calculation speed in each of the FFT calculators 124 to 228 can be maximized. Become.

本実施形態では、入力デジタル信号及びフィルタのそれぞれに対し、まず奇数番目と偶数番目に2分割し、その後に、時間領域で3分割しているが、前者の分割を第1分割、後者の分割を第2分割とすると、第1分割の分割数はダウンサンプリングする際の間引き係数kに応じて決定され、第2分割の分割数は、当該間引き係数kと、FFT演算器において処理速度が最大となるタップ数に応じて決定されることになる。なお、入力デジタル信号とフィルタとで、第1分割と第2分割の分割数は互いに等しくなる。   In this embodiment, each of the input digital signal and the filter is first divided into odd and even numbers, and then divided into three in the time domain. The former division is the first division and the latter division. Is the second division, the number of divisions of the first division is determined according to the thinning coefficient k at the time of downsampling, and the number of divisions of the second division is the maximum of the processing speed in the thinning coefficient k and the FFT calculator. Will be determined according to the number of taps. Note that the number of divisions of the first division and the second division is equal to each other in the input digital signal and the filter.

本実施形態では、サンプル数を1/2とするダウンサンプリングを行うために第1分割の分割数を2とし、第2分割の分割数を3としているが、例えばサンプル数を1/8とするダウンサンプリングを行う場合には以下のようになる。   In the present embodiment, in order to perform downsampling with the number of samples being 1/2, the number of divisions of the first division is 2, and the number of divisions of the second division is 3, but for example, the number of samples is 1/8. When downsampling is performed, it is as follows.

すなわち、間引き係数kがk=8であるため、第1分割の分割数を8とする。つまり、入力デジタル信号をまず8個のパーティションに分割する。8個のパーティションに分割する方法は任意であり、例えばまず奇数番目と偶数番目に分割し、それぞれについてさらに4個のパーティションに分割してもよい。次に、第2分割の分割数を3とする。つまり、8個の入力デジタル信号パーティションに対し、FFT処理した後に、それぞれ時間領域で3個に分割する。同様にして、フィルタに対しても、第1分割の分割数として8個のフィルタパーティションに分割し、それぞれについてさらに時間領域で3個に分割する。これにより、例えばフィルタの総タップ数が98304の場合、FFT演算器におけるタップ数は、98304/24=4096となる、それぞれのFFT演算器における処理速度を最大化することが可能となる。   That is, since the thinning coefficient k is k = 8, the division number of the first division is set to 8. That is, the input digital signal is first divided into 8 partitions. The method of dividing into 8 partitions is arbitrary. For example, it may be divided first into an odd number and an even number, and each may be further divided into 4 partitions. Next, the division number of the second division is set to 3. That is, eight input digital signal partitions are subjected to FFT processing and then divided into three in the time domain. Similarly, the filter is also divided into eight filter partitions as the first division number, and each is further divided into three in the time domain. Thereby, for example, when the total number of taps of the filter is 98304, the number of taps in the FFT calculator becomes 98304/24 = 4096, and the processing speed in each FFT calculator can be maximized.

以下に、入力デジタル信号の周波数、出力周波数、第1分割の分割数、第2分割の分割数、フィルタの総タップ数、FFT演算器のタップ数を例示する。
<例1>
入力デジタル信号周波数:88200kHz
出力デジタル信号周波数:44100kHz
第1分割の分割数:2
第2分割の分割数:3
フィルタの総タップ数:24576
FFTのタップ数:4096
<例2>
入力デジタル信号周波数:352800kHz
出力デジタル信号周波数:44100kHz
第1分割の分割数:8
第2分割の分割数:3
フィルタの総タップ数:98304
FFTのタップ数:4096
Hereinafter, the frequency of the input digital signal, the output frequency, the number of divisions of the first division, the number of divisions of the second division, the total number of taps of the filter, and the number of taps of the FFT calculator will be exemplified.
<Example 1>
Input digital signal frequency: 88200kHz
Output digital signal frequency: 44100 kHz
Number of divisions in the first division: 2
Number of divisions in the second division: 3
Total number of filter taps: 24576
Number of FFT taps: 4096
<Example 2>
Input digital signal frequency: 352800 kHz
Output digital signal frequency: 44100 kHz
Number of divisions in the first division: 8
Number of divisions in the second division: 3
Total number of filter taps: 98304
Number of FFT taps: 4096

上記の例1及び例2において、入力デジタル信号周波数が異なっていても、出力デジタル信号周波数はともに44100kHzであることに留意されたい。また、入力デジタル信号周波数が異なっていても、FFTのタップ数はともに4096であることに留意されたい。すなわち、入力デジタル信号の周波数が異なっていても、第1分割及び第2分割の分割数を入力デジタル信号の周波数に応じて適応的に設定することで、所望の出力デジタル信号周波数を得ることができるとともに、FFT演算処理を高速化して効率的に処理することができる。なお、本願出願人は、例2に示すようにサンプリングレートを1/8にダウンサンプリングする場合、図1に示す本実施形態の構成では、図5に示す従来の構成に比べて約1.5倍の処理速度を実現できることを確認している。   Note that in Examples 1 and 2 above, the output digital signal frequency is 44100 kHz, even though the input digital signal frequency is different. It should also be noted that the number of FFT taps is 4096 even when the input digital signal frequency is different. That is, even if the frequency of the input digital signal is different, a desired output digital signal frequency can be obtained by adaptively setting the number of divisions of the first division and the second division according to the frequency of the input digital signal. In addition, the FFT processing can be speeded up and processed efficiently. In addition, when the applicant of the present invention downsamples the sampling rate to 1/8 as shown in Example 2, the configuration of the present embodiment shown in FIG. 1 is about 1.5 compared to the conventional configuration shown in FIG. It has been confirmed that the processing speed can be doubled.

図3に、図1の構成をより一般化した構成を示す。入力デジタル信号は第1分割で分割数D1(D1は2以上の自然数)に分割され、それぞれFFT演算器でFFT処理された後、さらに第2分割で分割数D2(D2は2以上の自然数)に分割されてD1×D2個の入力信号パーティションに分割されて畳み込み演算器300に供給される。同様に、デジタルフィルタ(FIRフィルタ)も第1分割で分割数D1に分割され、さらに第2分割で分割数D2に分割されてD1×D2個のフィルタパーティションに分割された後、FFT演算器でFFT処理される。FFT処理された周波数領域の信号は畳み込み演算器300に供給される。畳み込み演算器300は、乗算器及び加算器を備え、入力信号パーティションとフィルタパーティションの畳み込み演算を行い、その結果をIFFT演算器320に供給する。IFFT演算器320は、畳み込み演算して得られた信号を逆FFT処理し、時間領域の信号に復元して出力デジタル信号を得る。   FIG. 3 shows a generalized configuration of the configuration of FIG. The input digital signal is divided into the division number D1 (D1 is a natural number of 2 or more) in the first division, and after being subjected to FFT processing by the FFT calculator, the division number D2 (D2 is a natural number of 2 or more) in the second division. Is divided into D1 × D2 input signal partitions and supplied to the convolution calculator 300. Similarly, the digital filter (FIR filter) is also divided into the division number D1 in the first division, further divided into the division number D2 in the second division, and divided into D1 × D2 filter partitions. FFT processing is performed. The frequency domain signal subjected to the FFT processing is supplied to the convolution calculator 300. The convolution operator 300 includes a multiplier and an adder, performs a convolution operation on the input signal partition and the filter partition, and supplies the result to the IFFT operator 320. The IFFT calculator 320 performs inverse FFT processing on the signal obtained by the convolution calculation, and restores the signal in the time domain to obtain an output digital signal.

FFT演算器において、最大の処理速度(あるいは最大パフォーマンス)が得られるタップ数(これを所定のタップ数とする)をMo、所望の出力デジタル信号のサンプリングレートを得るための間引き係数をk、フィルタの総タップ数をSとすると、分割数D1及び分割数D2は以下の式を満たす。
D1=k
S/(D1×D2)〜Mo
ここで、〜Moは、所定のタップ数Moあるいはその近傍であることを表す。第1分割及び第2分割を行う分割器(スイッチや遅延要素で構成される)、FFT演算器、IFFT演算器、及び畳み込み演算器は、DSPあるいはマイクロプロセッサで構成される。DSPあるいはマイクロプロセッサは、入力デジタル信号のサンプリングレート(周波数)を検出し、所望の出力デジタル信号のサンプリングレートに変換するために間引き係数kを決定し、この間引き係数kとFFT演算処理を効率的に実行できる所定のタップ数Moに応じて分割数D1,D2を適応的に設定する。なお、DSPあるいはマイクロプロセッサは、入力デジタル信号のサンプリングレートを検出し、演算により分割数D1、D2を算出してもよいが、予め入力デジタル信号のサンプリングレートと分割数D1,D2との最適の関係を規定するテーブルをメモリに予め記憶しておき、入力デジタル信号のサンプリングレートが確定した場合に、メモリにアクセスして当該テーブルで規定された関係を用いて分割数D1,D2を適応的に設定してもよい。分割器やFFT演算器、畳み込み演算器300、IFFT演算器320をDSPで構成し、別個に設けられたマイクロプロセッサが入力デジタル信号のサンプリングレートを検出し、メモリに記憶されたテーブルを参照して入力デジタル信号のサンプリングレートに応じた分割数D1,D2を適応的に決定してDSPに制御信号を出力し、分割数D1,D2を調整してもよい。また、第1分割、第2分割、FFT処理、畳み込み演算、逆FFT処理は、DSPにより実行され得るが、マイクロプロセッサがプログラムメモリに格納されたプログラムを順次読み出し、当該プログラムに従って入力デジタル信号のサンプリングレートを検出し、DSPに制御信号を供給して入力デジタル信号及びフィルタを第1分割、第2分割し、FFT処理し、畳み込み演算処理し、逆FFT処理して出力デジタル信号を出力する各処理を実行する。DSP及びマイクロプロセッサは、例えば携帯音楽プレーヤやタブレット端末等の電子機器に組み込まれ、プログラムはタブレット端末等のメモリに格納される。プログラムは、ファームウェアとしてタブレット端末等のメモリに当初から組み込まれていてもよく、あるいはインターネット等の通信回線を介して所定のサーバからダウンロードしてメモリに格納してもよい。入力デジタル信号は、ソース音源から入力する他、インターネットからダウンロードしてもよい。
In the FFT computing unit, Mo is the number of taps (this is the predetermined number of taps) that provides the maximum processing speed (or maximum performance), k is the decimation factor for obtaining the sampling rate of the desired output digital signal, and the filter If the total number of taps is S, the division number D1 and the division number D2 satisfy the following expressions.
D1 = k
S / (D1 × D2) to Mo
Here, ~ Mo represents a predetermined number of taps Mo or its vicinity. The dividers (configured by switches and delay elements), the FFT calculator, the IFFT calculator, and the convolution calculator that perform the first division and the second division are configured by a DSP or a microprocessor. The DSP or the microprocessor detects the sampling rate (frequency) of the input digital signal, determines the thinning coefficient k in order to convert it to the sampling rate of the desired output digital signal, and efficiently performs the thinning coefficient k and the FFT calculation processing. The division numbers D1 and D2 are adaptively set according to a predetermined number of taps Mo that can be executed. The DSP or the microprocessor may detect the sampling rate of the input digital signal and calculate the division numbers D1 and D2 by calculation. However, the optimum sampling rate of the input digital signal and the division numbers D1 and D2 may be calculated in advance. A table defining the relationship is stored in the memory in advance, and when the sampling rate of the input digital signal is determined, the memory is accessed and the division numbers D1 and D2 are adaptively used using the relationship defined in the table. It may be set. The divider, FFT calculator, convolution calculator 300, and IFFT calculator 320 are configured by a DSP, and a separately provided microprocessor detects the sampling rate of the input digital signal and refers to a table stored in the memory. The division numbers D1 and D2 may be adaptively determined according to the sampling rate of the input digital signal, a control signal may be output to the DSP, and the division numbers D1 and D2 may be adjusted. Further, the first division, the second division, the FFT processing, the convolution operation, and the inverse FFT processing can be executed by the DSP, but the microprocessor sequentially reads out the program stored in the program memory and samples the input digital signal according to the program. Each process that detects the rate, supplies the control signal to the DSP, divides the input digital signal and filter into the first and second parts, performs FFT processing, convolution processing, and inverse FFT processing to output the output digital signal Execute. The DSP and the microprocessor are incorporated in an electronic device such as a portable music player or a tablet terminal, and the program is stored in a memory such as a tablet terminal. The program may be incorporated from the beginning in a memory such as a tablet terminal as firmware, or may be downloaded from a predetermined server via a communication line such as the Internet and stored in the memory. The input digital signal may be downloaded from the Internet as well as input from the source sound source.

100,124,126,128,200,224,226,228,200 FFT(高速フーリエ変換)演算器、112,116,120,212,216,220 乗算器、130,260 加算器、270,320 IFFT(逆高速フーリエ変換)演算器、300 畳み込み演算器。   100, 124, 126, 128, 200, 224, 226, 228, 200 FFT (Fast Fourier Transform) calculator, 112, 116, 120, 212, 216, 220 multiplier, 130, 260 adder, 270, 320 IFFT (Inverse Fast Fourier Transform) computing unit, 300 convolution computing unit.

Claims (5)

入力デジタル信号を複数のパーティションに分割する第1信号分割部と、
前記第1信号分割部で生成された複数の信号パーティションのそれぞれを高速フーリエ変換する信号FFT部と、
前記信号FFT部で生成されたそれぞれの信号をさらに複数の信号パーティションに分割する第2信号分割部と、
デジタルフィルタを複数のパーティションに分割する第1フィルタ分割部と、
前記第1フィルタ分割部で生成された複数のフィルタパーティションをさらに複数のフィルタパーティションに分割する第2フィルタ分割部と、
前記第2フィルタ分轄部で生成された複数のフィルタパーティションのそれぞれを高速フーリエ変換するフィルタFFT部と、
前記第2信号分割部で生成された信号パーティションと、前記フィルタFFT部で生成されたフィルタパーティションの畳み込み演算を行う畳み込み部と、
前記畳み込み部で生成された信号を逆高速フーリエ変換する逆FFT部と、
を備え、
前記第1信号分割部と前記第1フィルタ分割部の分割数D1は互いに同一であり、前記第2信号分割部と前記第2フィルタ分割部の分割数D2は互いに同一であり、かつ、分割数D1及び分割数D2は、前記入力デジタル信号のサンプリングレートに応じて設定されることを特徴とするサンプリングレート変換装置。
A first signal divider for dividing an input digital signal into a plurality of partitions;
A signal FFT unit for fast Fourier transforming each of the plurality of signal partitions generated by the first signal dividing unit;
A second signal dividing unit that further divides each signal generated by the signal FFT unit into a plurality of signal partitions;
A first filter dividing unit for dividing the digital filter into a plurality of partitions;
A second filter divider that further divides the plurality of filter partitions generated by the first filter divider into a plurality of filter partitions;
A filter FFT unit that fast Fourier transforms each of the plurality of filter partitions generated in the second filter demarcation unit;
A signal partition generated by the second signal dividing unit, and a convolution unit that performs a convolution operation of the filter partition generated by the filter FFT unit;
An inverse FFT unit that performs an inverse fast Fourier transform on the signal generated by the convolution unit;
With
The division number D1 of the first signal division unit and the first filter division unit are the same, the division number D2 of the second signal division unit and the second filter division unit are the same, and the division number D1 and the number of divisions D2 are set according to the sampling rate of the input digital signal.
前記分割数D1は、前記入力デジタル信号のサンプリングレートと、出力すべき所望のサンプリングレートとの変換比率に応じて設定され、前記分割数D2は、前記FFT部における所定のタップ数に応じて設定されることを特徴とする請求項1に記載のサンプリングレート変換装置。   The division number D1 is set according to a conversion ratio between a sampling rate of the input digital signal and a desired sampling rate to be output, and the division number D2 is set according to a predetermined number of taps in the FFT unit. The sampling rate conversion apparatus according to claim 1, wherein 前記入力デジタル信号のサンプリングレートを検出する検出部と、
前記入力デジタル信号のサンプリングレートと、前記分割数D1及び分割数D2との関係を予め規定するテーブルを記憶する記憶部と、
前記記憶部に記憶された前記テーブルを参照することで、前記検出部で検出されたサンプリングレートに応じた前記分割数D1及び分割数D2を設定する設定部
をさらに備えることを特徴とする請求項1,2のいずれかに記載のサンプリングレート変換装置。
A detection unit for detecting a sampling rate of the input digital signal;
A storage unit that stores a table that preliminarily defines a relationship between the sampling rate of the input digital signal and the number of divisions D1 and the number of divisions D2.
The setting part which sets the division number D1 and division number D2 according to the sampling rate detected by the detection part by referring to the table memorized by the storage part is further provided. The sampling rate conversion device according to any one of 1 and 2.
前記第1信号分割部は、少なくとも前記入力デジタル信号を奇数成分と偶数成分に分割し、
前記第1フィルタ分割部は、少なくとも前記デジタルフィルタを奇数成分と偶数成分に分割し、
前記第2信号分割部は、複数の信号パーティションを時間領域で分割し、
前記第2フィルタ分割部は、複数のフィルタパーティションを時間領域で分割する
ことを特徴とする請求項1〜3のいずれかに記載のサンプリングレート変換装置。
The first signal dividing unit divides at least the input digital signal into an odd component and an even component,
The first filter dividing unit divides at least the digital filter into an odd component and an even component,
The second signal dividing unit divides a plurality of signal partitions in a time domain,
The sampling rate conversion apparatus according to claim 1, wherein the second filter dividing unit divides a plurality of filter partitions in a time domain.
入力デジタル信号のサンプリングレートを所望のサンプリングレートに変換して出力する処理をコンピュータに実行させるプログラムであって、前記プログラムは、コンピュータのプロセッサに、
入力デジタル信号を複数のパーティションに分割させる第1信号分割ステップと、
前記第1信号分割ステップで生成された複数の信号パーティションのそれぞれを高速フーリエ変換させる信号FFTステップと、
前記信号FFTステップで生成された複数の信号パーティションをさらに複数の信号パーティションに分割させる第2信号分割ステップと、
デジタルフィルタを複数のパーティションに分割させる第1フィルタ分割ステップと、
前記第1フィルタ分割ステップで生成された複数のフィルタパーティションをさらに複数のフィルタパーティションに分割させる第2フィルタ分割ステップと、
前記第2フィルタ分轄ステップで生成された複数のフィルタパーティションのそれぞれを高速フーリエ変換させるフィルタFFTステップと、
前記第2信号分割ステップで生成された信号パーティションと、前記フィルタFFTステップで生成されたフィルタ成分の畳み込み演算を実行させる畳み込みステップと、
前記畳み込みステップで生成された信号を逆高速フーリエ変換させる逆FFTステップ
を実行させ、
前記第1信号分割ステップと前記第1フィルタ分割ステップの分割数D1は互いに同一であり、前記第2信号分割ステップと前記第2フィルタ分割ステップの分割数D2は互いに同一であり、かつ、分割数D1及び分割数D2は、前記入力デジタル信号のサンプリングレートに応じて設定されることを特徴とするプログラム。
A program for causing a computer to execute a process of converting a sampling rate of an input digital signal to a desired sampling rate and outputting the same, wherein the program is executed by a processor of the computer.
A first signal dividing step for dividing an input digital signal into a plurality of partitions;
A signal FFT step of fast Fourier transforming each of the plurality of signal partitions generated in the first signal division step;
A second signal dividing step of further dividing the plurality of signal partitions generated in the signal FFT step into a plurality of signal partitions;
A first filter dividing step for dividing the digital filter into a plurality of partitions;
A second filter dividing step for further dividing the plurality of filter partitions generated in the first filter dividing step into a plurality of filter partitions;
A filter FFT step for performing a fast Fourier transform on each of the plurality of filter partitions generated in the second filter demarcation step;
A convolution step for performing a convolution operation of the signal partition generated in the second signal division step and the filter component generated in the filter FFT step;
Performing an inverse FFT step of performing an inverse fast Fourier transform on the signal generated in the convolution step,
The number of divisions D1 of the first signal division step and the first filter division step are the same, the number of divisions D2 of the second signal division step and the second filter division step are the same, and the number of divisions D1 and division number D2 are set according to the sampling rate of the input digital signal.
JP2012282399A 2012-12-26 2012-12-26 Sampling rate conversion device and program Expired - Fee Related JP6015431B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012282399A JP6015431B2 (en) 2012-12-26 2012-12-26 Sampling rate conversion device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012282399A JP6015431B2 (en) 2012-12-26 2012-12-26 Sampling rate conversion device and program

Publications (2)

Publication Number Publication Date
JP2014127804A JP2014127804A (en) 2014-07-07
JP6015431B2 true JP6015431B2 (en) 2016-10-26

Family

ID=51407009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012282399A Expired - Fee Related JP6015431B2 (en) 2012-12-26 2012-12-26 Sampling rate conversion device and program

Country Status (1)

Country Link
JP (1) JP6015431B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104967428B (en) * 2015-07-28 2018-03-13 南京信息工程大学 Frequency domain implementation method for FPGA high-order and high-speed FIR filter
CN107453732B (en) * 2016-05-30 2021-09-24 电信科学技术研究院 Signal sampling rate conversion method and device
CN114185014B (en) * 2021-12-20 2022-11-08 北方工业大学 Parallel convolution method and device applied to radar signal processing

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3636361B2 (en) * 1992-07-07 2005-04-06 レイク・テクノロジイ・リミテッド Digital filter with high accuracy and high efficiency
DE4328139A1 (en) * 1993-08-21 1995-02-23 Philips Patentverwaltung Circuit arrangement for echo cancellation
JP4206886B2 (en) * 2003-09-29 2009-01-14 ソニー株式会社 ITR data reproducing apparatus, recording / reproducing system, and interpolation filter
EP1879293B1 (en) * 2006-07-10 2019-02-20 Harman Becker Automotive Systems GmbH Partitioned fast convolution in the time and frequency domain
JP2009141445A (en) * 2007-12-04 2009-06-25 Hitachi Ltd Sampling rate converter and method for converting sampling rate
JP5790956B2 (en) * 2011-05-17 2015-10-07 日本電気株式会社 Digital filter circuit

Also Published As

Publication number Publication date
JP2014127804A (en) 2014-07-07

Similar Documents

Publication Publication Date Title
EP0649578B1 (en) Digital filter having high accuracy and efficiency
JP6015431B2 (en) Sampling rate conversion device and program
JP5065784B2 (en) In-phase component extraction method and apparatus
Bank Perceptually motivated audio equalization using fixed-pole parallel second-order filters
JPH0363875A (en) Computing system of discrete fourier transform using cyclic technique
Bi et al. Sampling rate conversion based on DFT and DCT
Tian et al. Hardware-efficient parallel structures for linear-phase FIR digital filter
JP6248923B2 (en) Digital filter circuit, digital filter processing method, and digital filter processing program
JP6070572B2 (en) Digital filter circuit and digital filter processing method
Xue et al. Linear convolution filter to reduce computational complexity based on discrete hirschman transform
Özdil et al. Implementation of FPGA-based FFT convolution
Kober Fast algorithms for the computation of sliding discrete Hartley transforms
JPH09245109A (en) Functional transformation arithmetic unit
Bae et al. Overlap-save commutators for high-speed streaming data filtering
da Luz et al. Reducing power consumption in fft architectures by using heuristic-based algorithms for the ordering of the twiddle factors
JP2011133957A (en) Arithmetic device
Macleod Multiplierless Winograd and prime factor FFT implementation
Abd El-Azeem et al. High performance interpolation filter using direct computation
KR100790534B1 (en) Signal processing method and apparatus for fast convolution using an overlap save scheme based on qdft
Živaljević et al. Transitional Butter–Elliptic filter suitable for complementary decomposition
RU113597U1 (en) DIGITAL FILTER WITH MOVABLE PHASE FREQUENCY CHARACTERISTIC
Kuk et al. Block convolution with arbitrary delays using fast fourier transform
CN200976573Y (en) Sample rate converter
Kalvikkarasi et al. An economical modified VLSI architecture for computing power spectral density supported welch method
Ranganathan et al. Efficient hardware implementation of 1024 point radix-4 FFT

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150617

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160830

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160912

R150 Certificate of patent or registration of utility model

Ref document number: 6015431

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees