KR100335252B1 - Fast digital filter - Google Patents

Fast digital filter Download PDF

Info

Publication number
KR100335252B1
KR100335252B1 KR1020000016364A KR20000016364A KR100335252B1 KR 100335252 B1 KR100335252 B1 KR 100335252B1 KR 1020000016364 A KR1020000016364 A KR 1020000016364A KR 20000016364 A KR20000016364 A KR 20000016364A KR 100335252 B1 KR100335252 B1 KR 100335252B1
Authority
KR
South Korea
Prior art keywords
carry
register
sum
imaginary
real
Prior art date
Application number
KR1020000016364A
Other languages
Korean (ko)
Other versions
KR20010095399A (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 KR1020000016364A priority Critical patent/KR100335252B1/en
Publication of KR20010095399A publication Critical patent/KR20010095399A/en
Application granted granted Critical
Publication of KR100335252B1 publication Critical patent/KR100335252B1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0223Computation saving measures; Accelerating measures
    • H03H17/0227Measures concerning the coefficients
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0223Computation saving measures; Accelerating measures
    • H03H17/0233Measures concerning the signal representation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0223Computation saving measures; Accelerating measures
    • H03H17/0238Measures concerning the arithmetic used
    • H03H17/0241Distributed arithmetic
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H21/00Adaptive networks
    • H03H21/0012Digital adaptive filters

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 비트 분리 구조의 고속 디지털 필터에 관한 것으로서, 실수 입력 데이터를 저장하는 실수 데이터 레지스터(1)와; 허수 입력 데이터를 저장하는 허수 데이터 레지스터(3)와; 실수 데이터 레지스터(1) 및 허수 데이터 레지스터(3)의 실수 및 허수를 각각 선택하여 출력하는 제 1 및 제 2 멀티플렉서(5, 7)와; 실수 필터 계수를 저장하는 제 1 계수 레지스터와(13); 허수 필터 계수를 저장하는 제 2 계수 레지스터(15)와; 제 1 및 제 2 멀티플렉서(5, 7)의 실수 및 허수에 대응하는 제 1 계수 레지스터(13)의 필터 계수를 선택하여 출력하는 제 3 멀티플렉서(9)와; 제 1 및 제 2 멀티플렉서(5,7)의 실수 및 허수에 대응하는 제 2 계수 레지스터(15)의 필터 계수를 선택하여 출력하는 제 4 멀티플렉서(11)와; 제 3 및 제 4 멀티플렉서(9,11)의 출력을 각각 가산하는 제 1 및 제 2 덧셈기 트리(17,19)와; 제 1 및 제 2 덧셈기 트리(17,19)의 출력을 시프트시키므로써 덧셈기 트리(17,19) 출력의 자릿수를 각각 보정하는 제 1 및 제 2 자릿수 보정 레지스터(R1-R4)와; 상기 제 1 및 제 2 자릿수 보정 레지스터(R1-R4)의 출력을 연산 처리하므로써 실수 출력 데이터 및 허수 출력 데이터를 산출하는 고속 누산기(20)를 포함한다.The present invention relates to a high-speed digital filter having a bit division structure, and more particularly, to a high-speed digital filter having a bit-division structure, comprising: a real data register (1) An imaginary data register (3) for storing imaginary input data; First and second multiplexers (5, 7) for selecting and outputting the real and imaginary numbers of the real data register (1) and the imaginary data register (3), respectively; A first coefficient register (13) for storing a real number filter coefficient; A second coefficient register (15) for storing imaginary filter coefficients; A third multiplexer (9) for selecting and outputting filter coefficients of the first coefficient register (13) corresponding to the real and imaginary numbers of the first and second multiplexers (5, 7); A fourth multiplexer 11 for selecting and outputting filter coefficients of the second coefficient register 15 corresponding to the real and imaginary numbers of the first and second multiplexers 5 and 7; First and second adder trees (17, 19) for respectively adding outputs of the third and fourth multiplexers (9, 11); First and second digit correction registers (R1-R4) for respectively correcting the digits of the outputs of the adder trees (17, 19) by shifting the outputs of the first and second adder trees (17, 19); And a high-speed accumulator 20 for calculating real output data and imaginary output data by calculating the outputs of the first and second digit correction registers R1-R4.

즉, 본 발명에서는 종래의 필터 구조를 사용한 하드웨어보다 2의 보수 형태의 데이터의 특성을 사용하여 더 적은 자원을 사용하여 설계할 수 있다는 효과가 있다.That is, according to the present invention, it is possible to design the system using fewer resources by using the data characteristics of the two's complement type rather than the hardware using the conventional filter structure.

Description

비트 분리 구조의 고속 디지털 필터{FAST DIGITAL FILTER}[0001] FAST DIGITAL FILTER [0002]

본 발명은 디지털 필터에 관한 것으로서, 더욱 상세하게는 연산 회로의 지연 시간을 제거한 비트 분리 구조의 고속 디지털 필터에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital filter, and more particularly, to a high-speed digital filter having a bit separation structure in which a delay time of an operation circuit is eliminated.

영상 레이더 신호 처리를 비롯한 많은 분야에서 디지털 필터의 사용은 필수적이다. 따라서 실시간 데이터 처리를 구현하기 위해서는 디지털 필터의 고속화가 필요하다.The use of digital filters is essential in many areas, including imaging radar signal processing. Therefore, in order to realize real-time data processing, it is necessary to speed up the digital filter.

일반적인 디지털 필터는 필터 계수와 입력 데이터를 곱하는 부분과, 각 탭의 곱셈 결과들을 더하는 부분으로 구성되어 있다. 이 경우, 먼저 곱셈을 위한 부분을 하드웨어로 구현할 경우 많은 자원을 소모할 뿐 아니라, 연산 시간이 매우 길어 병목 현상을 유발시켜 전체 처리 속도를 느리게 만든다.A typical digital filter consists of a section that multiplies filter coefficients and input data, and a section that adds the multiplication results of each tap. In this case, hardware implementation of the multiplication part first consumes a lot of resources, and the computation time is very long, which causes a bottleneck and slows down the entire processing speed.

두 번째로 누산기 부분은 각 비트별 연산 결과를 누적하여 최종 결과를 처리하는 부분으로 계산해야 할 데이터의 크기가 입력 비트 수에 비하여 매우 크다. 따라서 일반적인 누산기 구조를 사용할 경우 누산하는 과정에서 데이터 처리 시간이 증가한다. 따라서 이 부분의 병목 현상은 시스템의 클럭 주기를 증가시켜 전체 데이터 처리 시간을 증가시킨다.Second, the accumulator part accumulates the operation results of each bit and processes the final result. The size of the data to be calculated is much larger than the number of input bits. Therefore, when the general accumulator structure is used, the data processing time increases in the accumulation process. Therefore, the bottleneck in this part increases the clock period of the system, thereby increasing the overall data processing time.

세 번째로 디지털 필터의 탭 수가 큰 경우, 하드웨어로 구현할 경우에 많은 자원을 소비하게 된다. 일반적인 디지털 필터의 경우 데이터와 필터 계수로 signed number를 사용한다. 따라서 디지털 필터는 연산을 수행할 때 각 데이터의 부호에따라 필터 계수와 더불어 계수의 보수를 필요로 한다. 그래서 보수를 저장하기 위한 레지스터를 두거나, 보수를 만드는 논리 회로를 구현하여야 한다. 이럴 경우 많은 자원을 소비하고, 한정된 자원의 양 때문에 필터의 탭 수를 줄여야 한다.Third, when the number of taps of a digital filter is large, it consumes a lot of resources when implemented in hardware. For typical digital filters, use signed numbers as data and filter coefficients. Therefore, the digital filter requires the coefficient of the filter to be complemented with the coefficient according to the sign of each data when performing the operation. So you have to put a register to save the repair, or implement a logic circuit to make the repair. In this case, you should consume a lot of resources and reduce the number of taps in the filter due to the limited amount of resources.

네 번째로 복소수의 데이터를 처리하는 경우, 필터는 크게 아래의 표 1.과 같이 4개의 연산 결과를 요구한다. 따라서 하드웨어로 구현할 경우 4개의 연산 부분이 필요하다는 문제가 있었다.Fourth, when processing data of a complex number, the filter largely requires four operation results as shown in Table 1 below. Therefore, there is a problem in that it requires four operation parts when implemented in hardware.

출력Print 필요한 계산Required calculation 결과result 실수부 출력Real output A = (실수부 데이터)×(실수부 계수)A = (real part data) x (real part coefficient) A - BA - B B = (허수부 데이터)×(허수부 계수)B = (imaginary part data) x (imaginary part coefficient) 허수부 출력Imaginary output C = (실수부 데이터)×(허수부 계수)C = (real part data) x (imaginary part coefficient) C + DC + D D = (허수부 데이터)×(실수부 계수)D = (imaginary part data) x (real part coefficient)

본 발명은 이러한 문제를 해결하기 위한 것으로서, 본 발명의 목적은 연산 회로의 지연 시간을 제거한 비트 분리 구조의 고속 디지털 필터를 제공하는데 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a high-speed digital filter of a bit division structure in which a delay time of an operation circuit is eliminated.

이러한 목적을 달성하기 위하여 본 발명은, 비트 분리 구조의 고속 디지털 필터로서,According to an aspect of the present invention, there is provided a high-speed digital filter having a bit-

실수 입력 데이터를 저장하는 실수 데이터 레지스터와;A real data register for storing real input data;

허수 입력 데이터를 저장하는 허수 데이터 레지스터와;An imaginary data register for storing imaginary input data;

상기 실수 데이터 레지스터 및 허수 데이터 레지스터의 실수 및 허수를 각각 선택하여 출력하는 제 1 및 제 2 멀티플렉서와;First and second multiplexers for selecting and outputting the real and imaginary numbers of the real data register and the imaginary data register, respectively;

실수 필터 계수를 저장하는 제 1 계수 레지스터와;A first coefficient register for storing a real number filter coefficient;

허수 필터 계수를 저장하는 제 2 계수 레지스터와;A second coefficient register for storing imaginary filter coefficients;

상기 제 1 및 제 2 멀티플렉서의 실수 및 허수에 대응하는 제 1 계수 레지스터의 필터 계수를 선택하여 출력하는 제 3 멀티플렉서와;A third multiplexer for selecting and outputting a filter coefficient of a first coefficient register corresponding to a real number and an imaginary number of the first and second multiplexers;

상기 제 1 및 제 2 멀티플렉서의 실수 및 허수에 대응하는 제 2 계수 레지스터의 필터 계수를 선택하여 출력하는 제 4 멀티플렉서와; 상기 제 3 및 제 4 멀티플렉서의 출력을 각각 가산하는 제 1 및 제 2 덧셈기 트리와; 상기 제 1 및 제 2 덧셈기 트리의 출력을 시프트시키므로써 덧셈기 트리 출력의 자릿수를 각각 보정하는 제 1 및 제 2 자릿수 보정 레지스터와; 상기 제 1 및 제 2 자릿수 보정 레지스터의 출력을 연산 처리하므로써 실수 출력 데이터 및 허수 출력 데이터를 산출하는 고속 누산기를 포함한다.A fourth multiplexer for selecting and outputting a filter coefficient of a second coefficient register corresponding to a real number and an imaginary number of the first and second multiplexers; First and second adder trees for respectively adding outputs of the third and fourth multiplexers; A first and a second digit correction register for respectively correcting the digits of the adder tree output by shifting outputs of the first and second adder trees; And a high-speed accumulator for calculating real output data and imaginary output data by calculating the outputs of the first and second digit correction registers.

후술하는 바와 같이 본 발명에서는 종래 기술의 첫 번째 문제점을 보완하기 위하여 데이터를 비트 단위로 나누어서 각 비트별로 연산을 수행하도록 하였다. 연산을 수행하는 부분은 CSA(Carry Save Adder)를 사용하여 구현하여 지연 시간을 줄였다. 이럴 경우 곱셈기를 사용할 필요가 없어 병목 현상을 해결할 수 있다.As described below, in order to solve the first problem of the prior art, the present invention divides data into bits and performs operations on each bit. The part performing the operation is implemented using Carry Save Adder (CSA) to reduce the delay time. This eliminates the need to use a multiplier to solve bottlenecks.

또한, 종래 기술의 두 번째 문제점을 해결하기 위하여 본 발명에서는 누산기 부분을 CSA(Carry Save Adder)와 CPA(Carry Propagation Adder)를 사용해 구현하였다. 이렇게 구현함으로서 누산기 부분의 데이터 처리 방법을 변형해 시스템의 클럭 주기를 짧게 할 수 있게 되어 데이터 처리 속도를 짧게 할 수 있었다.Also, in order to solve the second problem of the prior art, the accumulator part is implemented using Carry Save Adder (CSA) and Carry Propagation Adder (CPA) in the present invention. By implementing this method, the data processing method of the accumulator part can be modified to shorten the clock period of the system, and the data processing speed can be shortened.

종래 기술의 세 번째 결점을 보완하기 위해 본 발명에서는 2의 보수의 특성을 이용한 알고리즘을 사용하여 필터 계수의 보수를 사용할 필요 없도록 하여 자원의 필요량을 줄일 수 있도록 하였다.In order to compensate for the third drawback of the prior art, the present invention makes it unnecessary to use the filter coefficient repair using an algorithm using the property of 2's complement, thereby reducing the amount of resources required.

또한, 종래 기술의 네 번째 문제점을 해결하기 위하여 본 발명에서는 입력 데이터의 실수와 허수 부분을 멀티플렉스 하는 방법을 사용해 2개의 연산 부분만으로 4개의 연산 결과를 얻을 수 있어 자원의 소비량을 줄일 수 있도록 하였다.In order to solve the fourth problem of the prior art, in the present invention, by using a method of multiplexing real numbers and imaginary parts of input data, four operation results can be obtained by only two operation parts, thereby reducing resource consumption .

도 1은 본 발명에 따른 비트 분리 구조의 고속 디지털 필터의 블록도,1 is a block diagram of a high-speed digital filter of a bit-

도 2는 일반적인 CPA형 가산기의 구조를 도시한 블록도,2 is a block diagram showing the structure of a general CPA adder,

도 3은 일반적인 CSA형 가산기의 구조를 도시한 블록도,3 is a block diagram showing the structure of a general CSA adder;

도 4는 본 발명에 따른 비트 분리 구조의 고속 디지털 필터 내의 고속 연산기의 구조를 도시한 블록도,FIG. 4 is a block diagram illustrating a structure of a high-speed computer in a high-speed digital filter of a bit-

도 5는 본 발명에 따른 비트 분리 구조의 고속 디지털 필터 내 연산기의 구조를 도시한 블록도,FIG. 5 is a block diagram illustrating a structure of a computing unit in a high-speed digital filter of a bit division structure according to the present invention;

도 6은 본 발명에 따른 비트 분리 구조의 고속 디지털 필터 내 고속 연산기의 다른 실시예를 도시한 블록도,FIG. 6 is a block diagram illustrating another embodiment of a high-speed computer in a high-speed digital filter of a bit division structure according to the present invention.

도 7은 본 발명에 따른 비트 분리 구조의 고속 디지털 필터 내 연산기의 다른 실시예를 도시한 블록도.7 is a block diagram showing another embodiment of a computing unit in a high-speed digital filter of a bit-division structure according to the present invention;

<도면의 주요부분에 대한 부호의 설명>Description of the Related Art

1 : 실수 데이터 레지스터 3 : 허수 데이터 레지스터1: real number data register 3: imaginary data register

5, 7, 9 11 : 멀티플렉서 13, 15 : 계수 레지스터5, 7, 9 11: Multiplexer 13, 15: Coefficient register

17, 19 : 덧셈기 트리 R1-R4 : 자릿수 보정 레지스터17, 19: Adder tree R1-R4: Digit correction register

20 : 고속 누산기20: High-speed accumulator

먼저, 본 발명의 디지털 필터의 구성에 대한 이론적 배경을 설명하면 다음과 같다.First, the theoretical background of the configuration of the digital filter of the present invention will be described as follows.

일반적인 디지털 필터는 아래의 수학식 1을 수행하도록 되어 있다.A typical digital filter is designed to perform Equation (1) below.

수학식 1에서 Y(n)는 n번째 출력 데이터를, C(k)는 k번째 필터 계수를 나타내며 X(n-k)는 n-k번째 입력 데이터를 나타낸다. 수학식 1은 모두 복소수를 나타내고 있으므로 출력 데이터는 수학식 2 및 수학식 3과 같이 실수 출력 데이터와 허수 출력 데이터로 나누어 나타낼 수 있다In Equation (1), Y (n) denotes n-th output data, C (k) denotes a kth filter coefficient, and X (n-k) denotes n-kth input data. Since Equation 1 represents a complex number, the output data can be divided into real output data and imaginary output data as shown in Equations (2) and (3)

수학식 2, 3에서 위 첨자 R과 I는 각각 실수와 허수를 나타낸다.In equations (2) and (3), superscripts R and I represent real numbers and imaginary numbers, respectively.

위 식에서 실수 입력 데이터는 L비트의 signed number이다. signed number는 2의 보수 형태로 사용하였다. 아래의 수학식 4는 signed number의 크기를 나타낸다.In the above equation, real input data is a signed number of L bits. The signed number is used as the complement of 2. Equation (4) below represents the size of the signed number.

위 식에서은 n번째 실수 입력 데이터의 l번째 비트를 나타낸다. 따라서는 '1'또는 '0'의 값만을 가질 수 있다.In the above equation Represents the l-th bit of the n-th real input data. therefore May only have a value of '1' or '0'.

상기 수학식 4에서 2의 보수 형태의 데이터 크기는 최상위 비트의 경우 음의 부호를 가지고 있다. 따라서, 부분 합을 누산할 때에 최상위 비트에서 얻은 부분 합은 빼주고 나머지 비트의 부분 합은 가산해주어야 한다.In Equation (4), the data size of the complement of 2 has a negative sign in the most significant bit. Therefore, when the partial sum is accumulated, the partial sum obtained from the most significant bit should be subtracted and the partial sum of the remaining bits must be added.

위 수학식 3의에 수학식 4를 적용하여 입력 데이터를 비트 분리하여 정리하면 아래의 수학식 5와 수학식 6과 같이 표현될 수 있다.In Equation (3) and The input data can be expressed by Equation (5) and Equation (6) as follows.

이제 위 식을 수학식 2에 대입하여 정리하면 아래의 수학식 7과 같이 표현된다.Now, by substituting the above equation into the equation (2), the following equation (7) is obtained.

정리된 수학식 7을 살펴보면, 입력 데이터를 비트 분리하여 필터링을 수행하는 것이 가능함을 알 수 있다.는 비트이므로의 계산은 곱셈을 수행하는 것이지만, 곱셈의 계산 결과는가 '1'이면이고, '0'이면이 된다. 즉의 계산은의 비트 값에 따라혹은을 선택하도록 하면 된다.Referring to Equation (7), it can be seen that it is possible to perform filtering by bit-splitting the input data. Is a bit Is to perform a multiplication, but the result of the multiplication is Is '1' , And if it is '0' . In other words The calculation of Depending on the bit value of or .

수학식 7의 마지막 수식은 모든 탭에 대하여 데이터 비트 값에 따라혹은을 선택하여 계산하면 비트별 연산 결과를 얻을 수 있다. 이렇게 얻은 결과를 비트의 자릿수에 따라을 곱하여 주면 데이터의 자릿수 보정된 비트별 연산 결과를 얻을 수 있다. 최하위부터 최상위 비트에 대하여 얻은 모든 자릿수 보정된 비트별 계산 결과를 더해 주면 필터링 된 결과를 얻을 수 있다.The last equation of Equation (7) is based on the data bit value for all the tabs or , The result of bitwise operation can be obtained. Depending on the number of digits of the bit, , It is possible to obtain the result of the bit-by-bit-corrected operation of the data. The filtered result can be obtained by adding the result of the bit-by-bit corrected bits obtained from the least significant bit to the most significant bit.

수학식 3을 같은 방법으로 정리하면 아래의 수학식 8과 같이 정리된다.Equation 3 is summarized in the same manner as Equation 8 below.

도 1은 상술한 수학식 8을 이용하는 본 발명에 따른 고속 디지털 필터의 구조를 블록도 형태로 나타낸 것으로, 'L'비트의 입력 데이터와 'B'비트의 필터 계수, 'P'탭의 필터를 가정한 그림이다.FIG. 1 is a block diagram showing the structure of a high-speed digital filter according to the present invention using Equation (8). The input data of 'L' bit and the filter coefficient of 'B' This is a hypothetical picture.

도시된 바와 같이 L 비트(0∼L-1)의 입력 데이터(0∼P-1)들은 실수 및 허수로 구분되어 각각 실수 데이터 레지스터(1) 및 허수 데이터 레지스터(3)에 각기 입력된다. 각 레지스터(1,3)에 저장된 데이터들은 도시된 바와 같이 최하위 비트(0)부터 차례대로 최상위 비트(L-1)로 순환할 수 있도록 구성되었다.As shown in the figure, input data 0 to P-1 of L bits (0 to L-1) are divided into a real number and an imaginary number and input to the real data register 1 and the imaginary data register 3, respectively. The data stored in each of the registers 1 and 3 is configured to be able to cycle from the least significant bit (0) to the most significant bit (L-1), as shown.

새로운 실수 입력 데이터()와 허수 입력 데이터()가 입력되면, 먼저 최하위 비트에 대하여 비트별 부분 합을 구하기 위한 작업이 수행된다. 즉, 입력 데이터(), ()들은 최하위 비트부터 순차적으로 멀티플렉서(3, 5)에 각각 제공된다.New real input data ( ) And imaginary input data ( ) Is input, an operation for obtaining a bit-wise partial sum with respect to the least significant bit is performed first. That is, ), ( Are sequentially provided to the multiplexers 3 and 5 starting from the least significant bit.

수학식 7에서 나타낸 실수 출력 데이터를 얻기 위해서는 실수 입력 데이터()의 비트()의 집합은 실수 계수와 곱해지고, 허수 입력 데이터()의 비트()는 허수 계수와 곱해져야 한다. 이를 위하여 멀티플렉서(3)는 실수 출력 데이터를 구하는 경우에는 실수 입력 데이터()의 비트()의 집합이 실수 계수 레지스터(13)내의 실수 계수()와 곱해지도록 멀티플렉서(9)에 제공하며, 허수 입력 데이터()의 비트()는 허수 계수 레지스터(15)내의 허수 계수()와 곱해지도록 멀티플렉서(11)에 전달한다.To obtain the real output data shown in Equation (7), the real input data ( ) Bits ) Is multiplied by the real coefficient, and the imaginary input data ( ) Bits ) Must be multiplied by the imaginary coefficient. For this purpose, when the real number output data is obtained, the multiplexer 3 outputs the real number input data ( ) Bits ) Is stored in the real coefficient register 13 ( To the multiplexer 9 so that the imaginary input data ( ) Bits ) Is an imaginary coefficient in the imaginary coefficient register 15 ( To the multiplexer 11 so as to be multiplied.

반대로 수학식8의 허수 출력 데이터를 얻기 위해서는 실수 입력 데이터()의 비트()의 집합은 허수 계수와 곱해져야 하며, 허수 입력 데이터()의 비트()는 실수 계수와 곱해져야 한다. 이를 위하여 멀티플렉서(7)는 실수 입력 데이터()의 비트()의 집합이 허수 계수 레지스터(15)내의 허수 계수()와 곱해지도록 멀티플렉서(11)에 전달하고, 허수 입력 데이터()의 비트()는 실수 계수 레지스터(13)내의 실수 계수()와 곱해지도록 멀티플렉서(9)에 제공한다.Conversely, to obtain the imaginary output data of Equation (8), the real input data ( ) Bits ) Must be multiplied by the imaginary coefficient, and the imaginary input data ( ) Bits ) Must be multiplied by the real coefficient. To this end, the multiplexer 7 receives the real input data ( ) Bits ) Is stored in the imaginary coefficient register 15 as an imaginary coefficient ( To the multiplexer 11 so that the imaginary input data ( ) Bits ) Is a real number coefficient in the real number count register 13 To the multiplexer 9 to be multiplied.

실수 계수 부분을 위한 멀티플렉서(9)는 실수 입력 데이터의 비트()의 값이 '1'이면 상응하는 필터 값인을 선택하고 '0'이면을 선택한다. 허수 계수 부분의 멀티플렉서(11)도 허수 입력 데이터의 비트()의 값을 받아서 같은 방법으로혹은을 선택하는 기능을 수행한다.The multiplexer 9 for the real part counts the bits of the real number input data ( ) Is '1', the corresponding filter value And if it is '0' . The imaginary number multiplexer 11 also outputs the bits of the imaginary input data ( ) In the same way or As shown in FIG.

이러한 과정은 하드웨어로 구현하였을 때 모든 탭에 대하여 병렬적으로 동시에 수행된다.This process is performed concurrently on all taps when implemented in hardware.

여기까지의 과정에서 얻은 결과는 모든 탭에 대하여 필터 계수(,)와 입력 데이터의 최하위 비트의 곱셈인이다.The results obtained so far are the filter coefficients ( , ) And the least significant bit of the input data and to be.

멀티플렉서(9,11)로부터의 결과 값은 CSA(carry saver adder)로 구성된 덧셈기 트리(17,19)로 제공된다. 실수 계수 부분의 덧셈기 트리(17)에서는 모든 탭의 결과 값()을 더하는 작업을 수행한다. 따라서 실수 계수 부분의 덧셈기 트리(17)에서 얻은 결과는이 되어야 한다. 그러나, CSA는 캐리(carry) 부분과 합계(sum) 부분을 나누어서 출력한다. 즉 덧셈기 트리(17)의 결과의 캐리 부분과 합계 부분을 더하면를 얻을 수 있게 된다.The resultant values from the multiplexers 9 and 11 are provided to an adder tree 17 and 19 composed of CSA (carry saver adder). In the adder tree 17 of the real number counting part, the result values of all tabs ( ). &Lt; / RTI &gt; Therefore, the result obtained from the adder tree (17) . However, the CSA divides the carry part and the sum part and outputs them. That is, adding the carry portion and the sum portion of the result of the adder tree 17 .

허수 계수 부분의 덧셈기 트리(19)에서는를 결과로서 얻게 된다.In the imaginary-number portion adder tree 19, As a result.

덧셈기 트리(17,19)를 CSA로 구현한 이유는 다음과 같다.The reason why the adder trees 17 and 19 are implemented by the CSA is as follows.

일반적인 CPA(carry propagation adder)는 도 2에 도시된 바와 같이 2개의 입력(x(n)),(y(n))을 받아 출력(s(n))을 내는 덧셈기이다. 이 덧셈기는 내부 가산기(Adder)(A1-An)의 캐리()가 다음 가산기의 캐리 입력 단자()로 제공된다. 따라서 이러한 캐리의 체인(Chain)으로 인해 형성되는 지연으로 인해 연산 시간이 지연된다는 단점이 있다.A general carry propagation adder (CPA) is an adder that receives two inputs x (n), y (n) and outputs an output s (n), as shown in FIG. This adder adds the adder (Adder) (A1-An) ) To the carry input terminal of the next adder ( ). Therefore, the computation time is delayed due to the delay caused by the chain of the carry.

도 3의 일반적인 CSA는 3개의 입력(x(n)),(y(n)),(a(n))을 받아 2개의 출력(c(n))을 내는 덧셈기로 그림에서 보듯이 가산기(A11-A1n) 캐리들이 바로 출력을 형성하므로 CPA와 달리 캐리의 체인을 형성하지 않아 지연이 없어 빠른 덧셈 과정을 수행할 수 있다. CSA가 CPA에 비해 많은 자원을 소비하지만, 빠른 연산 시간을 가지기 때문에 CSA를 사용하여 덧셈기 트리를 구현하였다.The general CSA of FIG. 3 is an adder which receives three outputs (x (n)), (y (n)) and (a (n)) and outputs two outputs c (n) A11-A1n) carries the output directly, unlike the CPA, it does not form a carry chain, so there is no delay and it is possible to perform a fast addition process. Because CSA consumes more resources than CPA, but has fast computation time, we implemented adder tree using CSA.

이렇게 얻어진 결과는 자릿수 보정 레지스터(R1),(R2),(R3),(R4)에서 자릿수를 보정하게 된다. 첫 번째 입력 데이터 비트의 부분 합은 수학식 7에서 보듯이을 곱해주어야 한다. 즉 변화가 없다. 하지만, 만약 2번째 입력 데이터 비트의 부분 합을 자릿수 보정한다면을 곱해주어야 한다. 이것은 자릿수 보정 레지스터(R1-R4)에서 부분 합을 1비트만큼 왼쪽으로 쉬프트시켜주면 된다.The result thus obtained is used to correct the digits in the digit correction registers R1, R2, R3, and R4. The partial sum of the first input data bits is given by Equation 7 . That is, there is no change. However, if the partial sum of the second input data bits is digitally corrected . This shifts the fractional sum by one bit to the left in the digit correction register (R1-R4).

이 과정을 통해 수학식 7에서 나타나는를 얻을 수 있다.Through this process, Wow Can be obtained.

번째 비트의 자릿수 보정된 부분 합을 얻는 과정도 위에서 설명한 0번째 비트의 부분 합을 얻는 과정과 같은 방법을 거쳐을 얻을 수 있다. The process of obtaining the corrected partial sum of the i-th bit is the same as the process of obtaining the partial sum of the 0-th bit described above Wow Can be obtained.

0번째 입력 데이터 비트부터 L-1번째 입력 데이터 비트까지 이 과정이 차례대로 반복되며, 덧셈기 트리(17,19)에서 구해진 캐리 역시 상술한 과정을 수행하여야 한다.This process is repeated in order from the 0th input data bit to the (L-1) th input data bit, and the carries obtained from the adder trees 17 and 19 must also perform the above-described procedure.

이렇게 차례대로 계산된 자릿수 보정된 부분 합들은 고속 누산기(20)를 통해 모두 더해져서 최종 필터 출력을 얻을 수 있다.The sequence-corrected partial sums calculated in this order are all added through the high-speed accumulator 20 to obtain the final filter output.

고속 누산기(20)는를 0번째부터 L-1번째까지 받아서 최종 결과인 수학식 7을 얻는 부분이다.The high-speed accumulator 20 Wow From the 0th to the (L-1) th and obtains the final result of Equation (7).

고속 누산기(20)는 두 가지 방법으로 제작할 수 있다.The high-speed accumulator 20 can be manufactured in two ways.

첫 번째 고속 누산기(20)의 구조는 도 4와 같다. 첫 번째 고속 누산기(20)는 크게 실수 계수 부분 자릿수 보정된 부분 합과 허수 계수 부분의 자릿수 보정된 부분 합을 각각 누적하는 누적 회로(23,25) 부분과 실수 계수 부분과 허수 계수 부분의 누적된 부분 합을 더하는 누적 회로(27)로 나눌 수 있다.The structure of the first high-speed accumulator 20 is shown in FIG. The first high-speed accumulator 20 mainly includes a cumulative circuit 23, 25 for accumulating the fractional-corrected fractional part of the real-number coefficient and the fractional-corrected fractional part of the imaginary-integer part, And an accumulation circuit 27 for adding a partial sum.

먼저 실수 계수 부분과 허수 계수 부분의 부분 합을 누적하는 누적 회로(23,25)들은 각각 두 개(231, 233), (251, 253)의 연산기를 사용하여 자릿수 보정된 부분 합을 누적하는 역할을 수행한다.The accumulation circuits 23 and 25 accumulating the partial sum of the real coefficient part and the imaginary coefficient part accumulate the digitally corrected partial sum using the arithmetic units of the two 231, 233, and 251 and 253, respectively .

도 3에 도시된 바와 같이 CSA는 전가산기(Full-adder)(A21-A2n)를 써서3개의 입력 데이터(x(n)),(y(n)),(an))를 받아서 덧셈을 수행하여 2개의 출력 즉, 캐리(c(n))와 합계(Sum(s(n))를 출력한다. 따라서 캐리(c(n))와 합계(Sum(s(n))를 더하면, 세 개의 입력 데이터의 합(x(n)),(y(n)),(an))이 구해지나, 본 발명의 연산기는 후술하는 바와 같이 덧셈과 뺄셈을 수행할 수 있어야 하므로 도 5와 같이 CSA를 변형하여 구성한다. CSA를 변형한 도 5의 연산기(231, 233, 251, 253)는 3개의 입력 데이터인 a(n), x(n), y(n)와 더불어 제어 신호(#Add/Sub)를 구비한다. 여기서, 연산기(231, 233, 251, 253)를 사용하기 위한 제한 조건은 입력값(y(n))을 2진수로 표현하였을 경우, 마지막 자리가 '0'이어야 한다는 것이다 즉, 입력값(y(n))은 입력값(a(n)) 및 (x(n))보다 자릿수가 1이 더 커야한다.As shown in FIG. 3, the CSA receives three input data x (n), y (n), and an (a) by using a full-adder A21- The carry (c (n)) and the sum Sum (s (n)) are added together to output three outputs The sum of the input data x (n), y (n), and an) is obtained. However, since the operator of the present invention must be able to perform addition and subtraction as described later, The adders 231, 233, 251 and 253 of FIG. 5, which are modified from the CSA, add control signals # Add / n (n) (N) is represented by a binary number, the last digit of the input value y (n) must be '0' That is, the input value y (n) must have one digit greater than the input values a (n) and (x (n)).

또한, 본 발명의 연산기(231, 233, 251, 253)는 입력값(a(n)) 및 반전된 입력값(a(n) : 즉, a(n)의 1의 보수값)이 인버터를 통하여 멀티플렉서(MUX1)에 제공되며, 멀티플렉서(MUX1)는 제어 신호(#Add/Sub)가 0일 때에는 입력값(a(n))을, 제어 신호(#Add/Sub)가 1일 때에는 입력값(a(n))의 1의 보수값을 출력한다.The arithmetic operators 231, 233, 251 and 253 of the present invention are arranged such that the input value a (n) and the inverted input value a (n), that is, the one's complement value of a And the multiplexer MUX1 supplies the input value a (n) when the control signal # Add / Sub is 0 and the input value a (n) when the control signal # Add / (a (n)).

멀티플렉서(MUX1)의 출력값 및 입력값(x(n))은 가산기(A11-A1n)의 입력 단자(a, b)에 제공되고, 입력값(y(n))은 가산기(A1-A1(n-1))의 캐리 입력 단자(Cin)에 제공된다. 여기서, 제어 신호(#Add/Sub)는 가산기(An)의 캐리 입력 단자(Cin)에 제공된다. 따라서, 제어 신호(#Add/Sub)가 0일 때에 가산기(A0-An)는 입력값(x(n)),(y(n)) 및 (a(n))은 상호 가산되나, 제어 신호(#Add/Sub)가 1일 때에는 입력값(x(n)),(y(n))의 합산 값에 입력값(a(n))이 감산된 값을 출력한다. 즉, 제어 신호(#Add/Sub)의 값이 '0'이면, 본 발명의 연산기(231, 233, 251, 253)는를 출력하나, 만약 제어 신호(#Add/Sub)의 값이 '1'이면, 3개의 입력 데이터 중 a(n)를 감산하는를 출력한다.The output value and input value x (n) of the multiplexer MUX1 are provided to the input terminals a and b of the adders A11 to A1n and the input value y -1) of the carry- in terminal C in . Here, the control signal (# Add / Sub) is provided to the carry input terminal (C in ) of the adder (An). Therefore, the adder A0-an adds the input values x (n), y (n) and a (n) when the control signal # Add / Sub is 0, (N (n)) is subtracted from the sum of the input values (x (n)) and (y (n)). That is, when the value of the control signal (# Add / Sub) is '0', the operators 231, 233, 251 and 253 of the present invention , And if the value of the control signal (# Add / Sub) is '1', a (n) of the three input data is subtracted .

한편, 본 발명의 누적 회로(23)의 제 1 연산기(231)에는 제 2 연산기(233)의 합계(s(n))가 합계용 레지스터(235)를 거쳐 입력값(x(n))으로 제공되고, 제 2 연산기(233)의 캐리(c(n))는 캐리용 레지스터(237)를 거쳐 입력값(y(n))으로 제공된다.또한, 제 1 연산기(231)에는 자릿수 보정 레지스터(R1)로부터 실수의 캐리가 입력값(a(n))으로 제공된다.On the other hand, the sum s (n) of the second operator 233 is input to the first operator 231 of the accumulation circuit 23 of the present invention as the input value x (n) via the sum register 235 And the carry (c (n)) of the second calculator 233 is provided as an input value y (n) via the carry register 237. The first operator 231 is also provided with a digit A carry of the real number is provided as an input value a (n) from R1.

제 2 연산기(233)에는 제 1 연산기(231)의 합계(s(n))가 입력값(x(n))으로 제공되며, 제 2 연산기(231)의 캐리(c(n))가 입력값(y(n))으로 제공되며, 자릿수 보정 레지스터(R2)의 합계(sum)가 입력값(a(n))으로 제공된다.The sum s (n) of the first operator 231 is provided as the input value x (n) and the carry c (n) of the second operator 231 is supplied to the second operator 233 as input Is provided as a value y (n), and the sum of the digit correction register R2 is provided as an input value a (n).

여기서, 상술한 제어 신호(#Add/Sub)로 최고차 비트(L-1) 판별 신호(최고차 비트가 제공될 때에만 1인 신호)가 사용되므로, 최고차 비트(L-1) 판별 신호가 0일 때에 누적 회로(23)는를 출력하나, 만약 최고차 비트(L-1)가 '1'이면, 3개의 입력 데이터 중 a(n)를 감산하는를 출력한다.Here, since the highest-order bit L-1 discrimination signal (a signal only when the highest-order bit is provided) is used as the above-described control signal # Add / Sub, Is 0, the accumulation circuit 23 , And if the highest-order bit (L-1) is '1', a (n) of the three input data is subtracted .

아래의 식은 수학식 7의 실수 계수 부분 자릿수 보정된 부분 합을 누적하는 부분이다.The following equation is a part for accumulating the partial sum corrected by the real part counting part of the equation (7).

상기 식으로부터 자릿수 보정된 부분 합을 누적하는 과정에서 최하위 비트(0)에서 L-2번째 비트까지의 자릿수 보정된 부분 합은 더하고 최상위 비트(L-1)의 자릿수 보정된 부분 합은 빼고 있음을 알 수 있다. 따라서 도 3의 연산기를 사용하여 L-2번째까지는 덧셈을 수행하고, L-1의 경우에는 뺄셈을 수행하여야 하나, 본 발명의 누적 회로(23)에서는 상술한 바와 같이 최고차 비트(L-1)가 제공될 때에만 1인 최고차 비트 판별 신호가 제공되므로, 누적 회로(23)는 수학식 7에서 실수 계수 부분 자릿수 보정된 부분 합을 누적할 수 있음을 알 수 있다.In the process of accumulating the digit-corrected partial sum from the above equation, the digits-corrected partial sum from the least significant bit (0) to the (L-2) th bit is added and the partial sum corrected with the most significant bit (L-1) is subtracted Able to know. Therefore, in the accumulation circuit 23 of the present invention, the highest-order bits L-1 (L-1) and L-2 ) Is provided, the accumulation circuit 23 can accumulate the partial sum corrected by the real number count part-number correction in Equation (7).

상술한 설명은 누적 회로(23)에 관한 설명이나, 누적 회로(25) 역시 동일하게 작동하며 다만 입력되는 신호가 실수 계수가 아닌 허수 계수라는 것만이 상이하므로 자세한 설명은 생략하였다.The description of the accumulation circuit 23 and the accumulation circuit 25 are identical except that the input signal is not an actual coefficient but an imaginary coefficient.

다음으로, 누적 회로(23,25) 결과 값을 누적하는 누적 회로(27)에 대하여 설명한다.Next, the accumulation circuit 27 for accumulating the results of the accumulation circuits 23 and 25 will be described.

수학식 7에서 실수 출력 데이터를 구할 경우에는, 실수 계수 부분의 누적된 부분 합에서 허수 계수 부분의 누적된 부분 합 빼야 하고, 수학식 8의 허수 출력 데이터를 구할 경우에는 실수 계수 부분의 누적된 부분 합과 허수 계수 부분의 누적된 부분 합을 더하여야 한다. 이를 위하여 본 발명에서는 누적 회로(27)내의 두 개의 연산기(271,273) 및 하나의 가산기(275)를 구성하고, 누적 회로(23)의 합계(s(n))를 저장하는 레지스터(R5)의 값이 연산기(271)의 입력값(x(n))으로, 누적 회로(23)의 캐리(c(n))를 저장하는 레지스터(R6)의 값이 연산기(271)의 입력값(y(n))으로 그리고, 누적 회로(25)의 합계 값(s(n))을 저장하는 레지스터(R7)의 값이 연산기(271)의 입력값(a(n))으로 제공하도록 구성되어 있다.When the real output data is obtained in Equation (7), the accumulated partial sum of the imaginary-number portion is to be subtracted from the accumulated partial sum of the real-number counting portion. When the imaginary output data of Equation (8) The sum of the sum and imaginary coefficients should be added to the cumulative partial sum. To this end, in the present invention, two arithmetic operators 271 and 273 in the accumulation circuit 27 and one adder 275 are constituted, and the value of the register R5 for storing the sum s (n) of the accumulation circuit 23 The value of the register R6 storing the carry c (n) of the accumulation circuit 23 is input to the input value y (n (n)) of the arithmetic unit 271, ) And the value of the register R7 for storing the total value s (n) of the accumulation circuit 25 is provided as the input value a (n) of the arithmetic unit 271. [

또한, 연산기(271)의 합계 값(s(n))은 연산기(273)의 입력값(x(n))으로, 연산기(271)의 캐리(c(n))는 연산기(273)의 입력 값(y(n))으로 제공되며, 레지스터(R8)에 저장된 누적 회로(25)의 캐리(c(n))는 연산기(273)의 입력값(a(n))로 제공된다.The carry value c (n) of the arithmetic operation unit 271 is inputted to the input (x (n)) of the arithmetic unit 273 by the input And the carry (c (n)) of the accumulation circuit 25 stored in the register R8 is provided as the input value a (n) of the arithmetic unit 273.

여기서, 연산기(271,273)는 가산/감산 제어 신호가 로직 0으로 제공되면, 3개의 입력값(x(n)),(y(n)),(a(n))을 모두 가산하나, 가산/감산 제어 신호가 로직 1로 제공되면 가산된 두 개의 입력값(x(n)),(y(n))에 입력값(a(n))을 감산하는 연산을 행한다. 누적 회로(27)는 가산/감산 제어 신호가 로직 0이면를 출력하나, 만약 가산/감산 제어 신호가 로직 1이면를 출력한다.Here, the arithmetic operators 271 and 273 add all the three input values x (n), y (n), and a (n) when the addition / subtraction control signal is provided as logic 0, When the subtraction control signal is provided to the logic 1, an operation of subtracting the input value a (n) from the two input values x (n) and y (n) is performed. If the addition / subtraction control signal is logic 0 If the addition / subtraction control signal is logic 1 .

따라서, 수학식 7에서 실수 출력 데이터를 구하고자 할 때에는 로직 1의 가산/감산 제어 신호를 제공하고, 수학식 8의 허수 출력 데이터를 구하고자 할 때에는 로직 0의 가산/감산 제어 신호를 제공하여야 함을 알 수 있다.Therefore, when the real output data in Equation 7 is to be obtained, the addition / subtraction control signal of logic 1 is provided, and when the imaginary output data of Equation 8 is to be obtained, the addition / subtraction control signal of logic 0 must be provided .

최종 연산 결과를 하나의 출력으로 형성하기 위하여, 가산기(275)는 일반적인 CPA를 사용함으로써 하나의 출력을 구성한다. 그러나, CPA는 계산 과정에서 캐리 체인에 의한 지연 시간에 의해 계산 소요 시간이 커, 병목 현상을 일으킬 수 있다. 따라서, CPA가 부분 합을 구하는 클럭과 함께 동기 된다면, 전체 연산 시간은 가산기(275)에 의해 증가된다.To form the final operation result into one output, the adder 275 constructs one output by using a general CPA. However, the CPA can take a long time to calculate by the delay time due to the carry chain in the calculation process, and can cause a bottleneck. Thus, if the CPA is synchronized with the clock to obtain the partial sum, then the total computation time is increased by the adder 275.

이러한 문제를 해결하기 위하여 본 발명에서는 누적 회로(23),(25)와 누적 회로(27)사이에 레지스터(R5),(R6),(R7),(R8)를 구성하고, 누적 회로(23, 25)내의 연산기(271,273)들은 클럭(C)에 동기 하여 부분 합을 순차적으로 연산하고, 연산된 최종 값을 레지스터(R5,),(R6),(R7),(R8)에 저장하도록 구성하였다. 즉, 레지스터(R5),(R6), (R7),(R8)는 L-1개의 부분 합이 모두 구해졌을 때에 누적 회로(23),(25)의 값을 저장한다. 다시 말하여, 레지스터(R5),(R6),(R7),(R8)는 (C×(L-1))개의 클럭과 동일한 주기를 갖는 클럭(CL)에 동기 하여 누적 회로(23),(25)의 연산 값을 저장하는 것이다.In order to solve such a problem, in the present invention, the registers R5, R6, R7, and R8 are formed between the accumulation circuits 23 and 25 and the accumulation circuit 27, The arithmetic units 271 and 273 in the registers 25 and 27 are configured to sequentially calculate the partial sums in synchronization with the clock C and to store the calculated final values in the registers R5 and R6, Respectively. That is, the registers R5, R6, R7, and R8 store the values of the accumulation circuits 23 and 25 when all the L-1 partial sums are obtained. In other words, the registers R5, R6, R7 and R8 are connected to the accumulation circuit 23 in synchronization with the clock C L having the same period as the (C 占 (L-1) , And (25), respectively.

레지스터(R5),(R6),(R7),(R8)가 클럭(CL)에 동기 하여 누적 회로(23,25)의 연산 값을 저장함과 같이 누적 회로(27) 역시 클럭(CL)에 동기 하여 레지스터(R5),(R6),(R7),(R8)로부터의 연산 값을 입력받아, 연산을 행한다. 따라서, 누적 회로(27)의 연산시 발생하는 지연 시간에 의해 누적 회로(23,25)의 결과 값이 병목 되는 것을 방지할 수 있는 것이다.A register (R5), (R6), (R7), (R8) a cumulative clock circuit 27. The clock also (C L), such as (C L) in synchronism with storing the calculated value of the accumulation circuit (23,25) to (R6), (R7), and (R8) in synchronism with the operation of the register R5. Therefore, it is possible to prevent the resultant value of the accumulation circuits 23 and 25 from becoming a bottleneck due to the delay time generated in the accumulation circuit 27. [

도 6에는 본 발명에 따른 고속 누산기(20)의 다른 실시예가 도시되어 있다.6 shows another embodiment of a high-speed accumulator 20 according to the present invention.

도 6의 고속 누산기(20)도 역시 크게 실수 계수 부분과 허수 계수 부분의 부분 합을 각각 누적하는 누적 회로(33),(35) 부분과 실수 계수 부분과 허수 계수 부분의 누적된 부분 합을 더하는 누적 회로(37) 부분으로 되어 있다.The high-speed accumulator 20 of FIG. 6 also includes an accumulation circuit 33, 35, which accumulates the partial sum of the real number portion and the imaginary number portion, respectively, and a cumulative partial sum of the real number portion and the imaginary number portion And is an accumulation circuit 37 part.

도 6의 고속 누산기(20)는 도 4의 고속 누산기(20)와는 상이하게 캐리와 합계를 각각 누적하는 방법을 채용하였다. 즉, 도 6에 도시된 바와 같이 누적 회로(33)내의 연산기(331)는 실수 계수의 부분 합의 캐리만을 입력하여 누산하며, 연산기(333)는 실수 계수의 부분 합의 합계만을 입력하여 누산하도록 구성되어 있다.The high-speed accumulator 20 of FIG. 6 adopts a method of accumulating the carry and the sum, respectively, differently from the high-speed accumulator 20 of FIG. 6, the operator 331 in the accumulation circuit 33 inputs and accumulates only the carry of the partial sum of the real coefficients, and the operator 333 is configured to accumulate only the sum of the partial sums of the real coefficients have.

연산기(331,333)에서 누산된 값(캐리 및 합산 값)들은 도시된 바와 같이 각각 레지스터(341),(343),(345),(347)들에 저장되나, 이 구조에서도 레지스터(341-347)에는 도 4의 레지스터(R5-R8)와 마찬가지로 L-1번째까지의 부분 합이 누적되었을 때에 데이터를 저장하도록 설계된다. 즉, 연산기(331,333)들은 클럭(C)에 의해서 동기 되어 부분 합들을 순차적으로 누적하며, 누적된 값은 클럭(C × (L-1))에동기 되어 레지스터(341),(343),(345),(347)에 저장되는 것이다.The accumulated values (carry and summation values) in the operators 331 and 333 are stored in the registers 341, 343, 345 and 347 as shown in the figure, Is designed to store data when the (L-1) th partial sum is accumulated, like the registers R5-R8 of FIG. That is, the operators 331 and 333 sequentially accumulate the partial sums by being synchronized by the clock C, and the accumulated values are synchronized with the clocks C x (L-1 ) and stored in the registers 341, 343, 345, and 347, respectively.

레지스터(341),(343),(345),(347)에 저장된 연산기(331, 333)의 누적 값들은 연산기(335, 337)를 통하여 가산된다. 즉, 연산기(335)는 연산기(331,333)의 레지스터(341),(343)를 통하여 제공되는 연산기(331,333)의 합계(s(n)) 및 캐리(c(n))를 연산기(333)의 합계(s(n))와 가산하고, 연산기(337)는 연산기(335)의 합계(s(n)) 및 캐리(c(n))를 연산기(333)의 캐리(C(n))와 가산하므로써 연산기(337)는 연산기(331, 333)의 누산 값들이 최종 가산된 값을 출력하는 것이다.The cumulative values of the operators 331 and 333 stored in the registers 341, 343, 345 and 347 are added through the operators 335 and 337, respectively. That is, the operator 335 outputs the sum s (n) and carry (c (n)) of the operators 331 and 333 provided through the registers 341 and 343 of the operators 331 and 333 to the operator 333 (N) and the carry (c (n)) of the arithmetic operation unit 333 and the sum s (n) The adder 337 adds the accumulated values of the arithmetic units 331 and 333 to the final sum.

여기서, 누적 회로(33)에는 도 3의 실시예에서와 마찬가지로 최고차 판별 신호(최고차 비트가 제공될 때에만 1인 신호)가 사용되며, 연산기(331, 333)는 로직 1의 최고차 비트 판별 신호가 제공될 때에 입력값을 누적 값으로부터 감산하고, 로직 0의 최고차 비트 판별 신호가 제공되면 입력값을 누적 값으로부터 가산하는 작동을 행한다. 따라서, 최고차 비트(L-1) 판별 신호가 0일 때에 누적 회로(33)는 자릿수 보정된 부분 합을 누적하는 과정에서 최하위 비트(0)에서 L-2번째 비트까지의 자릿수 보정된 부분 합은 더하고 최상위 비트(L-1)의 자릿수 보정된 부분 합은 빼게 된다. 즉, 본 발명의 누적 회로(33)는 누적 회로(23)처럼 수학식 7에서 나타낸 실수 계수 부분 자릿수 보정된 부분 합을 누적할 수 있음을 알 수 있다.As in the embodiment of Fig. 3, the highest difference discrimination signal (a signal only when the highest-order bit is provided) is used in the accumulation circuit 33, and the arithmetic operators 331 and 333 compute the highest- Subtracts the input value from the accumulated value when the discrimination signal is provided, and adds the input value from the accumulated value when the highest-order bit discrimination signal of logic 0 is provided. Therefore, when the highest-order bit (L-1) discrimination signal is 0, the accumulation circuit 33 accumulates the digit-corrected partial sum from the least significant bit (0) to the (L-2) And the subtracted partial sum of the most significant bit (L-1) is subtracted. That is, it can be seen that the accumulation circuit 33 of the present invention can accumulate the fractional part-corrected partial sum shown in Equation (7) like the accumulation circuit 23.

상술한 설명은 누적 회로(33)에 관한 설명이나, 누적 회로(35) 역시 동일하게 작동하며 다만 입력되는 신호가 실수 계수가 아닌 허수 계수라는 것만이 상이하므로 자세한 설명은 생략하였다.The description of the accumulation circuit 33 and the accumulation circuit 35 also operate in the same manner as described above, except that the input signal is not an actual coefficient but an imaginary coefficient.

도 7에는 상술한 기능을 행하는 연산기(331, 333, 351, 353)의 상세 블록도가 도시되어 있다.FIG. 7 shows a detailed block diagram of the operators 331, 333, 351, and 353 that perform the above-described functions.

도시된 바와 같이 도 7의 연산기는 입력값(a(n)) 및 반전된 입력값(a(n) : 즉, a(n)의 1의 보수값)이 인버터(I2)를 통하여 멀티플렉서(MUX2)에 제공되며, 멀티플렉서(MUX2)는 제어 신호(#Add/Sub)가 0일 때에는 입력값(a(n))을 제어 신호(#Add/Sub)가 1일 때에는 입력값(a(n))의 1의 보수값을 출력한다.As shown in the figure, the operator of Fig. 7 receives the input value a (n) and the inverted input value a (n), that is, the one's complement of a (n), via the inverter I2 to the multiplexer MUX2 And the multiplexer MUX2 outputs the input value a (n) when the control signal (# Add / Sub) is 0 and the input value a (n) ) &Lt; / RTI &gt;

멀티플렉서(MUX2)의 출력값 및 입력값(x(n))은 가산기(A11-A1n)의 입력 단자(a)에 제공되며, 가산기(A11-A1n)의 합계(s(n)) 및 캐리(c(n))는 레지스터(71,73)를 통하여 가산기(A11-A1n)의 입력 단자(b) 및 캐리 입력 단자(Cin)에 각각 제공된다. 즉, 도 7의 연산기(331,333,351,353)는 자릿수 보정된 부분 합인 캐리와 합계를 각각 누적(또는 감산) 하는 것이다.The output value and the input value x (n) of the multiplexer MUX2 are provided to the input terminal a of the adders A11-A1n and the sum s (n) of the adders A11- (n) are provided to the input terminal b and the carry input terminal C in of the adders A11-A1n via registers 71 and 73, respectively. That is, the operators 331, 333, 351, and 353 in FIG. 7 accumulate (or subtract) the summation and carry, which are partial summations of which the digits are corrected, respectively.

누적 회로(33,35) 결과 값은 누적 회로(37)에 제공되며, 누적 회로는 도 3의 누적 회로(27)와 동일하게 구성된다. 여기서, 도 6의 실시예에서는 도 4의 실시예와는 상이하게 레지스터(R5,R6,R7,R8)가 구성되지 않으나, 상기 누적 회로(33),(35)에서 연산기(331, 333, 351, 353)의 출력이 레지스터(341-367)에 의해 순차적으로 누적된 후에 연산기(335, 337, 355, 357)에서 최종 연산된 후에 누적 회로(37)에 제공되는 바, 누적 회로(37)는 클럭(C × (L-1))에 동기 되어 누적 회로(33,35)의 결과 값을 연산할 수 있음은 본 발명의 기술 분야에서 통상의 지식을 가진 자는 용이하게 알 수 있을 것이다.The results of the accumulation circuits 33 and 35 are provided to the accumulation circuit 37, and the accumulation circuit is configured the same as the accumulation circuit 27 of Fig. In the embodiment of FIG. 6, registers R5, R6, R7, and R8 are not configured differently from the embodiment of FIG. 4, but arithmetic operators 331, 333, and 351 And 353 are sequentially accumulated by the registers 341 to 367 and then finally computed by the operators 335 to 337 and provided to the accumulation circuit 37 so that the accumulation circuit 37 It is easily understood by those skilled in the art that the result of the accumulation circuits 33 and 35 can be calculated in synchronization with the clock (C 占 (L-1) ).

이하에서는 상술한 바와 같이 구성된 본 발명 장치의 작동을 설명한다.Hereinafter, the operation of the apparatus of the present invention constructed as described above will be described.

먼저, 필터 계수를 계수 레지스터(13, 15)에 각각 저장한다. 그리고 난 후 새로운 입력 데이터를 실수 데이터 레지스터(1) 및 허수 데이터 레지스터(3)에 각각 입력하고, 먼저 실수 출력 데이터를 구하는 작업을 수행한다. 따라서, 실수 데이터 레지스터(1) 및 허수 데이터 레지스터(3)에 저장된 입력 데이터의 최하위 비트의 집합이 멀티플렉서(5,11)에 제공되며, 멀티플렉서(5)는 실수 데이터 레지스터(1)의 실수 입력 데이터를 멀티플렉서(5)에 제공하고, 멀티플렉서(7)는 허수 데이터 레지스터(3)의 허수 입력 데이터를 멀티플렉서(11)에 각각 제공한다. 실수 출력 데이터를 산출하기 위하여 멀티플렉서(9)는 실수 입력 데이터에 대응하는 필터 계수 레지스터(13)의 필터 계수를 선택하여 덧셈기 트리(17)에 제공하며, 멀티플렉서(11)는 허수 입력 데이터에 대응하는 필터 계수 레지스터(15)의 필터 계수를 선택하여 덧셈기 트리(17)에 제공한다.First, the filter coefficients are stored in the coefficient registers 13 and 15, respectively. Then, new input data is input to the real data register 1 and the imaginary data register 3, respectively, and first, the real output data is obtained. The least significant bit of the input data stored in the real data register 1 and the imaginary data register 3 is provided to the multiplexers 5 and 11 and the multiplexer 5 outputs the real input data To the multiplexer 5, and the multiplexer 7 provides the imaginary input data of the imaginary data register 3 to the multiplexer 11, respectively. In order to calculate the real output data, the multiplexer 9 selects the filter coefficient of the filter coefficient register 13 corresponding to the real input data and provides it to the adder tree 17, and the multiplexer 11 converts the The filter coefficient of the filter coefficient register 15 is selected and provided to the adder tree 17. [

덧셈기 트리(17,19)는 선택된 필터 계수를 가산한 후에 자릿수 보정 레지스터(R1-R4)에 제공한다. 자릿수 보정 레지스터(R1-R4)는 덧셈기 트리(17,19)로부터의 결과 값을 순차적으로 시프트 하여 자릿수를 보정하며, 고속 누산기(20)는 자릿수 보정된 필터 계수 값들을 순차적으로 가산하되, 최상위 비트의 합은 감산을 행함으로써, 수학식 7의 실수 계수 부분 자릿수 보정된 부분 합을 누적하는 수식을 행한다. 이 후에 고속 누산기(20)는 누적된 부분 합을 이용하여 실수 출력 데이터를 산출한다.The adder trees 17 and 19 add the selected filter coefficients and provide them to the digit correction registers R1 to R4. The high-order accumulator 20 sequentially adds the digit-corrected filter coefficient values, and the most significant bit (MSB) is added to the most significant bit (MSB) Is subjected to subtraction to carry out a formula for accumulating the partial sum corrected by the real number count part of the equation (7). Thereafter, the high-speed accumulator 20 calculates the real output data using the accumulated partial sum.

고속 누산기(20)가 실수 출력 데이터를 산출하는 동안에멀티플렉서(5,7,9,11)는 허수 출력 데이터를 구하는 작업을 수행한다. 즉, 실수 데이터 레지스터(1) 및 허수 데이터 레지스터(3)에 저장된 입력 데이터의 최하위 비트의 집합이 멀티플렉서(5,11)에 제공되며, 멀티플렉서(5)는 허수부 데이터 레지스터(1)의 허수 입력 데이터를 멀티플렉서(9)에 제공하고, 멀티플렉서(7)는 실수 데이터 레지스터(3)의 실수 입력 데이터를 멀티플렉서(11)에 각각 제공한다. 허수 출력 데이터를 산출하기 위하여 멀티플렉서(9)는 허수 입력 데이터에 대응하는 필터 계수 레지스터(13)의 필터 계수를 선택하여 덧셈기 트리(17)에 제공하며, 멀티플렉서(11)는 실수 입력 데이터에 대응하는 필터 계수 레지스터(15)의 필터 계수를 선택하여 덧셈기 트리(17)에 제공한다.While the high-speed accumulator 20 calculates the real output data, the multiplexers 5, 7, 9, 11 perform the operation of obtaining the imaginary output data. That is, a set of the least significant bits of the input data stored in the real data register 1 and the imaginary data register 3 is provided to the multiplexers 5 and 11, and the multiplexer 5 outputs the imaginary data of the imaginary data register 1 And provides the data to the multiplexer 9, and the multiplexer 7 provides the real input data of the real data register 3 to the multiplexer 11, respectively. In order to calculate the imaginary output data, the multiplexer 9 selects and provides the filter coefficients of the filter coefficient register 13 corresponding to the imaginary input data to the adder tree 17, The filter coefficient of the filter coefficient register 15 is selected and provided to the adder tree 17. [

덧셈기 트리(17,19)는 선택된 필터 계수를 가산한 후에 자릿수 보정 레지스터(R1-R4)에 제공한다. 자릿수 보정 레지스터(R1-R4)는 덧셈기 트리(17,19)로부터의 결과 값을 순차적으로 시프트 하여 자릿수를 보정하며, 고속 누산기(20)는 자릿수 보정된 필터 계수 값들을 순차적으로 가산하되, 최상위 비트의 합은 감산을 행함으로써, 수학식 7의 실수 계수 부분 자릿수 보정된 부분 합을 누적하는 수식을 행한다. 이 후에 고속 누산기(20)는 누적된 부분 합을 이용하여 허수 출력 데이터를 산출한다.The adder trees 17 and 19 add the selected filter coefficients and provide them to the digit correction registers R1 to R4. The high-order accumulator 20 sequentially adds the digit-corrected filter coefficient values, and the most significant bit (MSB) is added to the most significant bit (MSB) Is subjected to subtraction to carry out a formula for accumulating the partial sum corrected by the real number count part of the equation (7). Thereafter, the high-speed accumulator 20 calculates the imaginary output data using the accumulated partial sum.

마찬가지로 고속 누산기(20)가 누적된 부분 합을 이용하여 허수 출력 데이터를 출력하는 동안에 입력 데이터 레지스터(1,3)에는 새로운 입력 데이터를 받아서 저장하고, 실수 출력 데이터를 구하기 위한 과정이 수행된다.Similarly, while the high-speed accumulator 20 outputs the imaginary output data using the accumulated partial sum, new input data is received and stored in the input data registers 1 and 3, and a process for obtaining the real output data is performed.

이러한 과정을 반복 수행함으로써 필터링 작업이 수행되는 것이다.The filtering operation is performed by repeating this process.

이와 같이 본 발명에서는 종래의 필터 구조를 사용한 하드웨어보다 2의 보수 형태의 데이터의 특성을 사용하여 더 적은 자원을 사용하여 설계할 수 있다는 효과가 있다.As described above, according to the present invention, it is possible to design the system using fewer resources by using the data characteristics of the two's complement type rather than the hardware using the conventional filter structure.

또한, 본 발명에서는 그리고 덧셈기 트리 부분을 CSA로 구현하여 연산 회로의 지연 시간을 줄였고, 최종 결과를 구하는 CPA를 레지스터를 적절히 사용하여 모든 부분 합 구하는 클럭(C × (L-1))에 의해 구동되도록 하여 병목 현상을 제거함으로서 매우 빠른 속도로 필터링을 수행할 수 있다는 효과가 있다.In the present invention, the delay time of the operation circuit is reduced by implementing the adder tree portion in the CSA, and the CPA for obtaining the final result is driven by the clock (Cx (L-1) ) So that the filtering can be performed at a very high speed by eliminating the bottleneck phenomenon.

Claims (17)

비트 분리 구조의 고속 디지털 필터로서,A high-speed digital filter having a bit- 실수 입력 데이터를 저장하는 실수 데이터 레지스터와;A real data register for storing real input data; 허수 입력 데이터를 저장하는 허수 데이터 레지스터와;An imaginary data register for storing imaginary input data; 상기 실수 데이터 레지스터 및 허수 데이터 레지스터의 실수 및 허수를 각각 선택하여 출력하는 제 1 및 제 2 멀티플렉서와;First and second multiplexers for selecting and outputting the real and imaginary numbers of the real data register and the imaginary data register, respectively; 실수 필터 계수를 저장하는 제 1 계수 레지스터와;A first coefficient register for storing a real number filter coefficient; 허수 필터 계수를 저장하는 제 2 계수 레지스터와;A second coefficient register for storing imaginary filter coefficients; 상기 제 1 및 제 2 멀티플렉서의 실수 및 허수에 대응하는 제 1 계수 레지스터의 필터 계수를 선택하여 출력하는 제 3 멀티플렉서와;A third multiplexer for selecting and outputting a filter coefficient of a first coefficient register corresponding to a real number and an imaginary number of the first and second multiplexers; 상기 제 1 및 제 2 멀티플렉서의 실수 및 허수에 대응하는 제 2 계수 레지스터의 필터 계수를 선택하여 출력하는 제 4 멀티플렉서와;A fourth multiplexer for selecting and outputting a filter coefficient of a second coefficient register corresponding to a real number and an imaginary number of the first and second multiplexers; 상기 제 3 및 제 4 멀티플렉서의 출력을 각각 가산하는 제 1 및 제 2 덧셈기 트리와;First and second adder trees for respectively adding outputs of the third and fourth multiplexers; 상기 제 1 및 제 2 덧셈기 트리의 출력을 시프트시키므로써 덧셈기 트리 출력의 자릿수를 각각 보정하는 제 1 및 제 2 자릿수 보정 레지스터와;A first and a second digit correction register for respectively correcting the digits of the adder tree output by shifting outputs of the first and second adder trees; 상기 제 1 및 제 2 자릿수 보정 레지스터의 출력을 연산 처리하므로써 실수 출력 데이터 및 허수 출력 데이터를 산출하는 고속 누산기를 포함하는 비트 분리 구조의 고속 디지털 필터.And a high-speed accumulator for calculating the output of the first and second digit correction registers to calculate real output data and imaginary output data. 제 1 항에 있어서,The method according to claim 1, 상기 제 1 및 제 2 멀티플렉서는 실수 출력 데이터를 먼저 산출하기 위하여 상기 실수 데이터 레지스터의 실수를 상기 제 3 멀티플렉서에, 상기 허수 데이터 레지스터의 허수를 제 4 멀티플렉서에 제공하여 상기 실수 출력 데이터의 산출 후에 상기 허수 출력 데이터를 산출하기 위하여 상기 실수 데이터 레지스터의 실수를 상기 제 4 멀티플렉서에, 상기 허수 데이터 레지스터의 허수를 제 3 멀티플렉서에 제공하도록 구성된 비트 분리 구조의 고속 디지털 필터.Wherein said first and second multiplexers provide a real number of said real data register to said third multiplexer and an imaginary number of said imaginary data register to a fourth multiplexer to first calculate real output data, And provide an imaginary number of said real data register to said fourth multiplexer and an imaginary number of said imaginary data register to a third multiplexer to produce imaginary output data. 제 1 항에 있어서,The method according to claim 1, 상기 고속 누산기는The high-speed accumulator 상기 제 1 자릿수 보정 레지스터로부터 제공된 실수 계수를 누적하되, 최상위 실수 계수는 감산하는 제 1 누적 회로와;A first accumulation circuit for accumulating the real number coefficients provided from the first digit correction register and for subtracting the most significant real number coefficient; 상기 제 2 자릿수 보정 레지스터로부터 제공된 허수 계수를 누적하되, 최상위 허수 계수는 감산하는 제 2 누적 회로와;A second accumulation circuit for accumulating the imaginary coefficients provided from the second digit correction register and subtracting the highest imaginary coefficient; 상기 제 1 및 제 2 누적 회로의 누적된 부분 합을 가산/감산 신호에 따라 선택적으로 가감산하는 제 3 누적 회로를 구비하는 비트 분리 구조의 고속 디지털 필터.And a third accumulation circuit for selectively adding and subtracting the cumulative partial sum of the first and second accumulation circuits according to an addition / subtraction signal. 제 3 항에 있어서,The method of claim 3, 상기 제 1 및 제 2 누적 회로로부터의 부분 합을 각기 저장하는 제 1 내지 제 4의 부분 합 저장용 레지스터가 더 구비되며,Further comprising first to fourth partial sum storing registers for respectively storing partial sums from the first and second accumulation circuits, 상기 제 1 내지 제 4의 부분 합 저장용 레지스터는 상기 제 1 및 제 2 누적 회로가 부분 합이 최종 연산되어 저장된 값을 상기 제 3 누적 회로에 제공하도록 구성된 비트 분리 구조의 고속 디지털 필터.Wherein the first to fourth partial sum storing registers are configured to cause the first and second accumulation circuits to finally calculate the partial sum and provide the stored value to the third accumulation circuit. 제 4 항에 있어서,5. The method of claim 4, 상기 제 1 및 제 2 누적 회로는 상기 부분 합의 합계 및 캐리를 각각 출력하도록 구성되고,Wherein the first and second accumulation circuits are configured to output a sum and a carry of the partial sum, respectively, 상기 제 1 내지 제 4의 부분 합 저장용 레지스터는 상기 제 1 및 제 2 누적 회로로부터 제공되는 합계 및 캐리를 각각 저장하도록 구성된 비트 분리 구조의 고속 디지털 필터.Wherein the first to fourth partial sum storing registers are configured to store summation and carry provided from the first and second accumulation circuits, respectively. 제 5 항에 있어서,6. The method of claim 5, 상기 제 1 누적 회로는,Wherein the first accumulation circuit comprises: 상기 제 1 및 제 2 연산기와, 제 1 합계 저장용 레지스터 및 제 1 캐리 저장용 레지스터를 구비하며, 상기 제 1 연산기는 상기 제 1 자릿수 보정 레지스터로부터 제공되는 상기 제 1 덧셈기 트리의 캐리, 제 1 합계 저장용 레지스터의 합계 및 제 1 캐리 저장용 레지스터의 캐리를 제어 신호에 따라 가감산하며, 제 2 연산기는 상기 제 1 연산기의 합계 및 캐리와 상기 제 1 자릿수 보정 레지스터로부터 제공되는 제 1 덧셈기 트리의 합계를 제어 신호에 따라 가감산하도록 구성된 비트 분리 구조의 고속 디지털 필터.Wherein the first arithmetic unit comprises: first and second arithmetic operators; a first sum storage register and a first carry storage register, wherein the first arithmetic operator comprises: a carry of the first adder tree provided from the first digit correction register; And the second arithmetic operation unit adds and subtracts the sum and carry of the first arithmetic operation unit from the first adder tree provided from the first digit correction register and the sum of the first arithmetic operation register and the carry of the first carry storage register, Of the input signal is controlled in accordance with a control signal. 제 6 항에 있어서, 상기 제 2 누적 회로는,7. The semiconductor memory device according to claim 6, 상기 제 3 및 제 4 연산기와, 제 2 합계 저장용 레지스터 및 제 2 캐리 저장용 레지스터를 구비하며, 상기 제 3 연산기는 상기 제 2 자릿수 보정 레지스터로부터 제공되는 상기 제 2 덧셈기 트리의 캐리, 제 2 합계 저장용 레지스터의 합계 및 제 2 캐리 저장용 레지스터의 캐리를 제어 신호에 따라 가감산하며, 제 4 연산기는 상기 제 3 연산기의 합계 및 캐리와 상기 제 2 자릿수 레지스터로부터 제공되는 제 2 덧셈기 트리의 합계를 제어 신호에 따라 가감산하도록 구성된 비트 분리 구조의 고속 디지털 필터.And a third register for storing a second adder tree and a second register for storing the second adder tree, wherein the third and fourth operators, the second sum storage register and the second carry storage register, The sum of the registers for storing the sum and the carry of the register for storing the second carry are added or subtracted in accordance with the control signal and the fourth operator adds and subtracts the sum and carry of the third operator and the second adder tree provided from the second digit register A high-speed digital filter of a bit division structure configured to add and subtract a sum according to a control signal. 제 6 항 또는 제 7 항에 있어서,8. The method according to claim 6 or 7, 상기 제어 신호는 최고차 비트의 값이 제공될 때에 상기 감산을 지시하고, 최고차 비트가 아닌 비트의 값이 제공될 때에는 상기 가산을 지시하는 비트 분리 구조의 고속 디지털 필터.Wherein said control signal indicates said subtraction when a value of the highest-order bit is provided and indicates said addition when a value of a bit other than the highest-order bit is provided. 제 8 항에 있어서,9. The method of claim 8, 상기 제 3 누적 회로는The third accumulation circuit 상기 제 1 부분 합 저장용 레지스터로부터 제공되는 상기 제 1 누적 회로의실수 합계에 제 2 부분 합 저장용 레지스터로부터 제공되는 상기 제 1 누적 회로의 캐리를 가산한 가산 값에 상기 제 3 부분 합 레지스터로부터 제공되는 상기 제 2 누적 회로의 합계를 가산/감산 신호에 따라 선택적으로 가감산하는 제 5 연산기와;The sum of the real numbers of the first accumulation circuit provided from the first partial sum storage register and the carry of the first accumulation circuit provided from the second partial sum storage register is added to the sum of real numbers of the first accumulation circuit provided from the third partial sum storage register A fifth calculator for selectively adding and subtracting the sum of the provided second accumulation circuits according to an addition / subtraction signal; 상기 제 5 연산기로부터의 합계 및 캐리의 가산 값에 상기 제 4 부분 합 저장용 레지스터로부터 제공되는 제 2 누적 회로의 캐리를 가산/감산 신호에 따라 선택적으로 가감산하는 제 6 연산기와;A sixth calculator for selectively adding and subtracting a carry of the second accumulation circuit provided from the register for storing the fourth partial sum to an addition value of the sum and carry from the fifth operator according to an addition / subtraction signal; 상기 제 6 연산기의 캐리 및 합계를 가산하는 제 1 CPA형 가산기를 구비하는 비트 분리 구조의 고속 디지털 필터.And a first CPA adder for adding the carry and the sum of the sixth operator. 제 9 항에 있어서,10. The method of claim 9, 상기 가산/감산 신호는 상기 실수 출력 데이터를 구할 때에는 감산 신호를, 상기 허수 출력 데이터를 구할 때에는 가산 신호로 작용하는 비트 분리 구조의 고속 디지털 필터.Wherein the addition / subtraction signal acts as a subtraction signal when obtaining the real output data and as an addition signal when the imaginary output data is obtained. 제 10 항에 있어서,11. The method of claim 10, 상기 제 1 내지 제 6 연산기는,Wherein the first to sixth arithmetic operators comprise: 제어 신호에 따라 가산/감산되는 제 1 입력값을 반전시키는 제 1 인버터와;A first inverter for inverting a first input value added / subtracted in accordance with a control signal; 상기 제어 신호에 따라 상기 제 1 입력값 또는 제 1 인버터의 출력을 선택하는 제 5 멀티플렉서와;A fifth multiplexer for selecting the first input value or the output of the first inverter according to the control signal; 다수의 제 1 그룹 가산기를 구비하며, 상기 다수의 제 1 그룹 가산기중 최하위 비트의 가산기는 상기 제 5 멀티플렉서의 출력 및 제 2 입력값을 입력 단자로 입력하고, 상기 제어 신호를 캐리 입력 단자로 입력하며,Wherein the least significant bit adder of the plurality of first group adders inputs the output of the fifth multiplexer and the second input value to the input terminal and inputs the control signal to the carry input terminal In addition, 상기 최하위 비트의 가산기를 제외한 제 1 그룹의 가산기들은 상기 제 5 멀티플렉서의 출력 및 제 2 입력값을 입력 단자로 입력하고, 제 3 입력값을 캐리 입력 단자로 입력하도록 구성된 비트 분리 구조의 고속 디지털 필터.The first group of adders excluding the least significant bit adder inputs the output of the fifth multiplexer and the second input value to the input terminal and the third input value to the carry input terminal, . 제 3 항에 있어서,The method of claim 3, 상기 제 1 누적 회로는,Wherein the first accumulation circuit comprises: 상기 제 1 자릿수 보정 레지스터로부터 제공되는 제 1 덧셈기 트리의 캐리를 제어 신호에 따라 가감산하여 합산 값 및 캐리를 제공하는 제 7 연산기와A seventh calculator for adding and subtracting the carry of the first adder tree provided from the first digit correction register according to a control signal to provide a sum value and a carry, 상기 제 2 자릿수 보정 레지스터로부터 제공되는 제 1 덧셈기 트리의 합계를 제어 신호에 따라 가감산하여 합계 및 캐리를 제공하는 제 8 연산기와;An eighth calculator for adding and subtracting the sum of the first adder tree provided from the second digit correction register according to a control signal to provide a sum and a carry; 상기 제 7 연산기 및 제 8 연산기의 합계를 각각 저장하는 제 3 및 제 4 합계 저장용 레지스터와;A third and a fourth total storage register for respectively storing a sum of the seventh and eighth operators; 제 7 연산기 및 제 8 연산기의 캐리를 각각 각각 저장하는 제 3 및 제 4 캐리 저장용 레지스터와;Third and fourth carry storing registers for respectively storing the carry of the seventh and eighth operators; 상기 제 3 및 제 4 합계 저장용 레지스터 및 제 3 캐리 저장용 레지스터로부터 제공되는 상기 제 7 연산기의 캐리 및 합계 그리고 제 8 연산기의 합계를 가산하는 제 9 연산기와;A ninth operator for adding the carry and sum of the seventh operator provided from the third and fourth total storage registers and the third carry storage register and the sum of the eighth operator; 상기 제 9 연산기의 합산 값 및 캐리와 상기 제 4 캐리 저장용 레지스터로부터 제공되는 상기 제 8 연산기의 캐리를 가산하는 제 10 연산기를 구비하는 비트 분리 구조의 고속 디지털 필터.And a tenth operator for adding the carry value of the ninth operator and the carry of the eighth operator provided from the fourth carry storage register. 제 3 항에 있어서,The method of claim 3, 상기 제 2 누적 회로는,The second accumulation circuit comprises: 상기 제 3 자릿수 보정 레지스터로부터 제공되는 제 2 덧셈기 트리의 캐리를 제어 신호에 따라 가감산하여 합산 값 및 캐리를 제공하는 제 11 연산기와An 11th arithmetic operation unit for adding / subtracting the carry of the second adder tree provided from the third digit correction register according to a control signal to provide a sum value and a carry, 상기 제 4 자릿수 보정 레지스터로부터 제공되는 제 2 덧셈기 트리의 합계를 제어 신호에 따라 가감산하여 합계 및 캐리를 제공하는 제 12 연산기와;A twelfth operator for adding and subtracting the sum of the second adder tree provided from the fourth digit correction register according to a control signal to provide a sum and a carry; 상기 제 11 연산기 및 제 12 연산기의 합계를 각각 저장하는 제 5 및 제 6 합계 저장용 레지스터와;A fifth and a sixth total storage register for storing the sum of the eleventh and twelfth operators; 제 11 연산기 및 제 12 연산기의 캐리를 각각 각각 저장하는 제 5 및 제 6 캐리 저장용 레지스터와;Fifth and sixth carry storing registers respectively storing the carry of the eleventh operator and the twelfth operator; 상기 제 5 및 제 6 합계 저장용 레지스터 및 제 5 캐리 저장용 레지스터로부터 제공되는 상기 제 11 연산기의 캐리 및 합계 그리고 제 12 연산기의 합계를 가산하는 제 13 연산기와;A thirteenth operator for adding the carry and sum of the eleventh operator provided from the fifth and sixth total storage registers and the fifth carry storage register and the sum of the twelfth operator; 상기 제 13연산기의 합계 및 캐리와 상기 제 6 캐리 저장용 레지스터로부터 제공되는 상기 제 13 연산기의 캐리를 가산하는 제 14 연산기를 구비하는 비트 분리 구조의 고속 디지털 필터.And a fourteenth operator for adding the carry of the thirteenth operator and the carry of the thirteenth operator provided from the sixth carry storing register. 제 12 항 또는 제 13 항에 있어서,The method according to claim 12 or 13, 상기 제어 신호는 최고차 비트의 값이 제공될 때에 상기 감산을 지시하고, 최고차 비트가 아닌 비트의 값이 제공될 때에는 상기 가산을 지시하는 비트 분리 구조의 고속 디지털 필터.Wherein said control signal indicates said subtraction when a value of the highest-order bit is provided and indicates said addition when a value of a bit other than the highest-order bit is provided. 제 14 항에 있어서,15. The method of claim 14, 상기 제 3 누적 회로는The third accumulation circuit 상기 제 1 누적 회로의 실수 합계 및 캐리의 합산 값에 상기 제 2 누적 회로의 합계를 가산/감산 신호에 따라 선택적으로 가감산하는 제 15 연산기와;A fifteenth calculator for selectively adding and subtracting the sum of the second accumulation circuits according to an addition / subtraction signal to a sum of real numbers and a carry of the first accumulation circuit; 상기 제 15 연산기로부터의 합계 및 캐리의 가산 값에 상기 제 2 누적 회로의 캐리를 가산/감산 신호에 따라 선택적으로 가감산하는 제 16 연산기와;A 16th arithmetic operator for selectively adding and subtracting the carry of the second accumulation circuit from the 15th arithmetic unit to the sum of the carry and the adder of the carry according to the addition / subtraction signal; 상기 제 16 연산기의 캐리 및 합계를 가산하는 제 2 CPA형 가산기를 구비하는 비트 분리 구조의 고속 디지털 필터.And a second CPA type adder for adding the carry and sum of the 16th arithmetic operator. 제 15 항에 있어서,16. The method of claim 15, 상기 가산/감산 신호는 상기 실수 출력 데이터를 구할 때에는 감산 신호를, 상기 허수 출력 데이터를 구할 때에는 가산 신호로 작용하는 비트 분리 구조의 고속 디지털 필터.Wherein the addition / subtraction signal acts as a subtraction signal when obtaining the real output data and as an addition signal when the imaginary output data is obtained. 제 16 항에 있어서,17. The method of claim 16, 상기 제 7 내지 제 14 연산기는,Wherein the seventh to fourteenth arithmetic operators comprise: 상기 제어 신호를 반전시키는 제 2 인버터와;A second inverter for inverting the control signal; 상기 제어 신호에 따라 상기 제 4 입력값 또는 제 2 인버터의 출력을 선택하여 출력하는 제 5 멀티플렉서와;A fifth multiplexer for selecting and outputting the fourth input value or the output of the second inverter according to the control signal; 제 2 그룹을 구성하는 다수의 가산기 및 제 7 합계 저장용 레지스터 및 제 7 캐리 저장용 레지스터를 구비하며,A plurality of adders constituting a second group, a seventh total storage register and a seventh carry storage register, 상기 제 2 그룹의 가산기중 최하위 비트의 가산기는 상기 제 5 멀티플렉서의 출력 및 상기 제 7 합계 저장용 레지스터의 출력을 입력 단자로 입력하고, 상기 제어 신호를 캐리 입력 단자로 입력하며,The least significant bit adder of the second group of adders inputs the output of the fifth multiplexer and the output of the seventh total storage register to the input terminal and inputs the control signal to the carry input terminal, 상기 최하위 비트의 가산기를 제외한 가산기들은 상기 제 5 멀티플렉서의 출력 및 상기 제 7 합계 저장용 레지스터의 출력을 입력 단자로 입력하고, 상기 제 7 캐리 저장용 레지스터의 출력을 캐리 입력 단자로 입력하도록 구성된 비트 분리 구조의 고속 디지털 필터.The adders excluding the adder of the least significant bit input the output of the fifth multiplexer and the output of the seventh total storage register to the input terminal and the bit which is configured to input the output of the seventh carry storage register to the carry input terminal High-speed digital filter with separate structure.
KR1020000016364A 2000-03-30 2000-03-30 Fast digital filter KR100335252B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000016364A KR100335252B1 (en) 2000-03-30 2000-03-30 Fast digital filter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000016364A KR100335252B1 (en) 2000-03-30 2000-03-30 Fast digital filter

Publications (2)

Publication Number Publication Date
KR20010095399A KR20010095399A (en) 2001-11-07
KR100335252B1 true KR100335252B1 (en) 2002-05-06

Family

ID=19660027

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000016364A KR100335252B1 (en) 2000-03-30 2000-03-30 Fast digital filter

Country Status (1)

Country Link
KR (1) KR100335252B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10410700B1 (en) 2018-09-28 2019-09-10 The Mitre Corporation Systems and method for a low-power correlator architecture using shifting coefficients
US10879877B1 (en) 2018-09-28 2020-12-29 The Mitre Corporation Systems and method for a low power correlator architecture using distributed arithmetic

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06181426A (en) * 1992-12-14 1994-06-28 Kawasaki Steel Corp Digital filter
JPH07193467A (en) * 1993-12-27 1995-07-28 Nec Corp Adaptive filter correction coefficient arithmetic circuit
KR970077986A (en) * 1996-05-29 1997-12-12 문정환 Digital filter
KR19980082292A (en) * 1997-05-02 1998-12-05 양승택 Finite impulse response filter for high speed processing
JPH11266140A (en) * 1997-12-23 1999-09-28 Koninkl Philips Electronics Nv Programmable circuit for providing digital filter

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06181426A (en) * 1992-12-14 1994-06-28 Kawasaki Steel Corp Digital filter
JPH07193467A (en) * 1993-12-27 1995-07-28 Nec Corp Adaptive filter correction coefficient arithmetic circuit
KR970077986A (en) * 1996-05-29 1997-12-12 문정환 Digital filter
KR19980082292A (en) * 1997-05-02 1998-12-05 양승택 Finite impulse response filter for high speed processing
JPH11266140A (en) * 1997-12-23 1999-09-28 Koninkl Philips Electronics Nv Programmable circuit for providing digital filter

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10410700B1 (en) 2018-09-28 2019-09-10 The Mitre Corporation Systems and method for a low-power correlator architecture using shifting coefficients
US10879877B1 (en) 2018-09-28 2020-12-29 The Mitre Corporation Systems and method for a low power correlator architecture using distributed arithmetic
US11528013B2 (en) 2018-09-28 2022-12-13 The Mitre Corporation Systems and method for a low power correlator architecture using distributed arithmetic

Also Published As

Publication number Publication date
KR20010095399A (en) 2001-11-07

Similar Documents

Publication Publication Date Title
US7043520B2 (en) High-speed/low power finite impulse response filter
US5255216A (en) Reduced hardware look up table multiplier
EP0101318B1 (en) Digital filters
KR100302093B1 (en) How to multiply the binary input signal with the tap coefficient in the crossover digital finite impulse response filter and design the circuit arrangement and crossover digital filter
EP0416869B1 (en) Digital adder/accumulator
KR20020032157A (en) Multiplierless Finite Impulse Response filter
US6304133B1 (en) Moving average filter
JPH04205026A (en) Divider circuit
KR100335252B1 (en) Fast digital filter
US7167514B2 (en) Processing of quinary data
US20030169939A1 (en) Apparatus and method for Fast Hadamard Transforms
US11494165B2 (en) Arithmetic circuit for performing product-sum arithmetic
US6993545B2 (en) Digital filter with protection against overflow oscillation
US5948051A (en) Device improving the processing speed of a modular arithmetic coprocessor
US5031137A (en) Two input bit-serial multiplier
US10305451B1 (en) Multiplier-based programmable filters
JPH0981541A (en) Accumulator
Kim et al. Digit-serial modular multiplication using skew-tolerant domino CMOS
KR100235537B1 (en) Variable tap of digital filter and multiplier circuit thereof
CN111610955B (en) Data saturation and packaging processing component, chip and equipment
JP2864598B2 (en) Digital arithmetic circuit
JP3123060B2 (en) Digital arithmetic circuit
KR0162320B1 (en) Fir filter for vlsi
JP3074958B2 (en) Serial multiplier with addition function
JPH04109756A (en) Matrix arithmetic circuit and image sensor

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee