JPH03211910A - Digital filter - Google Patents

Digital filter

Info

Publication number
JPH03211910A
JPH03211910A JP620090A JP620090A JPH03211910A JP H03211910 A JPH03211910 A JP H03211910A JP 620090 A JP620090 A JP 620090A JP 620090 A JP620090 A JP 620090A JP H03211910 A JPH03211910 A JP H03211910A
Authority
JP
Japan
Prior art keywords
filter
taps
digital filter
output
input
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
JP620090A
Other languages
Japanese (ja)
Inventor
Naoyuki Kamisaka
直行 上坂
Jun Nakayama
準 中山
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.)
Hitachi Ltd
Hitachi Information Technology Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Communication Systems Inc
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 Hitachi Ltd, Hitachi Communication Systems Inc filed Critical Hitachi Ltd
Priority to JP620090A priority Critical patent/JPH03211910A/en
Publication of JPH03211910A publication Critical patent/JPH03211910A/en
Pending legal-status Critical Current

Links

Landscapes

  • Filters That Use Time-Delay Elements (AREA)

Abstract

PURPOSE:To reduce the increase of a scale of a hardware in order to increase the number of taps of an FIR type filter by constituting the digital filter so that a convolutional operation to be executed is divided into blocks. CONSTITUTION:The digital filter is realized by circuits 1000, 1001 for executing a convolutional operation of the filter by divided convolutional operations, an accumulator 1002 for synthesizing its outputs and a memory 1030. In such a way, in an FIR type digital filter having a large number of taps, the increase of a scale of a hardware can be reduced, and also, by the address control of a filter coefficient ROM and an accumulation memory, the number of taps can be changed easily.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はFIR型ディジタルフィルタに係り、特にタッ
プ数の多い場合に好適なディジタルフィルタに関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an FIR type digital filter, and particularly to a digital filter suitable for a case with a large number of taps.

〔従来の技術〕[Conventional technology]

従来のNタップの有限インパルス応答(FiniteI
npulse  Re5ponse ;以下FIRと称
す)型ディジタルフィルタは次の第1式で記述される。
Conventional N-tap finite impulse response (FiniteI)
The npulse Re5ponse (hereinafter referred to as FIR) type digital filter is described by the following first equation.

N−に 二でXはフィルタ入力、yはフィルタ出力、hはフィル
タのインパルス応答を表おす。第1式の演算を実現する
手段として、例えば特開昭62−284510号公報の
「移動係数を用いた縦続接続可能なディジタルフィルタ
プロセッサ」に記載されたものがある。ここに開示され
た構成を第5図に示す。
In N-2, X represents the filter input, y represents the filter output, and h represents the impulse response of the filter. As a means for realizing the calculation of the first equation, there is, for example, a method described in Japanese Patent Application Laid-Open No. 62-284510 titled "Digital filter processor that can be connected in cascade using moving coefficients". The configuration disclosed herein is shown in FIG.

第5図は従来のディジタルフィルタの第1例を示す構成
図である。このディジタルフィルタプロセッサ5000
はフィルタ入力データXゎ、を記憶するレジスタ501
0と、係数り、を記憶するN個のレジスタ5011−5
01Nと、X、−4とhlを乗算するN個の乗算器50
21〜502Nと、乗算器出力を累算するN個の累算器
5031〜503Nと、累算器出力を選択するマルチプ
レクサ5040とより成る。この構成で、入力データx
、−、l!同時にN個の乗算器5021−502Nに供
給さ九、一方のフィルタ係数りゎは例えばROM等に記
憶された係数hN−t〜haがサイクリックに読み出さ
れるもので、これはレジスタ5011に取り込まれる。
FIG. 5 is a block diagram showing a first example of a conventional digital filter. This digital filter processor 5000
is a register 501 that stores filter input data Xゎ.
N registers 5011-5 that store 0 and coefficients
N multipliers 50 that multiply 01N, X, -4 and hl
21 to 502N, N accumulators 5031 to 503N that accumulate the multiplier outputs, and a multiplexer 5040 that selects the accumulator outputs. With this configuration, input data x
,-,l! One of the filter coefficients supplied to N multipliers 5021-502N at the same time is a coefficient hN-t~ha stored in a ROM, etc., which is cyclically read out, and this is taken into a register 5011. .

