JP2008219560A - Decimation filter - Google Patents

Decimation filter Download PDF

Info

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
Application number
JP2007055418A
Other languages
Japanese (ja)
Inventor
Takahiko Masumoto
隆彦 増本
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2007055418A priority Critical patent/JP2008219560A/en
Publication of JP2008219560A publication Critical patent/JP2008219560A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a decimation filter which can easily respond to an arbitrary decimation ratio without increasing the scale of a circuit. <P>SOLUTION: The decimation filter 1 is for converting a signal S1 sampled at a predetermined sampling frequency to a signal S2 having a lower sampling frequency. The decimation filter 1 comprises: a buffer memory 11 for temporarily storing the signal S1; a coefficient memory 12 for storing a filter coefficient for performing predetermined filtering on the signal S1; and an operational device 13 which performs the predetermined filtering by performing a predetermined operation on read-out data D1 read out from the buffer memory 11 using a filter coefficient D2 read out from the coefficient memory 12. <P>COPYRIGHT: (C)2008,JPO&INPIT

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 conventional decimator 100 includes a plurality of delay elements 101, a plurality of downsamplers 102, a plurality of filters 103, and an adder 104, and a signal having a sampling frequency Fs input from the input terminal T <b> 101. The signal is converted into a signal having a lower sampling frequency Fd and output from the output terminal T102.

遅延素子101は、信号を1/Fs周期(1周波数分)だけ遅延させる素子であり、例えばシフトレジスタで実現される。ダウンサンプラ102は、入力された信号をデシメーション比Mにダウンサンプリングする。フィルタ103の各々は、ポリフェーズ構成のデシメーションフィルタの一部をなすものであって、M個おきにデシメーションフィルタのフィルタ係数が選択されたフィルタである。加算器104は、フィルタ103の各々から出力される信号を加算するものである。   The delay element 101 is an element that delays a signal by a 1 / Fs period (for one frequency), and is realized by a shift register, for example. The downsampler 102 downsamples the input signal to a decimation ratio M. Each of the filters 103 forms part of a decimation filter having a polyphase configuration, and is a filter in which filter coefficients of the decimation filter are selected every M. The adder 104 adds signals output from each of the filters 103.

ここで、例えば1:3にデシメートするタップ数nのデシメーションフィルタの伝達関数H(z)が以下の(1)式で表されるとする。
H(z) = h + h*z−1 + h*z−2 + … + hn−2*z−(n−2) + hn−1*z−(n−1) …(1)
すると、ポリフェーズフィルタをなすフィルタは、D(z)〜D(z)までの3つとなり、以下の(2)〜(4)式でそれぞれ表される。尚、ここではタップ数nを3の倍数としている。
D(z) = h + h*z−1 + h*z−2 + … + hn−3*z−n/3+1 …(2)
D(z) = h + h*z−1 + h*z−2 + … + hn−2*z−n/3+1 …(3)
D(z) = h + h*z−1 + h*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 filter 103 only needs to perform a filter operation at a rate after downsampling, so that the processing burden on the decimation filter can be reduced. The signals output from each of the filters 103 are added by the adder 104, and a final downsampled signal is output from the output terminal T102. The calculation in each filter 103 constituting the polyphase filter is performed using an FIR filter (Finite Impulse Response Filter) or an IIR filter (Infinite Impulse Response Filter), or an FFT calculation (Fast Fourier Transform). be able to.

尚、従来のデシメーションフィルタの詳細については、例えば以下の非特許文献1を参照されたい。
貴家仁志著,「マルチレート信号処理」,第3版,昭晃堂
For details of the conventional decimation filter, refer to the following Non-Patent Document 1, for example.
Hitoshi Kiya, "Multi-rate signal processing", 3rd edition, Shosodo

ところで、図7に示す通り、デシメーションフィルタをポリフェーズ構成とした場合には、デシメーション比Mに応じた遅延素子101が必要になる。このため、例えばデシメーション比Mが「100」を越えるような大きな値に設定されると、多数の遅延素子101が必要になって回路規模が増大するとともに、フィルタ103の規模も増大してしまうという問題がある。   Incidentally, as shown in FIG. 7, when the decimation filter has a polyphase configuration, the delay element 101 corresponding to the decimation ratio M is required. For this reason, for example, if the decimation ratio M is set to a large value exceeding “100”, a large number of delay elements 101 are required, which increases the circuit scale and the scale of the filter 103. There's a problem.

デシメーション比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 decimation filter 1 of this embodiment includes a buffer memory 11, a coefficient memory 12, an arithmetic unit 13, and a timing control circuit 14, and is sampled at a predetermined sampling frequency (first sampling frequency). The signal S1 (first signal) is converted into a signal S2 (second signal) having a lower sampling frequency (second sampling frequency).

本実施形態のデシメーションフィルタ1は、特に低周波数(例えば、1MHz以下)の信号S1をフィルタリングするのに適している。尚、以下の説明では、信号S1が1MHzのサンプリング周波数でサンプリングされた16ビットの信号であるとする。また、本実施形態のデシメーションフィルタ1には、信号S1のサンプリング周波数よりも十分高い周波数を有するクロックCKが入力されている。このクロックCKは、バッファメモリ11及びタイミング制御回路14に入力されている。尚、以下の説明では、クロックCKの周波数が100MHzであるとする。   The decimation filter 1 of this embodiment is particularly suitable for filtering a signal S1 having a low frequency (for example, 1 MHz or less). In the following description, it is assumed that the signal S1 is a 16-bit signal sampled at a sampling frequency of 1 MHz. Further, the decimation filter 1 of the present embodiment receives a clock CK having a frequency sufficiently higher than the sampling frequency of the signal S1. This clock CK is input to the buffer memory 11 and the timing control circuit 14. In the following description, it is assumed that the frequency of the clock CK is 100 MHz.

バッファメモリ11は、入力される信号S1を一時的に記憶する。このバッファメモリ11は、例えばRAM(Random Access Memory)であり、信号S1をアドレス順に順次記憶する。尚、このバッファメモリ11としてFIFO(First-In First-Out:先入れ先出し)を用いることもできる。バッファメモリ11は、タイミング制御回路14の制御の下で、一時的に記憶した信号をクロックCKに同期して読み出す。尚、以下の説明では、バッファメモリ11から読み出される信号を読み出しデータD1という。   The buffer memory 11 temporarily stores the input signal S1. The buffer memory 11 is, for example, a RAM (Random Access Memory), and sequentially stores the signal S1 in the order of addresses. The buffer memory 11 may be a FIFO (First-In First-Out). The buffer memory 11 reads the temporarily stored signal in synchronization with the clock CK under the control of the timing control circuit 14. In the following description, a signal read from the buffer memory 11 is referred to as read data D1.

係数メモリ12は、デシメーションフィルタ1に入力される信号S1に対して所定のフィルタリングを行うためのフィルタ係数を記憶する。この係数メモリ12としては、バッファメモリ11と同様にRAM等を用いることができる。尚、本実施形態においては、係数メモリ12に記憶されるフィルタ係数は16ビットであるとし、不図示の制御装置によって予め記憶されるものとする。このフィルタ係数は、デシメーションフィルタ1が実現しようとするフィルタリングの特性(伝達関数H(z))によって適宜変更することができる。係数メモリ12は、タイミング制御回路14の制御の下でフィルタ係数D2を読み出す。   The coefficient memory 12 stores a filter coefficient for performing predetermined filtering on the signal S1 input to the decimation filter 1. As the coefficient memory 12, a RAM or the like can be used similarly to the buffer memory 11. In the present embodiment, it is assumed that the filter coefficient stored in the coefficient memory 12 is 16 bits and is stored in advance by a control device (not shown). This filter coefficient can be changed as appropriate according to the filtering characteristic (transfer function H (z)) to be realized by the decimation filter 1. The coefficient memory 12 reads the filter coefficient D2 under the control of the timing control circuit 14.

