KR20040000576A - Filter circuit - Google Patents

Filter circuit Download PDF

Info

Publication number
KR20040000576A
KR20040000576A KR1020020035066A KR20020035066A KR20040000576A KR 20040000576 A KR20040000576 A KR 20040000576A KR 1020020035066 A KR1020020035066 A KR 1020020035066A KR 20020035066 A KR20020035066 A KR 20020035066A KR 20040000576 A KR20040000576 A KR 20040000576A
Authority
KR
South Korea
Prior art keywords
speed
storage means
filter
input data
adder
Prior art date
Application number
KR1020020035066A
Other languages
Korean (ko)
Other versions
KR100451193B1 (en
Inventor
문진섭
김우식
Original Assignee
엘지전자 주식회사
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 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR10-2002-0035066A priority Critical patent/KR100451193B1/en
Publication of KR20040000576A publication Critical patent/KR20040000576A/en
Application granted granted Critical
Publication of KR100451193B1 publication Critical patent/KR100451193B1/en

Links

Classifications

    • EFIXED CONSTRUCTIONS
    • E03WATER SUPPLY; SEWERAGE
    • E03CDOMESTIC PLUMBING INSTALLATIONS FOR FRESH WATER OR WASTE WATER; SINKS
    • E03C1/00Domestic plumbing installations for fresh water or waste water; Sinks
    • E03C1/12Plumbing installations for waste water; Basins or fountains connected thereto; Sinks
    • E03C1/32Holders or supports for basins
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47KSANITARY EQUIPMENT NOT OTHERWISE PROVIDED FOR; TOILET ACCESSORIES
    • A47K1/00Wash-stands; Appurtenances therefor
    • A47K1/04Basins; Jugs; Holding devices therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Hydrology & Water Resources (AREA)
  • Public Health (AREA)
  • Water Supply & Treatment (AREA)
  • Complex Calculations (AREA)

Abstract

PURPOSE: A filter circuit is provided to be capable of reducing slice usage at the inner portion of FPGA(Field Programmable Gate Arrays). CONSTITUTION: A filter circuit is provided with the first storage parts(100,110) for storing input data, the first counter(120) for outputting the first clock to the first storage parts at the first speed, the second storage parts(130,140) for storing filter coefficients, an operation part for outputting the result of operation at the first speed after operating the input data and the filter coefficients, and the second counters(150,160) for outputting the second clock at the second speed to the first storage parts, the second storage parts, and the operation part. Preferably, the operation part includes multipliers(170,180) for multiplying the input data by filter coefficients, a plurality of adders(190,200,230) for adding the multiplied values supplied from the multipliers, and a plurality of buffers(210,220) for storing the added values supplied from the adders.

Description

필터회로{FILTER CIRCUIT}Filter Circuits {FILTER CIRCUIT}

본 발명은 필터회로에 관한 것으로서, 특히 이동통신 송신시스템에서 디지털신호를 필터링하는 필터를 FPGA에서 설계할 때 FPGA의 사용용량을 효율적으로 개선할 수 있는 필터회로에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a filter circuit, and more particularly, to a filter circuit capable of efficiently improving the use capacity of an FPGA when designing a filter in an FPGA that filters a digital signal in a mobile communication transmission system.

FPGA(FIELD PROGRAMMABLE GATE ARRAYS)는 ASIC과 비교하여 개발비가 저렴하고 리스크(risk)가 적은 관계로 현재 관련분야에서 많이 쓰고 있는 칩으로서, 이동통신분야에서도 이것을 이용하여 통신장비를 개발하고 있다.FPGA (FIELD PROGRAMMABLE GATE ARRAYS) is a chip that is widely used in related fields because of low development cost and low risk compared to ASIC, and is developing communication equipment using this in mobile communication field.

이동통신분야의 FPGA에는 여러 구성요소가 들어 가게 되는데, 그 중의 하나로서 디지털신호에 대하여 필터링 연산을 수행하는 필터가 있다.FPGAs in the mobile communication field contain various components. One of them is a filter that performs a filtering operation on a digital signal.

이동통신분야의 실시간 시스템에서의 필터는 과거 및 현재의 입력신호만을 이용하여 필터링을 수행하는 인과성 필터(causal filter)이다.A filter in a real-time system in the mobile communication field is a causal filter that performs filtering using only past and present input signals.

도 1은 종래의 기본적인 디지털 필터회로를 나타낸다.1 shows a conventional basic digital filter circuit.

도 1에서 도시된 바와 같이, 기본적인 필터회로는 복수의 딜레이 시프터(delay shifter)(11∼1N-1), 복수의 승산기(multiplier)(20∼2N-1) 및 복수의 가산기(adder)(31∼3N-1)로 구성되어 있다.As shown in FIG. 1, the basic filter circuit includes a plurality of delay shifters 1 1 to 1 N-1 , a plurality of multipliers 2 0 to 2 N-1 , and a plurality of adders ( adder) (3 1 to 3 N-1 ).

딜레이 시프터(delay shifter)(11∼1N-1)는 들어오는 입력신호(x(k), k=0, 1, 2, …)를 지연이동시킨다.Delay shifters 1 1 to 1 N-1 delay shift the incoming input signals x (k), k = 0, 1, 2,...

승산기(multiplier)(20∼2N-1)는 각각의 필터계수(filter coefficient) (a(n), n=0, 1, 2, …, N-1)와, 입력신호(x(k)) 및 각각의 딜레이 시프터(11∼1N-1)에서 나온 출력값(지연신호)을 곱한다.The multipliers 2 0 to 2 N-1 each have a filter coefficient (a (n), n = 0, 1, 2, ..., N-1) and an input signal x (k )) And the output value (delay signal) from each delay shifter (1 1 to 1 N-1 ).

가산기(adder)(31∼3N-1)는 각각의 승산값들을 모두 더함으로써 최종적인 출력신호(y(k))를 산출한다.Adders 3 1 to 3 N-1 calculate the final output signal y (k) by adding up respective multiplication values.

실시간에서 상기 필터회로의 동작을 설명하면 다음과 같다.The operation of the filter circuit in real time is as follows.

우선 일정시간마다 입력신호(x(k))가 필터회로의 첫번째 딜레이 시프터(11)에 입력된다. 최초 입력신호를 x(0)이라고 할 때, 다음 x(1), x(2), x(3), …의 신호가 계속하여 첫번째 딜레이 시프터(11)에 입력되고, 이어서 다음 각각의 딜레이 시프터(12∼1N-1)로 순차 이동한다.First, at the predetermined time the input signal (x (k)) are input to the first delay shifter (11) of the filter circuit. When the first input signal is called x (0), the next x (1), x (2), x (3),... Signal is continuously input to the first delay shifter 1 1 , and then sequentially moved to each of the following delay shifters 1 2 to 1 N-1 .

이와 같이 계속해서 신호가 필터에 입력되면서 입력신호의 수가 필터계수의 수(N개) 이상이 되면 그 때부터 필터는 필터링 연산을 수행하여 필터링된 신호를 출력할 수 있게 된다.As the signal is continuously input to the filter as described above, if the number of input signals becomes equal to or greater than the number of filter coefficients (N), the filter can then perform a filtering operation to output the filtered signal.