N個のレジスタ5011〜501Nはこの係数り、をシ
フトするものであり、その出力はN個の乗算器5021
〜502Nに各々供給される。各乗算器出力には各々累
積器5031〜503Nが接続され、ここではフィルタ
係数り。−hN−[の乗算器出力が累算される。上記の
フィルタ係数り、のシフト動作により。
N registers 5011 to 501N shift this coefficient, and the output thereof is sent to N multipliers 5021.
~502N, respectively. Accumulators 5031 to 503N are connected to each multiplier output, and here the filter coefficients are connected. The multiplier outputs of -hN-[ are accumulated. Due to the shift operation of the above filter coefficients.

累積器5031〜503Nは順々に第1式の演算を完了
することになる。この順々に発生する第1式の演算結果
はマルチプレクサ5040により選択され、フィルタ出
力y4として出力される。この構成によりタップ数2N
のFIR型フィルタを得る構成を第6図および第7図に
示す。
The accumulators 5031 to 503N complete the calculation of the first equation one after another. The calculation results of the first equation generated in sequence are selected by the multiplexer 5040 and output as the filter output y4. With this configuration, the number of taps is 2N.
The configuration for obtaining the FIR type filter is shown in FIGS. 6 and 7.

第6図は第5図のタップ数が増加した場合のフィルタの
構成図である。この、ディジタルフィルタは第5図のデ
ィジタルフィルタプロセッサ(以下DFPと称す)を縦
続接続したものである。フィルタ入力データX、−1は
第1のDFP6010および第2のDFP6011に供
給され、フィルタ係数り、は係数ROM602に記憶さ
れシーケンサ603より供給されるアドレスに従い読み
出されて第1のDFP6010に入力され、第2のDF
P6011へのフィルタ係数り、の供給は第1のDFP
6010でのフィルタ係数h9のシフトレジスタ最終段
より行なわれる。第5図においてフィルタ出力y。がN
個の累算器5031〜503Nより順々に得られたのと
同様KI第6図においでは第1のDFP6010内の累
算器および第2のDFP6011内の累算器より順々に
得られる。このためにシーケンサ6030から第1のD
FP6010および第2のDFP6011には各内部の
マルチプレクサを選択する信号および各DFP6010
,6011f7)出力をイネーブルにする信号が供給さ
れる。第1のDFP6010の出力と第2のDFP60
11の出力はワイヤードオ接続され、上記のイネーブル
信号により第1のDFP6010と第2のDFP6o1
1の出力を選択し、タップ数2Nのディジタルフィルタ
8力y、が得られる。
FIG. 6 is a block diagram of the filter shown in FIG. 5 when the number of taps is increased. This digital filter is a cascade connection of digital filter processors (hereinafter referred to as DFP) shown in FIG. The filter input data X, -1 is supplied to the first DFP 6010 and the second DFP 6011, and the filter coefficients X, -1 are stored in the coefficient ROM 602, read out according to the address supplied from the sequencer 603, and inputted to the first DFP 6010. , second DF
The filter coefficients to P6011 are supplied to the first DFP.
This is performed from the final stage of the shift register of filter coefficient h9 at 6010. In FIG. 5, the filter output y. is N
In KI FIG. 6, the accumulators in the first DFP 6010 and the accumulators in the second DFP 6011 sequentially obtain the accumulators in FIG. For this purpose, the first D
The FP6010 and the second DFP6011 each have a signal for selecting an internal multiplexer and a signal for each DFP6010.
, 6011f7) output is provided. Output of first DFP6010 and second DFP60
The output of 11 is wired-off, and the enable signal enables the first DFP6010 and the second DFP6o1
By selecting the output of 1, the output y of a digital filter with 2N taps is obtained.

第7図は第5図のタップ数が増加した場合のフィルタの
他の構成図である。このディジタルフィルタは第5図の
1つのDFPによりタップ数2Nのフィルタを得るもの
である。フィルタ入力データxn−,のデータX++−
myxゎ−、−5がファーストイン。
FIG. 7 is another configuration diagram of the filter shown in FIG. 5 when the number of taps is increased. This digital filter obtains a filter with the number of taps of 2N using one DFP shown in FIG. Filter input data xn-, data X++-
myxwa-, -5 is the first in.

ファーストアウトメモリ(以下FIFOと称す)701
およびマルチプレクサ702によりDFP705に供給
される。一方のフィルタ係数りはDFP入力がχ、−1
のときにり、でDFP入力がXニーM−waのときにり
、+、となるようにフィルタ係数ROM703からDF
P705へ供給される。シーケンサ704からの信号が
各部に供給される。
First out memory (hereinafter referred to as FIFO) 701
and is supplied to the DFP 705 by the multiplexer 702. For one filter coefficient, the DFP input is χ, -1
The filter coefficient ROM 703 reads DF so that when the DFP input becomes
Supplied to P705. Signals from the sequencer 704 are supplied to each section.

上記の入力データx 、、、 x 、−□1および係数
h l1lh a+Nの関係は次の第2式により説明で
きる。
The relationship between the above input data x, , x, -□1 and the coefficient h l1lh a+N can be explained by the following second equation.

mm。mm.

I11寓O 第2式の右辺の第1項は入力データX、−に対するDF
P705での乗算結果で第2項は入力データXゎ□−1
に対するDFP705での乗算結果を表わし、双方の乗
算結果は同一の累算器で累算することにより2Nタツプ
デイジタルフイルタ出力yケとなることがわかる。ただ
し第7図のDFP705内部のフィルタ係数りを記憶す
るシフトレジスタは係数hllfhm−Nをシフトする
ために第8図に示すように第5図の場合の2倍のシフト
レジスタを必要とする。第8図は第7図のDFP内部の
レジスタ構成図である。係数りのレジスタ801と、乗
算器802と、累算器803を示す。
I11.O The first term on the right side of the second equation is the DF for the input data X, -
The second term in the multiplication result at P705 is the input data Xゎ□-1
It can be seen that by accumulating both multiplication results in the same accumulator, the 2N tap digital filter output y is obtained. However, the shift register for storing the filter coefficients inside the DFP 705 in FIG. 7 requires twice as many shift registers as in the case of FIG. 5, as shown in FIG. 8, in order to shift the coefficient hllfhm-N. FIG. 8 is a register configuration diagram inside the DFP of FIG. 7. A coefficient register 801, a multiplier 802, and an accumulator 803 are shown.

また第1式で記述されるNタップFIR型ディジタルフ
ィルタを実現する他の手段として、例えPe1ed  
Abraham、 Liu  Bede著、John 
 Viley &5ons、  Inc、 1976年
出版0“Digital  SignalPreces
sing”の第5章に記載のものがある。ここで述べら
れている構成を第9図に示す。
In addition, as another means for realizing the N-tap FIR type digital filter described by the first equation, for example, Pe1ed
Abraham, Liu Bede, John
Viley & 5ons, Inc. Published 1976 0 “Digital Signal Preces
There is one described in Chapter 5 of "Sing". The configuration described here is shown in FIG.

第9図は従来のディジタルフィルタの第2例を示す構成
図である。このディジタルフィルタの構成はbit  
5erial  mechanizationと呼ばれ
るものであり、その動作原理は次の第3式で説明できる
FIG. 9 is a block diagram showing a second example of a conventional digital filter. The configuration of this digital filter is bit
This is called 5erial mechanization, and its operating principle can be explained by the following third equation.

第3式で入力データXはBビット構成で2の補数表現と
し、x、、、は入力データXのn−m番目のサンプルの
に番目のビットの値を表わすものとする。第3式による
と入力データXのに番目のビットに対するフィルタ応答
を2 の重み付けで累算することによりフィルタ出力y
、を得られることがかわる。入力データXのに番目のビ
ット列のフィルタ応答を得る方法としては、例えばその
ビット列をアドレスとして、前もって畳込み演算した結
果を記憶したROMを参照する方法がある。
In the third equation, the input data X has a B-bit structure and is expressed as a two's complement number, and x, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 11, 10, 10, 1f t, ,,, ,,, ,,, ,,, ,,, ,,,,, h,,,,, and eg, and, and eg, and,, eg,,,, According to the third equation, by accumulating the filter response to the th bit of input data X with a weight of 2, the filter output y
, it changes what you can get. As a method for obtaining the filter response of the bit string of the input data X, there is a method, for example, of using that bit string as an address and referring to a ROM that has previously stored the results of a convolution operation.

いまROM出力をFで表わすと、第3式は次の第4式に
書き替えられる。
Now, if the ROM output is represented by F, the third equation can be rewritten into the following fourth equation.

p’ Cx0e x’  ”’+  ’   )   
(s)n   n−1”n−!i÷1 ここでFの括弧内はROMアドレスを表わす、第5式の
演算を実現するためには、まず入力データxttK番目
のビット列に展開しなければならない。
p' Cx0e x'”'+')
(s)n n-1”n-!i÷1 Here, the parentheses of F represent the ROM address. No.

このため第9図に示すように入力データXはパラレル/
シリアル変換器901に入力され、この出力はLSBよ
り順にN段のBビット構成のシフトレジスタ902に接
続される。個のパラレル/シリアル変換器901が1つ
のサンプルを取り込む間にシフトレジスタ902はBビ
ットシフト動作を行ない、このシフトレジスタ902か
らはN組の入力データのに番目のビット値x1〜”n−
N+□が取り出されて畳込み演算ROM903のアドレ
スどなる。このROM903には第5式に記述したFの
値すなわち入力データのに番目のN個のビット列に対す
るフィルタ応答が記憶されており、そのROM出力出力
レジスタ905に取り込まれた後に加算/減算器904
に入力される。なお加算/減算器904はkがゼロのと
き即ちMSHのときにレジスタ905の値を減算してk
が他の値のときは加算するようにコントロールされてい
る。
Therefore, as shown in Figure 9, the input data
The signal is input to a serial converter 901, and its output is connected to a shift register 902 having an N-stage B-bit configuration in order from the LSB. While the parallel/serial converters 901 take in one sample, the shift register 902 performs a B-bit shift operation, and from this shift register 902, the bit values x1 to "n-" of N sets of input data are input.
N+□ is taken out and the address of the convolution operation ROM 903 becomes loud. This ROM 903 stores the value of F described in Equation 5, that is, the filter response to the Nth bit string of the input data, and after being fetched into the ROM output output register 905, it is sent to the adder/subtractor 905.
is input. Note that the adder/subtracter 904 subtracts the value of the register 905 when k is zero, that is, when MSH is
is controlled to be added when is another value.

加算/減算器出力はレジスタ906およびレジスタ90
7に接続され、レジスタ906の出力はレジスタ905
に対して1ビツトLSB側にシフトするように加算/減
算器904に接続されており、これにより2− kの重
み付けによる累算を実現している。レジスタ907はレ
ジスタ905より入力データのMSBのビット列に対す
るフィルタ応答が加算/減算器904に供給されたとき
KIその結果を取り比すように動作する。上記の動作に
よりレジスタ907の出力よりフィルタ出力y、が得ら
れる。この構成により2NタツプのFIR型フィルタを
実現する構成を第10図に示す。
Adder/subtractor outputs are in register 906 and register 90
7 and the output of register 906 is connected to register 905.
It is connected to an adder/subtracter 904 so as to shift the signal to the LSB side by 1 bit, thereby realizing accumulation by weighting 2-k. The register 907 operates to compare the KI results when the filter response to the MSB bit string of the input data is supplied from the register 905 to the adder/subtractor 904. Through the above operation, the filter output y is obtained from the output of the register 907. A configuration for realizing a 2N tap FIR type filter using this configuration is shown in FIG.

第10図は第9図のタップ数が増加した場合のフィルタ
の構成図である。このフィルタの動作は次の第6式によ
り説明できる。
FIG. 10 is a configuration diagram of the filter shown in FIG. 9 when the number of taps is increased. The operation of this filter can be explained by the following equation 6.

F(X、、*”’pX、−N41) −F(xn−N”
””’+−2N+1)  (6)第6式でROMのアド
レスはX、〜xn−N+□およk        及 びx”x   の2通り(k=o−B−1)n−Nn−
2N+1 で表わされており、これは第10図のマルチプレクサ1
08によりレジスタ102の出力を選択することにより
実現している。この場合にパラレル/シリアル変換@1
01が1つのサンプルを取り込む間に2B回だけ畳込み
演算ROMIO3をアクセスする。ROMIO3はフィ
ルタのインパルス応答の前半ブロックおよび後半ブロッ
クに対する応答が書き込まれており、マルチプレクサ1
08の動作に同期してブロックセレクトされている。レ
ジスタ105,106および加算/減算器104は第9
図と同様の動作で2B通りのビツト列に対するROM出
力を累算し、レジスタ107はその結果を取り出すよう
に動作する。
F(X,, *”'pX, -N41) -F(xn-N"
""'+-2N+1) (6) In the sixth equation, the ROM address is X, ~xn-N+□ and k and x"x (k=o-B-1)n-Nn-
2N+1, which is represented by multiplexer 1 in Figure 10.
This is realized by selecting the output of the register 102 using 08. In this case, parallel/serial conversion @1
01 accesses the convolution operation ROMIO3 only 2B times while taking in one sample. ROMIO3 has the responses for the first and second half blocks of the filter's impulse response written therein, and multiplexer 1
Block selection is performed in synchronization with the operation of 08. Registers 105, 106 and adder/subtractor 104 are the ninth
The ROM outputs for 2B bit strings are accumulated in the same manner as shown in the figure, and the register 107 operates to take out the results.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上記従来技術は、フィルタのタップ数を多くする上でハ
ードウェアの規模が大きくなるという問題点がある。例
えば第5図に示したDFPによる2NタツプのFIR型
フィルタ構成では、第6図の例では2個のDFPを必要
とし、第7図の例では第8図のようにN個のシフトレジ
スタを追加する必要がある。また第9図に示したbit
  serialmechanj、zation によ
る2NタツプのFIR型フィルタ構成では、第10図の
ようにN個のサンプルを記憶するシフトレジスタおよび
N段のマルチプレクサの追加が必要であった。
The above-mentioned conventional technology has a problem in that the scale of the hardware increases when the number of taps of the filter is increased. For example, in the FIR type filter configuration with 2N taps using DFPs shown in Figure 5, the example in Figure 6 requires two DFPs, and the example in Figure 7 requires N shift registers as shown in Figure 8. need to be added. Also, the bit shown in Figure 9
In the 2N tap FIR type filter configuration by serialmechanj,zation, it was necessary to add a shift register for storing N samples and an N-stage multiplexer as shown in FIG.

本発明の目的はFIR型フィルタのタップ数を多くする
上でハードウェアの規模増大を軽減するディジタルフィ
ルタを提供することにある。
An object of the present invention is to provide a digital filter that reduces the increase in hardware size when increasing the number of taps of an FIR type filter.

〔課題を解決するための手段〕[Means to solve the problem]

上記目的を達成するためKI本発明によるディジタルフ
ィルタはフィルタの畳込み演算を分割された畳込み演算
を行なう回路と、その出力を合成する累算器およびメモ
リとにより実現するようにしたものである。
In order to achieve the above object, the digital filter according to the present invention implements the convolution operation of the filter using a circuit that performs divided convolution operations, an accumulator that combines the outputs, and a memory. .

〔作用〕[Effect]

上記ディジタルフィルタは実行すべき畳込み演算をブロ
ック分割することにより、演算に必要とするハードウェ
アを分割された畳込み演算を実行する回路と、その演算
結果を合成する累算器およびメモリとに削減することが
できる。このことを次の第7式を用いて説明する。
By dividing the convolution operation to be executed into blocks, the digital filter described above divides the hardware required for the operation into a circuit that executes the divided convolution operation, an accumulator and memory that synthesizes the operation results. can be reduced. This will be explained using the following formula 7.

第7式を実行するため第5図の第1の従来例ではフィル
タ係数h□を記憶する128個のレジスタを必要とし、
また第9図の第2の従来例ではフィルタ入力を記憶する
128個のレジスタを必要とする。そこで本発明のブロ
ック分割の手法として例えば16タツプの畳込み演算に
分割した場合を考えると、次の第8式がブロック分割後
の演算式である。
In order to execute Equation 7, the first conventional example shown in FIG. 5 requires 128 registers to store the filter coefficient h□.
Further, the second conventional example shown in FIG. 9 requires 128 registers for storing filter inputs. Therefore, considering the case where the block division method of the present invention is divided into, for example, 16 tap convolution operations, the following Equation 8 is the calculation expression after block division.

第8式においてY49.、はフィルタ出力y、を得るた
めのi番目の畳込み演算を表わす。第8式に必要とする
ハードウェアは16タツプの畳込み演算を実行する回路
と、その出力を合成する累算器およびメモリとである。
In the 8th formula, Y49. , represents the i-th convolution operation to obtain the filter output y. The hardware required for Equation 8 is a circuit for performing a 16-tap convolution operation, an accumulator for synthesizing its output, and a memory.

フィルタとして低域通過形フィルタの場合には、一般に
入力のサンプルレートに対して出力サンプルレートを低
くすることができる。ここで入力サンプルの16回に対
して出力を得る場合についてハードウェア規模を評価す
る。この場合に出力y0はnが16の倍数のときのみ第
8式を実行すればよい。すなわち第8式のy19.は入
力16サンプルの区間に8ブロック分が演算されること
になる。この各ブロックの演算結果は8ブロック分が累
算されるまでレジスタに格納され、累算完了後にフィル
タ出力として取り出される。したがってこの場合に必要
とするハードウェアは入力16サンプルに対する畳込み
演算回路と、累算器と、8個の畳込み演算累算結果格納
用レジスタとなり、このように入出力のサンプルレート
の比に応じてハードウェアの削減が可能となるものであ
る。
If the filter is a low-pass filter, the output sample rate can generally be lower than the input sample rate. Here, the hardware scale will be evaluated for the case where output is obtained for 16 input samples. In this case, for the output y0, it is only necessary to execute equation 8 when n is a multiple of 16. That is, y19 of the 8th equation. 8 blocks are calculated in the interval of 16 input samples. The calculation results for each block are stored in a register until eight blocks have been accumulated, and after the accumulation is completed, they are taken out as a filter output. Therefore, the hardware required in this case is a convolution operation circuit for the 16 input samples, an accumulator, and 8 registers for storing the accumulated results of the convolution operation. Accordingly, it is possible to reduce the amount of hardware required.

〔実施例〕〔Example〕

以下に本発明の実施例を第1図から第4図により説明す
る。
Embodiments of the present invention will be described below with reference to FIGS. 1 to 4.

第1図は本発明によるディジタルフィルタの一実施例を
示す構成図である。このディジタルフィルタはN個の入
力サンプル値とN個のフィルタ係数の畳込み演算による
N個のタップのFIR型ディジタルフィルタを、N個の
タップをM個(Mは1以上でN以下の整数)のブロック
に分割して各々のブロックのに個(Kは1以上でM以下
の整数)のタップとM通りのに個のフィルタ係数による
畳込み演算結果の累算により実現するものである。
FIG. 1 is a block diagram showing an embodiment of a digital filter according to the present invention. This digital filter is an N-tap FIR type digital filter based on a convolution operation of N input sample values and N filter coefficients, and M number of N taps (M is an integer greater than or equal to 1 and less than or equal to N). This is achieved by dividing the filter into blocks and accumulating the convolution results of each block using taps (K is an integer greater than or equal to 1 and less than or equal to M) and M filter coefficients.

シフトレジスタ1000は例えば各々Bビットのパラレ
ル入出力端子を有するレジスタ1010〜101により
成り、レジスタ1010に入力されたBビットの入力サ
ンプル値X。Nが順次遅延され、このレジスタ1010
およびこれに接続されたレジスタ1011〜101にの
出力端子から例えば1クロツクサイクルぶん順次遅延さ
れたBビットのパラレルタップ呂力信号が各々出力され
るように構成されている。これらのレジスタ1010〜
101Kから出力された各々Bビットのディジタル信号
と分割されたM個のブロックのに個のフィルタ係数を記
憶する係数ROM1030から先ず第1番目のブロック
を選択して出力された第1番目のブロックのフィルタ係
数h1□〜)lxXとを畳込み演算器1001内の乗算
器1020〜102Kにより各々乗算し、各々の乗算器
8力を加算器1031で加算することによりレジスタ1
010〜l0IKに記憶された入力サンプル列の第1番
目のブロックでの畳込み演算結果が得られる。このよう
にして係数ROM1030より第2番目のブロックのフ
ィルタ係数hzx〜hzKないし第M番目のブロックの
フィルタ係数h wx〜hMxを順次選択することによ
り、レジスタ1010〜101Kに記憶された入力サン
プル列の第1番目のブロックないし第M番目のブロック
での畳込み演算結果が畳込み演算器1001から順次出
力される。なおに+個のフィルタ係数にKmagK1個
のゼロを補うことができる。ただしに1.、は入力サン
プルのレジスタ個数で、KIの最大値である。
The shift register 1000 includes, for example, registers 1010 to 101 each having a B-bit parallel input/output terminal, and the B-bit input sample value X input to the register 1010. N are sequentially delayed and this register 1010
The output terminals of the registers 1011 to 101 connected thereto output B-bit parallel tap power signals sequentially delayed by, for example, one clock cycle. These registers 1010~
First, the first block is selected from the coefficient ROM 1030 which stores the digital signal of B bits each outputted from the ROM 101K and the filter coefficients of the divided M blocks. The filter coefficients h1□~)lxX are multiplied by the multipliers 1020 to 102K in the convolution calculator 1001, and the outputs of the 8 multipliers are added together by the adder 1031.
The result of the convolution operation on the first block of the input sample sequence stored in 010 to 10IK is obtained. In this way, by sequentially selecting the filter coefficients hzx to hzK of the second block to the filter coefficients hwx to hMx of the M-th block from the coefficient ROM 1030, the input sample strings stored in the registers 1010 to 101K are Convolution calculation results for the first block to the Mth block are sequentially output from the convolution calculator 1001. Furthermore, + filter coefficients can be supplemented with KmagK1 zeros. However, 1. , is the number of input sample registers and is the maximum value of KI.

こうして畳込み演算器1001から第1番目のブロック
の畳込み演算結果が出力されると累算器1002内の加
算器1032の第1の入力に入力され、また加算器1o
32の第2の入力にはセレクタ1033により選択され
た初期値S1が入力されて加算され、この加算された結
果は累算メモリ1034に記憶される。ついで第2番目
のブロックの畳込み演算結果が畳込み演算器1001か
ら出力されると加算器1032の第1の入力に入力され
、また加算器1032の第2の入力には累算器メモリ1
034から読み出されたに+1サンプル前のサンプル列
による第1番目のブロックの畳込み演算結果と初期値S
1との加算結果がセレクタ1033により入力され、こ
れらが加算されて累算メモリ1034に記憶される。す
なわち第n番目(nは2以上でM以下の整数)のブロッ
クの畳込み演算結果が累算器1002に入力されると、
累算メモリ1034に記憶された過去の入力サンプル列
による第n−1番目のブロックまでの畳込み演算結果の
累積結果と加算されて累算メモIJ 1034に記憶さ
れる。さいごに第M番目のブロックの畳込み演算結果が
累算器1002に入力された時には、累算メモリ103
4から読み出された第M−1番目のブロックまでの畳込
み演算結果の累算結果と加算され、その結果はレジスタ
(R2)1035に記憶される。したがってシフトレジ
スタ1000にに個の入力サンプル値が順次入力される
毎に上記の処理が行なわれ、レジスタ(R,り1035
から出力される結果はN個の入力サンプル値XINによ
る畳込み演算結果となり、よってN個のタップによるF
IRディジタルフィルタのフィルタ処理と同様の結果y
、が得られる。
In this way, when the convolution operation result of the first block is output from the convolution operation unit 1001, it is inputted to the first input of the adder 1032 in the accumulator 1002, and
The initial value S1 selected by the selector 1033 is input to the second input of 32 and added, and the result of this addition is stored in the accumulation memory 1034. Then, when the convolution operation result of the second block is output from the convolution operator 1001, it is input to the first input of the adder 1032, and the second input of the adder 1032 is input to the accumulator memory 1.
The convolution result of the first block using the sample sequence +1 sample before read from 034 and the initial value S
The result of addition with 1 is input by the selector 1033, and these are added and stored in the accumulation memory 1034. That is, when the convolution result of the n-th block (n is an integer greater than or equal to 2 and less than or equal to M) is input to the accumulator 1002,
It is added to the cumulative result of the convolution operation results up to the (n-1)th block based on the past input sample string stored in the cumulative memory 1034 and stored in the cumulative memo IJ 1034. When the convolution result of the Mth block is finally input to the accumulator 1002, the accumulation memory 103
4 to the M-1th block read out, and the result is stored in register (R2) 1035. Therefore, each time the input sample values are input to the shift register 1000, the above processing is performed, and the register (R,
The result output from is the result of convolution operation with N input sample values XIN, and therefore F with N taps
Results similar to filter processing of IR digital filter y
, is obtained.

第2図は第1図の演算例の説明図である。この演算例は
タップ数N=32.分割されたブロック数M=4、各ブ
ロックのタップ数に=8の場合の例を示している。各々
S1は初期値、A工〜A、は累算メモリ1034のアド
レス、Hl 1〜H14は畳込み演算器1001の畳込
み演算ブロックのフィルタ係数列、■、〜7〜■2.〜
3□は入力サンプル列を示す。末は畳込み演算を示す演
算子、(A□)〜(A、)はアドレスA1〜A4の累算
メモリ1034の内容、矢印は左辺の演算結果製右辺の
アドレスのメモリ1034またはレジスタ(Rx) 1
035に記憶することを示す。図に示すようにレジスタ
(Rz) 1035の出力には4個のブロックの各演算
結果の累積結果が記憶され出力される。
FIG. 2 is an explanatory diagram of the calculation example shown in FIG. 1. In this calculation example, the number of taps N=32. An example is shown in which the number of divided blocks M=4 and the number of taps in each block=8. S1 is the initial value, A-A is the address of the accumulation memory 1034, H11-H14 is the filter coefficient string of the convolution operation block of the convolution operation unit 1001, (1), ~7-2.2. ~
3□ indicates an input sample string. The end is an operator indicating a convolution operation, (A□) to (A, ) are the contents of the cumulative memory 1034 at addresses A1 to A4, and the arrow indicates the result of the operation on the left side to the memory 1034 or register (Rx) at the address on the right side. 1
035. As shown in the figure, the cumulative results of the calculation results of the four blocks are stored and output at the output of the register (Rz) 1035.

上記の構成によると、出力されるフィルタ処理演算結果
はに個の入力サンプル毎の出力となり、入力サンプルの
サンプリングレートの1. / Kのサンプリングレー
トに変換されるが、1入力サンプル毎に同様の処理を行
ない累積メモリ1034の個数を増加することにより、
1入力サンプル毎の出力が得られる。またL個(Lは1
以上でN以下の整数)の入力サンプル毎に同様の処理を
行ない、累積メモリ1034を増減することによりL個
の入力サンプル毎の出力が得られる。N個のタップ数を
増加する場合には1分割するブロック数Mを増加させ例
えばM′個とし、係数ROM1030に記憶するフィル
タ係数りををM′通りとし、上記処理におけるブロック
の選択を第1番目から第M′番目のブロックとし、累算
メモリ1034の個数を増加させることにより対応でき
る。すなわちハードウェアの増加は係数ROM1030
および累算メモリ1034の個数あるいは容量および制
御回路となり、従来技術の第2例の第10図に示した例
のようにシフトレジスタ(SR)102の増加に比へて
軽微なものとなる。
According to the above configuration, the output filtering operation result is an output for each input sample, which is equal to or less than the sampling rate of the input sample. / K sampling rate, but by performing similar processing for each input sample and increasing the number of cumulative memories 1034,
An output is obtained for each input sample. Also, L pieces (L is 1
The same processing is performed for each of the input samples (an integer smaller than or equal to N), and by increasing or decreasing the cumulative memory 1034, an output for each of L input samples can be obtained. When increasing the number of taps by N, the number of blocks to be divided into one block M is increased to, for example, M', the number of filter coefficients to be stored in the coefficient ROM 1030 is set to M', and the block selection in the above process is performed in the first step. This can be handled by increasing the number of accumulation memories 1034 from the M'th block to the M'th block. In other words, the increase in hardware is the coefficient ROM1030.
In addition, the number or capacity of the accumulation memory 1034 and the control circuit are small compared to the increase in the number of shift registers (SR) 102 as in the example shown in FIG. 10 of the second example of the prior art.

第3図は第1図のフィルタ係数りの説明図である。第1
図で説明したディジタルフィルタのインパルス応答の例
を第3図に示し、上記のフィルタ係数り、には第3図に
示すように入力サンプルのサンプリング周波数tsでサ
ンプリングされたものである。このフィルタ係数り、、
kをフィルタ係数列Hoとする。いま上記のサンプリン
グ点からt5/2だけずれた点をサンプリングすると、
フィルタ係数h’mkによるフィルタ係数列)(11が
得られる。このフィルタ係数列H工を用いて畳込み演算
を行なうと、フィルタ係数列H1,によって得た畳込み
演算結果の中間を補間する結果が得られる。そこで上記
のフィルタ構成において、フィルタ係数列H10,H1
,を係数ROM1.030に記憶させ、同じ入力サンプ
ル列に対してフィルタ係数列H101」、により畳込み
演算器1001で畳込み演算を行ない、その結果を得る
ことにより入力サンプルのサンプリングレート1/ls
の2倍のサンプリングレートで結果を得ることができる
。またサンプリング周期t8の間にG点のサンプリング
点をとるとフィルタ係数列IはG+1個となり、このフ
ィルタ係数列Hにより上記のフィルタ処理を行なうこと
により、入力サンプルのサンプリングレートのG+1倍
のサンプリングレートに変換できる。
FIG. 3 is an explanatory diagram of the filter coefficients in FIG. 1. 1st
An example of the impulse response of the digital filter explained in the figure is shown in FIG. 3, and the above-mentioned filter coefficients are sampled at the sampling frequency ts of the input sample as shown in FIG. This filter coefficient is,
Let k be a filter coefficient sequence Ho. Now, if we sample a point shifted by t5/2 from the above sampling point, we get
Filter coefficient sequence by filter coefficient h'mk) (11 is obtained. When a convolution operation is performed using this filter coefficient sequence H, the result is obtained by interpolating the middle of the convolution operation result obtained by filter coefficient sequence H1. Therefore, in the above filter configuration, the filter coefficient sequences H10, H1
, is stored in the coefficient ROM 1.030, and the convolution operation is performed in the convolution operator 1001 using the filter coefficient sequence H101 for the same input sample sequence, and the sampling rate of the input sample is 1/ls by obtaining the result.
Results can be obtained at twice the sampling rate. Furthermore, when sampling point G is taken during the sampling period t8, the filter coefficient sequence I becomes G+1, and by performing the above filter processing using this filter coefficient sequence H, the sampling rate is G+1 times the sampling rate of the input sample. It can be converted to .

第4図は本発明によるディジタルフィルタの他の実施例
を示す構成図である。第1図の構成におけるシフトレジ
スタ1000と1畳込み演算器1oolと、係数ROM
1030とを、従来技術の第2例の第10図に示したも
のと同様のパラレル/シリアル変換器401と、シフト
レジスタ408と、セレクタ203と、畳込み演算RO
M403と、レジスタ405,406と、加算/減算器
404と、レジスタ2070とに置き換えて第4@に示
す構成とすることができる。この構成でもシフトレジス
タ402は第10図のシフトレジスタ102より少ない
個数で構成できる。第4図においてシフトレジスタ40
2は第1番目のブロックから第M番目のブロックまでの
演算を行なうため、各々のシフトレジスタ402でM−
1回巡回して第M番目のブロックの演算の時に各々次段
へ順次入力される。累算器1002は第1図と同様であ
る。
FIG. 4 is a block diagram showing another embodiment of the digital filter according to the present invention. Shift register 1000, 1-convolution operator 1ool, and coefficient ROM in the configuration shown in FIG.
1030, a parallel/serial converter 401 similar to that shown in FIG. 10 of the second example of the prior art, a shift register 408, a selector 203, and a convolution operation RO.
M403, registers 405 and 406, adder/subtractor 404, and register 2070 can be replaced with the configuration shown in the fourth @. Even with this configuration, the number of shift registers 402 can be smaller than that of shift register 102 in FIG. 10. In FIG. 4, shift register 40
2 performs operations from the first block to the M-th block, so each shift register 402 performs M-
It circulates once and is sequentially input to the next stage when the Mth block is calculated. Accumulator 1002 is similar to FIG.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、タップ数の多いFIR型ディジタルフ
ィルタにおいてハードウェアの規模増大を軽減すること
ができる効果がある。またフィルタ係数ROMおよび累
算メモリのアドレス制御によりタップ数の変更が容易に
行なうことができる効果がある。
According to the present invention, it is possible to reduce the increase in the scale of hardware in an FIR type digital filter having a large number of taps. Further, the number of taps can be easily changed by controlling the addresses of the filter coefficient ROM and accumulation memory.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明によるディジタルフィルタの一実施例を
示す構成図、第2図は第1図の演算例の説明図、第3図
は第1図のフィルタ係数の説明図。 第4図は本発明によるディジタルフィルタの他の実施例
を示す構成図、第5図は従来のディジタルフィルタの第
1例を示す構成図、第6図は第5図のタップ数が増加し
た場合のフィルタの構成図、第7図は第5図のタップ数
が増加した場合のフィルタの他の構成図、第8図は第7
図のDFP内のレジスタ構成図、第9図は従来のディジ
タルフィルタの第2例を示す構成図、第10図は第9図
のタップ数が増加した場合のフィルタの構成図である。 1000・・・シフトレジスタ、 1001・・・畳込み演算器、1.002・・・累算器
、1010〜101K・・・レジスタ、 1020〜102に−・・乗算器。 1030・・・係数ROM、 1031,1032・・・加算器、 1033・・・セレクタ、   1034・・・累算メ
モリ。 1035・・・レジスタ、 401・・・パラレル/シリアル変換器、402・・・
シフトレジスタ、4o3・・・セレクタ、4030・・
・畳込み演算ROM、 404・・・加算/減算器、 405.406,407・・・レジスタ、第 B 躬 4 凹 4θ8 セしり7 第 第 乙 閃 ×7I ゞf/1小゛χ−りn 躬 ワ 圀 第8’V 千 乙
FIG. 1 is a block diagram showing an embodiment of a digital filter according to the present invention, FIG. 2 is an explanatory diagram of the calculation example of FIG. 1, and FIG. 3 is an explanatory diagram of the filter coefficients of FIG. 1. FIG. 4 is a block diagram showing another embodiment of the digital filter according to the present invention, FIG. 5 is a block diagram showing the first example of the conventional digital filter, and FIG. 6 is a block diagram showing a case where the number of taps in FIG. 5 is increased. Fig. 7 is another block diagram of the filter when the number of taps in Fig. 5 is increased, Fig. 8 is a block diagram of the filter in Fig. 7.
FIG. 9 is a block diagram showing a second example of a conventional digital filter, and FIG. 10 is a block diagram of the filter shown in FIG. 9 when the number of taps is increased. 1000...Shift register, 1001...Convolution operator, 1.002...Accumulator, 1010-101K...Register, 1020-102-...Multiplier. 1030... Coefficient ROM, 1031, 1032... Adder, 1033... Selector, 1034... Accumulation memory. 1035...Register, 401...Parallel/serial converter, 402...
Shift register, 4o3...Selector, 4030...
・Convolution operation ROM, 404...Adder/subtractor, 405.406,407...Register, B 4th concave 4θ8 section 7th flash x 7I ゞf/1 small゛χ-rinn Tsumuwakuni No. 8'V Chioto

Claims (1)

【特許請求の範囲】 1、NタップFIR型ディジタルフィルタであって、N
タップの畳込み演算をM個(Mは1以上でN以下の整数
)のブロックに分割し、上記M個のブロックでは各々K
_I個(K_Iは1以上でM以下の整数)のタップより
成る畳込み演算を行なうものとして、フィルタ入力サン
プルを記憶するKmax個(KmaxはK_Iの最大値
)の第1のレジスタと、第1のレジスタに記憶された入
力サンプルに対し分割された畳込み演算を行なう手段と
、該畳込み演算結果を累算するための加算器とL個(L
は1以上でN以下の整数)の第2のレジスタを備え、該
累算器出力よりMブロック分の累算結果をフィルタ出力
として得ることを特徴とするディジタルフィルタ。 2、第2のレジスタをRAMで構成することを特徴とす
る請求項1記載のディジタルフィルタ。 3、K_I個のフィルタ係数にKmax−K_I個のゼ
ロを補うことを特徴とする請求項1記載のディジタルフ
ィルタ。
[Claims] 1. An N-tap FIR type digital filter, which has N taps.
Divide the tap convolution operation into M blocks (M is an integer greater than or equal to 1 and less than or equal to N), and each of the M blocks has K
Assuming that a convolution operation is performed using __I taps (K_I is an integer greater than or equal to 1 and less than or equal to M), there are Kmax (Kmax is the maximum value of K_I) first registers that store filter input samples; means for performing divided convolution operations on the input samples stored in the registers; L adders for accumulating the results of the convolution operations;
is an integer greater than or equal to 1 and less than or equal to N. 2. The digital filter according to claim 1, wherein the second register is constituted by a RAM. 3. The digital filter according to claim 1, wherein the K_I filter coefficients are supplemented with Kmax-K_I zeros.
JP620090A 1990-01-17 1990-01-17 Digital filter Pending JPH03211910A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP620090A JPH03211910A (en) 1990-01-17 1990-01-17 Digital filter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP620090A JPH03211910A (en) 1990-01-17 1990-01-17 Digital filter

Publications (1)

Publication Number Publication Date
JPH03211910A true JPH03211910A (en) 1991-09-17

Family

ID=11631900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP620090A Pending JPH03211910A (en) 1990-01-17 1990-01-17 Digital filter

Country Status (1)

Country Link
JP (1) JPH03211910A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513223A (en) * 1993-11-16 1996-04-30 Nec Corporation FIR digital filter and method for signal processing thereof
JP2003510876A (en) * 1999-09-20 2003-03-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ FIR filter using programmable shifter

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513223A (en) * 1993-11-16 1996-04-30 Nec Corporation FIR digital filter and method for signal processing thereof
JP2003510876A (en) * 1999-09-20 2003-03-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ FIR filter using programmable shifter
JP4729685B2 (en) * 1999-09-20 2011-07-20 エスティー‐エリクソン、ソシエテ、アノニム FIR filter using programmable shifter

Similar Documents

Publication Publication Date Title
JP3135902B2 (en) Automatic equalizer and semiconductor integrated circuit
JPH039471A (en) Moving average processor
US4817025A (en) Digital filter
US4947363A (en) Pipelined processor for implementing the least-mean-squares algorithm
EP0693236B1 (en) Method and arrangement in a transposed digital fir filter for multiplying a binary input signal with tap coefficients and a method for designing a transposed digital filter
JPH07112144B2 (en) Digital filter
US4939684A (en) Simplified processor for digital filter applications
JP2002158561A (en) Fir filter, and data processing method therefor
US6108681A (en) System for sharing resources in a digital filter
JPWO2008018197A1 (en) Digital filter, synthesizing apparatus thereof, synthesizing program, and synthesizing program recording medium
US5886912A (en) Processing elements connected in cascade having a controllable bypass
JPH03211910A (en) Digital filter
JPH0767063B2 (en) Digital signal processing circuit
JP2733403B2 (en) Digital filter for decimation
WO2005002051A1 (en) Digital filter
JPH0458608A (en) Input summation type transversal filter
JP3197648B2 (en) Digital filter
US20070230644A1 (en) Filtering apparatus
JPH0767065B2 (en) Signal processing integrated circuit
US11652471B2 (en) Low power biquad systems and methods
JPH09298451A (en) Digital filter circuit and its control method
US6944217B1 (en) Interleaved finite impulse response filter
JP4243473B2 (en) FIR digital filter
JP3120435B2 (en) Digital arithmetic circuit
SUSHMA et al. Design of High Speed Low Power FIR Filter by using Systolic Architecture