演算装置13は、係数メモリ12から読み出されるフィルタ係数D2を用いて、バッファメモリ11から読み出される読み出しデータに対して所定の演算を行うことにより、上述した信号S1に対する所定のフィルタリングを行う。演算装置13は上記の所定の演算をデシメーション比Mに相当するサンプル毎に行う、例えば、デシメーション比Mが「3」であるとすると、演算装置13は3サンプル毎に上記の演算を行う。即ち、演算装置13は、信号S2のサンプリング周波数で規定される時間間隔で上記の演算を行う。尚、上記の所定の演算は、具体的には、前述した(1)式に示した演算であり、そのタップ数及びデシメーション比は、不図示の制御装置によって設定される。次に、演算装置13の具体的な構成について説明する。   The calculation device 13 performs predetermined filtering on the signal S1 described above by performing predetermined calculation on the read data read from the buffer memory 11 using the filter coefficient D2 read from the coefficient memory 12. The computing device 13 performs the above-described predetermined computation for each sample corresponding to the decimation ratio M. For example, if the decimation ratio M is “3”, the computing device 13 performs the above computation every three samples. That is, the calculation device 13 performs the above calculation at a time interval defined by the sampling frequency of the signal S2. The predetermined calculation is specifically the calculation shown in the above-described equation (1), and the number of taps and the decimation ratio are set by a control device (not shown). Next, a specific configuration of the arithmetic device 13 will be described.

図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 arithmetic device 13. As shown in FIG. 2, the arithmetic device 2 includes a multiplier 21 and an accumulator 22. The multiplier 21 multiplies the read data D1 output from the buffer memory 11 and the filter coefficient D2 output from the coefficient memory 12. The accumulator 22 includes an adder 22a and a delay element 22b, and is output from the multiplier 21 by adding the data output from the multiplier 21 and the data output from the delay element 22b by the adder 22a. Cumulative data. The delay time of the delay element 22b is set according to the sampling frequency of the signal S1, the decimation ratio of the decimation filter 1, and the number of taps. The accumulator 22 receives the timing signal C1 from the timing control circuit 14. When this timing signal C1 is input, the accumulator 22 is initialized.

ここで、信号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 decimation filter 1 is “3”, the arithmetic unit 13 needs to complete one calculation within the time indicated by 3 / Fs. If the transfer function of the decimation filter 1 is expressed by the above-described equation (1) and the number of taps is n, the arithmetic unit 13 having the configuration shown in FIG. 2 performs multiplication by the multiplier 21 and accumulation by the accumulator 22. The addition must be performed n taps within the time indicated by 3 / Fs.

例えば、信号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 arithmetic device 13 needs to be 1 GHz or more. For this reason, the conventional decimation filter is a polyphase filter. On the other hand, when the sampling frequency of the signal S1 is as low as 1 MHz, for example, even if the number of taps n is “100”, the operation frequency inside the arithmetic unit 13 may be about 33 MHz, and the configuration shown in FIG. We can cope enough.

タイミング制御回路14は、バッファメモリ11、係数メモリ12、及び演算装置13の動作タイミングを制御するものである。具体的には、読み出しデータD1を読み出すためのアドレスA1をバッファメモリ11に供給するとともに、前述したタイミング信号C1を演算装置13に出力する。また、フィルタ係数D2の読み出し位置を所定の位置(例えば、先頭アドレス)に設定するタイミング信号C2を係数メモリ12に出力する。   The timing control circuit 14 controls the operation timing of the buffer memory 11, the coefficient memory 12, and the arithmetic device 13. Specifically, the address A1 for reading the read data D1 is supplied to the buffer memory 11, and the timing signal C1 described above is output to the arithmetic unit 13. In addition, a timing signal C2 for setting the reading position of the filter coefficient D2 to a predetermined position (for example, the head address) is output to the coefficient memory 12.

このタイミング制御信号14には、トリガ信号Trが入力されている。このトリガ信号Trは、デシメーションフィルタ1でのフィルタリングのタイミングを規定する信号であり、例えばデシメーションフィルタ1が計測器等に設けられる場合には、計測器が備える制御装置(図示省略)から出力される信号である。尚、タイミング制御信号14は、トリガ信号Trを必須とするものではなく、計測器以外の機器(例えば、オーディオ機器等)に設けられる場合には、省略されていても良い。   A trigger signal Tr is input to the timing control signal 14. The trigger signal Tr is a signal that defines the filtering timing in the decimation filter 1. For example, when the decimation filter 1 is provided in a measuring instrument or the like, the trigger signal Tr is output from a control device (not shown) provided in the measuring instrument. Signal. Note that the timing control signal 14 does not necessarily require the trigger signal Tr, and may be omitted when provided in a device (for example, an audio device) other than the measuring instrument.

