KR100746856B1 - Multiplierless FIR Digital Filter and Method for Design thereof - Google Patents

Multiplierless FIR Digital Filter and Method for Design thereof Download PDF

Info

Publication number
KR100746856B1
KR100746856B1 KR1020060026535A KR20060026535A KR100746856B1 KR 100746856 B1 KR100746856 B1 KR 100746856B1 KR 1020060026535 A KR1020060026535 A KR 1020060026535A KR 20060026535 A KR20060026535 A KR 20060026535A KR 100746856 B1 KR100746856 B1 KR 100746856B1
Authority
KR
South Korea
Prior art keywords
value
coefficient
addition
multiplier
digital filter
Prior art date
Application number
KR1020060026535A
Other languages
Korean (ko)
Other versions
KR20070059820A (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 KR1020060026535A priority Critical patent/KR100746856B1/en
Priority to US11/634,559 priority patent/US7933943B2/en
Publication of KR20070059820A publication Critical patent/KR20070059820A/en
Application granted granted Critical
Publication of KR100746856B1 publication Critical patent/KR100746856B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D21/00Separation of suspended solid particles from liquids by sedimentation
    • B01D21/02Settling tanks with single outlets for the separated liquid
    • B01D21/04Settling tanks with single outlets for the separated liquid with moving scrapers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D21/00Separation of suspended solid particles from liquids by sedimentation
    • B01D21/18Construction of the scrapers or the driving mechanisms for settling tanks
    • B01D21/20Driving mechanisms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D21/00Separation of suspended solid particles from liquids by sedimentation
    • B01D21/18Construction of the scrapers or the driving mechanisms for settling tanks
    • B01D21/22Safety mechanisms
    • CCHEMISTRY; METALLURGY
    • C02TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02FTREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
    • C02F1/00Treatment of water, waste water, or sewage
    • C02F1/52Treatment of water, waste water, or sewage by flocculation or precipitation of suspended impurities
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01LMEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
    • G01L3/00Measuring torque, work, mechanical power, or mechanical efficiency, in general
    • G01L3/02Rotary-transmission dynamometers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01LMEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
    • G01L5/00Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes
    • G01L5/0028Force sensors associated with force applying means
    • G01L5/0042Force sensors associated with force applying means applying a torque
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/18Status alarms
    • G08B21/182Level alarms, e.g. alarms responsive to variables exceeding a threshold

Landscapes

  • Chemical & Material Sciences (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Water Supply & Treatment (AREA)
  • Environmental & Geological Engineering (AREA)
  • Engineering & Computer Science (AREA)
  • Organic Chemistry (AREA)
  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Hydrology & Water Resources (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Filters That Use Time-Delay Elements (AREA)

Abstract

본 발명은 FIR(Finite Impulse Response) 디지털 필터에 있어서 설계 요구의 탭 수만큼 필요로 하게 되는 승산기의 연산을 이용하지 않고, 주어진 계수의 속성으로부터 가산 및 감산에 의해 필터 연산할 수 있는 정보를 추출한 후, 추출한 정보를 이용하여 적은 가산 및 감산 회로를 통하여 필터 기능을 수행할 수 있는 FIR 디지털 필터 및 그 설계 방법에 관한 것이다.The present invention extracts information that can be filtered by addition and subtraction from an attribute of a given coefficient without using the multiplier calculation required for the number of taps of a design request in a finite impulse response (FIR) digital filter. The present invention relates to a FIR digital filter capable of performing a filter function through a small addition and subtraction circuit using extracted information, and a design method thereof.

본 발명의 무승산기 FIR 디지털 필터 설계 방법에서는, 설계 요구의 계수에 대하여 가감산에 필요한 정보를 추출하여 저장하는 4개의 테이블을 생성하며, 또한 계수의 소수 부분을 취하여 정수로 표현하였을 때의 최대값을 상한으로 하는 16 배수의 가산 구간을 설정하고 클록 주파수에 동기되어 입력되는 데이터를 16구간 단위로 가산하여 저장하는 가산 테이블을 생성한다. 그리고 4개의 테이블과 가산 테이블로부터 가산된 값의 추출 및 오차보정을 수행하여 승산에 대응되는 값을 얻고, 출력단의 가산기 체인에서 가산하여 필터링 결과를 출력함으로써, 무승산기 FIR 디지털 필터의 논리회로를 효과적으로 구현할 수 있다.In the multiplier-free FIR digital filter design method of the present invention, four tables are generated for extracting and storing information necessary for addition and subtraction with respect to coefficients of a design request, and the maximum value when the fractional part of the coefficients is taken and expressed as an integer. An addition table of 16 multiples, which is defined as the upper limit, is set, and an addition table for adding and storing data input in synchronization with the clock frequency in units of 16 sections is generated. By extracting the values added from the four tables and the addition table and correcting the error, a value corresponding to the multiplication is obtained, and the result is filtered by adding in the adder chain of the output stage, thereby effectively outputting the logic circuit of the multiplier FIR digital filter. Can be implemented.

FIR 디지털 필터, 무승산기, 16배수 경계, 16구간 가산 테이블, 오차 보정 FIR digital filter, multiplier, 16-fold boundary, 16-segment addition table, error correction

Description

무승산기 FIR 디지털 필터 및 그 설계 방법{Multiplierless FIR Digital Filter and Method for Design thereof}Multiplierless FIR Digital Filter and Method for Design

도 1a는 일반적인 FIR 필터의 수학식을 승산기를 사용하여 디지털 회로로 나타낼 때의 일반적인 블록도이다.1A is a general block diagram of a general FIR filter equation represented by a digital circuit using a multiplier.

도 1b는 FIR 필터를 기존의 CSD(Canonical Signed Digit) 형식에 의해 구성할 때의 일반적인 블록도이다.FIG. 1B is a general block diagram when a FIR filter is configured by a conventional CSD (Canonical Signed Digit) format.

도 2는 본 발명의 일 실시예에 따른 무승산기 FIR 디지털 필터의 구조를 나타내는 블록도이다.2 is a block diagram illustrating a structure of a multiplier-free FIR digital filter according to an embodiment of the present invention.

도 3은 도 2의 FIR 필터를 다수의 FIR 필터로 확장하여 구성할 때의 블록도이다.FIG. 3 is a block diagram when the FIR filter of FIG. 2 is extended to a plurality of FIR filters.

도 4는 본 발명에 따른 FIR 필터에서 설계 요구로 주어진 계수로부터 가감산 정보를 추출하여 테이블에 저장하는 흐름도이다.4 is a flowchart of extracting and subtracting information from coefficients given as design requests in a FIR filter according to the present invention and storing them in a table.

도 5는 본 발명에 따른 FIR 필터에서 주어지는 입력 데이터에 16구간의 계수에 의한 가산 테이블을 생성하는 흐름도이다.5 is a flowchart of generating an addition table based on coefficients of 16 sections in input data given by an FIR filter according to the present invention.

도 6은 도 5에서 생성한 가산 테이블 내의 값을 도 4에서 생성한 테이블들 내의 값에 의해 가감산 여부의 결정 및 연산, 오차를 보정하는 흐름도이다.FIG. 6 is a flowchart of determining, calculating, and correcting an error by adding or subtracting a value in the addition table generated in FIG. 5 based on a value in the tables generated in FIG. 4.

< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>

100, 200 : FIR 디지털 필터100, 200: FIR digital filter

110, 210 : 계수 정보 추출 블록110, 210: coefficient information extraction block

120, 230, 240, 250 : 가감산 회로120, 230, 240, 250: Addition and subtraction circuit

220 : 가감산 회로 블록220: additive subtraction circuit block

본 발명은 통신 속도의 고속화 및 통신량의 증대에 따라 최근에 사용되고 있는 OFDM(Orthogonal Frequency-Division Multiplexing), OFDMA(Orthogonal Frequency-Division Multiple Access), CDMA(Code Division Multiple Access) 기반의 통신방식에 있어서, 이동통신 시스템의 기저대역(Base Band)부의 전송단 또는 수신단에서 필요로 하게 되는 FIR(Finite Impulse Response) 디지털 필터의 구현시 하드웨어 자원의 구조를 작게 설계할 수 있는 무승산기 FIR 디지털 필터 및 그 설계 방법에 관한 것이다.The present invention provides an orthogonal frequency-division multiplexing (OFDM), orthogonal frequency-division multiple access (OFDMA), and code division multiple access (CDMA) based communication schemes, which are recently used as the communication speed is increased and the traffic volume is increased. A multiplier-free FIR digital filter and its design method capable of designing a small hardware resource structure when implementing a FIR (Finite Impulse Response) digital filter required at a transmitting end or a receiving end of a base band of a mobile communication system It is about.

통상의 기지국 및 휴대 단말에 의해 운용되는 이동 통신 시스템에 있어서, 기저대역 디지털 신호를 여파하는 디지털 필터를 PSF(Pulse Shaping Filter)라고 하며, PSF에는 출력을 입력으로 궤환하는 IIR(Infinite Impulse Response) 타입의 필터와 출력을 입력으로 궤환하지 않는 FIR(Finite Impulse Response) 타입의 필터가 있는데, 본 발명에서는 FIR 필터를 대상으로 하고 있다.In a mobile communication system operated by a normal base station and a mobile terminal, a digital filter that filters baseband digital signals is called a PSF (Pulse Shaping Filter), and an IIR (Infinite Impulse Response) type that feeds an output to an input to a PSF. There is a filter of a finite impulse response (FIR) type that does not feed back a filter and an output as an input.

전술한 디지털 필터에서는 입력 데이터의 비트(Bit)와 계수(Coefficient)를 곱하여 신호를 처리하므로, 각각의 비트 단위로 처리된 데이터를 일시 저장하기 위한 레지스터(Resister)가 필요하며, 계수의 표현 비트 수 또는 탭(Tap)의 수가 클수록 여파 특성이 좋아지는 반면에 많은 레지스터와 논리회로(Logic Circuits)가 필요하게 된다.In the above-described digital filter, the signal is processed by multiplying the bit of the input data by the coefficient and the coefficient, so that a register for temporarily storing the data processed in each bit unit is required, and the number of representation bits of the coefficient is required. Alternatively, the larger the number of taps, the better the filter characteristics, while requiring more registers and logic circuits.

이동통신 단말에서 많이 사용되고 있는 고속의 선형위상 FIR 필터는 통상 CMOS 기술을 이용하여 디지털 회로로 동작하도록 설계된다. FIR 필터에서의 설계 요구로는 입력 데이터의 비트 수, 탭 수, 각 탭의 크기를 표현하는 계수의 비트 수들이 주어지며, 주어진 각 요구의 크기에 비례하여 FIR 필터의 하드웨어 복잡도가 결정되게 된다. 그리고 FIR 필터에서 그 하드웨어 크기는 통상 입력의 비트 수보다도 입력 데이터와 정하여져 있는 각 탭의 계수와의 곱셈을 위해 사용되는 승산기(Multiplier)의 개수에 의해 결정되고 평가되어 진다.High speed linear phase FIR filters, which are widely used in mobile communication terminals, are usually designed to operate as digital circuits using CMOS technology. The design requirements of the FIR filter are given the number of bits of the input data, the number of taps, and the number of bits of the coefficients representing the size of each tap, and the hardware complexity of the FIR filter is determined in proportion to the size of each given request. In the FIR filter, the hardware size is determined and evaluated by the number of multipliers used for multiplying the input data with the coefficient of each tap determined rather than the number of bits of the input.

FIR 필터 구조를 수학적 수식에 의존하여 단순하게 구성하는 경우의 전통적인 예가 도 1a에 도시되어 있다. 도 1a에 도시한 바와 같이, 기존의 승산기를 구비한 FIR 필터(10)는 입력 데이터(Di)를 받고, 이 입력 데이터(Di)를 승산기(12) 내의 쉬프트 레지스터를 이용하여 매 클럭 사이클마다 쉬프트 하며, 여기에 입력으로 주어지는 계수(Coef)를 곱한 값들을 가산기 체인(14)을 통해 모두 합하여 최종적인 결과를 만들어 낸다.A traditional example of the simple construction of an FIR filter structure depending on mathematical equations is shown in FIG. 1A. As shown in FIG. 1A, the FIR filter 10 having a conventional multiplier receives the input data Di and shifts the input data Di every clock cycle using the shift register in the multiplier 12. The sum multiplied by the coefficient Coef given as an input is added through the adder chain 14 to produce a final result.

한편, 전술한 단점을 보완하기 위하여 승산기를 사용하지 않고 가산/감산기를 이용하는 여러 기법 및 설계 방법들이 제안되어 있다. 종래 기술 중에서는 도 1b에 도시한 바와 같이, 입력으로 주어지는 계수(Di)를 CSD(Canonic Signed Digit) 형식으로 변환하고, 변환된 값을 이용하여 가산/감산기를 통해 입력 데이터를 필터링하는 방법이 대표적으로 가장 많이 알려져 있다. 이러한 종래의 방법에서는, 이진수의 b'1의 수가 최소가 되는 CSD 코드(1, 0, -1)를 구하고, 이 코드에 대하여 CSE(Common Subexpression Elimination)를 위한 최대의 공통요소를 구하는 과정을 거친 후, 그 결과로부터 쉬프트/가산기(24)와 가산기 체인(26)을 이용하여 승산에 대응하는 연산을 통해 필터를 구현하고 있다.Meanwhile, various techniques and design methods using an adder / subtracter without using a multiplier have been proposed to compensate for the above-mentioned disadvantages. In the prior art, as shown in FIG. 1B, a method of converting a coefficient Di given as an input into a CSD (Canonic Signed Digit) format and filtering input data through an adder / subtracter using the converted value is typical. Most commonly known as. In this conventional method, a CSD code (1, 0, -1) having a minimum number of b'1 binary digits is obtained, and a maximum common element for CSE (Common Subexpression Elimination) is obtained. The filter is then implemented through the operation corresponding to the multiplication using the shift / adder 24 and the adder chain 26 from the result.

기존의 CSD 형식을 이용하는 필터 구조에서는, 이진수의 승산기가 기본적으로 쉬프트와 가산기의 구성에 의존하는 동작 구조이므로, 가능한 가산의 회수를 줄일 수 있는 방법을 찾는 것이 중요한 설계 문제가 된다. CSD 형식에 대한 연구는 1990년초부터 많은 연구가 진행되어 오고 있으며, 최적의 MSD(Mininum Signed Digit) 형식을 구하는 문제가 NP-완전(NP-Complete)으로 추정되어 현재까지 여러 경험적(Heuristic) 기법들이 제안되고 있다. 그럼에도 불구하고, 기존의 CSD 방식의 필터에서는 주어진 계수를 CSD 형식으로 표현할 때, b'1의 수가 평균 1/3 ~ 1/2 정도로 알려져 있고, 그 만큼의 쉬프트/가산기 즉, 승산 대용의 가감산이 필요하게 되는 한계가 있다.In the filter structure using the conventional CSD format, since the binary multiplier is an operation structure basically dependent on the configuration of the shift and the adder, it is an important design problem to find a way to reduce the number of possible additions. Since the early 1990s, many studies have been conducted on the CSD format, and the problem of obtaining the optimal Mindum Signed Digit (MSD) format is estimated to be NP-Complete. It is proposed. Nevertheless, in the conventional CSD filter, when the given coefficient is expressed in the CSD format, the number of b'1 is known to be about 1/3 to 1/2 on average, and the shift / adder, that is, multiplication substitute for multiplication, There is a limit to what is needed.

따라서, 본 발명에서는 상기 종래 기술의 한계를 극복할 수 있는 방법으로 승산 대용의 가감산을 줄이는 설계 방법을 제공하고자 한다.Accordingly, the present invention is to provide a design method for reducing the addition and subtraction of multiplication in a way that can overcome the limitations of the prior art.

본 발명은 설계 요구의 탭 수만큼 필요로 하게 되는 승산기에 의한 필터링 연산을 수행하지 않고, 주어진 계수의 속성을 분석하고 가감산만으로의 설계를 위한 정보를 추출한 후, 추출된 정보를 이용하여 적은 가감산기 회로로 구현되는 무승산기 FIR 디지털 필터 및 그 설계 방법을 제공하는 것을 그 목적으로 한다.The present invention analyzes the properties of a given coefficient and extracts information for designing only by addition and subtraction without performing a filtering operation by the multiplier required as many taps as the design request, and then uses the extracted information to add or decrease the number of taps. An object of the present invention is to provide a multiplier-free FIR digital filter implemented by an adder circuit and a design method thereof.

또한, 본 발명은 상기 무승산 FIR 디지털 필터를 복수개 이용하여 하나의 하드웨어 내에 다중의 표준을 지원해야 할 때 이용할 수 있는 무승산기 FIR 디지털 필터를 제공하는 것을 또 다른 목적으로 한다.Another object of the present invention is to provide a multiplier-free FIR digital filter that can be used when a plurality of non-multiplying FIR digital filters are required to support multiple standards in one hardware.

상기 기술적 과제를 달성하기 위하여 본 발명의 일 측면에 의하면, 입력으로 주어지는 계수들의 속성으로부터 가산 및 감산에 의한 필터링 연산이 가능한 정보들을 추출 및 저장하는 계수 정보 추출 블록; 및 계수 정보 추출 블록에 저장된 정보들을 이용하여 입력 데이터에 대한 필터링 연산 및 오차보정을 수행하는 가감산 회로를 포함하는 무승산기 FIR 디지털 필터가 제공된다.According to an aspect of the present invention, a coefficient information extraction block for extracting and storing information capable of filtering operation by addition and subtraction from an attribute of coefficients given as an input; And an adder / subtracter circuit for performing a filtering operation and an error correction on the input data using information stored in the coefficient information extraction block.

바람직하게, 상기 무승산기 FIR 디지털 필터는 설계 입력의 계수들에 대하여, 비교 연산에 의해 8 이상의 계수를 선별 및 저장하여 8 이상의 계수 테이블을 생성하는 것을 특징으로 한다.Preferably, the multiplier-free FIR digital filter selects and stores eight or more coefficients by a comparison operation on coefficients of a design input to generate eight or more coefficient tables.

상기 무승산기 FIR 디지털 필터는 입력 데이터에 대하여, 비교 연산에 의해 9와의 대소를 판정하고, 9보다 작은 경우에 입력 데이터와 더한 값을 저장하여 가산 테이블을 생성하는 것을 특징으로 한다.The multiplier-free FIR digital filter determines the magnitude of the input data with 9 by a comparison operation, and generates an addition table by storing the input data and the added value when it is smaller than 9.

본 발명의 다른 측면에 의하면, 서로 다른 다중의 입력 데이터들과 동일의 계수가 주어질 때, 계수의 속성으로부터 가산 및 감산에 의한 필터링 연산이 가능한 정보들을 추출 및 저장하는 단계; 상기 입력 데이터에 대한 필터링 연산을 수행하는 단계; 및 상기 필터링 연산된 값을 상기 계수 정보 추출 블록에 저장된 정보들을 공통적으로 이용하여 오차보정하는 단계를 포함하는 무승산기 FIR 디지털 필터 설계 방법이 제공된다.According to another aspect of the present invention, when the same coefficient as the plurality of different input data is given, extracting and storing information capable of filtering operation by addition and subtraction from the attribute of the coefficient; Performing a filtering operation on the input data; And error-correcting the filtered calculated value using information stored in the coefficient information extraction block in common.

이하, 첨부된 도면을 참조하여 본 기술 분야의 통상의 지식을 가진 자가 본 발명을 실시할 수 있도록 상세히 설명하고자 한다.Hereinafter, with reference to the accompanying drawings will be described in detail so that those of ordinary skill in the art to practice the present invention.

도 2는 본 발명의 일 실시예에 따른 무승산기 FIR 디지털 필터의 구조를 나타내는 블록도이다.2 is a block diagram illustrating a structure of a multiplier-free FIR digital filter according to an embodiment of the present invention.

도 2를 참조하면, 본 실시예에 따른 FIR 필터(100)는 계수 정보 추출 블록(110) 및 가감산 회로(120)를 구비하며, 설계 요구의 탭 수만큼 필요로 하게 되는 승산기 대신에, 계수 정보 추출 블록(110)을 이용하여 입력으로 주어지는 계수(Coef)의 속성으로부터 가산 및 감산에 의한 필터링 연산이 가능한 정보들을 추출하고, 추출된 정보들을 이용하는 가감산 회로(120)를 통해 필터링 기능을 수행한다.2, the FIR filter 100 according to the present embodiment includes a coefficient information extraction block 110 and an additive subtraction circuit 120, and instead of a multiplier required by the number of taps of a design request, Extract information capable of filtering operation by addition and subtraction from the property of the coefficient Coef given as an input using the information extraction block 110 and perform a filtering function through the addition and subtraction circuit 120 using the extracted information. do.

계수 정보 추출 블록(110)은 가감산 회로(120)에서 입력 데이터(Di)에 대한 필터링 연산을 수행하기 전에, 필터의 첫번째 클록 동안 또는 클록 주파수가 높거나 탭 수가 큰 설계 조건에서는 하나 이상의 클록 주기 동안에 필터링 연산을 위한 사전 처리 작업을 수행한다. 이를 위해, 계수 정보 추출 블록(110)은 8 이상의 값 을 갖는 계수만을 저장하는 계수 테이블/제1 테이블(Toe)(112), 제1 테이블(112)로부터 주어진 계수들 간의 인접하는 16배수의 계수 경계 정보를 저장하는 16배수 경계 테이블/제2 테이블(Tcb)(114), 제2 테이블(114) 내의 각 계수에 대응하는 경계값 사이의 구간 정보를 저장하는 계수 구간 테이블/제3 테이블(Tai)(116), 후술하는 16구간 가산 테이블/가산 테이블(Tas)(121)로부터 가감산 결과를 읽어내는데 사용할 인덱스를 저장하는 추출 인덱스 테이블/제4 테이블(Tsi)(118)을 포함한다. 전술한 계수 정보 추출 블록은 레지스터 또는 메모리 소자의 저장 매체로 구성 가능하며, 여기에는 필터의 연산을 제어하는 정보도 포함하게 된다.The coefficient information extraction block 110 may perform one or more clock periods during the first clock of the filter or in a design condition with a high clock frequency or a large number of taps before performing the filtering operation on the input data Di in the addition and subtraction circuit 120. Perform preprocessing for filtering operations. To this end, the coefficient information extraction block 110 stores the coefficient table / first table (Toe) 112, which stores only coefficients having a value of 8 or more, and adjacent 16-fold coefficients between the coefficients given from the first table 112. Coefficient interval table / third table (Tai) for storing interval information between the 16-fold boundary table / second table (Tcb) 114 storing boundary information and the boundary value corresponding to each coefficient in the second table 114. 116), and an extraction index table / fourth table (Tsi) 118 for storing an index to be used for reading the addition and subtraction results from the 16-section addition table / addition table (Tas) 121 described later. The above-described coefficient information extraction block may be configured as a storage medium of a register or a memory element, and also includes information for controlling the operation of the filter.

가감산 회로(120)는 16구간 가산 테이블/가산 테이블(Tas)(121), 오차보정 테이블(Taa)(122), 무승산 결과 테이블/결과 테이블(Tae)(123) 및 가산기 체인(124)을 구비한다. 가산 테이블(121)은 계수의 소수 부분을 취하여 정수로 표현하였을 때의 최대값을 상한으로 하는 16 배수의 가산 구간을 설정하고 클록 주파수에 동기되어 입력되는 데이터를 16구간 단위로 가산함으로써 생성된다. 오차보정 테이블(122)은 계수 정보 추출 블록(110)의 3개의 테이블(112, 114, 116)과 가산 테이블(121)로부터 가산된 값의 추출 및 오차보정을 수행하여 승산에 대응되는 값을 얻어 생성된다. 결과 테이블(123)은 추출 인덱스 테이블(118)과 오차보정 테이블(122)에서의 가산 및 감산에 의해 보정한 값을 저장하기 위하여 생성된다. 그리고 가산기 체인(124)은 결과 테이블(123)에 저장된 무승산 결과값들을 클럭 사이클에 동기하여 체인 형태로 가산해 가며 FIR 필터의 가산 결과를 결과값으로 출력한다.The addition / subtraction circuit 120 includes a 16-section addition table / addition table (Tas) 121, an error correction table (Taa) 122, a multiplication result table / result table (Tae) 123, and an adder chain 124. It is provided. The addition table 121 is generated by setting an addition section of 16 multiples in which the maximum value when the fractional part of the coefficient is expressed as an integer as an upper limit and adding data input in synchronization with the clock frequency in units of 16 sections. The error correction table 122 extracts the values added from the three tables 112, 114, and 116 and the addition table 121 of the coefficient information extraction block 110 to obtain a value corresponding to the multiplication. Is generated. The result table 123 is generated to store values corrected by addition and subtraction in the extraction index table 118 and the error correction table 122. The adder chain 124 adds the non-multiplication result values stored in the result table 123 in a chain form in synchronism with a clock cycle, and outputs the addition result of the FIR filter as a result value.

본 발명에서 제안하는 무승산 FIR 디지털 필터에 대한 회로의 구현은 HDL(Hardware Description Language)과 같은 하드웨어 설계 언어를 이용하여 구조를 표현하는 설계 방법을 채택하고, 기술한 설계의 소스 코드를 논리회로의 자동합성 툴에 의해 FIR 필터 회로를 생성하는 방법을 이용할 수 있다. 그리고, HDL을 이용하여 디지털 필터를 구현하는 기존의 방법에서는 탭 수 등의 설계 요구가 변경될 때에 새로운 코드로 설계되어야 하지만, 본 발명에서는 클록 주파수의 규격 제한이 허용되는 범위 내에서 탭 수의 변경 시에도 설계 요구값 만을 교체하는 것으로 적용 가능하다. 본 발명에서 사용하고 있는 테이블의 구조는 디지털 회로 설계자의 의도에 따라서 램(RAM), 롬(ROM) 등의 메모리 또는 레지스터 저장 매체를 사용하여 구현할 수 있고, 또한 인덱스(값)의 표현은 상기 저장 매체에서의 주소의 의미와 대응된다.The implementation of the circuit for the non-multiplicative FIR digital filter proposed in the present invention adopts a design method that represents a structure using a hardware design language such as a hardware description language (HDL), and the source code of the described design A method for generating an FIR filter circuit by an autosynthesis tool can be used. In the existing method of implementing a digital filter using HDL, a new code must be designed when a design demand such as the number of taps is changed. However, in the present invention, the number of taps is changed within a range in which a specification limit of a clock frequency is allowed. It is also possible to replace the design requirements only. The structure of the table used in the present invention can be implemented using a memory or a register storage medium such as RAM, ROM, etc. according to the intention of the digital circuit designer, and the representation of the index (value) is stored in the storage. It corresponds to the meaning of the address in the medium.

도 3은 도 2의 FIR 필터를 다수의 FIR 필터로 확장하여 구현한 구성에 대한 블록도이다.FIG. 3 is a block diagram illustrating a configuration in which the FIR filter of FIG. 2 is extended to a plurality of FIR filters.

도 3을 참조하면, 본 실시예에 따른 FIR 필터(200)는 계수 정보 추출 블록(210) 및 복수의 가감산 회로(230, 240, 250)를 포함한 가감산 회로 블록(220)을 구비하고, 계수 정보 추출 블록(210)을 이용하여 입력으로 주어지는 계수(Coef)의 속성으로부터 가산 및 감산에 의한 필터링 연산이 가능한 정보들을 추출하여, 각 가감산 회로(230, 240, 250)를 이용하여 다중 입력 데이터에 대한 필터링 기능을 수행한다. 참고로 계수 정보 추출 블록(210) 및 각 가감산 회로(230, 240, 250)의 구성은 도 2를 참조한 FIR 필터의 계수 정보 추출 블록 및 가감산 회로의 구성과 실질적으로 동일하다.Referring to FIG. 3, the FIR filter 200 according to the present embodiment includes a coefficient information extraction block 210 and an addition and subtraction circuit block 220 including a plurality of addition and subtraction circuits 230, 240, and 250. By using the coefficient information extraction block 210 to extract the information that can be filtered by addition and subtraction from the property of the coefficient (Coef) given as an input, multiple inputs using the respective addition and subtraction circuits (230, 240, 250) Performs a filtering function on the data. For reference, the configuration of the coefficient information extraction block 210 and the respective addition / subtraction circuits 230, 240, and 250 is substantially the same as the configuration of the coefficient information extraction block and the addition / subtraction circuit of the FIR filter with reference to FIG. 2.

본 실시예에 따른 FIR 필터는, WLAN(802.11g)와 WiMax(802.16-2004)와 같은 다중의 통신방식을 지원하는 단일 칩을 설계하여야 할 경우에 이용될 수 있다. 이 경우, 802.11g에서의 54Mbps(802.11a), 11Mbps(802.11b), WiMax와 같이 다른 통신 서비스를 통합시킬 때 3*2(실수부 및 허수부)=6개, 게다가 수신부에서도 FIR 필터를 적용하는 경우에는 6*2=12개의 FIR 필터를 사용하게 되어, 승산기를 사용하여 구현할 때는 하드웨어 사용량의 증가가 커지게 된다. 따라서, 다중의 통신 표준을 지원하여야 하는 경우에, 도 3에 도시한 본 발명의 무승산기 FIR 디지털 필터의 설계 방법에 의한 구조를 적용하여 계수 정보의 추출 블록을 필터링 연산을 시작하기 전에 설치하면, 서로 다른 다중의 입력 데이터(D1, D2,..., Dn)에 대하여 공통적으로 가감산 회로를 사용할 수 있게 되고, 이로써 보다 작은 하드웨어의 구현이 가능하게 된다. 다만, 본 발명에 따른 FIR 필터에서는 다중의 입력 데이터에 대하여 동일한 탭의 계수를 사용하는 조건을 전제로 하는 경우이다.The FIR filter according to the present embodiment may be used when a single chip supporting multiple communication schemes such as WLAN (802.11g) and WiMax (802.16-2004) needs to be designed. In this case, 3 * 2 (real and imaginary) = 6 when integrating other communication services such as 54 Mbps (802.11a), 11 Mbps (802.11b), WiMax in 802.11g, and the receiver also applies the FIR filter. In this case, 6 * 2 = 12 FIR filters are used, and when the multiplier is used, the hardware usage increases. Therefore, in the case where it is necessary to support multiple communication standards, if the extraction block of coefficient information is installed before starting the filtering operation by applying the structure according to the design method of the multiplier-free FIR digital filter of the present invention shown in FIG. The addition and subtraction circuits can be commonly used for multiple different input data D1, D2, ..., Dn, thereby enabling the implementation of smaller hardware. However, in the FIR filter according to the present invention, it is assumed that the same tap coefficient is used for multiple input data.

본 실시예에 따르면, 동일의 필터를 단순히 배열하여 구현하는 기존의 필터 구성과 달리, 도 2의 FIR 필터의 구성을 확정하여 무승산에 대응하는 가산 또는 감산을 단순화하며, 입력의 종류가 많을수록 작은 하드웨어로의 구현 효과가 증대되는 장점이 있다. 아울러, 본 발명은 FIR 필터의 설계 과정에 규격 변경 요구가 있을 때 용이하게 단시간에 변경하여 무승산 FIR 필터를 구현할 수 있다. 즉, 본 발명에 의하면 FIR 필터의 설계 자유도가 크게 향상된다.According to the present embodiment, unlike the conventional filter configuration in which the same filter is simply arranged and implemented, the configuration of the FIR filter of FIG. 2 is determined to simplify the addition or subtraction corresponding to the multiplication, and the more types of inputs, the smaller There is an advantage that the implementation effect in hardware is increased. In addition, the present invention can be easily changed in a short time when there is a specification change request in the design process of the FIR filter can implement a multiplier-free FIR filter. That is, according to the present invention, the degree of freedom in designing the FIR filter is greatly improved.

이하 전술한 각 테이블의 생성하는 과정을 도 2를 토대로 도 4, 도 5 및 도 6을 참조하여 차례로 기술한다. 아래의 설명에서는 FIR 필터의 특성상 전체 탭 수가 홀수 또는 짝수인 여부에 따라 필터 특성이 달라지므로 이를 고려하여 설명한다.Hereinafter, a process of generating the aforementioned tables will be described in sequence with reference to FIGS. 4, 5, and 6 based on FIG. 2. In the following description, the filter characteristics vary depending on whether the total number of taps is odd or even due to the characteristics of the FIR filter.

도 4는 본 발명에 따른 FIR 필터에서 설계 요구로 주어지는 계수로부터 가감산 정보를 추출하여 테이블에 저장하는 흐름도이다.4 is a flowchart of extracting and subtracting information from coefficients given as design requests in a FIR filter according to the present invention and storing them in a table.

도 2 및 도 4에 도시한 바와 같이, 첫 번째로 8 이상의 계수(Coef)를 선별하는 계수 테이블/제1 테이블(Toe)(112)을 생성한다. 설계 요구로 주어진 계수의 총 개수를 Cn이라고 할 때, n개의 입력 계수 Coef(i)(400)는 Sync 함수

Figure 112006020382656-pat00001
의 특성으로부터 우함수인 경우 Chn=Cn/2개이고, 기함수인 경우 Chn=Cn/2+1개이며, Chn번째의 계수가 최대 계수값(Cmax)을 갖게 된다. 각 입력 계수 Coef(i)(i = 0, 1, 2,.., n-1, n = Chn)에 대하여 비교 연산(410)을 통해 8 이상의 값을 갖는 계수를 제1 테이블 Toe(j)(j = 0, 1, 2, .., s-1, s < n)에 저장한다(411). 상기 비교 연산(410)에서 계수 중에 음의 값을 갖는 계수는 2의 보수를 적용하여 양의 값을 갖는 비트로 변환한 값을 비교하고 있으며, 제1 테이블 Toe(j)의 모든 계수는 소수 부분의 비트들을 취하고 양의 값(양의 정수 또는 비트)으로 표현된다.As shown in Figs. 2 and 4, a coefficient table / first table (Toe) 112 is first generated for selecting eight or more coefficients Coef. When the total number of coefficients given by the design request is Cn, the n input coefficients Coef (i) 400 are synchronized. function
Figure 112006020382656-pat00001
If the right function is Chn = Cn / 2, the odd function is Chn = Cn / 2 + 1, and the Chn-th coefficient has the maximum coefficient value Cmax. For each input coefficient Coef (i) (i = 0, 1, 2, .., n-1, n = Chn), a coefficient having a value of 8 or more is compared through a comparison operation 410 in the first table Toe (j). (j = 0, 1, 2, ..., s-1, s <n) is stored (411). In the comparison operation 410, a coefficient having a negative value among the coefficients is compared with a value converted to a bit having a positive value by applying two's complement, and all coefficients of the first table Toe (j) It takes bits and is represented by a positive value (positive integer or bit).

두 번째로 16배수 구간 정보를 갖는 16배수 경계 테이블/제2 테이블(Tcb)(114)을 생성한다. 이를 위해, 비교 연산(420)을 통해 앞서 생성한 제1 테이블 Toe(j)의 계수 중에서, 하위 4-비트 b'3b'2b'1b'0을 2의 보수로 변환한 값에 대 하여 b'3의 값을 부호로 한다. 그리고 b'2b'1b'0의 값은 Toe(j)의 값이 16배수가 되도록 하는 계수의 경계 정보를 제2 테이블에 저장한다(423). 다시 말해서, 상기 비교 연산(420)에서, 부호를 나타내는 b'3이 음('1')인 경우에는 Toe(j)의 해당 계수로부터 b'2b'1b'0의 값을 뺀 값(421)을 제2 테이블 Tcb(k)에 저장하고, b'3이 양('0')일 때는 해당 계수에 b'2b'1b'0의 값을 더한 값(422)을 제2 테이블 Tcb(k)에 저장한다(423). 여기서, Tcb(k)의 모든 초기값을 16으로 정하고, k는 8보다 크고 32보다 작은 계수의 개수(ini)를 초기값으로 하며, k의 총 개수는 8 이상의 값을 갖는 계수의 개수로 제1 테이블 Toe(j)의 개수와 같다. 제2 테이블의 생성에서는 결과적으로 계수가 32 이상인 값들을 대상으로 저장하며, 저장된 값은 16구간 가산 테이블/가산 테이블(Tas)(121)에 저장되는 필터 출력 후보값(오차 포함)들에 대하여 오차보정을 수행할 때, 가산 테이블의 경계 기준값으로 사용하게 된다.Secondly, a 16-fold boundary table / second table (Tcb) 114 having 16-fold interval information is generated. To this end, b 'is used for a value obtained by converting the lower 4-bit b'3b'2b'1b'0 to two's complement among the coefficients of the first table Toe (j) generated through the comparison operation 420. The value of 3 is taken as a sign. The value of b'2b'1b'0 stores the boundary information of the coefficient such that the value of Toe (j) is 16 times in the second table (423). In other words, in the comparison operation 420, when b'3 representing a sign is negative ('1'), the value 421 is obtained by subtracting the value of b'2b'1b'0 from the corresponding coefficient of Toe (j). Is stored in the second table Tcb (k), and when b'3 is positive ('0'), the coefficient s plus the value of b'2b'1b'0 is added to the second table Tcb (k). Save to (423). Here, all initial values of Tcb (k) are set to 16, k is an initial value of the number of coefficients larger than 8 and smaller than 32, and the total number of k is the number of coefficients having a value of 8 or more. 1 This is equal to the number of tables Toe (j). In the generation of the second table, as a result, values having coefficients greater than or equal to 32 are stored as targets, and the stored values are different from the filter output candidate values (including errors) stored in the 16-segment addition table / addition table (Tas) 121. When performing the correction, it is used as the boundary reference value of the addition table.

세 번째로 계수 사이의 구간 정보를 갖는 계수 구간 테이블/제3 테이블(Tai)(116)을 생성한다. 이를 위해, 비교 연산(430)을 통해 앞서 생성한 제2 테이블의 값들 Tcb(k)와 Tcb(k+1)의 크기를 비교한다. Tcb(k+1)가 클 때는 차(Tcb(k+1) - Tcb(k))를 구하여 차(dif)의 하위 4-비트를 제외한 상위 비트의 값을 임시 어레이 Dst(l)에 저장하고, Tai(l-1)에 Dst(l-1)을 더한 값 Val을 Tai(l)에 저장한다(431, 433). 상기 비교 연산(430)에서 Tcb(k+1)가 작거나 같을 때는, 다음 스텝 Tai(l+1)를 위하여 임시 어레이를 적용할 필요가 없으므로 Tai(l-1)에 단순히 2를 더한 값을 Tai(l)에 저장한다(432, 433). 여기서, 제3 테이블 Tai(l)의 모든 초기값은 9로 정하고, l의 초기값(ini) 및 총 개수는 제2 테이블의 값 Tcb(k)와 같다. 제3 테이블 Tai(l)의 모든 초기값을 9로 정하고 있는 것은, 후술하는 가산 테이블(Tas)에서 9번째 Tas(9)가 계수 16에 대응하는 가감산의 값을 저장하고 있기 때문이며, 생성한 제3 테이블은 가산 테이블로부터 오차보정을 수행할 때 가산 테이블 내의 값들을 읽어내는 인덱스로 사용하게 된다.Third, a coefficient section table / third table (Tai) 116 having section information between the coefficients is generated. To this end, the comparison operation 430 compares the sizes of the previously generated values Tcb (k) and Tcb (k + 1) of the second table. When Tcb (k + 1) is large, obtain the difference (Tcb (k + 1)-Tcb (k)) and store the value of the upper bits except the lower 4-bits of the difference (dif) in the temporary array Dst (l). , Tai (l-1) plus Dst (l-1) is stored in Tai (l) (431, 433). When Tcb (k + 1) is small or equal in the comparison operation 430, since 2 does not need to apply a temporary array for the next step Tai (l + 1), simply add 2 to Tai (l-1). Store in Tai (l) (432, 433). Here, all initial values of the third table Tai (l) are set to 9, and the initial value of l and the total number of l are equal to the value Tcb (k) of the second table. All initial values of the third table Tai (l) are set to 9 because the 9th Tas (9) stores the value of the additive subtraction corresponding to the coefficient 16 in the addition table Tas described later. The third table is used as an index that reads values in the addition table when performing error correction from the addition table.

네 번째로 가감산 결과를 읽어내는 인덱스 값을 갖는 추출인덱스 테이블/제4 테이블(Tsi)(118)을 생성한다. 제1 테이블(112)을 생성할 때 사용하는 동일의 비교 연산(410)에서 계수 Coef(i)가 8보다 큰 경우에는, "Val =

Figure 112006020382656-pat00002
+8"을 초기값으로 하여 "1"씩 증가시킨 값을 제4 테이블 Tsi(m)에 저장하고(441, 443), 상기 비교 연산(410)에서 Coef(i)가 8과 같거나 작은 경우에는 그 계수 Coef(i)를 제4 테이블 Tsi(m)에 저장한다(442, 443). 제4 테이블의 값 Tsi(m)(m = 0, 1, 2,.., m-1, m =
Figure 112006020382656-pat00003
+ 8 + Toe크기)는 가감산에 의해 오차보정을 수행하는 테이블(Taa) 내의 값을 읽어내는 인덱스로 사용된다. 도 4의 단계 441에서 Val을 계산할 때, 도 4에는 표기되어 있지 않으나, i = 16일 때는 현재의 Val 값에 "1"을 증가시키는 대신에 9를 저장한다. 이것은 제3 테이블(Tai)의 생성에서 기술한 바와 같이 제4 테이블(Tsi)의 특정 값 Tsi(9)에 16구간 가산 테이블(Tas)의 기준값을 16(주어진 계수 중에 16의 존재 여부에 관계없이 할당함)으로 정하고 있기 때문이다.Fourth, an extract index table / fourth table (Tsi) 118 having an index value for reading the additive subtraction result is generated. If the coefficient Coef (i) is greater than 8 in the same comparison operation 410 used when generating the first table 112, " Val =
Figure 112006020382656-pat00002
In the case where Coef (i) is equal to or smaller than 8 in the comparison operation 410, a value incremented by "1" by +8 "as an initial value is stored in the fourth table Tsi (m) (441, 443). Stores the coefficient Coef (i) in the fourth table Tsi (m) (442, 443.) The value Tsi (m) of the fourth table (m = 0, 1, 2, .., m-1, m). =
Figure 112006020382656-pat00003
+ 8 + Toe size) is used as an index that reads a value in a table Taa that performs error correction by addition and subtraction. When calculating Val in step 441 of FIG. 4, although not shown in FIG. 4, when i = 16, 9 is stored instead of increasing "1" to the current Val value. As described in the creation of the third table Tai, the reference value of the 16-segment addition table Tas is added to the specific value Tsi (9) of the fourth table Tsi by 16 (regardless of whether 16 is present in a given coefficient). (Assigned).