필터계수는 필터마다 그 값과 개수가 정해져 있으며, 필터계수의 수가 증가할 수록 필터의 성능은 좋아지게 된다.The filter coefficient has a value and a number determined for each filter. As the number of filter coefficients increases, the performance of the filter improves.

필터회로에서 수행되는 필터링 연산은 다음의 수학식(1)으로 표현된다.The filtering operation performed in the filter circuit is represented by the following equation (1).

예를 들어 필터계수의 수가 6인 필터를 설계한다고 가정하면, 5개의 딜레이 시프터, 6개의 승산기 및 5개의 가산기가 필요하다.For example, suppose you design a filter with a number of filter coefficients of six. You need five delay shifters, six multipliers, and five adders.

이 필터에서 출력이 시작되려면 적어도 입력신호의 수가 6이상이어야 하므로 만약 k=10일 때부터 즉 입력값 x(10)이 들어올 때부터 필터의 출력이 시작된다고 가정하면, 수학식(1)은, k=10, 11, 12, …이 된다.In order to start output from this filter, at least the number of input signals must be 6 or more, so if the filter output starts from k = 10, that is, from the input value x (10), Equation (1) , k = 10, 11, 12,... Becomes

따라서, 필터에서 처음으로 출력되는 값은Therefore, the first value output from the filter is

y(10)= a(0)x(10)+a(1)x(9)+a(2)x(8)+a(3)x(7)+a(4)x(6)+a(5)x(5)이고,y (10) = a (0) x (10) + a (1) x (9) + a (2) x (8) + a (3) x (7) + a (4) x (6) + a (5) x (5),

계속하여 다음의 값들이 순차적으로 출력된다.The following values are sequentially output.

y(11)= a(0)x(11)+a(1)x(10)+a(2)x(9)+a(3)x(8)+a(4)x(7)+a(5)x(6)y (11) = a (0) x (11) + a (1) x (10) + a (2) x (9) + a (3) x (8) + a (4) x (7) + a (5) x (6)

y(12)= a(0)x(12)+a(1)x(11)+a(2)x(10)+a(3)x(9)+a(4)x(8)+a(5)x(7)y (12) = a (0) x (12) + a (1) x (11) + a (2) x (10) + a (3) x (9) + a (4) x (8) + a (5) x (7)

‥‥‥‥‥‥

이와 같이 필터 출력값은 입력값(현재 및 과거의 입력값)과 필터계수의 콘벌루션의 합으로 구성된다.Thus, the filter output value is composed of the sum of the input values (current and past input values) and the convolution of the filter coefficients.

그러나, 종래 필터회로에 있어서 필터계수의 개수는 승산기의 개수와 동일하기 때문에, 필터의 성능향상을 위해 많은 필터계수를 사용하고자 할 때 그 만큼의 승산기가 필요하며 따라서 FPGA 내부에서 연산해야 할 승산기의 수가 증가하게 된다는 문제점이 있다.However, in the conventional filter circuit, since the number of filter coefficients is the same as the number of multipliers, when using many filter coefficients to improve the performance of the filter, the number of multipliers is required. There is a problem that the number is increased.

예를 들어 Xlinx사의 FPGA(VERTEXII-XC2V1000)의 경우 전체슬라이스(slice)(FPGA의 용량단위)가 5120개인데, 승산기 한 개당 약 150개의 슬라이스가 사용된다.For example, Xlinx's FPGA (VERTEXII-XC2V1000) has 5120 total slices (capacity units of FPGAs), with about 150 slices per multiplier.

이러한 수치는 승산기 한 개당 약 3%의 슬라이스를 차지하게 되는 것으로 만약 필터계수의 수가 10개라고 한다면 FPGA로 필터를 설계할 경우 필터가 FPGA 내부에 30%에 달하는 매우 큰 비중을 차지하게 되므로 그 만큼 FPGA 내부 사용용량이 감소하게 되며, 또한 필터계수가 많은 필터를 설계하기 위해서는 슬라이스 용량이 큰 FPGA를 사용하여야 하기 때문에 부품가격이 상승한다는 문제점이 있다.This figure takes about 3% of slices per multiplier. If the number of filter coefficients is 10, designing a filter with an FPGA will take up a very large 30% of the filter inside the FPGA. The internal usage of the FPGA is reduced, and there is a problem in that the part price increases because an FPGA having a large slice capacity is required to design a filter having a large filter coefficient.

따라서, 본 발명은 상기의 문제점을 해결하기 위하여 안출된 것으로서, FPGA내부의 슬라이스 사용용량을 절감할 수 있는 필터회로를 제공하는 것을 목적으로 한다.Accordingly, an object of the present invention is to provide a filter circuit which can reduce the slice usage capacity in an FPGA, which is devised to solve the above problems.

도 1은 종래의 기본적인 필터회로를 나타내는 구성도.1 is a block diagram showing a conventional basic filter circuit.

도 2는 본 발명의 제 1실시예에 의한 필터회로를 나타내는 구성도2 is a block diagram showing a filter circuit according to a first embodiment of the present invention.

도 3은 본 발명의 제 1실시예에 의한 필터회로에서 입력신호와 필터계수의 매핑관계를 나타내는 예시도.3 is an exemplary diagram showing a mapping relationship between an input signal and a filter coefficient in the filter circuit according to the first embodiment of the present invention.

도 4는 본 발명의 제 2실시예에 의한 필터회로를 나타내는 구성도.4 is a block diagram showing a filter circuit according to a second embodiment of the present invention.

도 5는 본 발명의 제 2실시예에 의한 필터회로에서 입력신호와 필터계수의 매핑관계를 나타내는 예시도.5 is an exemplary diagram showing a mapping relationship between an input signal and a filter coefficient in the filter circuit according to the second embodiment of the present invention.

** 도면의 주요부분에 대한 부호설명 **** Explanation of Signs of Major Parts of Drawings **

100, 110 : 램 120, 150, 160 : 카운터100, 110: RAM 120, 150, 160: Counter

130, 140 : 롬 170, 180 : 승산기130, 140: Rom 170, 180: Multiplier

190, 200, 230 : 가산기 210, 220 : 버퍼190, 200, 230: Adder 210, 220: Buffer

이를 위해 본 발명의 제 1실시예에 의한 필터회로는 입력데이터를 저장하는 제 1저장수단과; 상기 제 1저장수단에 제 1속도로 클럭을 출력하는 제 1카운터와; 필터계수를 저장하는 제 2저장수단과; 상기 입력데이터와 상기 필터계수를 연산하여 제 1속도로 출력하는 연산수단과; 상기 제 1저장수단, 상기 제 2저장수단 및 상기 연산수단에 제 2속도로 클럭을 출력하는 제 2카운터를 포함하여 구성된 것을 특징으로 한다.To this end, the filter circuit according to the first embodiment of the present invention includes: first storage means for storing input data; A first counter for outputting a clock to the first storage means at a first speed; Second storage means for storing a filter coefficient; Calculating means for calculating the input data and the filter coefficient and outputting the same at a first speed; And a second counter for outputting a clock at a second speed to the first storage means, the second storage means, and the calculation means.