次に、本実施形態のデシメーションフィルタ1の動作について説明する。尚、以下の説明では、デシメーションフィルタ1のタップ数nが「100」であり、デシメーション比Mが「3」である場合を例に挙げて説明する。サンプリング周波数が1MHzの信号S1が入力されると、図3(a)に示す通り、入力された信号S1はアドレス0からアドレス順に順次記憶される。   Next, the operation of the decimation filter 1 of this embodiment will be described. In the following description, the case where the tap number n of the decimation filter 1 is “100” and the decimation ratio M is “3” will be described as an example. When a signal S1 having a sampling frequency of 1 MHz is input, the input signal S1 is sequentially stored in the order of address from address 0 as shown in FIG.

図3は、バッファメモリ11及び係数メモリ12のアドレスマップを示す図であって、(a)はバッファメモリ11のアドレスマップを示す図であり、(b)は係数メモリ12のアドレスマップを示す図である。尚、図3中において、信号S1として入力される個々の信号(サンプル)を「d0」,「d1」,「d2」,「d3」,「d4」,…,「d99」,…と表している。また、前述した(1)式中のフィルタ係数を、「h」,「h」,「h」,「h」,「h」,…,「h99」,…と表している。尚、説明の便宜上、メモリマップのアドレスは10進数で表記している。 3A and 3B are diagrams showing an address map of the buffer memory 11 and the coefficient memory 12, wherein FIG. 3A is a diagram showing an address map of the buffer memory 11, and FIG. 3B is a diagram showing an address map of the coefficient memory 12. It is. In FIG. 3, the individual signals (samples) input as the signal S1 are represented as “d0”, “d1”, “d2”, “d3”, “d4”,..., “D99”,. Yes. Further, the filter coefficients in the above-described equation (1) are expressed as “h 0 ”, “h 1 ”, “h 2 ”, “h 3 ”, “h 4 ”,..., “H 99 ”,. Yes. For convenience of explanation, the address of the memory map is expressed in decimal.

次いで、タイミング制御回路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 timing control circuit 14 to the buffer memory 11, and the timing signals C1 and C2 are output from the timing control circuit 14 to the arithmetic circuit 13 and the coefficient memory 12, respectively. The read data D1 is read from the buffer memory 11 in synchronization with the clock CK by the address A1. Further, the accumulator 22 of the arithmetic unit 13 is initialized by the timing signal C1. Further, the reading position of the filter coefficient D2 in the coefficient memory 12 is set to a predetermined position (for example, the head address) by the timing signal C2, and the reading of the filter coefficient D2 is started.

バッファメモリ11から読み出された読み出しデータD1(「d0」)及び係数メモリ12から読み出されたフィルタ係数D2(「h」)は、演算装置13の乗算器21に入力されて乗算され、その乗算結果はアキュムレータ22に保持される。尚、アキュムレータ22は乗算器21の乗算結果が入力されるまで初期化されていたため、乗算器21の乗算結果は累積加算はされない。 The read data D1 (“d0”) read from the buffer memory 11 and the filter coefficient D2 (“h 0 ”) read from the coefficient memory 12 are input to the multiplier 21 of the arithmetic unit 13 and multiplied. The multiplication result is held in the accumulator 22. Note that the accumulator 22 has been initialized until the multiplication result of the multiplier 21 is input, so that the multiplication result of the multiplier 21 is not cumulatively added.

次に、タイミング制御回路14からバッファメモリ11に対してアドレスA1が出力され、バッファメモリ11から次の読み出しデータD1(「d1」)が読み出されるとともに、係数メモリ12からは次のフィルタ係数D2(「h」)が読み出される。これらは、先に読み出されたものと同様に、演算装置13の乗算器21に入力されて乗算され、その乗算結果がアキュムレータ22で累積加算される。 Next, the address A 1 is output from the timing control circuit 14 to the buffer memory 11, the next read data D 1 (“d 1”) is read from the buffer memory 11, and the next filter coefficient D 2 ( “H 1 ”) is read out. These are input to the multiplier 21 of the arithmetic unit 13 and multiplied as in the case of the data read out earlier, and the multiplication results are cumulatively added by the accumulator 22.

