KR100746856B1 - Multiplierless FIR Digital Filter and Method for Design thereof - Google Patents
Multiplierless FIR Digital Filter and Method for Design thereof Download PDFInfo
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B01—PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
- B01D—SEPARATION
- B01D21/00—Separation of suspended solid particles from liquids by sedimentation
- B01D21/02—Settling tanks with single outlets for the separated liquid
- B01D21/04—Settling tanks with single outlets for the separated liquid with moving scrapers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B01—PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
- B01D—SEPARATION
- B01D21/00—Separation of suspended solid particles from liquids by sedimentation
- B01D21/18—Construction of the scrapers or the driving mechanisms for settling tanks
- B01D21/20—Driving mechanisms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B01—PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
- B01D—SEPARATION
- B01D21/00—Separation of suspended solid particles from liquids by sedimentation
- B01D21/18—Construction of the scrapers or the driving mechanisms for settling tanks
- B01D21/22—Safety mechanisms
-
- C—CHEMISTRY; METALLURGY
- C02—TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
- C02F—TREATMENT OF WATER, WASTE WATER, SEWAGE, OR SLUDGE
- C02F1/00—Treatment of water, waste water, or sewage
- C02F1/52—Treatment of water, waste water, or sewage by flocculation or precipitation of suspended impurities
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01L—MEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
- G01L3/00—Measuring torque, work, mechanical power, or mechanical efficiency, in general
- G01L3/02—Rotary-transmission dynamometers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01L—MEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
- G01L5/00—Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes
- G01L5/0028—Force sensors associated with force applying means
- G01L5/0042—Force sensors associated with force applying means applying a torque
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B21/00—Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
- G08B21/18—Status alarms
- G08B21/182—Level 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
도 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
한편, 전술한 단점을 보완하기 위하여 승산기를 사용하지 않고 가산/감산기를 이용하는 여러 기법 및 설계 방법들이 제안되어 있다. 종래 기술 중에서는 도 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 /
기존의 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
계수 정보 추출 블록(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
가감산 회로(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 /
본 발명에서 제안하는 무승산 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
본 실시예에 따른 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 함수의 특성으로부터 우함수인 경우 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 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
두 번째로 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
세 번째로 계수 사이의 구간 정보를 갖는 계수 구간 테이블/제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
네 번째로 가감산 결과를 읽어내는 인덱스 값을 갖는 추출인덱스 테이블/제4 테이블(Tsi)(118)을 생성한다. 제1 테이블(112)을 생성할 때 사용하는 동일의 비교 연산(410)에서 계수 Coef(i)가 8보다 큰 경우에는, "Val =+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 =+ 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
이하, 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=+ 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
한편, 앞서 생성한 가산 테이블(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
도 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)의 개수인 "+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). +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
다음, 또 다른 비교 연산(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
한편, 상기 비교 연산(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
전술의 오차 보정을 수행하는데 충분한 타당성은, 상기 오차보정을 위한 차 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
입력이 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.
표 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)에서의 가산기에서는 "+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 " 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)
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)
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)
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 |
-
2006
- 2006-03-23 KR KR1020060026535A patent/KR100746856B1/en active IP Right Grant
Patent Citations (3)
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)
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 |