이에 의하여 상기 입력데이터가 제 1속도로 상기 제 1저장수단에 저장될 때마다 상기 제 1저장수단 및 상기 제 2저장수단에서 제 2속도로 상기 입력데이터 및 상기 필터계수가 출력되고, 상기 연산수단에서는 제 2속도로 상기 입력데이터 및상기 필터계수를 1:1 대응으로 곱하고 그 각각의 승산값을 모두 더하여 제 1속도로 최종의 필터링값을 출력한다.As a result, whenever the input data is stored in the first storage means at the first speed, the input data and the filter coefficient are output at the second speed from the first storage means and the second storage means, and the calculation means In step 1, the input data and the filter coefficients are multiplied in a one-to-one correspondence at each second speed, and their respective multiplication values are added together to output a final filtering value at the first speed.

본 발명의 제 2실시예에 의한 필터회로는 입력데이터를 저장하는 복수개의 제 1저장수단과; 상기 복수개의 제 1저장수단에 제 1속도로 클럭을 출력하는 제 1카운터와; 필터계수를 저장하는 복수개의 제 2저장수단과; 상기 입력데이터와 상기 필터계수를 연산하여 제 1속도로 출력하는 복수개의 연산수단과; 상기 복수개의 연산수단의 연산결과를 더하는 가산수단과; 상기 제 1저장수단, 상기 제 2저장수단 및 상기 연산수단에 제 2속도로 클럭을 출력하는 복수개의 제 2카운터를 포함하여 구성된 것을 특징으로 한다.A filter circuit according to a second embodiment of the present invention comprises: a plurality of first storage means for storing input data; A first counter for outputting a clock at a first speed to the plurality of first storage means; A plurality of second storage means for storing filter coefficients; A plurality of calculation means for calculating the input data and the filter coefficient and outputting the same at a first speed; Adding means for adding operation results of the plurality of calculation means; And a plurality of second counters outputting a clock at a second speed to the first storage means, the second storage means and the calculation means.

이에 의하여 상기 입력데이터가 제 1속도로 상기 복수의 제 1저장수단에 저장될 때마다 상기 복수의 제 1저장수단 및 상기 복수의 제 2저장수단에서 제 2속도로 상기 입력데이터 및 상기 필터계수가 출력되고, 상기 복수의 연산수단에서는 제 2속도로 상기 입력데이터 및 상기 필터계수를 1:1 대응으로 곱하고 그 각각의 승산값을 모두 더하여 제 1속도로 승산값의 총합을 출력하고, 상기 가산수단은 상기 복수의 연산수단에서 출력된 각각의 승산값의 총합을 모두 더하여 제 1속도로 최종의 필터링값을 출력한다.As a result, whenever the input data is stored in the plurality of first storage means at a first speed, the input data and the filter coefficient at the second speed in the plurality of first storage means and the plurality of second storage means. And a plurality of calculation means to multiply the input data and the filter coefficients at a second speed in a one-to-one correspondence, add their respective multiplication values, and output a total of the multiplication values at a first speed, and add the sum means. Adds all the sums of respective multiplication values output from the plurality of calculation means and outputs the final filtering value at the first speed.

이하 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 제 1실시예에 의한 필터회로를 나타낸다.2 shows a filter circuit according to a first embodiment of the present invention.

도 2에서의 필터는 도 1과 달리 승산기(50) 및 가산기(60)를 각각 하나씩만 사용하고 여기에 램(10), 롬(20), 두 개의 카운터(30, 40) 및 버퍼(70)를 포함하고있다.Unlike in FIG. 1, the filter in FIG. 2 uses only one multiplier 50 and one adder 60, each of which includes a RAM 10, a ROM 20, two counters 30 and 40, and a buffer 70. It contains.

여기서, 램(10)은 ×2의 속도로 데이터를 저장하고 ×64의 속도로 데이터를 출력한다. 롬(20)에는 필터계수가 저장되어 있고 ×64의 속도로 필터계수를 출력한다.Here, the RAM 10 stores data at a rate of x2 and outputs data at a rate of x64. The ROM 20 stores the filter coefficients and outputs the filter coefficients at a rate of x64.

카운터_64(40)는 ×2의 속도로 0∼63까지 카운트를 반복하고 입력데이터가 저장되는 램(10)의 레지스터를 지정한다. 카운터_24(30)는 ×64의 속도로 0∼31까지 카운트를 반복하고 램(10) 및 롬(20)의 입력데이터 및 필터계수를 출력시킨다.Counter_64 (40) repeats the count from 0 to 63 at a speed of x2 and designates a register of RAM 10 in which input data is stored. Counter_24 (30) repeats the count from 0 to 31 at a rate of x64, and outputs input data and filter coefficients of RAM 10 and ROM 20.

승산기(50)는 램(10) 및 롬(20)에서 출력된 입력데이터 및 필터계수를 곱하고, 가산기(60)는 승산기(50)에서 나온 승산값(Mul_out)과 버퍼(70)에서 피드백된 이전가산값(Add_temp)을 더하여 가산값(Add)을 출력한다.The multiplier 50 multiplies the input data and the filter coefficients output from the RAM 10 and the ROM 20, and the adder 60 transfers the multiplier value Mul_out from the multiplier 50 and the feedback fed back from the buffer 70. The addition value Add_temp is added to output the addition value Add.

버퍼(70)는 가산기(60)에서 출력된 가산값(Add)을 저장하고 이것을 이전가산값(Add_temp)으로서 가산기(60)에 피드백한다.The buffer 70 stores the add value Add output from the adder 60 and feeds it back to the adder 60 as a previous add value Add_temp.

도 1에서는 신호의 입력속도, 연산속도 및 출력속도가 모두 동일하기 때문에 필터계수의 수만큼 승산기가 필요했지만, 도 2의 필터는 시스템 클럭 속도로 연산을 하기 때문에 하나의 승산기 및 가산기만으로 필터링을 수행할 수 있다.In Fig. 1, since the input speed, the calculation speed, and the output speed of the signal are all the same, a multiplier is required as many as the filter coefficient. However, the filter of Fig. 2 performs the filtering with only one multiplier and an adder because the filter is operated at the system clock speed. can do.

도 2에서 도시한 필터의 동작을 살펴보면 다음과 같다.Looking at the operation of the filter shown in Figure 2 as follows.

우선 카운터_64(40)가 ×2의 속도로 램(10)에 클럭을 보내면 최초 입력신호(x(0))에서부터 시작하여 입력신호들이 ×2의 속도로 카운터_64(40)가 가리키는 램(10)의 각 레지스터에 저장된다.First, when counter_64 (40) sends clock to RAM 10 at the speed of x2, the RAM indicates that counter_64 (40) starts at the initial input signal x (0) and input signals are at the speed of x2. It is stored in each register of (10).

각각의 레지스터에 ×2의 속도로 데이터가 계속해서 스택되고 카운터_64(40)가 이를 카운트하다가 31를 카운트하게 되면(즉 32개의 데이터가 입력되면), 램(10) 및 롬(20)에 저장되어 있는 값을 출력시키는 카운트_32(30)가 구동된다.If data is continuously stacked in each register at a rate of x2 and the counter_64 (40) counts it and counts 31 (i.e. 32 data is input), the RAM 10 and ROM 20 Count_32 (30) is driven to output the stored value.