以下、同様の処理がタップ数「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 buffer memory 11 is read, and when this processing is completed, the cumulative addition result of the accumulator 22 of the arithmetic unit 13 is output as the signal S2. Here, the sampling frequency of the signal S1 is 1 MHz, and the frequency of the clock CK is 100 MHz. For this reason, the above series of processes (processes in which the signals “d0” to “d99” stored in the buffer memory 11 are sequentially read and sequentially calculated by the multiplier 21 and the accumulator 22 of the arithmetic unit 13) This is performed from when the signal S1 is input to the decimation filter 1 to when the next sample is input.

以上の処理が終了すると、再びタイミング制御回路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 timing control circuit 14 to the buffer memory 11, and the timing signals C1 and C2 are output from the timing control circuit 14 to the arithmetic circuit 13 and the coefficient memory 12, respectively. Is done. Here, in the previous processing, the address A1 first output from the timing control circuit 14 is the address “0” for reading the signal “d0” stored at the head address of the buffer memory 11.

今回の処理においては、前回の処理で最初に読み出した信号「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 timing control circuit 14 outputs an address A1 that designates the address “3”. Note that the read start position of the filter coefficient D2 set by the timing signal C2 is the same address as the previous time (for example, the head address), and the accumulator 22 of the arithmetic unit 13 is initialized by the timing signal C1.

以下、前回の処理と同様に、バッファメモリ11に記憶された信号「d3」〜「d102」が順次読み出されるとともに、係数メモリ12に記憶されたフィルタ係数「h」〜「h99」が順次読み出される。そして、これらを演算装置13の乗算器21及びアキュムレータ22で順次演算し、アキュムレータ22の累積加算結果を信号S2として出力する処理が行われる。 Thereafter, as in the previous process, the signals “d3” to “d102” stored in the buffer memory 11 are sequentially read out, and the filter coefficients “h 0 ” to “h 99 ” stored in the coefficient memory 12 are sequentially input. Read out. These are sequentially calculated by the multiplier 21 and the accumulator 22 of the arithmetic unit 13, and a process of outputting the cumulative addition result of the accumulator 22 as the signal S2 is performed.

図4は、本発明の一実施形態によるデシメーションフィルタ1の動作を説明するための図である。図4に示す通り、サンプリング周波数Fsを有するサンプリングクロックSKでサンプリングされた信号S1が順次デシメーションフィルタ1に入力されており、この信号S1は、タップ数n(ここでは、「100」)を単位として演算装置13で演算される。   FIG. 4 is a diagram for explaining the operation of the decimation filter 1 according to the embodiment of the present invention. As shown in FIG. 4, a signal S1 sampled with a sampling clock SK having a sampling frequency Fs is sequentially input to the decimation filter 1, and this signal S1 is in units of the number of taps n (here, “100”). Calculation is performed by the calculation device 13.

具体的には、最初にサンプル「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 calculation device 13, and the calculation result e1 is output as the signal S2. Next, operations are performed on 100 samples “d3” to “d102” whose timing is delayed by the number of samples corresponding to the decimation ratio M (here “3”) with respect to the first samples “d0” to “d99”. Is performed by the arithmetic unit 13, and the calculation result e2 is output as the signal S2. Next, the arithmetic unit 13 performs operations on 100 samples “d6” to “d105” whose timing is delayed by the number of samples corresponding to the decimation ratio “3” with respect to the samples “d3” to “d102”. The calculation result e3 is output as the signal S2.

ここで、図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 arithmetic device 13 performs the operation with the tap number n as a unit, when the operation is started after the trigger signal Tr is input, the first operation result obtained is 1/2 of the tap number n. The delay time is caused.

