JP2008219560A - Decimation filter - Google Patents
Decimation filter Download PDFInfo
- Publication number
- JP2008219560A JP2008219560A JP2007055418A JP2007055418A JP2008219560A JP 2008219560 A JP2008219560 A JP 2008219560A JP 2007055418 A JP2007055418 A JP 2007055418A JP 2007055418 A JP2007055418 A JP 2007055418A JP 2008219560 A JP2008219560 A JP 2008219560A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- filter
- coefficient
- buffer memory
- read
- 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
- Complex Calculations (AREA)
Abstract
Description
本発明は、所定のサンプリング周波数でサンプリングされた信号を、より低いサンプリング周波数の信号に変換するデシメーションフィルタに関する。 The present invention relates to a decimation filter that converts a signal sampled at a predetermined sampling frequency into a signal having a lower sampling frequency.
信号処理を行うに際しては、所定のサンプリング周波数でサンプリングされた信号のサンプリング周波数を変化させる必要が生じる場合がある。入力された信号をより高いサンプリング周波数の信号に変換(アップサンプリング)するシステムをインターポレータ(補間器:interpolator)といい、逆に入力された信号をより低いサンプリング周波数の信号に変換(ダウンサンプリング)するシステムをデシメータ(間引き器:decimator)という。 When performing signal processing, it may be necessary to change the sampling frequency of a signal sampled at a predetermined sampling frequency. A system that converts an input signal to a signal with a higher sampling frequency (upsampling) is called an interpolator, and conversely converts an input signal to a signal with a lower sampling frequency (downsampling). ) Is called a decimator (decimator).
デシメータは、入力された信号に対して所定のフィルタリング処理を行った後に信号を間引くことでダウンサンプリングしている。ここでダウンサンプリングされた信号に、そのサンプリング周波数の1/2の周波数(ナイキスト周波数)よりも高い周波数成分が含まれていると折り返しひずみ(エリアジング成分)が生ずる。上記のフィルタリング処理は信号の周波数帯域をナイキスト周波数以下に制限するために行われ、このフィルタリング処理で用いられるフィルタをデシメーションフィルタという。 The decimator performs downsampling by thinning out the signal after performing a predetermined filtering process on the input signal. If the down-sampled signal contains a frequency component higher than half the sampling frequency (Nyquist frequency), aliasing distortion (aliasing component) occurs. The above filtering process is performed to limit the frequency band of the signal to a Nyquist frequency or lower, and a filter used in this filtering process is called a decimation filter.
デシメーションフィルタは、入力される信号を高レートでフィルタリングする必要があるため処理負担が大きい。そこで、デシメーションフィルタは、伝達関数H(z)をデシメーション比Mに相当する複数のフィルタ係数のグループに分割して演算処理するポリフェーズ構成で実現されることが多い。一般的に、かかる構成のフィルタをポリフェーズフィルタという。ポリフェーズ構成における各フィルタの係数は、もとのフィルタ係数からM個おきに係数を取り出したものである。そして、各フィルタにデータを入力する前にダウンサンプリングを実施することで、各フィルタの動作速度をダウンサンプリング後の低レートにして各フィルタの処理負担を軽減している。 Since the decimation filter needs to filter an input signal at a high rate, the processing load is large. Therefore, the decimation filter is often realized by a polyphase configuration in which the transfer function H (z) is divided into a plurality of groups of filter coefficients corresponding to the decimation ratio M and is processed. In general, such a filter is called a polyphase filter. The coefficient of each filter in the polyphase configuration is obtained by extracting every M coefficients from the original filter coefficient. By performing downsampling before inputting data to each filter, the operation speed of each filter is reduced to a low rate after downsampling, thereby reducing the processing burden on each filter.
図7は、ポリフェーズ構成のデシメーションフィルタを備える従来のデシメータの構成を示すブロック図である。図7に示す通り、従来のデシメータ100は、複数の遅延素子101、複数のダウンサンプラ102、複数のフィルタ103、及び加算器104を備えており、入力端T101から入力したサンプリング周波数Fsの信号をより低いサンプリング周波数Fdの信号に変換して出力端T102から出力する。
FIG. 7 is a block diagram showing a configuration of a conventional decimator provided with a decimation filter having a polyphase configuration. As shown in FIG. 7, the
遅延素子101は、信号を1/Fs周期(1周波数分)だけ遅延させる素子であり、例えばシフトレジスタで実現される。ダウンサンプラ102は、入力された信号をデシメーション比Mにダウンサンプリングする。フィルタ103の各々は、ポリフェーズ構成のデシメーションフィルタの一部をなすものであって、M個おきにデシメーションフィルタのフィルタ係数が選択されたフィルタである。加算器104は、フィルタ103の各々から出力される信号を加算するものである。
The
ここで、例えば1:3にデシメートするタップ数nのデシメーションフィルタの伝達関数H(z)が以下の(1)式で表されるとする。
H(z) = h0 + h1*z−1 + h2*z−2 + … + hn−2*z−(n−2) + hn−1*z−(n−1) …(1)
すると、ポリフェーズフィルタをなすフィルタは、D0(z)〜D2(z)までの3つとなり、以下の(2)〜(4)式でそれぞれ表される。尚、ここではタップ数nを3の倍数としている。
D0(z) = h0 + h3*z−1 + h6*z−2 + … + hn−3*z−n/3+1 …(2)
D1(z) = h1 + h4*z−1 + h7*z−2 + … + hn−2*z−n/3+1 …(3)
D2(z) = h2 + h5*z−1 + h8*z−2 + … + hn−1*z−n/3+1 …(4)
Here, for example, it is assumed that the transfer function H (z) of the decimation filter with n taps decimate to 1: 3 is expressed by the following equation (1).
H (z) = h 0 + h 1 * z −1 + h 2 * z −2 +... + H n−2 * z − (n−2) + h n−1 * z − (n−1) . (1)
Then, the number of filters constituting the polyphase filter is three from D 0 (z) to D 2 (z), which are represented by the following equations (2) to (4), respectively. Here, the tap number n is a multiple of three.
D 0 (z) = h 0 + h 3 * z −1 + h 6 * z −2 +... + H n−3 * z −n / 3 + 1 (2)
D 1 (z) = h 1 + h 4 * z −1 + h 7 * z −2 +... + H n−2 * z −n / 3 + 1 (3)
D 2 (z) = h 2 + h 5 * z -1 + h 8 * z -2 + ... + h n-1 * z -n / 3 + 1 ... (4)
このようにして、各フィルタ103はダウンサンプリング後のレートでフィルタ演算を行えばよいことになるから、デシメーションフィルタにおける処理負担の軽減を図ることができる。フィルタ103の各々から出力された信号は加算器104で加算され、最終的なダウンサンプリングされた信号が出力端T102から出力される。尚、ポリフェーズフィルタをなす各フィルタ103における演算は、FIRフィルタ(Finite Impulse Response Filter)やIIRフィルタ(Infinite Impulse Response Filter)を用いて行ったり、FFT演算(Fast Fourier Transform:高速フーリエ変換)を用いることができる。
In this way, each
尚、従来のデシメーションフィルタの詳細については、例えば以下の非特許文献1を参照されたい。
ところで、図7に示す通り、デシメーションフィルタをポリフェーズ構成とした場合には、デシメーション比Mに応じた遅延素子101が必要になる。このため、例えばデシメーション比Mが「100」を越えるような大きな値に設定されると、多数の遅延素子101が必要になって回路規模が増大するとともに、フィルタ103の規模も増大してしまうという問題がある。
Incidentally, as shown in FIG. 7, when the decimation filter has a polyphase configuration, the
デシメーション比Mが大きな値に設定される場合には、デシメーションフィルタの構成を、デシメーションを複数段に分けて行う構成にすることも考えられる。しかしながら、かかる構成のデシメーションフィルタは、例えば測定器等に用いられるデシメーションフィルタのように、予めデシメーション比が定まっておらずデシメーション比が可変される用途には使用することはできない。 When the decimation ratio M is set to a large value, it is conceivable to configure the decimation filter so that the decimation is performed in a plurality of stages. However, the decimation filter having such a configuration cannot be used for applications in which the decimation ratio is variable because the decimation ratio is not previously determined, such as a decimation filter used in a measuring instrument or the like.
本発明は上記事情に鑑みてなされたものであり、回路規模の増大を招かずに任意のデシメーション比に容易に対応することができるデシメーションフィルタを提供することを目的とする。 The present invention has been made in view of the above circumstances, and an object thereof is to provide a decimation filter that can easily cope with an arbitrary decimation ratio without increasing the circuit scale.
上記課題を解決するために、本発明のデシメーションフィルタは、第1サンプリング周波数でサンプリングされた第1信号(S1)を、前記第1サンプリング周波数より低い第2サンプリング周波数の第2信号(S2)に変換するデシメーションフィルタ(1)において、前記第1信号を一時的に記憶するバッファメモリ(11)と、前記第1信号に対して所定のフィルタリングを行うためのフィルタ係数を記憶する係数メモリ(12)と、前記係数メモリから読み出されるフィルタ係数(D2)を用いて前記バッファメモリから読み出される信号(D1)に対して所定の演算を行うことにより、前記所定のフィルタリングを行う演算装置(13)とを備えることを特徴としている。
この発明によると、第1サンプリング周波数でサンプリングされた第1信号はバッファメモリに一時的に記憶された後にバッファメモリから読み出され、この読み出された信号に対して係数メモリから読み出されたフィルタ係数を用いた所定の演算が行われ、第1信号に対する所定のフィルタリングが行われる。
また、本発明のデシメーションフィルタは、前記バッファメモリが、前記第1サンプリング周波数よりも十分高い周波数を有するクロック(CK)に同期して信号の読み出しを行い、前記演算装置は、前記バッファメモリから読み出された複数の信号に対し、前記第2サンプリング周波数で規定される時間間隔で前記所定の演算を行うことを特徴としている。
また、本発明のデシメーションフィルタは、前記演算装置が、前記係数メモリから出力されるフィルタ係数と前記バッファメモリから出力される信号とを乗算する乗算器(21)と、前記乗算器の乗算結果を累積加算するアキュムレータ(22)とを備えることを特徴としている。
また、本発明のデシメーションフィルタは、前記バッファメモリから読み出される信号を順次遅延させる第1遅延部(31)と、前記係数メモリから読み出されるフィルタ係数を順次遅延させる第2遅延部(32)とを備え、前記乗算器は、前記第1遅延部で遅延された複数の信号と、前記第2遅延部で遅延された複数のフィルタ係数とをそれぞれ乗算するために複数設けられていることを特徴としている。
更に、本発明のデシメーションフィルタは、前記バッファメモリ及び前記係数メモリの読み出しタイミング、並びに前記演算装置の演算タイミングを制御するタイミング制御回路(14)を備えることを特徴としている。
In order to solve the above-described problem, the decimation filter according to the present invention converts a first signal (S1) sampled at a first sampling frequency into a second signal (S2) having a second sampling frequency lower than the first sampling frequency. In the decimation filter (1) for conversion, a buffer memory (11) for temporarily storing the first signal and a coefficient memory (12) for storing a filter coefficient for performing predetermined filtering on the first signal And an arithmetic unit (13) for performing the predetermined filtering by performing a predetermined operation on the signal (D1) read from the buffer memory using the filter coefficient (D2) read from the coefficient memory. It is characterized by providing.
According to the present invention, the first signal sampled at the first sampling frequency is temporarily stored in the buffer memory and then read from the buffer memory, and the read signal is read from the coefficient memory. A predetermined calculation using the filter coefficient is performed, and predetermined filtering is performed on the first signal.
In the decimation filter according to the present invention, the buffer memory reads a signal in synchronization with a clock (CK) having a frequency sufficiently higher than the first sampling frequency, and the arithmetic unit reads from the buffer memory. The predetermined calculation is performed on a plurality of outputted signals at time intervals defined by the second sampling frequency.
In the decimation filter according to the present invention, the arithmetic device multiplies the filter coefficient output from the coefficient memory by a signal output from the buffer memory, and a multiplication result of the multiplier. And an accumulator (22) for cumulative addition.
The decimation filter according to the present invention includes a first delay unit (31) that sequentially delays signals read from the buffer memory, and a second delay unit (32) that sequentially delays filter coefficients read from the coefficient memory. And a plurality of multipliers are provided for multiplying the plurality of signals delayed by the first delay unit and the plurality of filter coefficients delayed by the second delay unit, respectively. Yes.
Furthermore, the decimation filter of the present invention is characterized by comprising a timing control circuit (14) for controlling the read timing of the buffer memory and the coefficient memory and the calculation timing of the calculation device.
本発明によれば、係数メモリから読み出されるフィルタ係数を用いてバッファメモリから読み出される信号に対して演算装置で所定の演算を行ってダウンサンプリングを行っており、バッファメモリからの信号の読み出し方法を変えるだけでデシメーション比を変えることができる。このため、回路規模の増大を招かずに任意のデシメーション比に容易に対応することができるという効果がある。 According to the present invention, downsampling is performed by performing a predetermined calculation on the signal read from the buffer memory using the filter coefficient read from the coefficient memory by the arithmetic unit, and a method for reading the signal from the buffer memory is provided. The decimation ratio can be changed simply by changing it. For this reason, there is an effect that it is possible to easily cope with an arbitrary decimation ratio without increasing the circuit scale.
以下、図面を参照して本発明の一実施形態によるデシメーションフィルタについて詳細に説明する。図1は、本発明の一実施形態によるデシメーションフィルタの構成を示すブロック図である。図1に示す通り、本実施形態のデシメーションフィルタ1は、バッファメモリ11、係数メモリ12、演算装置13、及びタイミング制御回路14を備えており、所定のサンプリング周波数(第1サンプリング周波数)でサンプリングされた信号S1(第1信号)をより低いサンプリング周波数(第2サンプリング周波数)の信号S2(第2信号)に変換するものである。
Hereinafter, a decimation filter according to an embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a decimation filter according to an embodiment of the present invention. As shown in FIG. 1, the
本実施形態のデシメーションフィルタ1は、特に低周波数(例えば、1MHz以下)の信号S1をフィルタリングするのに適している。尚、以下の説明では、信号S1が1MHzのサンプリング周波数でサンプリングされた16ビットの信号であるとする。また、本実施形態のデシメーションフィルタ1には、信号S1のサンプリング周波数よりも十分高い周波数を有するクロックCKが入力されている。このクロックCKは、バッファメモリ11及びタイミング制御回路14に入力されている。尚、以下の説明では、クロックCKの周波数が100MHzであるとする。
The
バッファメモリ11は、入力される信号S1を一時的に記憶する。このバッファメモリ11は、例えばRAM(Random Access Memory)であり、信号S1をアドレス順に順次記憶する。尚、このバッファメモリ11としてFIFO(First-In First-Out:先入れ先出し)を用いることもできる。バッファメモリ11は、タイミング制御回路14の制御の下で、一時的に記憶した信号をクロックCKに同期して読み出す。尚、以下の説明では、バッファメモリ11から読み出される信号を読み出しデータD1という。
The
係数メモリ12は、デシメーションフィルタ1に入力される信号S1に対して所定のフィルタリングを行うためのフィルタ係数を記憶する。この係数メモリ12としては、バッファメモリ11と同様にRAM等を用いることができる。尚、本実施形態においては、係数メモリ12に記憶されるフィルタ係数は16ビットであるとし、不図示の制御装置によって予め記憶されるものとする。このフィルタ係数は、デシメーションフィルタ1が実現しようとするフィルタリングの特性(伝達関数H(z))によって適宜変更することができる。係数メモリ12は、タイミング制御回路14の制御の下でフィルタ係数D2を読み出す。
The
演算装置13は、係数メモリ12から読み出されるフィルタ係数D2を用いて、バッファメモリ11から読み出される読み出しデータに対して所定の演算を行うことにより、上述した信号S1に対する所定のフィルタリングを行う。演算装置13は上記の所定の演算をデシメーション比Mに相当するサンプル毎に行う、例えば、デシメーション比Mが「3」であるとすると、演算装置13は3サンプル毎に上記の演算を行う。即ち、演算装置13は、信号S2のサンプリング周波数で規定される時間間隔で上記の演算を行う。尚、上記の所定の演算は、具体的には、前述した(1)式に示した演算であり、そのタップ数及びデシメーション比は、不図示の制御装置によって設定される。次に、演算装置13の具体的な構成について説明する。
The
図2は、演算装置13の構成を示す図である。図2に示す通り、演算装置2は、乗算器21とアキュムレータ22とを備える。乗算器21は、バッファメモリ11から出力される読み出しデータD1と係数メモリ12から出力されるフィルタ係数D2とを乗算する。アキュムレータ22は、加算器22aと遅延素子22bとからなり、乗算器21から出力されるデータと、遅延素子22bから出力されるデータとを加算器22aで加算することにより、乗算器21から出力されるデータを累積加算する。尚、遅延素子22bの遅延時間は、信号S1のサンプリング周波数並びにデシメーションフィルタ1のデシメーション比及びタップ数に応じて設定される。また、アキュムレータ22は、タイミング制御回路14からのタイミング信号C1が入力される。このタイミング信号C1が入力されると、アキュムレータ22が初期化される。
FIG. 2 is a diagram illustrating a configuration of the
ここで、信号S1のサンプリング周波数をFsとし、デシメーションフィルタ1のデシメーション比を「3」とすると、演算装置13は、3/Fsで示される時間内に一度の演算を完了する必要がある。デシメーションフィルタ1の伝達関数が前述した(1)式で示され、そのタップ数がnであるとすると、図2に示す構成の演算装置13では、乗算器21での乗算及びアキュムレータ22での累積加算を3/Fsで示される時間内にタップ数n回分実行しなければならない。
Here, if the sampling frequency of the signal S1 is Fs and the decimation ratio of the
例えば、信号Fsのサンプリング周波数が30MHzであり、タップ数nが「100」であるとすると、演算装置13の内部における動作周波数は1GHz以上である必要がある。このため、従来のデシメーションフィルタは、ポリフェーズフィルタとされている。これに対し、信号S1のサンプリング周波数が例えば1MHzと低速な場合には、タップ数nが「100」であっても、演算装置13の内部における動作周波数は33MHz程度で良く、図2示す構成で十分対応できる。
For example, if the sampling frequency of the signal Fs is 30 MHz and the number of taps n is “100”, the operating frequency inside the
タイミング制御回路14は、バッファメモリ11、係数メモリ12、及び演算装置13の動作タイミングを制御するものである。具体的には、読み出しデータD1を読み出すためのアドレスA1をバッファメモリ11に供給するとともに、前述したタイミング信号C1を演算装置13に出力する。また、フィルタ係数D2の読み出し位置を所定の位置(例えば、先頭アドレス)に設定するタイミング信号C2を係数メモリ12に出力する。
The
このタイミング制御信号14には、トリガ信号Trが入力されている。このトリガ信号Trは、デシメーションフィルタ1でのフィルタリングのタイミングを規定する信号であり、例えばデシメーションフィルタ1が計測器等に設けられる場合には、計測器が備える制御装置(図示省略)から出力される信号である。尚、タイミング制御信号14は、トリガ信号Trを必須とするものではなく、計測器以外の機器(例えば、オーディオ機器等)に設けられる場合には、省略されていても良い。
A trigger signal Tr is input to the
次に、本実施形態のデシメーションフィルタ1の動作について説明する。尚、以下の説明では、デシメーションフィルタ1のタップ数nが「100」であり、デシメーション比Mが「3」である場合を例に挙げて説明する。サンプリング周波数が1MHzの信号S1が入力されると、図3(a)に示す通り、入力された信号S1はアドレス0からアドレス順に順次記憶される。
Next, the operation of the
図3は、バッファメモリ11及び係数メモリ12のアドレスマップを示す図であって、(a)はバッファメモリ11のアドレスマップを示す図であり、(b)は係数メモリ12のアドレスマップを示す図である。尚、図3中において、信号S1として入力される個々の信号(サンプル)を「d0」,「d1」,「d2」,「d3」,「d4」,…,「d99」,…と表している。また、前述した(1)式中のフィルタ係数を、「h0」,「h1」,「h2」,「h3」,「h4」,…,「h99」,…と表している。尚、説明の便宜上、メモリマップのアドレスは10進数で表記している。
3A and 3B are diagrams showing an address map of the
次いで、タイミング制御回路14からバッファメモリ11に対してアドレスA1が出力されるとともに、タイミング制御回路14から演算回路13及び係数メモリ12に対してタイミング信号C1,C2がそれぞれ出力される。アドレスA1によって、バッファメモリ11から読み出しデータD1がクロックCKに同期して読み出される。また、タイミング信号C1によって演算装置13のアキュムレータ22が初期化される。更に、タイミング信号C2によって係数メモリ12におけるフィルタ係数D2の読み出し位置が所定の位置(例えば、先頭アドレス)に設定され、フィルタ係数D2の読み出しが開始される。
Next, the address A1 is output from the
バッファメモリ11から読み出された読み出しデータD1(「d0」)及び係数メモリ12から読み出されたフィルタ係数D2(「h0」)は、演算装置13の乗算器21に入力されて乗算され、その乗算結果はアキュムレータ22に保持される。尚、アキュムレータ22は乗算器21の乗算結果が入力されるまで初期化されていたため、乗算器21の乗算結果は累積加算はされない。
The read data D1 (“d0”) read from the
次に、タイミング制御回路14からバッファメモリ11に対してアドレスA1が出力され、バッファメモリ11から次の読み出しデータD1(「d1」)が読み出されるとともに、係数メモリ12からは次のフィルタ係数D2(「h1」)が読み出される。これらは、先に読み出されたものと同様に、演算装置13の乗算器21に入力されて乗算され、その乗算結果がアキュムレータ22で累積加算される。
Next, the
以下、同様の処理がタップ数「100」回分行われる。即ち、バッファメモリ11に記憶された信号「d99」が読み出されるまで行われ、かかる処理を終えると、演算装置13のアキュムレータ22の累積加算結果が信号S2として出力される。ここで、信号S1のサンプリング周波数は1MHzであり、クロックCKの周波数は100MHzである。このため、以上の一連の処理(バッファメモリ11に記憶された信号「d0」〜「d99」を順次読み出して演算装置13の乗算器21及びアキュムレータ22で順次演算する処理)は、1つのサンプルが信号S1としてデシメーションフィルタ1に入力されてから次のサンプルが入力されるまでの間に行われる。
Thereafter, the same processing is performed for the number of taps “100”. That is, the process is performed until the signal “d99” stored in the
以上の処理が終了すると、再びタイミング制御回路14からバッファメモリ11に対してアドレスA1が出力されるとともに、タイミング制御回路14から演算回路13及び係数メモリ12に対してタイミング信号C1,C2がそれぞれ出力される。ここで、前回の処理において、タイミング制御回路14から最初に出力されたアドレスA1は、バッファメモリ11の先頭アドレスに格納された信号「d0」を読み出すためのアドレス「0」であった。
When the above processing is completed, the address A1 is output again from the
今回の処理においては、前回の処理で最初に読み出した信号「d0」からデシメーション比「3」に相当するサンプル数だけタイミングが遅れている信号「d3」を読み出すためのアドレスが出力される。つまり、タイミング制御回路14からは、アドレス「3」を指定するアドレスA1が出力される。尚、タイミング信号C2によって設定されるフィルタ係数D2の読み出し開始位置は、前回と同様のアドレス(例えば、先頭アドレス)であり、タイミング信号C1により演算装置13のアキュムレータ22が初期化される。
In this process, an address for reading the signal “d3” whose timing is delayed by the number of samples corresponding to the decimation ratio “3” from the signal “d0” read first in the previous process is output. That is, the
以下、前回の処理と同様に、バッファメモリ11に記憶された信号「d3」〜「d102」が順次読み出されるとともに、係数メモリ12に記憶されたフィルタ係数「h0」〜「h99」が順次読み出される。そして、これらを演算装置13の乗算器21及びアキュムレータ22で順次演算し、アキュムレータ22の累積加算結果を信号S2として出力する処理が行われる。
Thereafter, as in the previous process, the signals “d3” to “d102” stored in the
図4は、本発明の一実施形態によるデシメーションフィルタ1の動作を説明するための図である。図4に示す通り、サンプリング周波数Fsを有するサンプリングクロックSKでサンプリングされた信号S1が順次デシメーションフィルタ1に入力されており、この信号S1は、タップ数n(ここでは、「100」)を単位として演算装置13で演算される。
FIG. 4 is a diagram for explaining the operation of the
具体的には、最初にサンプル「d0」〜「d99」の100個のサンプルに対する演算が演算装置13で行われ、この演算結果e1が信号S2として出力される。次に、最初のサンプル「d0」〜「d99」に対してデシメーション比M(ここでは「3」)に相当するサンプル数だけタイミングが遅れている100個のサンプル「d3」〜「d102」に対する演算が演算装置13で行われ、この演算結果e2が信号S2として出力される。次いで、サンプル「d3」〜「d102」に対してデシメーション比「3」に相当するサンプル数だけタイミングが遅れている100個のサンプル「d6」〜「d105」に対する演算が演算装置13で行われ、この演算結果e3が信号S2として出力される。
Specifically, first, calculation is performed on 100 samples “d0” to “d99” by the
ここで、図4を参照すると、信号S1はサンプリングクロックSK毎に入力されているのに対し、演算装置13の演算結果e1,e2,e3,…は、サンプリングクロックSKの3周期毎(即ち、デシメーション比「3」毎)に出力されているのが分かる。以下同様に、設定されたタップ数「100」を単位とし、先に演算が行われたサンプルに比してデシメーション比「3」に相当するサンプル数だけタイミングが遅れたサンプルに対して順次演算が行われることにより、信号S1をデシメーション比Mでダウンサンプリングした信号S2が得られる。 Here, referring to FIG. 4, the signal S1 is input for each sampling clock SK, whereas the calculation results e1, e2, e3,... It can be seen that the data is output at every decimation ratio “3”. In the same manner, the calculation is sequentially performed on the samples whose timing is delayed by the number of samples corresponding to the decimation ratio “3” as compared with the samples on which the calculation has been performed in the unit of the set tap number “100”. As a result, a signal S2 obtained by down-sampling the signal S1 with a decimation ratio M is obtained.
次に、トリガ信号Trが入力されたときの動作について説明する。トリガ信号Trが入力された場合には、トリガ信号Trが入力されたタイミングに同期して信号S2を出力する必要がある。図4に示す通り、演算装置13はタップ数nを単位として演算を行っているため、トリガ信号Trが入力されてから演算を開始すると、最初に得られる演算結果はタップ数nの1/2の遅延時間が生じたものとなる。
Next, the operation when the trigger signal Tr is input will be described. When the trigger signal Tr is input, it is necessary to output the signal S2 in synchronization with the timing when the trigger signal Tr is input. As shown in FIG. 4, since the
例えば、図4において、サンプル「d0」がデシメーションフィルタ1に入力されたときにトリガ信号Trも入力された場合を考える。かかる場合に、100個のサンプル「d0」〜「d99」を用いて最初に得られる演算結果e1は、サンプル「d0」〜「d99」の中間時点(即ち、サンプル「d50」が入力された時点)における演算結果と考えることができ、トリガ信号Trに対してタップ数nの1/2の遅延時間が生じている。
For example, consider the case where the trigger signal Tr is also input when the sample “d0” is input to the
タイミング制御回路14は、この遅延時間を解消するための制御を行う。具体的には、トリガ信号Trが入力された時点よりも演算装置13の遅延時間の1/2だけ前に入力された信号(サンプル)から読み出しを開始する制御を行う。図5は、トリガ信号Trが入力された場合にタイミング制御回路14で行われる読み出し制御を説明するための図である。いま、図5に示す通り、例えばサンプル「d100」がデシメーションフィルタ1に入力されたときにトリガ信号Trが入力されたとする。
The
このとき、タイミング制御回路14は、演算回路13の遅延時間の1/2だけ前のサンプル(「d51」)を読み出すアドレスA1をバッファメモリ11に出力する。そして、このサンプルを先頭として100個分のサンプル(「d51」〜「d150」)を読み出すアドレスA1を順次出力し、これらのサンプルを演算装置13に演算させて演算結果e11を得る。ここで得られた演算結果e11は、100個分のサンプル「d51」〜「d150」の中間時点(即ち、トリガ信号Trが入力された時点)における演算結果と考えることができ、トリガ信号Trに対する遅延時間は生じていない。
At this time, the
次に、タイミング制御回路14は、サンプル「d51」〜「d150」に対してデシメーション比「3」に相当するサンプル数だけタイミングが遅れている100個のサンプル「d54」〜「d153」を読み出すアドレスA1を順次バッファメモリ11に出力し、これらのサンプルを演算装置13に演算させて演算結果e12を得る。ここで得られた演算結果e12は、トリガ信号Trに対してサンプルクロックSKの3周期分(デシメーション比「3」に相当するサンプル数)だけタイミングが遅れたものである。以下同様にして、トリガ信号Trが入力されたタイミングに同期した信号S2が得られる。
Next, the
以上の通り、本実施形態のデシメーションフィルタ1は、信号S1を一時的に記憶するバッファメモリ11とフィルタ係数を記憶する係数メモリ12とを備え、係数メモリ12から読み出されるフィルタ係数D2を用いてバッファメモリ11から読み出される読み出しデータD1に対して演算装置13で所定の演算を行ってダウンサンプリングを行っている。ここで、デシメーション比はバッファメモリ11からの読み出しデータD1の読み出し方を変えることで変えることができる。このため、回路規模の増大を招かずに任意のデシメーション比に容易に対応することができる。
As described above, the
以上、本発明の一実施形態によるデシメーションフィルタについて説明したが、本発明は上記実施形態に制限されることなく、本発明の範囲内で自由に変更が可能である。例えば、上記実施形態では、演算装置13が1つの乗算器21と1つのアキュムレータ22とからなる構成であった。しかしながら、デシメーション比が大きい場合には、乗算器21及びアキュムレータ22からなる回路を、バッファメモリを挟んで2段縦続接続した構成であっても良い。
Although the decimation filter according to the embodiment of the present invention has been described above, the present invention is not limited to the above-described embodiment, and can be freely changed within the scope of the present invention. For example, in the above-described embodiment, the
また、信号S1はバッファメモリ11に一時的に記憶されており、演算装置13は信号S1のサンプリング周波数よりも十分高い動作周波数で動作する。このため、ダウンサンプリングのための処理が演算装置13で行われていない間は、他の信号処理を行うために演算装置13を用いても良い。例えば、他のフィルタ処理を行うフィルタ装置の一部に演算装置13が組み込まれた構成とし、ダウンサンプリングのための処理が演算装置13で行われていない間は、そのフィルタ装置で行われる信号処理を演算装置13で行っても良い。
Further, the signal S1 is temporarily stored in the
また、デシメーション比が予め固定される場合には、図6に示す構成とすることもできる。図6は、演算装置13の変形例を示すブロック図である。尚、図6においては、図2に示した構成と同一の構成には同一の符号を付してある。図6に示す通り、演算装置13は、遅延部31(第1遅延部)、遅延部32(第2遅延部)、乗算器33a〜33c、及びアキュムレータ22を備える。
Further, when the decimation ratio is fixed in advance, the configuration shown in FIG. 6 may be adopted. FIG. 6 is a block diagram illustrating a modification of the
遅延部31は、Dフリップフロップ(DFF)31a〜31cを縦続接続してなり、バッファメモリ11から読み出される読み出しデータD1を順次遅延させる。遅延部32は、Dフリップフロップ32a〜32cを縦続接続してなり、係数メモリ12から読み出されるフィルタ係数D2を順次遅延させる。乗算器33aは、遅延部31のDフリップフロップ31aを介した読み出しデータD1と、遅延部32のDフリップフロップ32aを介したフィルタ係数D2とを乗算する。
The
乗算器33bは、遅延部31のDフリップフロップ31bを介した読み出しデータD1と、遅延部32のDフリップフロップ32bを介したフィルタ係数D2とを乗算する。乗算器33cは、遅延部31のDフリップフロップ31cを介した読み出しデータD1と、遅延部32のDフリップフロップ32cを介したフィルタ係数D2とを乗算する。乗算器33a〜33cの乗算結果はアキュムレータ22の加算器22aに入力されている。
The
上記構成において、バッファメモリ11から読み出された読み出しデータD1は遅延部31に入力されて順次遅延され、これと同時に、係数メモリ12から読み出されたフィルタ係数D2は遅延部32に入力されて順次遅延される。3つの読み出しデータD1及び3つの係数データD3がバッファメモリ11及び係数メモリ12からそれぞれ読み出されるたびに乗算器33a〜33cの各々で乗算され、その乗算結果がアキュムレータ22で累積加算される。
In the above configuration, the read data D1 read from the
以上の構成にすることにより、図2に示す乗算器21及びアキュムレータ22の演算回数を、乗算器33a〜33cの数(図6に示す例では「3」)分の1にすることができる。乗算器33a〜33cの数を増やすほど演算回数を低減することができるが、回路規模の増大を招くため、乗算器33a〜33cの数及び遅延部31,32の段数は数個(数段)程度であることが望ましい。
With the above configuration, the number of operations of the
1 デシメーションフィルタ
12 係数メモリ
13 演算装置
14 タイミング制御回路
21 乗算器
22 アキュムレータ
31,32 遅延部
CK クロック
D1 読み出しデータ
D2 フィルタ係数
S1,S2 信号
1
Claims (5)
前記第1信号を一時的に記憶するバッファメモリと、
前記第1信号に対して所定のフィルタリングを行うためのフィルタ係数を記憶する係数メモリと、
前記係数メモリから読み出されるフィルタ係数を用いて前記バッファメモリから読み出される信号に対して所定の演算を行うことにより、前記所定のフィルタリングを行う演算装置と
を備えることを特徴とするデシメーションフィルタ。 In a decimation filter that converts a first signal sampled at a first sampling frequency into a second signal having a second sampling frequency lower than the first sampling frequency,
A buffer memory for temporarily storing the first signal;
A coefficient memory for storing a filter coefficient for performing predetermined filtering on the first signal;
A decimation filter comprising: an arithmetic unit that performs the predetermined filtering by performing a predetermined operation on a signal read from the buffer memory using a filter coefficient read from the coefficient memory.
前記演算装置は、前記バッファメモリから読み出された複数の信号に対し、前記第2サンプリング周波数で規定される時間間隔で前記所定の演算を行う
ことを特徴とする請求項1記載のデシメーションフィルタ。 The buffer memory reads a signal in synchronization with a clock having a frequency sufficiently higher than the first sampling frequency,
2. The decimation filter according to claim 1, wherein the arithmetic device performs the predetermined operation on a plurality of signals read from the buffer memory at time intervals defined by the second sampling frequency.
前記乗算器の乗算結果を累積加算するアキュムレータと
を備えることを特徴とする請求項1又は請求項2記載のデシメーションフィルタ。 The arithmetic device includes a multiplier that multiplies the filter coefficient output from the coefficient memory by the signal output from the buffer memory;
The decimation filter according to claim 1, further comprising: an accumulator that cumulatively adds multiplication results of the multiplier.
前記係数メモリから読み出されるフィルタ係数を順次遅延させる第2遅延部とを備え、
前記乗算器は、前記第1遅延部で遅延された複数の信号と、前記第2遅延部で遅延された複数のフィルタ係数とをそれぞれ乗算するために複数設けられている
ことを特徴とする請求項3記載のデシメーションフィルタ。 A first delay unit for sequentially delaying signals read from the buffer memory;
A second delay unit that sequentially delays the filter coefficients read from the coefficient memory,
The plurality of multipliers are provided to multiply the plurality of signals delayed by the first delay unit and the plurality of filter coefficients delayed by the second delay unit, respectively. Item 4. The decimation filter according to item 3.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007055418A JP2008219560A (en) | 2007-03-06 | 2007-03-06 | Decimation filter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007055418A JP2008219560A (en) | 2007-03-06 | 2007-03-06 | Decimation filter |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008219560A true JP2008219560A (en) | 2008-09-18 |
Family
ID=39839051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007055418A Pending JP2008219560A (en) | 2007-03-06 | 2007-03-06 | Decimation filter |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008219560A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010113526A1 (en) * | 2009-04-03 | 2010-10-07 | 三菱電機株式会社 | Product-sum operation device |
JP2014502457A (en) * | 2010-11-18 | 2014-01-30 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Method and system for programmable digital downconversion |
US9124247B2 (en) | 2011-09-08 | 2015-09-01 | Renesas Electronics Corporation | Semiconductor device including a decimation filter that performs predetermined filtering |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62101112A (en) * | 1985-10-28 | 1987-05-11 | Sony Corp | Sampling frequency conversion circuit |
JPH0472905A (en) * | 1990-07-13 | 1992-03-06 | Hitachi Ltd | Sampling frequency converter |
JPH08204506A (en) * | 1995-01-25 | 1996-08-09 | Hitachi Denshi Ltd | Interpolation circuit and interpolation system |
-
2007
- 2007-03-06 JP JP2007055418A patent/JP2008219560A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62101112A (en) * | 1985-10-28 | 1987-05-11 | Sony Corp | Sampling frequency conversion circuit |
JPH0472905A (en) * | 1990-07-13 | 1992-03-06 | Hitachi Ltd | Sampling frequency converter |
JPH08204506A (en) * | 1995-01-25 | 1996-08-09 | Hitachi Denshi Ltd | Interpolation circuit and interpolation system |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010113526A1 (en) * | 2009-04-03 | 2010-10-07 | 三菱電機株式会社 | Product-sum operation device |
JP4586114B1 (en) * | 2009-04-03 | 2010-11-24 | 三菱電機株式会社 | Product-sum operation unit |
JP2014502457A (en) * | 2010-11-18 | 2014-01-30 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Method and system for programmable digital downconversion |
US9385890B2 (en) | 2010-11-18 | 2016-07-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and systems for programmable digital down-conversion |
US10122551B2 (en) | 2010-11-18 | 2018-11-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and systems for programmable digital down-conversion |
US9124247B2 (en) | 2011-09-08 | 2015-09-01 | Renesas Electronics Corporation | Semiconductor device including a decimation filter that performs predetermined filtering |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100893740B1 (en) | Decimation filter | |
JP2006197599A (en) | Asynchronous sample rate converter | |
JPH039471A (en) | Moving average processor | |
JP2006345508A (en) | Method and device for converting sampling frequency of digital signal | |
JP3066241B2 (en) | Digital filter and oversampling type analog / digital converter using the digital filter | |
EP0557974A1 (en) | Sampling frequency converter | |
JP2008219560A (en) | Decimation filter | |
US6442580B1 (en) | Resampling method and resampler circuit | |
JPWO2008018197A1 (en) | Digital filter, synthesizing apparatus thereof, synthesizing program, and synthesizing program recording medium | |
JP2007202157A (en) | Sampling rate conversion | |
JP4249425B2 (en) | Interpolator | |
US7242326B1 (en) | Sample rate conversion combined with filter | |
JP2004248477A (en) | Digital protective relay | |
JP4242362B2 (en) | Signal processing apparatus having post-processing | |
US9030337B2 (en) | Multi-branch down converting fractional rate change filter | |
EP1458097A1 (en) | Arbitrary sampling rate conversion | |
JP2662694B2 (en) | Digital protection relay device | |
JPH0453307A (en) | Sampling frequency converter | |
Mehra et al. | Optimized design of decimator for alias removal in multirate DSP applications | |
JP4989575B2 (en) | Filter and filter configuration method | |
US20230198506A1 (en) | Arbitrary sample rate conversion using modulus accumulator | |
JP3172046B2 (en) | Sampling rate converter | |
JP2622962B2 (en) | Zooming device for FFT analyzer | |
Gupta et al. | A survey on efficient rational sampling rate conversion algorithms | |
JP2012085177A (en) | Decimator circuit, and operation method for decimator circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111025 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111214 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120515 |