이하, 16 구간의 가산에 의하여 생성되는 가산 테이블(Tas)과, 앞서 생성한 3개의 테이블(Toe, Tcb, Tai)을 이용하여 가산 테이블에 대해 가산 및 감산에 의한 오차보정을 하여 생성되는 오차보정 테이블(Taa)에 대하여 기술한다.Hereinafter, an error correction generated by adding and subtracting an error using the addition table Tas generated by the addition of 16 sections and the three tables (Toe, Tcb, and Tai) generated above is performed. The table Taa is described.

도 5는 본 발명에 따른 FIR 필터에서 입력 데이터에 대하여 16 구간의 계수에 의한 가산 테이블을 생성하는 흐름도이다.5 is a flowchart of generating an addition table based on coefficients of 16 sections with respect to input data in the FIR filter according to the present invention.

도 2 및 도 5를 참조하면, 계수를 곱하는 기존의 FIR 필터의 승산에 대응하는 가산 테이블(Tas)을 생성하기 위하여, 먼저 클록 주파수에 동기하여 순차적으로 입력되는 입력 데이터 Di(500) 값에 대해 비교 연산(501)에서 i(i=0, 1, 2,.., n-1)가 9보다 작은 경우 가산 테이블 Tas(i-1)에 입력 데이터 Di를 더한 결과 값을 가산 테이블 Tas(i)에 저장하고(502, 505), 상기 비교 연산(501)에서 i가 9와 같은 경우 가산 테이블 Tas(8)에 자신의 값을 더한 결과값을 가산 테이블 Tas(i=9)에 저장(계수 16에 해당)하며(503, 505), 상기 비교 연산(501)에서 i가 9보다 큰 경우 가산 테이블 Tas(i-1)에 계수 16으로 고정한 가산 테이블 Tas(9)의 값을 더한 결과값을 가산 테이블 Tas(i)에 저장한다(504, 505). 여기서, i의 크기는 "n=