例えば、図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 decimation filter 1 in FIG. In such a case, the operation result e1 obtained first using 100 samples “d0” to “d99” is an intermediate time point between the samples “d0” to “d99” (that is, the time point when the sample “d50” is input). The delay time is ½ of the number of taps n with respect to the trigger signal Tr.

タイミング制御回路14は、この遅延時間を解消するための制御を行う。具体的には、トリガ信号Trが入力された時点よりも演算装置13の遅延時間の1/2だけ前に入力された信号(サンプル)から読み出しを開始する制御を行う。図5は、トリガ信号Trが入力された場合にタイミング制御回路14で行われる読み出し制御を説明するための図である。いま、図5に示す通り、例えばサンプル「d100」がデシメーションフィルタ1に入力されたときにトリガ信号Trが入力されたとする。   The timing control circuit 14 performs control for eliminating this delay time. Specifically, control is performed to start reading from a signal (sample) input before the time when the trigger signal Tr is input by a half of the delay time of the arithmetic unit 13. FIG. 5 is a diagram for explaining the read control performed by the timing control circuit 14 when the trigger signal Tr is input. Now, as shown in FIG. 5, for example, it is assumed that the trigger signal Tr is input when the sample “d100” is input to the decimation filter 1.

このとき、タイミング制御回路14は、演算回路13の遅延時間の1/2だけ前のサンプル(「d51」)を読み出すアドレスA1をバッファメモリ11に出力する。そして、このサンプルを先頭として100個分のサンプル(「d51」〜「d150」)を読み出すアドレスA1を順次出力し、これらのサンプルを演算装置13に演算させて演算結果e11を得る。ここで得られた演算結果e11は、100個分のサンプル「d51」〜「d150」の中間時点(即ち、トリガ信号Trが入力された時点)における演算結果と考えることができ、トリガ信号Trに対する遅延時間は生じていない。   At this time, the timing control circuit 14 outputs to the buffer memory 11 an address A1 for reading a sample (“d51”) that is 1/2 of the delay time of the arithmetic circuit 13. Then, the address A1 for reading 100 samples (“d51” to “d150”) starting from this sample is sequentially output, and the arithmetic unit 13 calculates these samples to obtain the calculation result e11. The calculation result e11 obtained here can be considered as a calculation result at an intermediate time point (ie, when the trigger signal Tr is input) of 100 samples “d51” to “d150”. There is no delay time.

次に、タイミング制御回路14は、サンプル「d51」〜「d150」に対してデシメーション比「3」に相当するサンプル数だけタイミングが遅れている100個のサンプル「d54」〜「d153」を読み出すアドレスA1を順次バッファメモリ11に出力し、これらのサンプルを演算装置13に演算させて演算結果e12を得る。ここで得られた演算結果e12は、トリガ信号Trに対してサンプルクロックSKの3周期分(デシメーション比「3」に相当するサンプル数)だけタイミングが遅れたものである。以下同様にして、トリガ信号Trが入力されたタイミングに同期した信号S2が得られる。   Next, the timing control circuit 14 reads 100 samples “d54” to “d153” whose timing is delayed by the number of samples corresponding to the decimation ratio “3” with respect to the samples “d51” to “d150”. A1 is sequentially output to the buffer memory 11, and the arithmetic unit 13 is operated on these samples to obtain a calculation result e12. The calculation result e12 obtained here is delayed in timing by three cycles of the sample clock SK (the number of samples corresponding to the decimation ratio “3”) with respect to the trigger signal Tr. Similarly, a signal S2 synchronized with the timing at which the trigger signal Tr is input is obtained.

以上の通り、本実施形態のデシメーションフィルタ1は、信号S1を一時的に記憶するバッファメモリ11とフィルタ係数を記憶する係数メモリ12とを備え、係数メモリ12から読み出されるフィルタ係数D2を用いてバッファメモリ11から読み出される読み出しデータD1に対して演算装置13で所定の演算を行ってダウンサンプリングを行っている。ここで、デシメーション比はバッファメモリ11からの読み出しデータD1の読み出し方を変えることで変えることができる。このため、回路規模の増大を招かずに任意のデシメーション比に容易に対応することができる。   As described above, the decimation filter 1 according to the present embodiment includes the buffer memory 11 that temporarily stores the signal S1 and the coefficient memory 12 that stores the filter coefficient, and uses the filter coefficient D2 read from the coefficient memory 12 to buffer the signal. Downsampling is performed by performing a predetermined calculation on the read data D1 read from the memory 11 by the calculation device 13. Here, the decimation ratio can be changed by changing the reading method of the read data D1 from the buffer memory 11. For this reason, it is possible to easily cope with an arbitrary decimation ratio without increasing the circuit scale.

以上、本発明の一実施形態によるデシメーションフィルタについて説明したが、本発明は上記実施形態に制限されることなく、本発明の範囲内で自由に変更が可能である。例えば、上記実施形態では、演算装置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 arithmetic device 13 has a configuration including one multiplier 21 and one accumulator 22. However, when the decimation ratio is large, a configuration in which the circuit including the multiplier 21 and the accumulator 22 is cascaded in two stages with the buffer memory interposed therebetween may be employed.

また、信号S1はバッファメモリ11に一時的に記憶されており、演算装置13は信号S1のサンプリング周波数よりも十分高い動作周波数で動作する。このため、ダウンサンプリングのための処理が演算装置13で行われていない間は、他の信号処理を行うために演算装置13を用いても良い。例えば、他のフィルタ処理を行うフィルタ装置の一部に演算装置13が組み込まれた構成とし、ダウンサンプリングのための処理が演算装置13で行われていない間は、そのフィルタ装置で行われる信号処理を演算装置13で行っても良い。   Further, the signal S1 is temporarily stored in the buffer memory 11, and the arithmetic unit 13 operates at an operating frequency sufficiently higher than the sampling frequency of the signal S1. For this reason, while the processing for downsampling is not performed by the arithmetic device 13, the arithmetic device 13 may be used to perform other signal processing. For example, the processing device 13 is incorporated in a part of a filter device that performs other filter processing, and signal processing performed in the filter device while the processing for downsampling is not performed in the processing device 13. May be performed by the arithmetic unit 13.

また、デシメーション比が予め固定される場合には、図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 arithmetic device 13. In FIG. 6, the same components as those shown in FIG. 2 are denoted by the same reference numerals. As illustrated in FIG. 6, the arithmetic device 13 includes a delay unit 31 (first delay unit), a delay unit 32 (second delay unit), multipliers 33 a to 33 c, and an accumulator 22.

遅延部31は、Dフリップフロップ(DFF)31a〜31cを縦続接続してなり、バッファメモリ11から読み出される読み出しデータD1を順次遅延させる。遅延部32は、Dフリップフロップ32a〜32cを縦続接続してなり、係数メモリ12から読み出されるフィルタ係数D2を順次遅延させる。乗算器33aは、遅延部31のDフリップフロップ31aを介した読み出しデータD1と、遅延部32のDフリップフロップ32aを介したフィルタ係数D2とを乗算する。   The delay unit 31 is formed by cascading D flip-flops (DFF) 31a to 31c, and sequentially delays read data D1 read from the buffer memory 11. The delay unit 32 is formed by cascading D flip-flops 32a to 32c, and sequentially delays the filter coefficient D2 read from the coefficient memory 12. The multiplier 33a multiplies the read data D1 through the D flip-flop 31a of the delay unit 31 and the filter coefficient D2 through the D flip-flop 32a of the delay unit 32.

乗算器33bは、遅延部31のDフリップフロップ31bを介した読み出しデータD1と、遅延部32のDフリップフロップ32bを介したフィルタ係数D2とを乗算する。乗算器33cは、遅延部31のDフリップフロップ31cを介した読み出しデータD1と、遅延部32のDフリップフロップ32cを介したフィルタ係数D2とを乗算する。乗算器33a〜33cの乗算結果はアキュムレータ22の加算器22aに入力されている。   The multiplier 33b multiplies the read data D1 through the D flip-flop 31b of the delay unit 31 and the filter coefficient D2 through the D flip-flop 32b of the delay unit 32. The multiplier 33c multiplies the read data D1 through the D flip-flop 31c of the delay unit 31 and the filter coefficient D2 through the D flip-flop 32c of the delay unit 32. The multiplication results of the multipliers 33 a to 33 c are input to the adder 22 a of the accumulator 22.

上記構成において、バッファメモリ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 buffer memory 11 is input to the delay unit 31 and sequentially delayed. At the same time, the filter coefficient D2 read from the coefficient memory 12 is input to the delay unit 32. Sequentially delayed. Each time the three read data D1 and the three coefficient data D3 are read from the buffer memory 11 and the coefficient memory 12, respectively, the multipliers 33a to 33c are multiplied, and the multiplication results are cumulatively added by the accumulator 22.

以上の構成にすることにより、図2に示す乗算器21及びアキュムレータ22の演算回数を、乗算器33a〜33cの数(図6に示す例では「3」)分の1にすることができる。乗算器33a〜33cの数を増やすほど演算回数を低減することができるが、回路規模の増大を招くため、乗算器33a〜33cの数及び遅延部31,32の段数は数個(数段)程度であることが望ましい。   With the above configuration, the number of operations of the multiplier 21 and the accumulator 22 shown in FIG. 2 can be reduced to 1 / number of multipliers 33a to 33c (“3” in the example shown in FIG. 6). As the number of multipliers 33a to 33c is increased, the number of operations can be reduced. However, since the circuit scale is increased, the number of multipliers 33a to 33c and the number of stages of the delay units 31 and 32 are several (several stages). It is desirable that the degree.

本発明の一実施形態によるデシメーションフィルタの構成を示すブロック図である。It is a block diagram which shows the structure of the decimation filter by one Embodiment of this invention. 演算装置13の構成を示す図である。3 is a diagram illustrating a configuration of a calculation device 13. FIG. バッファメモリ11及び係数メモリ12のアドレスマップを示す図である。It is a figure which shows the address map of the buffer memory 11 and the coefficient memory 12. 本発明の一実施形態によるデシメーションフィルタ1の動作を説明するための図である。It is a figure for demonstrating operation | movement of the decimation filter 1 by one Embodiment of this invention. トリガ信号Trが入力された場合にタイミング制御回路14で行われる読み出し制御を説明するための図である。FIG. 5 is a diagram for explaining read control performed by a timing control circuit when a trigger signal Tr is input. 演算装置13の変形例を示すブロック図である。It is a block diagram which shows the modification of the arithmetic unit. ポリフェーズ構成のデシメーションフィルタを備える従来のデシメータの構成を示すブロック図である。It is a block diagram which shows the structure of the conventional decimator provided with the decimation filter of a polyphase structure.

符号の説明Explanation of symbols

1 デシメーションフィルタ
12 係数メモリ
13 演算装置
14 タイミング制御回路
21 乗算器
22 アキュムレータ
31,32 遅延部
CK クロック
D1 読み出しデータ
D2 フィルタ係数
S1,S2 信号
1 Decimation Filter 12 Coefficient Memory 13 Arithmetic Unit 14 Timing Control Circuit 21 Multiplier 22 Accumulator 31, 32 Delay Unit CK Clock D1 Read Data D2 Filter Coefficient S1, S2 Signal

Claims (5)

第1サンプリング周波数でサンプリングされた第1信号を、前記第1サンプリング周波数より低い第2サンプリング周波数の第2信号に変換するデシメーションフィルタにおいて、
前記第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.
前記バッファメモリは、前記第1サンプリング周波数よりも十分高い周波数を有するクロックに同期して信号の読み出しを行い、
前記演算装置は、前記バッファメモリから読み出された複数の信号に対し、前記第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.
前記バッファメモリから読み出される信号を順次遅延させる第1遅延部と、
前記係数メモリから読み出されるフィルタ係数を順次遅延させる第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.
前記バッファメモリ及び前記係数メモリの読み出しタイミング、並びに前記演算装置の演算タイミングを制御するタイミング制御回路を備えることを特徴とする請求項1から請求項4の何れか一項に記載のデシメーションフィルタ。   5. The decimation filter according to claim 1, further comprising a timing control circuit that controls a read timing of the buffer memory and the coefficient memory, and a calculation timing of the calculation device.
JP2007055418A 2007-03-06 2007-03-06 Decimation filter Pending JP2008219560A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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