롬(20)에는 필터계수가 저장되어 있는데 사용할 수 있는 필터계수의 수는 신호의 입력속도와 시스템 속도간의 차에 대응한다.The ROM 20 stores filter coefficients, and the number of filter coefficients that can be used corresponds to the difference between the input speed of the signal and the system speed.

즉, 입력속도가 2이고 시스템 클럭속도가 64이므로 속도차는 32배이고 따라서 사용가능한 필터계수의 수는 32개가 된다. 그러나 실제 사용되는 필터의 계수는 32개가 아니라 31개가 되는데 이것에 대해서는 후술한다.That is, since the input speed is 2 and the system clock speed is 64, the speed difference is 32 times, and thus the number of usable filter coefficients is 32. However, the coefficients of the filter actually used are 31 instead of 32, which will be described later.

다음, 카운트_32(30)가 구동되면 카운트_32(30)는 ×64의 속도로 램(10) 및 롬(20)에 클럭을 보내기 시작한다.Next, when count_32 (30) is driven, count_32 (30) starts to clock the RAM 10 and ROM 20 at a rate of x64.

램(10) 및 롬(20)에서는 카운트_32(30)의 클럭에 의해 ×64의 속도로 각각 입력신호 및 필터계수를 출력하여 이것을 승산기(50)에 보낸다.The RAM 10 and the ROM 20 output the input signal and the filter coefficient at the speed of x64 by the clock of the count_32 (30), and send them to the multiplier 50.

승산기(50)에서는 들어오는 입력신호 및 필터계수를 차례로 곱하여 그 승산값(Mul_out)을 ×64의 속도로 가산기(60)에 보낸다.The multiplier 50 multiplies the incoming input signal and the filter coefficient in order and sends the multiplier Mul_out to the adder 60 at a rate of x64.

가산기(60)에서는 승산기(50)로부터의 승산값(Mul_out)과 버퍼(70)에 저장되어 있는 이전가산값(Add_temp)을 더하여 그 가산값(Add)을 ×64의 속도로 버퍼(70)에 저장한다.In the adder 60, the multiplication value Mul_out from the multiplier 50 and the previous addition value Add_temp stored in the buffer 70 are added, and the add value Add is added to the buffer 70 at a rate of x64. Save it.

한편, 카운터_32(30)는 가산기(60)에도 ×64의 속도로 클럭을 보내는데 카운터_32(30)가 31를 카운트하게 되면, 현재 버퍼(70)에 저장된 값을 최종 필터링값으로 출력하고 버퍼(70)를 0으로 리셋한다.On the other hand, the counter_32 (30) also sends a clock to the adder 60 at a rate of x64. When the counter_32 (30) counts 31, the counter_32 (30) outputs the value stored in the current buffer 70 as the final filtering value. Reset the buffer 70 to zero.

즉, 카운트가 31가 된 후에는 카운트가 다시 0로 돌아가 새로운 필터링연산을 수행하기 때문에, 카운트 31에서 최종 필터링값을 출력하고 버퍼를 0으로 초기화한다.In other words, after the count reaches 31, the count returns to zero to perform a new filtering operation. Therefore, at the count 31, the final filtering value is output and the buffer is initialized to zero.

버퍼(70)의 초기화에 의해 이전가산값(Add_temp)이 0이 되고, 이 이전가산값이 가산기(60)에 들어가 32번째 승산값(Mul_out)과 더해진 다음 그 가산값(Add)이 버퍼(70)에 들어오더라도 0이 유지되어야 하므로 32번째 승산값 역시 0이 되어야 한다. 이를 위해서는 롬(20)에 저장된 32번째의 필터계수가 0이 되어야 하므로 결국 실제 사용되는 필터계수의 수는 31개가 되는 것이다.By the initialization of the buffer 70, the previous addition value Add_temp becomes 0, and this previous addition value enters the adder 60, is added with the 32nd multiplication value Mul_out, and the addition value Add is added to the buffer 70. ), So the 32th multiplication value should be 0. For this purpose, since the 32 th filter coefficient stored in the ROM 20 should be 0, the number of filter coefficients actually used is 31.

도 3은 도 2에 나타낸 램(10) 및 롬(20)에 저장되어 있는 입력신호 및 필터계수의 매핑관계를 나타낸다.FIG. 3 shows a mapping relationship between input signals and filter coefficients stored in the RAM 10 and the ROM 20 shown in FIG. 2.

도 3(a)는 입력값이 레지스터 32번에 채워지려는 시점 또는 카운터_64(40)에서 31을 카운트한 시점에서, 램(10)에 저장된 입력값(x(0)∼x(31))과 롬(20)에 저장된 필터계수(a(0)∼a(30)) 및 0이 도시된 바와 같이 차례로 매핑되어 승산을 수행하는 것을 나타낸다.3 (a) shows an input value (x (0) to x (31)) stored in the RAM 10 when the input value is to be filled in the register 32 or when 31 is counted in the counter_64 (40). And filter coefficients (a (0) to a (30)) and 0 stored in the ROM 20 are sequentially mapped as shown in order to perform multiplication.

도 3(b)는 입력값이 레지스터 33번에 채워지려는 시점 또는 카운터_64(40)가 32를 카운트 한 시점에서, 입력값(x(1)∼x(32))와 필터계수(a(0)∼a(30)) 및 0이 도시된 바와 같이 차례로 매핑되어 승산을 수행하는 것을 나타낸다.3 (b) shows the input values (x (1) to x (32)) and the filter coefficient (a () when the input value is to be filled in register 33 or when the counter_64 (40) counts 32. 0) to a (30)) and 0 are sequentially mapped as shown to perform multiplication.

한편, 도 3에서 도시한 바와 같이 32개의 승산결과 묶음이 가산되어 출력되는 것이므로 만약 가산을 수행할 때 앞 또는 뒤로 밀린 묶음이 연산되어 출력되면 엉뚱한 필터연산이 수행될 수 있다.Meanwhile, as shown in FIG. 3, since the 32 multiplication results are added and outputted, if the bundle pushed forward or backward is calculated and outputted, the wrong filter operation may be performed.

결론적으로 입력신호가 한 번 들어올 때마다 입력속도보다 32배 빠른 속도로 승산 및 감산을 수행하여 입력속도와 동일한 속도로 필터링 값을 출력하게 되기 때문에 승산기 및 가산기를 하나만 사용하고서도 필터링 연산을 수행할 수 있게 된다.In conclusion, each time the input signal comes in, multiplication and subtraction are performed 32 times faster than the input speed to output the filtering value at the same speed as the input speed. Therefore, filtering operation can be performed using only one multiplier and an adder. Will be.

다만, 본 발명의 제 1실시예에 따른 필터회로에 있어서, 도 1의 종래의 필터회로와 달리 한 개의 승산기만을 사용하고 있지만 입력속도와 시스템속도와의 차이에 따라 필터계수의 수가 제한될 수 있다.However, in the filter circuit according to the first embodiment of the present invention, unlike the conventional filter circuit of FIG. 1, only one multiplier is used, but the number of filter coefficients may be limited according to the difference between the input speed and the system speed. .