Figure 112006020382656-pat00004
+ 8"이며, 상기 비교 연산(501)에서 9 이하의 가산 결과값들은 입력으로 주어진 원래의 계수 자체를 연산한 결과값으로 사용되며, 또한 가산 테이블(Tas)에 대한 오차보정에서 보정 값으로 사용된다. 본 단계에서 생성한 16구간의 가산 테이블(Tas)은 i가 9보다 클 때는 16구간으로 나누어진 가산값을 가지고, 작을 때는 단순히 입력 데이터 크기인 간격의 가산값을 가지게 되며, i가 9일 때는 16구간의 기준이 되는 가산값을 가지게 된다.2 and 5, in order to generate an addition table Ta corresponding to a multiplication of an existing FIR filter multiplying coefficients, first, input values Di 500 of sequentially input data in synchronization with a clock frequency are used. When i (i = 0, 1, 2, .., n-1) is less than 9 in the comparison operation 501, the result of adding the input data Di to the addition table Tas (i-1) is added to the addition table Tas (i (502, 505), and in the comparison operation 501, if i is equal to 9, the result value obtained by adding its value to the addition table Tas (8) is stored in the addition table Tas (i = 9). 16) (503, 505), and in the comparison operation 501, if i is greater than 9, the result value obtained by adding the value of the addition table Tas (9) fixed with the coefficient 16 to the addition table Tas (i-1). Stored in addition table Tas (i) (504, 505). Where the size of i is "n =
Figure 112006020382656-pat00004
+ 8 ", the addition result of 9 or less in the comparison operation 501 is used as a result of calculating the original coefficient itself given as an input, and also used as a correction value in error correction for the addition table Tas. In this step, the addition table (Tas) of 16 sections has an addition value divided into 16 sections when i is larger than 9, and when the i is smaller, it has an addition value of the interval, which is simply an input data size. In this case, it has an addition value that is a standard for 16 sections.

한편, 앞서 생성한 가산 테이블(Tas)에 대하여 가산기 체인의 연산을 그대로 수행하게 되면 오차를 포함하게 된다. 따라서, 본 발명에서는 가산 테이블(Tas)에 대하여 가산 및 감산에 의해 보정한 값을 오차보정 테이블(Taa)에 저장하여 생성하고, 기존 필터의 승산 결과에 대응되는 이 보정된 값들은 마지막 단의 가산기 체인(124)을 통해 연산을 수행한다.On the other hand, if the calculation of the adder chain is performed as it is with respect to the addition table Ta generated earlier, an error is included. Therefore, in the present invention, a value corrected by addition and subtraction with respect to the addition table Tas is stored and generated in the error correction table Taa, and the corrected values corresponding to the multiplication result of the existing filter are added to the last stage. The operation is performed through the chain 124.

도 6은 도 5에서 생성한 가산 테이블 내의 값을 도 4에서 생성한 테이블들 내의 값에 의해 가감산 여부를 결정하고 오차를 보정하는 흐름도이다.FIG. 6 is a flowchart of determining whether to add or subtract values in the addition table generated in FIG. 5 based on the values in the tables generated in FIG. 4 and correct an error.

오차보정을 실행시키기 전에, 먼저 가산 테이블 Tas(i)의 결과값들을 오차보정 테이블 Taa(r)에 복사하여 둔다. 여기서, r의 개수는 Tas(i)의 개수와 Toe(j)의 개수의 합이 되며, r의 초기값은 Tas(i)의 개수인 "

Figure 112006020382656-pat00005
+8"에 "1"을 더한 값이 된다. 그리고, 앞서 생성한 제1, 제2 및 제3 테이블 Toe(j), Tcb(k), Tai(l)과 가산 테이블 Tas(i)의 인덱스 값 j, k, l과 i를 "0"으로 초기화(600)한 후 오차보정 과정을 수행한다.Before executing the error correction, first, the result values of the addition table Tas (i) are copied to the error correction table Taa (r). Here, the number of r is the sum of the number of Tas (i) and the number of Toe (j), and the initial value of r is the number of Tas (i).
Figure 112006020382656-pat00005
+8 "plus" 1 ". The indexes of the first, second, and third tables Toe (j), Tcb (k), Tai (l), and addition table Tas (i) generated earlier are added. After the values j, k, l and i are initialized to “0” (600), an error correction process is performed.

구체적으로, 도 6에 도시한 바와 같이, 비교 연산(601)을 이용하여 제1 및 제2 테이블의 값들, Toe(j)와 Tcb(k)를 비교한다. 상기 비교 연산(601) 결과, Toe(j)가 큰 경우 Toe(j)와 Tcb(k)의 차 dif를 구한다(602). 그리고 Toe(j)가 크지 않은 경우 Tcb(k)와 Toe(j)의 차 dif를 구하고(605), 제3 테이블의 값 Tai(l)을 인덱스로 하는 Tas(Tai(l))로부터 상기 단계(605)에서 구한 차 dif를 인덱스로 하는 Tas(dif)를 뺀 값(608)을 오차보정 테이블 Taa(r)에 저장한다(609).Specifically, as shown in FIG. 6, the comparison operation 601 is used to compare the values of the first and second tables, Toe (j) and Tcb (k). As a result of the comparison operation 601, when Toe (j) is large, the difference dif between Toe (j) and Tcb (k) is obtained (602). If Toe (j) is not large, the difference dif between Tcb (k) and Toe (j) is obtained (605). A value 608 obtained by subtracting Tas (dif) having the difference dif obtained at 605 as an index is stored in the error correction table Taa (r) (609).

다음, 또 다른 비교 연산(603)에서 상기 단계(602)에서 얻은 차 dif가 8보다 큰 경우 Tcb(k)로부터 상기 단계(602)에서 얻은 차 dif를 뺀 값을 새로운 차 dif로 구하고(604), Tai(l)+1 값을 인덱스로 하는 Tas(Tai(l)+1)로부터 상기 단계(604)에 서 얻은 새로운 차 dif를 인덱스로 하는 Tas(dif)를 뺀 값(607)을 오차보정 테이블 Taa(r)에 저장한다(609).Next, in another comparison operation 603, if the difference dif obtained in the step 602 is greater than 8, Tcb (k) is obtained by subtracting the difference dif obtained in the step 602 as a new difference dif (604). , Error correction of Tas (Tai (l) +1) with Tai (l) +1 value minus Tas (dif) with new difference dif obtained in step 604 as the index 607. The data is stored in the table Taa (r) (609).

한편, 상기 비교 연산(603)에서 상기 단계(602)에서 얻은 차 dif가 8보다 작은 경우에는, Tai(l) 값을 인덱스로 하는 Tas(Tai(l))에 상기 단계(602)에서 얻은 차 dif를 인덱스로 하는 Tas(dif)를 더한 값(606)을 오차보정 테이블 Taa(r)에 저장한다(609).On the other hand, when the difference dif obtained in the step 602 in the comparison operation 603 is smaller than 8, the difference obtained in the step 602 to Tas (Tai (l)) having the value Tai (l) as an index. A value 606 obtained by adding Tas (dif) with dif as an index is stored in the error correction table Taa (r) (609).

전술의 오차 보정을 수행하는데 충분한 타당성은, 상기 오차보정을 위한 차 dif(602, 604, 605)의 인덱스에 따른 Tas(dif) 값들이 Tas(i) 자체에 포함된 하위 3-비트의 값을 오차보정의 값으로 적용하기 때문이며, 그리고 생성한 제2 테이블(Tcb)을 구할 때, 주어진 계수 각각에 대하여 가산 테이블(Tas)의 값 중에서 가장 근접한 값의 인덱스를 구하여 놓았기 때문이다. 또한 오차보정을 위한 하위 3-비트에 의해 표현되는 값들은 입력으로 주어진 원래의 계수에 의한 승산 결과값과 대비할 때, 16 구간 내에서 생성한 제2 테이블 Tcb(k)의 경계값을 기준으로 가산 및 감산에 의해 모두 포함할 수 있기 때문이다.The validity sufficient to perform the above error correction is that the Tas (dif) values according to the indices of the differences dif (602, 604, 605) for the error correction are the lower 3-bit values included in Tas (i) itself. This is because it is applied as an error correction value, and when the generated second table Tcb is obtained, the index of the nearest value among the values of the addition table Tas is obtained for each given coefficient. Also, the values represented by the lower 3-bits for error correction are added based on the boundary value of the second table Tcb (k) generated within 16 intervals, in contrast with the multiplication result value by the original coefficient given as an input. It is because it can contain all by and subtraction.

가산 테이블(Tas)에 대하여 오차를 보정하여 생성한 오차보정 테이블 Taa(r)(609)로부터 가산기 체인에서 가산시킬 값을 추출하여 무승산 결과 테이블(Tae)(123)을 생성한다. 여기서, 가산시킬 값은 도 1a의 승산기의 출력에 대응하는 값이 된다.A multiplication result table (Tae) 123 is generated by extracting a value to be added in the adder chain from the error correction table Taa (r) 609 generated by correcting an error with respect to the addition table Ta. Here, the value to be added becomes a value corresponding to the output of the multiplier of FIG. 1A.

구체적으로 설명하면, 제4 테이블 Tsi(m)의 각 인덱스에 의해 오차보정 테이블 Taa(r)로부터 가감산 결과값을 읽어내어 무승산 결과 테이블 Tae(t)에 저장한 다. 여기서, t는 주어진 입력 계수의 개수(Chn) 값인 t = Chn(t = 1, 2, .., Chn-1)이다. 생성한 결과 테이블(Tae)은 주어진 계수의 개수 Cn 중에서 계수의 대칭성으로부터 Chn = Cn/2 개에 대해서만 연산하고, 나머지 Cn/2에 대해서는 상기의 연산 결과값을 단순히 내림차순으로 추가시키거나, 가산기 체인의 구조에서 Chn에 대해서 가산하는 구조, 또는 일반적으로 알려져 있는 방법을 채택할 수 있다, 그리고, 결과 테이블(Tae)의 값 중에서, 제1 테이블(Toe)의 생성시 주어진 계수 중에서 음의 계수에 대하여 양의 계수로 표현하는 수단과, 이들에 대응하는 결과 테이블(Tae)의 결과값을 2의 보수를 사용하여 음의 결과값으로 역표현하는 수단을 적용한다.Specifically, the additive subtraction result value is read from the error correction table Taa (r) by each index of the fourth table Tsi (m) and stored in the multiplication result table Tae (t). Here, t is t = Chn (t = 1, 2, .., Chn-1), which is the value of the given number of input coefficients Chn. The generated result table (Tae) calculates only Chn = Cn / 2 from the symmetry of coefficients among the given number of coefficients Cn, and simply adds the above calculation result values in descending order or adds chains to the remaining Cn / 2. It is possible to adopt a structure that adds to Chn in the structure of, or a generally known method, and, among the values of the result table Tae, for the negative coefficients among the coefficients given at the time of generation of the first table Toe. Means for representing positive coefficients and means for inversely expressing the result values of the corresponding result table (Tae) with negative result values using two's complement are applied.

마지막으로, 생성한 무승산 결과 테이블 Tae(t)의 무승산 결과값들은 가산기 체인(124) 회로에 입력되고, 체인 형태로 클록 싸이클에 동기되어 가산되며 마지막 단의 Tae(Cn-1) + Tae(Cn) 가산 결과가 FIR 필터의 결과값으로 출력된다. 가산기 체인 연산은 일반적으로 사용되는 논리회로 구조를 그대로 적용하고 있으며, 결과 테이블의 값 Tae(t)는 도 1a 또는 도 1b의 M(i)(t = i, i = 0, 1, 2, .., n)와 동일한 입력값이 된다.Finally, the result of the multiplication of the resultant result table Tae (t) is input to the circuit of the adder chain 124, added in synchronization with the clock cycle in the form of a chain, and Tae (Cn-1) + Tae of the last stage. (Cn) The addition result is output as a result of the FIR filter. The adder chain operation is applied to the logic circuit structure generally used, and the value Tae (t) of the result table is M (i) (t = i, i = 0, 1, 2,. It is the same input value as.

입력이 48-탭, 8-비트로 주어질 때의 24(Chn = Cn/2)개에 대하여, 상기 각 단계에 따라서 적용한 결과값을 보이고 있다. 그 실시 결과는 표 1과 같다.For 24 (Chn = Cn / 2) inputs given as 48-tap, 8-bit inputs, the results are applied according to each step above. The results are shown in Table 1.

OrdOrd CoefCoef IntInt ToeToe TcbTcb TaiTai TsiTsi TasTas TaaTaa TaeTae etcetc 00 0000000000000000 00 1212 1616 99 00 00 00 00 Di=3Di = 3 1One 1111111111111111 -1-One 1010 1616 99 1One 33 33 -3-3 22 1111111011111110 -2-2 2424 1616 99 22 66 66 -6-6 33 0000000000000000 00 2020 1616 99 00 99 99 00 44 0000010000000100 44 3636 3232 1010 44 1212 1212 1212 55 0000011000000110 66 8080 8080 1313 66 1515 1515 1818 66 0000010100000101 55 116116 112112 1515 55 1818 1818 1515 77 0000000000000000 00 127127 128128 1616 00 2121 2121 00 88 1111101011111010 -6-6 66 2424 2424 -18-18 99 1111100011111000 -8-8 88 4848 4848 -24-24 1010 1111100111111001 -7-7 77 9696 9696 -21-21 1111 0000000000000000 00 00 144144 144144 00 1212 0000100000001000 88 88 192192 192192 2424 1313 0000110000001100 1212 1717 240240 240240 3636 1414 0000101000001010 1010 1818 288288 288288 3030 1515 0000000000000000 00 00 336336 336336 00 1616 1111000011110000 -16-16 99 384384 384384 -48-48 1717 1110100011101000 -24-24 1919 3636 -72-72 1818 1110110011101100 -20-20 2020 3030 -60-60 1919 0000000000000000 00 00 7272 00 2020 0010010000100100 3636 2121 6060 108108 2121 0101000001010000 8080 2222 108108 240240 2222 0111010001110100 116116 2323 240240 348348 2323 0111111101111111 127127 2424 348348 381381 2424 381381

표 1은 입력 데이터 값을 "Di = 3"으로 설정하고 상기 각 단계에 적용하여 연산한 결과들을 나타내며, 상기 본 발명에 의한 마지막 결과 테이블(Tae)의 결과는 표 1의 Tae 열의 값과 같다.Table 1 shows the results obtained by setting the input data value to "Di = 3" and applying to each of the above steps, and the result of the final result table Tae according to the present invention is the same as that of the Tae column of Table 1.

표 1에서 보이는 바와 같이, 48-탭의 7-비트(8-비트 중에서 부호를 나타내는 MSB는 고려하지 않음) 계수에 대하여, 기존의 CSD 형식에서는 계수의 대칭성 및 "0"값을 갖는 계수의 개수를 제외하면, 약 (48/2 - 6)x 2.5 = 45개의 가감산기가 필요하게 된다. 여기서, 2.5는 7-비트 계수들에 대한 평균값이다. 반면에 본 발명에서는 계수의 최대값이 127(7-비트)인 경우, 가산 테이블(Tas)에서의 가산기에서는 "

Figure 112006020382656-pat00006
+8=16"개이고, 오차보정 테이블(Taa)에서는 인덱스 값을 구하는 8개의 감산(602, 604, 605), 가산의 오차보정(606)에서 8개, 및 감산의 오차보정(607, 608)에서 8개이다. 따라서, 본 발명에서는 모두 40개의 가감산기를 사용하므로 기존의 CSD 형식보다 적은 가감산으로 FIR 필터를 구현할 수 있다.As shown in Table 1, for the 48-tap 7-bit (the MSB that represents the sign out of 8-bits) coefficients, in the conventional CSD format, the coefficient symmetry and the number of coefficients having a "0" value. Except, about (48/2-6) x 2.5 = 45 adders and subtractors are needed. Where 2.5 is the mean value for the 7-bit coefficients. On the other hand, in the present invention, when the maximum value of the coefficient is 127 (7-bit), the adder in the addition table Tas is "
Figure 112006020382656-pat00006
8 subtractions (602, 604, 605) for obtaining index values in the error correction table (Taa), 8 subtractions for the error correction (606) of addition, and error corrections (607, 608) for subtraction. Therefore, since the present invention uses all 40 adders and subtractors, the FIR filter can be implemented with less add / subtract than the conventional CSD format.

본 발명에서는, 가산 테이블 내의 가산 결과값 중에서 입력 계수와 무관한 4 개의 여분의 계수에 의한 가산기를 사용하고 있고, 기존의 CSD 형식과 비교할 때, 계수로부터 가감산 정보를 추출하는 4개의 테이블을 생성하는 과정을 하드웨어로 포함하고 있지 않다. 즉, 이들 4개의 테이블은 주어진 계수가 필터 연산 중에 변경 입력되는 경우가 없으므로, HDL 언어를 이용할 때 계수 정보 추출 블록을 별도로 실행시킨 결과를 논리설계 조건의 파라미터를 정의하는 디자인 패키지(design_package) 파일에 기술함으로써 불필요한 하드웨어를 생성시키지 않고, 가감산 회로에 대해서 논리합성을 수행할 수 있는 이점이 있다.In the present invention, an adder based on four extra coefficients irrelevant to the input coefficients is used among the addition result values in the addition table, and four tables for extracting addition and subtraction information from the coefficients are generated when compared with the existing CSD format. It does not include the process of doing it in hardware. In other words, since these coefficients are not inputted by the given coefficients during the filter operation, the result of separately executing the coefficient information extraction block when using the HDL language is stored in the design_package file that defines the parameters of the logic design condition. This technique has the advantage that logic synthesis can be performed on the addition and subtraction circuits without generating unnecessary hardware.

이상, 본 발명을 바람직한 실시 예를 들어 상세하게 설명하였으나, 본 발명은 상기 실시 예에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당 기술분야에서 통상의 지식을 가진 자에 의하여 여러 가지 변형이 가능하다.In the above, the present invention has been described in detail with reference to preferred embodiments, but the present invention is not limited to the above embodiments, and various modifications may be made by those skilled in the art within the scope of the technical idea of the present invention. This is possible.

이상에서 설명한 바와 같이, 본 발명의 무승산기 FIR 디지털 필터 및 그 설계 방법은 다음과 같은 이점이 있다.As described above, the multiplier-free FIR digital filter of the present invention and its design method have the following advantages.

첫째, 디지털 필터 설계시 설계 복잡도가 높은 승산기를 사용하지 않을 뿐 아니라 기존의 CSD 형식을 이용하지 않고 승산기를 대용하는 가산 또는 감산의 수를 줄일 수 있다.First, in designing a digital filter, a multiplier with a high design complexity may not be used, and the number of additions or subtractions using the multiplier instead of the existing CSD format may be reduced.

둘째, 다중의 통신 표준의 입력 데이터를 지원해야 하는 경우에 필터의 구조를 간단하고 효과적으로 확장 구현할 수 있다.Second, it is possible to simply and effectively extend the structure of the filter when supporting input data of multiple communication standards.

셋째, OFDM, OFDMA, CDMA 기반의 통신 시스템에 이용되는 기저대역 처리부를 구비한 신호처리장치, 모뎀 칩 등의 장치의 소형화, 저가격화에 기여할 수 있다.Third, it can contribute to miniaturization and low cost of devices such as a signal processing device and a modem chip having a baseband processing unit used in an OFDM, OFDMA, CDMA-based communication system.

Claims (19)

입력으로 주어지는 계수들의 속성으로부터 가산 및 감산에 의한 필터링 연산이 가능한 정보들을 추출 및 저장하는 계수 정보 추출 블록; 및A coefficient information extraction block for extracting and storing information capable of filtering operation by addition and subtraction from attributes of coefficients given as an input; And 상기 계수 정보 추출 블록에 저장된 정보들을 이용하여 입력 데이터에 대한 필터링 연산 및 오차보정을 수행하는 가감산 회로를 포함하는 무승산기 FIR 디지털 필터.And an adder / subtracter circuit for performing filtering operation and error correction on the input data using information stored in the coefficient information extraction block. 제 1 항에 있어서, 상기 계수 정보 추출 블록은 상기 계수들 중 8 이상의 계수를 선별 및 저장하여 8 이상의 계수 테이블을 생성하는 것을 특징으로 하는 무승산기 FIR 디지털 필터.2. The multiplier FIR digital filter of claim 1, wherein the coefficient information extracting block selects and stores eight or more coefficients of the coefficients to generate eight or more coefficient tables. 제 2 항에 있어서, 상기 계수 정보 추출 블록은, 상기 계수 테이블에서의 각 계수에 대하여, 상기 계수 자신이 갖고 있는 하위 4-비트 중에서 4번째 비트를 취하여 기설정된 비교 연산을 통해 가산 또는 감산 여부를 판정하고,The method according to claim 2, wherein the coefficient information extraction block, for each coefficient in the coefficient table, takes the fourth bit among the lower 4-bits of the coefficient itself and adds or subtracts it through a preset comparison operation. Judging, 나머지 하위 3-비트 값으로 감산 또는 가산하며, 그 결과값을 16 배수 경계값으로 저장하는 16배수의 경계 테이블을 생성하는 것을 특징으로 하는 무승산기 FIR 디지털 필터.And a 16-fold multiplier boundary table for subtracting or adding the remaining lower 3-bit values and storing the result as a 16-fold threshold. 제 3 항에 있어서, 상기 계수 정보 추출 블록은, 상기 경계 테이블에서의 인 접하는 2개의 계수들 구간의 차를 구하고, 하위 3-비트를 제외한 상위 비트들을 임시 어레이에 저장하며, 상기 계수 테이블의 대응 값에 상기 임시 어레이의 값을 더하고,4. The coefficient information extracting block of claim 3, wherein the coefficient information extracting block obtains a difference between two adjacent coefficients in the boundary table, stores upper bits except the lower 3-bits in a temporary array, and corresponds to the coefficient table. Add the value of the temporary array to the value, 상기 더한 결과값을 저장하는 계수 구간 테이블을 생성하는 것을 특징으로 하는 무승산기 FIR 디지털 필터.And a coefficient interval table for storing the added result value. 제 4 항에 있어서, 상기 계수 정보 추출 블록은, 상기 계수와 8과의 대소를 판정하고, 상기 계수가 8보다 큰 경우 초기값 "Val =
Figure 112006020382656-pat00007
+8"(여기서, Cmax는 상기 계수의 최대 계수값임)에 "1"씩 증가시킨 결과값, 또는 상기 판정 결과 8과 같거나 작은 경우 상기 계수를 저장하는 추출 인덱스 테이블을 생성하는 것을 특징으로 무승산기 FIR 디지털 필터.
The coefficient information extraction block according to claim 4, wherein the coefficient information extraction block determines the magnitude of the coefficient and eight, and the initial value "Val =" when the coefficient is larger than eight.
Figure 112006020382656-pat00007
Generate an extraction index table which stores the coefficient when the result is increased by "1" to +8 "(where Cmax is the maximum coefficient value of the coefficient), or when the determination result is less than or equal to 8. Multiplier FIR digital filter.
제 5 항에 있어서, 상기 가감산 회로는 상기 입력 데이터와 9와의 대소를 판정하고, 상기 입력 데이터가 9보다 작은 경우에 상기 입력 데이터를 바로 이전의 가산 테이블 인덱스가 갖는 값에 더한 결과값을 저장하는 가산 테이블을 생성하는 것을 특징으로 하는 무승산기 FIR 디지털 필터.6. The apparatus of claim 5, wherein the addition and subtraction circuit determines the magnitude of the input data and 9, and stores the result value of adding the input data to the value of the previous addition table index when the input data is less than 9. And a multiplier FIR digital filter for generating an addition table. 제 6 항에 있어서, 상기 가감산 회로는 상기 입력 데이터가 9와 같은 경우 8번째의 상기 가산 테이블의 값을 서로 더하고 그 결과값을 16 구간의 가산값으로 9번째의 상기 가산 테이블의 값에 저장하는 것을 특징으로 하는 무승산기 FIR 디지 털 필터.7. The method of claim 6, wherein when the input data equals 9, the addition and subtraction circuit adds values of the eighth addition table to each other and stores the result in the ninth addition table as 16 addition intervals. A multiplier FIR digital filter characterized in that. 제 6 항 또는 제 7 항에 있어서, 상기 입력 데이터가 9보다 큰 경우 16 구간을 기반으로 하는 상기 9번째의 가산 테이블의 값을 바로 이전의 상기 가산 테이블 인덱스가 갖는 값에 더한 결과값을 저장하는 것을 특징으로 하는 무승산기 FIR 디지털 필터.8. The method of claim 6 or 7, wherein when the input data is greater than 9, a result value obtained by adding a value of the ninth addition table based on 16 intervals to a value of the previous addition table index. A multiplier-free FIR digital filter, characterized in that. 제 8 항에 있어서, 상기 계수 정보 추출 블록 및 상기 가감산 회로는 상기 계수 테이블의 값과 이에 대응하는 상기 경계 테이블의 값의 대소를 판정하고, 상기 판정 결과에 따라서 오차보정을 위한 차를 구하는 것을 특징으로 하는 무승산기 FIR 디지털 필터.9. The method of claim 8, wherein the coefficient information extraction block and the addition and subtraction circuit determine the magnitude of the value of the coefficient table and the value of the boundary table corresponding thereto, and obtain a difference for error correction according to the determination result. Features a multiplier-free FIR digital filter. 제 9 항에 있어서, 상기 계수 정보 추출 블록 및 상기 가감산 회로는, 상기 계수 테이블의 값이 상기 경계 테이블의 값과 같거나 작은 경우, 상기 가산 테이블의 대응 값으로부터, 상기 경계 테이블의 값과 상기 계수 테이블의 값과의 차를 인덱스로 한 가산 테이블의 값을 감산한 값을 저장하는 오차보정 테이블을 생성하는 것을 특징으로 하는 무승산기 FIR 디지털 필터.10. The method according to claim 9, wherein the coefficient information extraction block and the addition and subtraction circuit, when the value of the coefficient table is equal to or smaller than the value of the boundary table, adds the value of the boundary table and the value from the corresponding value of the addition table. A multiplier-free FIR digital filter, comprising: generating an error correction table that stores a value obtained by subtracting a value of an addition table whose index is a difference from a value of a coefficient table. 제 10 항에 있어서, 상기 계수 정보 추출 블록 및 상기 가감산 회로는, 상기 계수 테이블의 값이 상기 경계 테이블의 값보다 크고, 상기 계수 테이블의 값으로 부터 상기 경계 테이블의 값을 감산한 값이 8보다 큰 경우, 상기 경계 테이블의 값으로부터, 상기 계수 테이블의 값과 상기 경계 테이블의 값과의 차로 감산한 값을 새로운 오차보정의 차로 설정하는 것을 특징으로 하는 무승산기 FIR 디지털 필터.11. The method of claim 10, wherein the coefficient information extraction block and the addition / subtraction circuit have a value of the coefficient table greater than a value of the boundary table, and a value obtained by subtracting the value of the boundary table from a value of the coefficient table is 8; And if larger, a value obtained by subtracting the difference between the value of the coefficient table and the value of the boundary table from the value of the boundary table as a new error correction difference. 제 11 항에 있어서, 상기 계수 정보 추출 블록 및 상기 가감산 회로는, 상기 가산 테이블의 대응 값으로부터 상기 새로운 오차보정의 차를 인덱스로 하는 가산 테이블의 값을 감산한 값을 저장하는 오차보정 테이블을 생성하는 것을 특징으로 하는 무승산기 FIR 디지털 필터.12. The error correction table according to claim 11, wherein the coefficient information extraction block and the addition / subtraction circuit store an error correction table that stores a value obtained by subtracting a value of an addition table whose index is the difference of the new error correction from a corresponding value of the addition table. And a multiplier-free FIR digital filter. 제 12 항에 있어서, 상기 계수 정보 추출 블록 및 상기 가감산 회로는, 상기 계수 테이블의 값이 상기 경계 테이블의 값보다 크고, 상기 계수 테이블의 값으로부터 상기 경계 테이블의 값의 차가 8보다 작거나 같은 경우, 상기 가산 테이블의 대응 값으로부터, 상기 경계 테이블의 값과 상기 계수 테이블의 값과의 차를 인덱스로 한 가산 테이블의 값을 더한 값을 저장하는 오차보정 테이블을 생성하는 것을 특징으로 하는 무승산기 FIR 디지털 필터.The coefficient information extraction block and the addition / subtraction circuit according to claim 12, wherein the value of the coefficient table is greater than the value of the boundary table, and the difference between the value of the boundary table from the value of the coefficient table is less than or equal to eight. And a multiplier for generating an error correction table that stores a value obtained by adding a value of an addition table whose index is the difference between the value of the boundary table and the value of the coefficient table from the corresponding value of the addition table. FIR digital filter. 제 10 항 내지 제 13 항 중 어느 한 항에 있어서, 상기 추출 인덱스 테이블의 인덱스로 상기 오차보정 테이블의 값을 읽어내고, 상기 읽어낸 값을 저장하는 무승산 결과 테이블을 생성하는 것을 특징으로 하는 무승산기 FIR 디지털 필터.14. The multiplication result table according to any one of claims 10 to 13, wherein a value of the error correction table is read as an index of the extraction index table, and a multiplication result table is generated which stores the read value. Multiplier FIR digital filter. 제 1 항에 있어서,The method of claim 1, 다중 입력 데이터에 대한 필터링 연산 및 오차보정을 수행하기 위하여 상기 가감산 회로 복수개가 가감산 회로 블록을 형성하는 무승산기 FIR 디지털 필터.A multiplier-free FIR digital filter in which a plurality of additive subtraction circuits form an additive subtraction circuit block to perform filtering operations and error correction on multiple input data. 서로 다른 다중의 입력 데이터들과 동일의 계수가 주어질 때, 상기 계수의 속성으로부터 가산 및 감산에 의한 필터링 연산이 가능한 정보들을 추출 및 저장하는 단계;Extracting and storing information capable of filtering operation by addition and subtraction from an attribute of the coefficient when given a same coefficient as different multiple input data; 상기 입력 데이터에 대한 필터링 연산을 수행하는 단계; 및Performing a filtering operation on the input data; And 상기 필터링 연산된 값을 상기 계수 정보 추출 블록에 저장된 정보들을 이용하여 오차보정하는 단계를 포함하는 무승산기 FIR 디지털 필터 설계 방법.And correcting the filtered calculated value using information stored in the coefficient information extraction block. 제 16 항에 있어서, 상기 입력 데이터에 대한 필터링 연산을 수행하는 단계는, 상기 계수의 소수 부분을 취하여 정수로 표현하였을 때의 최대값을 상한으로 하는 16 배수의 가산 구간을 설정하고 클록 주파수에 동기되어 입력되는 상기 입력 데이터를 16구간 단위로 가산한 값을 저장하는 16구간 가산 테이블을 생성하는 단계를 포함하는 무승산기 FIR 디지털 필터 설계 방법.17. The method of claim 16, wherein the performing a filtering operation on the input data comprises: setting an addition interval of 16 multiples in which a maximum value when the fractional part of the coefficient is expressed as an integer is set as an upper limit and synchronized with a clock frequency. And generating a 16-segment addition table for storing a value obtained by adding the input data in 16-segment units. 제 16 항 또는 제 17 항에 있어서, 상기 정보들을 추출 및 저장하는 단계는,18. The method of claim 16 or 17, wherein extracting and storing the information comprises: 8 이상의 값을 갖는 계수만을 저장하는 계수 테이블을 생성하는 단계;Generating a coefficient table that stores only coefficients having a value of 8 or greater; 상기 계수 테이블로부터 주어진 계수들 간의 인접하는 16 배수의 계수 경계 정보를 저장하는 16배수 경계 테이블을 생성하는 단계;Generating a 16-fold boundary table for storing adjacent 16-fold coefficient boundary information between given coefficients from the coefficient table; 상기 16배수 경계 테이블 내의 각 계수에 대응하는 경계값 사이의 구간 정보를 저장하는 계수 구간 테이블을 생성하는 단계; 및Generating a coefficient interval table for storing interval information between boundary values corresponding to each coefficient in the 16-fold boundary table; And 상기 필터링 연산을 수행하는 16구간 가산 테이블로부터 가감산 결과를 읽어내는데 사용하는 인덱스를 저장하는 추출 인덱스 테이블을 생성하는 단계를 포함하는 무승산기 FIR 디지털 필터 설계 방법.And generating an extract index table for storing an index used to read an additive subtraction result from the 16-section addition table that performs the filtering operation. 제 18 항에 있어서, 상기 오차보정하는 단계는,The method of claim 18, wherein the error correction step, 상기 16구간 가산 테이블에 저장된 값을 가감산하여 오차보정한 결과값을 저장하는 결과 테이블을 생성하는 단계; 및Generating a result table storing an error correction result value by subtracting and subtracting a value stored in the 16-section addition table; And 상기 결과 테이블에 저장된 값을 가산기 체인 회로를 통해 가산하고, 상기 가산된 결과값을 출력하는 단계를 포함하는 무승산기 FIR 디지털 필터 설계 방법.And adding the value stored in the result table through an adder chain circuit, and outputting the added result value.
KR1020060026535A 2005-12-06 2006-03-23 Multiplierless FIR Digital Filter and Method for Design thereof KR100746856B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060026535A KR100746856B1 (en) 2005-12-06 2006-03-23 Multiplierless FIR Digital Filter and Method for Design thereof
US11/634,559 US7933943B2 (en) 2005-12-06 2006-12-06 Multiplierless FIR digital filter and method of designing the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050118177 2005-12-06
KR1020060026535A KR100746856B1 (en) 2005-12-06 2006-03-23 Multiplierless FIR Digital Filter and Method for Design thereof

Publications (2)

Publication Number Publication Date
KR20070059820A KR20070059820A (en) 2007-06-12
KR100746856B1 true KR100746856B1 (en) 2007-08-07

Family

ID=38356083

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060026535A KR100746856B1 (en) 2005-12-06 2006-03-23 Multiplierless FIR Digital Filter and Method for Design thereof

Country Status (1)

Country Link
KR (1) KR100746856B1 (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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR890013881A (en) * 1988-02-01 1989-09-26 강진구 Multiplier Digital Filter for Image Signal Processing
KR970029020A (en) * 1995-11-04 1997-06-26 김광호 Multiplier for optimizing coefficients of FIR filter
KR20020032157A (en) 2000-10-26 2002-05-03 오길록 Multiplierless Finite Impulse Response filter

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR890013881A (en) * 1988-02-01 1989-09-26 강진구 Multiplier Digital Filter for Image Signal Processing
KR970029020A (en) * 1995-11-04 1997-06-26 김광호 Multiplier for optimizing coefficients of FIR filter
KR20020032157A (en) 2000-10-26 2002-05-03 오길록 Multiplierless Finite Impulse Response 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
KR20070059820A (en) 2007-06-12

Similar Documents

Publication Publication Date Title
RU2189109C2 (en) Finite impulse response filter built around rom for mobile telephone set
JP2002237998A (en) Image pattern correction method and imaging device
KR100340048B1 (en) Multiplierless Finite Impulse Response filter
KR100746856B1 (en) Multiplierless FIR Digital Filter and Method for Design thereof
US10050607B2 (en) Polyphase decimation FIR filters and methods
US7933943B2 (en) Multiplierless FIR digital filter and method of designing the same
US20090028458A1 (en) Scaling filter for video sharpening
CN116318051B (en) Digital shaping filter method and device, digital shaping filter and electronic equipment
EP1311064A2 (en) Low power CSD linear phase FIR filter architecture using vertical common subexpression and filter design method therefor
JP4665099B2 (en) Method for determining filter coefficients of a digital filter and digital filter
US6888904B2 (en) 108-tap 1:4 interpolation FIR filter for digital mobile telecommunication
US20040201722A1 (en) Signal processing apparatus for eliminating ringing signal and method thereof, record medium, and program
KR20070059388A (en) Method for design of multiplierless fir digital filter
US6819708B1 (en) OCQPSK modulator and modulating method using 1-bit input FIR filter
US20040267854A1 (en) Logarithmic and inverse logarithmic conversion system and method
Liu et al. Efficient design of FIR filters using common subexpression elimination
KR100422443B1 (en) Low power CSD Linear phase FIR filter architecture using virtual common subexpression and filter design method therefore
KR100253304B1 (en) A letter-box filtering circuit and method
US6677867B2 (en) Data conversion circuit, digital camera and data conversion method
EP3934223A1 (en) Converting digital image data
US20040264809A1 (en) Image processing apparatus, image processing method and image processing system
Smitha et al. Low power realization and synthesis of higher-order FIR filters using an improved common subexpression elimination method
US8553813B2 (en) Method for computing correlation of PN sequence and circuit thereof
US6072911A (en) Linear image filter and the corresponding filtering method
KR20070073462A (en) Interpolating apparatus and method in digital communication system

Legal Events

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

Payment date: 20120730

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130729

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140728

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150728

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160726

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170727

Year of fee payment: 11