즉, 도 2에서 시스템속도가 ×64이고 입력속도가 ×2인 경우 32배의 속도차가 생기므로 사용할 수 있는 필터계수가 32개(초기화를 위해 0이 포함되기 때문에 실제 필터계수는 31개임)로 제한된다.That is, in FIG. 2, if the system speed is × 64 and the input speed is × 2, there is a 32 times speed difference. Therefore, 32 filter coefficients that can be used (the actual filter coefficients are 31 because 0 is included for initialization) are used. Limited.

예를 들어 도 2에서 사용된 입력속도 및 시스템속도는 CDMA 시스템에서 사용하는 속도로서, IMT-2000에서는 데이터의 입력속도가 ×1(3.84MHz)이고 시스템속도가 ×24(92.16MHz)인데 반하여 필요한 필터계수의 개수는 40개 이상이므로 본 발명의 제 1실시예에 의한 필터회로에 의해서는 이를 구현할 수는 없다.For example, the input speed and system speed used in FIG. 2 are used in a CDMA system. In IMT-2000, data input speed is × 1 (3.84MHz) and system speed is × 24 (92.16MHz). Since the number of filter coefficients is 40 or more, this cannot be realized by the filter circuit according to the first embodiment of the present invention.

도 4는 본 발명의 제 2실시예에 의한 필터회로를 나타낸다.4 shows a filter circuit according to a second embodiment of the present invention.

도 4에서 도시한 바와 같이, 본 발명의 제 2실시예에 의한 필터회로는 두 개의 램(100, 110), 두 개의 롬(130, 140), 3개의 카운터(120, 150, 160), 두 개의 승산기(170, 180), 3개의 가산기(190, 200, 230) 및 두 개의 버퍼(210, 220)를 포함하여 구성된다.As shown in FIG. 4, the filter circuit according to the second embodiment of the present invention includes two RAMs 100 and 110, two ROMs 130 and 140, three counters 120, 150 and 160, and two. It includes three multipliers (170, 180), three adders (190, 200, 230) and two buffers (210, 220).

제 1램(100)은 입력데이터를 ×1의 속도로 순차적으로 저장하고 시스템 클럭속도(×24)로 입력데이터를 출력하며, 제 2램(110)은 제 1램과 동일하게 동작한다.The first RAM 100 sequentially stores the input data at a speed of × 1 and outputs the input data at a system clock speed (× 24). The second RAM 110 operates in the same manner as the first RAM.

카운터_64(120)는 제 1램(100)과 제 2램(110)에 저장되는 데이터의 수를 ×1의 속도로 카운트하면서 입력데이터가 저장되는 제 1램(100)과 제 2램(110)의 레지스터를 지정한다.The counter _64 120 counts the number of data stored in the first RAM 100 and the second RAM 110 at a speed of x1, and the first RAM 100 and the second RAM 100 in which input data is stored. Register 110).

제 1롬(130)은 필터계수의 개수 중에 상위 절반의 계수를 저장하고, 제 2롬(140)은 필터계수의 개수 중에 하위 절반의 계수를 저장한다.The first ROM 130 stores coefficients of the upper half among the number of filter coefficients, and the second ROM 140 stores coefficients of the lower half among the number of filter coefficients.

제 1카운터_24(150)는 시스템 클럭속도로 0∼23까지 카운트를 수행하고 제 1램(100)과 제 1롬(130)에서 출력되는 입력데이터 및 필터계수가 위치하는 레지스터를 지정하며, 제 2카운터_24(160)는 시스템 클럭속도로 0∼23까지 카운트를 수행하고 마찬가지로 제 2램(110)과 제 2롬(140)에서 출력되는 입력데이터 및 필터계수가 위치하는 레지스터를 지정한다.The first counter_24 (150) counts from 0 to 23 at the system clock speed, and designates a register in which input data and filter coefficients output from the first RAM 100 and the first ROM 130 are located. The second counter_24 (160) counts from 0 to 23 at the system clock speed, and similarly designates a register in which the input data and filter coefficients output from the second RAM 110 and the second ROM 140 are located. .

제 1승산기(170)는 제 1램(100)과 제 1롬(130)에서 출력된 입력데이터와 필터계수를 승산하고, 제 2승산기(180)는 제 2램(110)과 제 2롬(140)에서 출력된 입력데이터와 필터계수를 승산한다.The first multiplier 170 multiplies the input data and the filter coefficients output from the first RAM 100 and the first ROM 130, and the second multiplier 180 uses the second RAM 110 and the second ROM ( The filter coefficients are multiplied by the input data outputted at 140).

제 1가산기(190)는 제 1승산기(170)의 승산값(Mul_out1)과 피드백된 이전가산값(Add_temp1)을 더하여 가산값(Add1)를 출력하고, 제 1버퍼(210)는 제 1가산기(190)에서 출력된 가산값(Add)을 저장하고 이것을 이전가산값(Add_temp)으로서 제 1가산기(190)에 피드백한다.The first adder 190 adds the multiplication value Mul_out1 of the first multiplier 170 and the feedback previous add value Add_temp1 to output the add value Add1, and the first buffer 210 outputs the first adder ( The added value Add output from 190 is stored and fed back to the first adder 190 as a previous add value Add_temp.

제 2가산기(200)는 제 2승산기(180)의 승산값(Mul_out2)과 피드백된 이전가산값(Add_temp2)을 더하여 가산값(Add2)를 출력하고, 제 2버퍼(220)는 제2가산기(200)에서 출력된 가산값(Add2)을 저장하고 이것을 이전가산값(Add_temp2)으로서 제 2가산기(200)에 피드백한다.The second adder 200 adds the multiplication value Mul_out2 of the second multiplier 180 and the feedback previous add value Add_temp2 to output the add value Add2, and the second buffer 220 outputs the second adder ( The added value Add2 output from 200 is stored and fed back to the second adder 200 as a previous add value Add_temp2.

제 3가산기(230)는 제 1버퍼(210)와 제 2버퍼(220)에서 출력된 값(Sum1 및 Sum2)을 더하여 최종적으로 필터링된 값을 출력한다.The third adder 230 adds the values Sum1 and Sum2 output from the first buffer 210 and the second buffer 220 to output the finally filtered value.

도 4의 필터회로의 구성은 제 1실시예의 필터와는 달리 필터계수가 서로 다른 두 개의 롬에 나누어져 저장되어 있는 분할(split) 구조를 취하고 있다.Unlike the filter of the first embodiment, the filter circuit of FIG. 4 has a split structure in which filter coefficients are divided and stored in two different ROMs.

도 4에서는 입력데이터의 속도와 시스템 클럭속도를 IMT-2000에서 사용하는 속도를 사용하고 있는데, 입력데이터의 속도는 ×1이고 시스템 클럭속도는 ×24이다.In FIG. 4, the speed of the input data and the system clock speed are used in the IMT-2000. The speed of the input data is x1 and the system clock speed is x24.

이러한 속도차이(24배의 속도차) 하에서 만약 40개(초기화를 위한 0을 제외하면 필터계수를 46개까지 사용가능함)의 필터계수를 사용하는 필터를 설계하고자 할 때 본 발명의 제 2실시예에서 제안하는 분할구조를 적용하면 이러한 필터의 구현이 가능하게 된다.Under this speed difference (24 times speed difference), when a filter using 40 filter coefficients (up to 46 filter coefficients except 0 for initialization) is designed, the second embodiment of the present invention By applying the partitioning scheme proposed in, it is possible to implement these filters.

우선 속도차이가 24배이므로 이에 맞게 24개의 테이블(레지스터)을 갖춘 두 개의 롬(130, 140)에 각각 필터계수의 개수의 절반인 20개를 저장한다. 각 롬의 24개의 테이블에는 20개의 필터계수가 채워지고 나머지 4개의 테이블은 0으로 채워진다(도 5참조).First, since the speed difference is 24 times, 20, which is half of the number of filter coefficients, are stored in two ROMs 130 and 140 having 24 tables (registers) accordingly. Twenty-four tables in each ROM are filled with 20 filter coefficients and the remaining four tables are filled with zeros (see Figure 5).

카운터_64(120)가 동작을 시작하면 입력데이터가 ×1의 속도로 제 1램(100) 및 제 2램(110)의 동일한 테이블(레지스터)에 동시에 채워진다.When the counter_64 120 starts to operate, input data is simultaneously filled in the same table (register) of the first RAM 100 and the second RAM 110 at a speed of x1.

입력데이터가 계속적으로 들어오다가 제 1램(100) 및 제 2램(110)의 44번째의 레지스터에 입력데이터가 채워지는 시점 즉 카운터_64(120)가 43을 카운트하게 될 때 제 1카운터_24(150) 및 제 2카운터_24(160)가 동작하여 램(100, 110) 및 롬(130, 140)에 각각 ×24의 클럭을 보내기 시작한다.The first counter when the input data is continuously input and the input data is filled in the 44th registers of the first RAM 100 and the second RAM 110, that is, the counter_64 120 counts 43. 24_ and second counter_24 (160) operate to start sending clocks of 24 to RAM (100, 110) and ROM (130, 140), respectively.

두 개의 카운터_24(150, 160)에 의해 램(100, 110) 및 롬(130, 140)에서는 각각 입력데이터 및 필터계수가 ×24의 속도로 출력되어 승산기(170, 180)에 공급된다.Input data and filter coefficients are output from the RAMs 100 and 110 and the ROMs 130 and 140 by the two counters 24 and 150, respectively, and supplied to the multipliers 170 and 180.

이 때 제 1램(100) 및 제 2램(110)에 저장된 입력데이터를 액세스하여 출력시키는 방법이 다른데, 이에 대해서는 도 5를 참조하여 설명한다.In this case, a method of accessing and outputting input data stored in the first RAM 100 and the second RAM 110 is different, which will be described with reference to FIG. 5.

도 5는 램(100, 110) 및 롬(130, 140)의 출력의 매핑관계를 나타내고 있다.5 shows a mapping relationship between outputs of the RAMs 100 and 110 and the ROMs 130 and 140.

도 5(a)는 제 1램(100) 및 제 1롬(130)과의 매핑관계를 나타내고, 도 5(b)는 제 2램(110) 및 제 2롬(140)과의 매핑관계를 나타낸다.FIG. 5A illustrates a mapping relationship between the first RAM 100 and the first ROM 130, and FIG. 5B illustrates a mapping relationship between the second RAM 110 and the second ROM 140. Indicates.

제 1승산기(170)에서는 도 5(a)에서와 같은 매핑관계로 입력데이터 및 필터계수를 각각 승산하고, 그 승산값을 제 1가산기(190)에 보낸다.The first multiplier 170 multiplies the input data and the filter coefficient by the mapping relationship as shown in FIG. 5 (a), and sends the multiplier value to the first adder 190.

제 1가산기(190)는 승산값과 이전가산값을 가산한 후 그 가산값을 제 1버퍼(210)로 보낸다. 제 1버퍼(210)는 가산값을 저장하고 이를 이전가산값으로서 제 1가산기(190)로 피드백하여 다음의 승산값과 가산될 수 있도록 한다.The first adder 190 adds the multiplication value and the previous addition value and sends the addition value to the first buffer 210. The first buffer 210 stores the addition value and feeds it back to the first adder 190 as a previous addition value so as to be added to the next multiplication value.

마찬가지로 제 2승산기(180)에서는 도 5(b)에서와 같은 매핑관계로 입력데이터 및 필터계수를 각각 승산하고, 그 승산값을 제 2가산기(200)에 보낸다.Similarly, the second multiplier 180 multiplies the input data and the filter coefficient by the mapping relationship as shown in FIG. 5 (b), and sends the multiplier value to the second adder 200.

제 2가산기(200)는 승산값과 이전가산값을 가산한 후 그 가산값을 제 2버퍼(220)에 보낸다. 제 2버퍼(220)는 가산값을 저장하고 이를 이전가산값으로서 제 2가산기(200)로 피드백하여 다음의 승산값과 가산될 수 있도록 한다.The second adder 200 adds the multiplication value and the previous addition value and sends the addition value to the second buffer 220. The second buffer 220 stores the addition value and feeds it back to the second adder 200 as a previous addition value so that the second buffer 220 can be added with the next multiplication value.

도 5(a)의 경우 최초 입력데이터(x(0))에서부터 시작하여 23번째 입력데이터(x(23))까지 순차적으로 승산이 수행되는데 비하여, 도 5(b)의 경우에는 승산이 시작되는 입력데이터가 저장되어 있는 레지스터의 위치가 다르다.In the case of FIG. 5A, multiplication is performed sequentially from the first input data x (0) to the 23rd input data x (23), whereas in the case of FIG. 5B, the multiplication is started. The register position where the input data is stored is different.

즉, 도 5(b)에서 도시된 바와 같이, 제 2램(110)에서 처음 액세스되는 입력데이터가 저장되어 있는 위치는 레지스터 20번(21번째 레지스터)이 된다.That is, as shown in FIG. 5 (b), the position where the input data first accessed in the second RAM 110 is stored is register 20 (21st register).

이것은 입력데이터가 두 개의 램(100, 110)에 동일하게 저장되어 있어서 만약 입력데이터의 액세스되는 위치가 동일하게 되면 중복승산이 되어 올바른 필터링 연산을 수행할 수 없기 때문이다.This is because the input data are stored in the two RAMs 100 and 110 in the same manner, and if the access positions of the input data are the same, they are multiplied and the correct filtering operation cannot be performed.

따라서, 이를 위해 제 2카운터_24(160)가 제 1카운터_24(150)와는 다르게 21번째 레지스터를 최초 액세스되는 레지스터로서 지정할 수 있도록 한다.Accordingly, for this purpose, the second counter_24 (160) can designate the 21st register as the first accessed register differently from the first counter_24 (150).

이와 같이 제 2램(110)에서 최초 출력되는 입력데이터의 위치는 필터계수의 개수에 따라 달라지게 된다.As such, the position of the input data initially output from the second RAM 110 may vary depending on the number of filter coefficients.

제 1승산기(170) 및 제 2승산기(180)는 상기와 같이 입력데이터 및 필터계수를 계속하여 승산하여 그 승산값을 제 1가산기(190) 및 제 2가산기(200)에 보내고, 제 1가산기(190) 및 제 2가산기(200)는 승산값과 피드백된 이전가산값을 계속적으로 가산하여 그 가산값을 제 1버퍼(200) 및 제 2버퍼(210)에 보낸다.The first multiplier 170 and the second multiplier 180 continuously multiply the input data and the filter coefficient as described above, and send the multiplier value to the first adder 190 and the second adder 200, and the first adder. 190 and the second adder 200 continuously adds the multiplication value and the feedback previous addition value and sends the addition value to the first buffer 200 and the second buffer 210.

이와 같이 승산 및 가산을 계속 수행하다가 두 개의 카운터_24(150, 160)의 카운트가 23이 될 때, 제 1버퍼(210) 및 제 2버퍼(220)는 현재 저장되어 있는 제 1가산값(Add1) 및 제 2가산값(Add2)을 최종가산값(Sum1, Sum2)으로 하여 제3가산기(230)로 보내고, 제 1버퍼(210) 및 제 2버퍼(220)는 0으로 리셋된다.In this way, when the multiplication and addition are continued and the counts of the two counters 24 (150 and 160) become 23, the first buffer 210 and the second buffer 220 are stored in the first addition value ( Add1) and the second addition value Add2 are sent to the third adder 230 as the final addition values Sum1 and Sum2, and the first buffer 210 and the second buffer 220 are reset to zero.

제 3가산기(230)에서는 입력된 최종가산값(Sum1, Sum2)을 더하여 최종 필터링된 출력값을 산출한다.The third adder 230 adds input final sum values Sum1 and Sum2 to calculate a final filtered output value.

다음 카운터_24(150, 160)가 다시 0부터 카운트를 시작하여 상기와 동일한 과정에 의해 계속적으로 필터링된 값을 출력하게 된다.The next counter_24 (150, 160) starts counting again from 0 and outputs the filtered value continuously by the same process as above.

이를 수학적으로 나타내면,In mathematical terms,

y(39)=a(0)x(39)+a(1)x(38)+a(2)x(37)+ … +a(37)x(2)+a(38)x(1)+a(39)x(0)y (39) = a (0) x (39) + a (1) x (38) + a (2) x (37) +. + a (37) x (2) + a (38) x (1) + a (39) x (0)

y(40)=a(0)x(40)+a(1)x(39)+a(2)x(38)+ … +a(37)x(3)+a(38)x(2)+a(39)x(1)y (40) = a (0) x (40) + a (1) x (39) + a (2) x (38) +. + a (37) x (3) + a (38) x (2) + a (39) x (1)

y(41)=a(0)x(41)+a(1)x(40)+a(2)x(39)+ … +a(37)x(4)+a(38)x(3)+a(39)x(2)y (41) = a (0) x (41) + a (1) x (40) + a (2) x (39) +. + a (37) x (4) + a (38) x (3) + a (39) x (2)

‥‥‥ 이다.‥‥‥ to be.

제 2실시예는 필터계수를 두 개의 롬에 분할하여 저장한 구조로서 제 1실시예를 확장한 것인데, 이에 한정되는 것은 아니며 3개 이상의 롬에 분할하여 저장할 수 있는 등 분할구조의 확장이 가능하다.The second embodiment is a structure in which the filter coefficient is divided and stored in two ROMs. The first embodiment is expanded, but the present invention is not limited thereto, and the partition structure can be expanded in three or more ROMs. .

이에 따라 사용할 수 있는 필터계수의 개수를 증가시킬 수 있다.Accordingly, the number of filter coefficients that can be used can be increased.

상기와 같이, 본 발명의 제 1실시예에 의하면, 입력신호가 한 번 들어올 때마다 입력속도보다 빠른 속도로 승산 및 감산을 수행하여 입력속도와 동일한 속도로 필터링 값을 출력하게 되기 때문에 승산기 및 가산기를 하나만 사용하고서도 필터링 연산을 수행할 수 있는 효과가 있다.As described above, according to the first embodiment of the present invention, the multiplier and the adder are outputted at the same speed as the input speed by multiplying and subtracting the input signal once at a speed higher than the input speed. Filtering operation can be performed using only one.

또한 본 발명의 제 2실시예에 의하면, 본 발명의 제 1실시예의 확장으로서서로 다른 램에 입력데이터를 동시에 저장하고 또한 서로 다른 롬에 필터계수를 분산하여 저장하여 놓은 분할구조를 형성하여 놓고 서로 다른 램간의 액세스 방법을 달리하여 입력데이터와 필터계수가 1:1로 매칭 연산될 수 있도록 함으로써, IMT-2000에서와 같이 필터계수의 개수가 많고 입력데이터속도와 시스템클럭속도의 차가 크지 않은 시스템에서도 FPGA의 사용용량을 증가시키지 않고 필터를 구현할 수 있는 효과가 있다.Further, according to the second embodiment of the present invention, as an extension of the first embodiment of the present invention, a partition structure is formed in which input data is simultaneously stored in different RAMs and filter coefficients are distributed and stored in different ROMs. Input data and filter coefficients can be matched 1: 1 by different RAM access methods, so that even in systems where the number of filter coefficients is large and the difference of input data rate and system clock speed is not large as in IMT-2000 The effect is that the filter can be implemented without increasing the FPGA usage.

Claims (8)

입력데이터를 저장하는 제 1저장수단과;First storage means for storing input data; 상기 제 1저장수단에 제 1속도로 클럭을 출력하는 제 1카운터와;A first counter for outputting a clock to the first storage means at a first speed; 필터계수를 저장하는 제 2저장수단과;Second storage means for storing a filter coefficient; 상기 입력데이터와 상기 필터계수를 연산하여 제 1속도로 출력하는 연산수단과;Calculating means for calculating the input data and the filter coefficient and outputting the same at a first speed; 상기 제 1저장수단, 상기 제 2저장수단 및 상기 연산수단에 제 2속도로 클럭을 출력하는 제 2카운터를 포함하여 구성된 것을 특징으로 하는 필터회로.And a second counter for outputting a clock at a second speed to the first storage means, the second storage means, and the calculation means. 제 1항에 있어서,The method of claim 1, 상기 연산수단은 상기 입력데이터와 상기 필터계수를 곱하는 승산기와;The calculating means includes: a multiplier that multiplies the input data by the filter coefficient; 상기 승산기에서 출력된 승산값을 더하는 가산기와;An adder for adding a multiplication value output from the multiplier; 상기 가산기에서 출력된 가산값을 저장하는 버퍼를 포함하여,Including a buffer for storing the addition value output from the adder, 상기 가산기는 상기 버퍼에 저장된 가산값과 상기 승산기에서 출력된 승산값을 더하여 얻은 새로운 가산값을 상기 버퍼에 보내는 것을 특징으로 하는 필터회로.And said adder sends a new addition value obtained by adding the addition value stored in said buffer and the multiplication value output from said multiplier, to said buffer. 제 1항에 있어서,The method of claim 1, 상기 필터계수의 수는 상기 제 1속도와 상기 제 2속도의 속도차에 해당하는개수보다 작은 것을 특징으로 하는 필터회로.And the number of filter coefficients is smaller than the number corresponding to the speed difference between the first speed and the second speed. 입력데이터를 저장하는 복수개의 제 1저장수단과;A plurality of first storage means for storing input data; 상기 복수개의 제 1저장수단에 제 1속도로 클럭을 출력하는 제 1카운터와;A first counter for outputting a clock at a first speed to the plurality of first storage means; 필터계수를 저장하는 복수개의 제 2저장수단과;A plurality of second storage means for storing filter coefficients; 상기 입력데이터와 상기 필터계수를 연산하여 제 1속도로 출력하는 복수개의 연산수단과;A plurality of calculation means for calculating the input data and the filter coefficient and outputting the same at a first speed; 상기 복수개의 연산수단의 연산결과를 더하는 가산수단과;Adding means for adding operation results of the plurality of calculation means; 상기 제 1저장수단, 상기 제 2저장수단 및 상기 연산수단에 제 2속도로 클럭을 출력하는 복수개의 제 2카운터를 포함하여 구성된 것을 특징으로 하는 필터회로.And a plurality of second counters for outputting a clock at a second speed to the first storage means, the second storage means and the calculation means. 제 4항에 있어서,The method of claim 4, wherein 상기 복수개의 제 2카운터는 상기 입력데이터와 상기 필터계수의 1:1 대응의 승산이 중복되지 않도록 상기 복수개의 제 1저장수단의 최초 액세스위치를 다르게 지정하는 것을 특징으로 하는 필터회로.And the plurality of second counters differently designate initial access positions of the plurality of first storage means so that the multiplication corresponding to the input data and the filter coefficient by one-to-one correspondence does not overlap. 제 5항에 있어서,The method of claim 5, 상기 복수개의 제 1저장수단에서의 N번째의 제 1저장수단의 최초 액세스위치는 N-1번째의 제 1저장수단에 저장된 입력데이터가 N-1 번째의 제 2저장수단에 저장된 필터계수와 1:1 대응하는 마지막 위치의 다음 위치부터인 것을 특징으로 하는 필터회로.The first access position of the N-th first storage means in the plurality of first storage means is equal to the filter coefficient stored in the N-1-th second storage means by the input data stored in the N-first first storage means. : 1, wherein the filter circuit is from the position after the corresponding last position. 제 4항에 있어서,The method of claim 4, wherein 상기 연산수단은 상기 입력데이터와 상기 필터계수를 곱하는 승산기와;The calculating means includes: a multiplier that multiplies the input data by the filter coefficient; 상기 승산기에서 출력된 승산값을 더하는 가산기와;An adder for adding a multiplication value output from the multiplier; 상기 가산기에서 출력된 가산값을 저장하는 버퍼를 포함하여,Including a buffer for storing the addition value output from the adder, 상기 가산기는 상기 버퍼에 저장된 가산값과 상기 승산기에서 출력된 승산값을 더하여 얻은 새로운 가산값을 상기 버퍼에 보내는 것을 특징으로 하는 필터회로.And said adder sends a new addition value obtained by adding the addition value stored in said buffer and the multiplication value output from said multiplier, to said buffer. 제 4항에 있어서,The method of claim 4, wherein 상기 복수개의 제 2저장수단의 각각에 저장되는 필터계수의 수는 상기 제 1속도와 상기 제 2속도의 속도차에 해당하는 개수보다 작은 것을 특징으로 하는 필터회로.And a number of filter coefficients stored in each of the plurality of second storage means is smaller than a number corresponding to a speed difference between the first speed and the second speed.
KR10-2002-0035066A 2002-06-21 2002-06-21 Filter circuit KR100451193B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0035066A KR100451193B1 (en) 2002-06-21 2002-06-21 Filter circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0035066A KR100451193B1 (en) 2002-06-21 2002-06-21 Filter circuit

Publications (2)

Publication Number Publication Date
KR20040000576A true KR20040000576A (en) 2004-01-07
KR100451193B1 KR100451193B1 (en) 2004-10-02

Family

ID=37312414

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0035066A KR100451193B1 (en) 2002-06-21 2002-06-21 Filter circuit

Country Status (1)

Country Link
KR (1) KR100451193B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101050628B1 (en) * 2005-02-21 2011-07-19 삼성전자주식회사 Filtering apparatus and method in a mobile communication system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5910024A (en) * 1982-07-09 1984-01-19 Hitachi Ltd Digital filter
JPS63276911A (en) * 1987-05-08 1988-11-15 Nikon Corp Digital picture signal processor using noncyclic digital filter
JPH06140878A (en) * 1992-10-28 1994-05-20 Nec Corp Digital filter
JP4126779B2 (en) * 1998-10-21 2008-07-30 ヤマハ株式会社 Digital signal processor
KR20030010143A (en) * 2001-07-25 2003-02-05 엘지전자 주식회사 Apparatus and method for multiplier of FIR filter for applying high speed clock

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101050628B1 (en) * 2005-02-21 2011-07-19 삼성전자주식회사 Filtering apparatus and method in a mobile communication system

Also Published As

Publication number Publication date
KR100451193B1 (en) 2004-10-02

Similar Documents

Publication Publication Date Title
US4281391A (en) Number theoretic processor
Wang et al. A study of the residue-to-binary converters for the three-moduli sets
US20050187998A1 (en) Multiplier-accumulator block mode splitting
JPH0661792A (en) Digital filter
EP1471420A2 (en) Montgomery modular multiplier and method thereof using carry save addition
US10853034B2 (en) Common factor mass multiplication circuitry
EP0146963A2 (en) Iir digital filter
EP2037357A2 (en) Montgomery modular multiplier and method thereof using carry save addition
US20020118739A1 (en) Digital filter and method for performing a multiplication based on a look-up table
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
Paliwal et al. Comparative study of FFA architectures using different multiplier and adder topologies
JPH0640301B2 (en) Parallel multiplier circuit
US11256979B2 (en) Common factor mass multiplication circuitry
Paliouras et al. Multifunction architectures for RNS processors
Vinod et al. An efficient coefficient-partitioning algorithm for realizing low-complexity digital filters
JPH11266140A (en) Programmable circuit for providing digital filter
US7680872B2 (en) Canonical signed digit (CSD) coefficient multiplier with optimization
KR100451193B1 (en) Filter circuit
Macpherson et al. Low FPGA area multiplier blocks for full parallel FIR filters
Umasankar et al. Design and analysis of various slice reduction algorithm for low power and area efficient FIR filter
JP2002064406A (en) Complex digital matched filter
JPS6015769A (en) Processing circuit of digital signal
US20070239811A1 (en) Multiplication by one from a set of constants using simple circuitry
Mandal et al. Review of Architectures for Low Power and Reconfigurable FIR Filters
Sidahao et al. Multiple restricted multiplication

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120814

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130816

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140818

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee