KR100260746B1 - Finite impulse response filter - Google Patents
Finite impulse response filter Download PDFInfo
- Publication number
- KR100260746B1 KR100260746B1 KR1019970076022A KR19970076022A KR100260746B1 KR 100260746 B1 KR100260746 B1 KR 100260746B1 KR 1019970076022 A KR1019970076022 A KR 1019970076022A KR 19970076022 A KR19970076022 A KR 19970076022A KR 100260746 B1 KR100260746 B1 KR 100260746B1
- Authority
- KR
- South Korea
- Prior art keywords
- output
- delay
- filter
- delay element
- value
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/06—Non-recursive filters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/06—Non-recursive filters
- H03H17/0621—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/0009—Time-delay networks
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0223—Computation saving measures; Accelerating measures
- H03H17/0225—Measures concerning the multipliers
- H03H17/0226—Measures concerning the multipliers comprising look-up tables
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H2017/0072—Theoretical filter design
- H03H2017/0081—Theoretical filter design of FIR filters
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Filters That Use Time-Delay Elements (AREA)
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
Abstract
Description
본 발명은 디지털 필터에 관한 것으로, 특히 탭드지연라인 방식과 룩업테이블방식이 혼용된 유한장 임펄스응답 필터에 관한 것이다.The present invention relates to a digital filter, and more particularly, to a finite field impulse response filter in which a tapped delay line method and a lookup table method are mixed.
디지털신호 처리시스템에서 이용되고 있는 대표적인 필터로 유한장 임펄스응답(Finite Impulse Response: 이하 "FIR"이라 칭함) 필터가 있다. FIR필터는 아날로그 필터 및 무한장 임펄스응답(Infinite Impulse Response) 필터들에 비해 그 성능이 우수하기 때문에 현재 대부분의 디지털신호 처리시스템에서 이용되고 있는 추세에 있다. 이러한 FIR필터는 그 구성 방식에 따라 탭드지연라인(Tapped Delay Line) 방식의 FIR필터와 룩업테이블(Look-up Table) 방식의 FIR필터로 구분된다.A typical filter used in a digital signal processing system is a finite impulse response (FIR) filter. FIR filters are currently being used in most digital signal processing systems because of their superior performance compared to analog filters and infinite impulse response filters. The FIR filter is classified into a tapped delay line type FIR filter and a look-up table type FIR filter according to the configuration.
도 1은 탭드지연라인 방식에 따른 FIR필터의 구성을 나타내는 도면으로, 콘볼루션(Convolution)을 수행함에 의해 필터링을 행한다. 도 1을 참조하면, 시프트레지스터(102)로 1개의 입력데이터가 인가되면 이 인가된 필터 입력데이터는 이전에 이미 시프트레지스터(102)에 입력되어 있는 N-1개의 입력데이터와 함께 N개의 입력데이터 라인을 형성한다. 승산기(104,106,108, ··· ,110)는 N개의 입력데이터들과 저장부(112)에 저장되어 있는 N개의 필터계수값(Filter Coefficient)들을 각각 승산한다. 그러면 가산기(114)는 각각의 승산기들(104,106,108, ··· ,110)로부터 출력되는 결과를 가산하여 필터 출력데이터로서 출력한다.FIG. 1 is a diagram illustrating a configuration of a FIR filter according to a tapped delay line method, and filtering is performed by performing a convolution. Referring to FIG. 1, when one input data is applied to the
상기 탭드지연라인방식에 따른 FIR필터는 현재 가장 널리 이용되고 있다. 그러나 상기와 같은 필터링 유형을 병렬 처리방식으로 구현할 경우 N개의 승산기 및 N-1개의 가산기가 필요하게 되어 그만큼 하드웨어의 크기가 커지는 단점이 있다. 한편, 상기와 같은 필터링 유형을 직렬 처리방식으로 구현할 경우에도 1개의 입력데이터가 인가되는 시간동안에 N번의 승산과 N-1번의 덧셈을 수행하여야 하므로 고속의 하드웨어 구현방식이 요구되는 단점이 있었다.The FIR filter according to the tapped delay line method is currently most widely used. However, when the above-described filtering type is implemented in a parallel processing method, N multipliers and N-1 adders are required, which increases the hardware size. On the other hand, even when the above-described filtering type is implemented in a serial processing method, there is a disadvantage in that a high speed hardware implementation method is required because N multiplications and N-1 additions must be performed during a time when one input data is applied.
도 2는 룩업테이블 방식에 따른 FIR필터의 구성을 나타내는 도면으로, 도 2를 참조하면, 롬(206)에는 N개의 입력조합에 해당하는 필터출력값이 미리 계산되어 저장되어 있다. 이때 1개의 데이터가 시프트레지스터(202)로 인가되면 현재의 필터 입력데이터는 이전에 이미 시프트레지스터(202)에 입력되어 있던 N-1개의 입력데이터와 함께 N개의 입력데이터 라인을 형성한다. 그러면 어드레스생성기(204)는 N개의 입력데이터를 어드레스로서 생성하고, 상기 생성된 어드레스에 대응하여 롬(206)에 저장되어 있는 필터출력값이 필터 출력데이터로서 출력된다.FIG. 2 is a diagram illustrating a configuration of a FIR filter based on a lookup table method. Referring to FIG. 2, a filter output value corresponding to N input combinations is calculated and stored in the
상기와 같은 필터링 유형은 필터 구현시 승산기를 사용하지 않아도 되고 고속의 하드웨어 구현방식이 필요없다는 장점이 있지만, 필터의 탭수가 커지면 그에 따라 롬의 용량이 커져야 하는 단점이 있었다.This type of filtering has the advantage that it is not necessary to use a multiplier when implementing the filter, and a high speed hardware implementation method is required. However, as the number of taps of the filter increases, the capacity of the ROM has to be increased accordingly.
한편 본원 출원인은 상기와 같은 단점을 해소하기 위한 기술, 즉 감소된 용량의 메모리(롬)를 가지는 FIR필터를 이미 구현한 바 있다. 이렇게 구현된 FIR필터에 대해서는 1995년 6월 29일자로 최초 출원된 후 1996년 6월 12일자로 우선권주장 출원된 대한민국 특허출원 제96-21065호 제목 "유한장 임펄스응답 필터 및 그 필터링 방법"하에 상세하게 개시되어 있다. 상기 특허에 개시된 FIR필터는 탭드지연라인 방식 및 룩업테이블 방식을 혼용하여 구현한 예로서, 기존의 롬 용량을 2L에서 m×2L/2또는 2L/2+1로 줄일 수 있도록 한다.Meanwhile, the applicant of the present application has already implemented a technique for solving the above disadvantages, that is, an FIR filter having a reduced capacity memory (ROM). The FIR filter implemented in this way was first filed on June 29, 1995, and then filed in priority application on June 12, 1996, under Korean Patent Application No. 96-21065 entitled "Limited Impulse Response Filter and Its Filtering Method." It is disclosed in detail. The FIR filter disclosed in the patent is an example of a combination of a tapped delay line method and a look-up table method, and reduces the existing ROM capacity from 2 L to m × 2 L / 2 or 2 L / 2 + 1 .
따라서 본 발명의 목적은 하드웨어의 크기를 보다 감소시키는 FIR필터를 제공함에 있다.It is therefore an object of the present invention to provide a FIR filter that further reduces the size of the hardware.
본 발명의 다른 목적은 보다 감소된 용량의 메모리를 갖는 FIR필터를 제공함에 있다.Another object of the present invention is to provide a FIR filter having a memory of a reduced capacity.
본 발명의 또다른 목적은 필터를 제어하는 클럭레이트를 자유롭게 조절함으로써 다양한 응용분야에 따라 롬의 용량을 조정할 수 있는 FIR필터를 제공함에 있다.Another object of the present invention is to provide a FIR filter that can adjust the capacity of a ROM according to various applications by freely adjusting the clock rate controlling the filter.
이러한 목적들을 달성하기 위한 본 발명은 탭드지연라인 방식 및 룩업테이블 방식을 혼용하여 구현한 FIR필터 및 그 필터링방법을 제안한다. 본 발명에 따른 FIR필터는 1심볼구간동안 m배 오버샘플링된 데이터가 입력될 시 2개의 지연라인을 이용하여 메모리를 억세스하기 위한 어드레스를 생성한다. 이때 각 지연라인은 2부분으로 분할되어 2개의 메모리 어드레스가 생성되게 된다. 상기 생성된 어드레스는 1개 또는 2개로 분할된 저장수단으로 각각 제공되며, 이에 따라 이들 저장수단에 저장되어 있는 다수의 필터출력값중에서 상기 생성된 메모리어드레스에 대응하는 필터출력값들이 선택되어 출력되게 된다. 이러한 본 발명에 따르면 2개의 지연라인을 이용하여 메모리 어드레스를 생성하는 경우에 요구되는 메모리의 용량을 더 줄일 수 있게 된다.The present invention for achieving the above object proposes a FIR filter and a filtering method that is implemented by using a combination of the tapped delay line method and the lookup table method. The FIR filter according to the present invention generates an address for accessing the memory using two delay lines when m times oversampled data is input during one symbol period. At this time, each delay line is divided into two parts to generate two memory addresses. The generated addresses are provided to the storage means divided into one or two, respectively, so that the filter output values corresponding to the generated memory addresses are selected and output from the plurality of filter output values stored in these storage means. According to the present invention, it is possible to further reduce the capacity of a memory required when generating a memory address using two delay lines.
본 발명의 제1견지(aspect)에 따른 FIR필터는; 일련의 L/2(L은 필터길이)개의 지연소자가 접속되어 이루어지며, 각 지연소자는 입력되는 데이터를 소정 심볼레이트에 따라 순차적으로 지연시켜 출력하는 제1지연부와; 상기 제1지연부의 각 지연소자에 대해 대칭관계에 있는 일련의 L/2개의 지연소자로 이루어지며, 각 지연소자는 상기 심볼레이트에 따라 상기 제1지연부로부터의 지연출력을 순차적으로 지연시켜 출력하는 제2지연부와; 소정 탭수(N)에 따른 필터출력값들을 저장하고 있는 다수의 롬들로 각각 이루어지는 제1롬뱅크 및 제2롬뱅크와; 상기 제1지연부의 최초 지연소자 및 그 다음 지연소자를 통해 출력되는 2비트 지연출력을 제외한 나머지 (L/2-2)비트의 지연출력들을 이용하여 상기 제1롬뱅크의 각 롬들에 저장되어 있는 필터출력값들중 어느 한 필터출력값을 어드레싱하기 위한 제1어드레스를 생성하는 제1어드레스 생성부와; 상기 제2지연부의 최종 지연소자 및 그 이전 지연소자를 통해 출력되는 2비트 지연출력을 제외한 나머지 (L/2-2)비트의 지연출력들을 이용하여 상기 제2롬뱅크의 각 롬들에 저장되어 있는 필터출력값들중 어느 한 필터출력값을 어드레싱하기 위한 제2어드레스를 생성하는 제2어드레스 생성부와; 상기 제1롬뱅크로부터 출력되는 필터출력값을 상기 심볼레이트의 오버샘플링레이트/2배 클럭에 따라 순차적으로 멀티플렉싱하여 출력하는 제1멀티플렉서와; 상기 제2롬뱅크로부터 출력되는 필터출력값을 상기 제1멀티플렉서에 의한 멀티플렉싱순서에 대해 반대로 순차적으로 멀티플렉싱하여 출력하는 제2멀티플렉서와; 상기 제1지연부의 최초 지연소자 및 그 다음 지연소자를 통해 출력되는 2비트 지연출력의 값들에 따라 상기 제1멀티플렉서로부터 출력되는 필터출력값들을 직접 출력하거나 2의 보수화처리하여 출력한 후 이 출력된 필터출력값을 직접 출력하거나 상기 필터출력값에 미리 설정된 제1설정값을 가산하여 출력하는 제1필터출력값 처리부와; 상기 제2지연부의 최종 지연소자 및 그 이전 지연소자를 통해 출력되는 2비트 지연출력의 값들에 따라 상기 제2멀티플렉서로부터 출력되는 필터출력값들을 직접 출력하거나 2의 보수화처리하여 출력한 후 이 출력된 필터출력값을 직접 출력하거나 상기 필터출력값에 미리 설정된 제2설정값을 가산하여 출력하는 제2필터출력값 처리부와; 상기 제1필터출력값 처리부 및 상기 제2필터출력값 처리부로부터 출력되는 필터출력값들을 가산하여 필터 출력데이터로서 출력하는 가산기를 적어도 포함하여 이루어진다.The FIR filter according to the first aspect of the present invention; A series of L / 2 (L is filter length) delay elements connected to each other, each delay element including a first delay unit for sequentially delaying and outputting input data according to a predetermined symbol rate; It consists of a series of L / 2 delay elements in a symmetric relationship with respect to each delay element of the first delay unit, each delay element is sequentially output delayed delay output from the first delay unit in accordance with the symbol rate A second delay unit; A first and second ROM banks each comprising a plurality of ROMs storing filter output values according to a predetermined tap number N; Are stored in each ROM of the first ROM bank by using the delay outputs of the remaining (L / 2-2) bits except for the first delay element of the first delay unit and the 2-bit delay output output through the next delay element. A first address generator for generating a first address for addressing any one of the filter output values; Are stored in each ROM of the second ROM bank using delay outputs of the remaining (L / 2-2) bits except the 2-bit delay outputs output through the last delay element and the previous delay element of the second delay unit. A second address generator for generating a second address for addressing any one of the filter output values; A first multiplexer for sequentially multiplexing the filter output value output from the first ROM bank according to an oversampling rate / 2 times the clock of the symbol rate; A second multiplexer for multiplexing and outputting the filter output value output from the second ROM bank in a reverse order to the multiplexing order by the first multiplexer; The filter outputs the filter output values directly outputted from the first multiplexer or the two's complement processing according to the values of the 2-bit delay outputs output through the first delay element and the next delay element of the first delay unit. A first filter output value processing unit for directly outputting an output value or adding and outputting a first preset value to the filter output value; The filter outputs the filter output values directly output from the second multiplexer or outputs by complementing two according to the values of the 2-bit delay outputs output through the last delay element and the previous delay element of the second delay unit. A second filter output value processing unit for directly outputting an output value or adding and outputting a second preset value to the filter output value; And an adder for adding the filter output values output from the first filter output value processor and the second filter output value processor to output as filter output data.
본 발명의 제2견지에 따른 FIR필터는: 일련의 L/2(L은 필터길이)개의 지연소자가 접속되어 이루어지며, 각 지연소자는 입력되는 데이터를 소정 심볼레이트에 따라 순차적으로 지연시켜 출력하는 제1지연부와; 상기 제1지연부의 각 지연소자에 대해 대칭관계에 있는 일련의 L/2개의 지연소자로 이루어지며, 각 지연소자는 상기 심볼레이트에 따라 상기 제1지연부로부터의 지연출력을 순차적으로 지연시켜 출력하는 제2지연부와; 상기 심볼레이트의 2배 클럭을 카운팅하고 그 카운팅결과를 나타내는 제1출력신호와 역카운팅결과를 나타내는 제2출력신호를 출력하는 카운터와; 소정 탭수(N)에 따른 필터출력값들을 저장하고 있는 룩업테이블과; 상기 제1지연부의 최초 지연소자 및 그 다음 지연소자를 통해 출력되는 2비트 지연출력을 제외한 나머지 (L/2-2)비트의 지연출력들과 상기 제2지연부의 최종 지연소자 및 그 이전 지연소자를 통해 출력되는 2비트 지연출력을 제외한 나머지 (L/2-2)비트의 지연출력들을, 상기 제1지연부의 최초 지연소자 및 그 다음 지연소자를 통해 출력되는 2비트의 지연출력과 상기 제2지연부의 최종 지연소자 및 그 이전 지연소자를 통해 출력되는 2비트의 지연출력과 상기 제1출력신호 및 상기 제2출력신호를 조합하여 상기 룩업테이블에 저장되어 있는 필터출력값을 어드레싱하기 위한 L/2비트의 어드레스를 생성하는 어드레스 생성부와; 상기 제1지연부의 최초 지연소자 및 그 다음 지연소자를 통해 출력되는 2비트 지연출력과 상기 제2지연부의 최종 지연소자 및 그 이전 지연소자를 통해 출력되는 2비트 지연출력의 비트값들에 따라 상기 룩업테이블로부터 어드레싱되어 출력되는 필터출력값들을 직접 출력하거나 2의 보수화처리하여 출력한 후, 이 출력된 필터출력값을 직접 출력하거나 상기 필터출력값에 미리 설정된 값을 가산하여 출력하는 필터출력값 처리부와; 상기 필터출력값 처리부의 출력을 일시적으로 저장하는 레지스터와; 상기 레지스터에 의해 일시적으로 저장된 필터출력값과 상기 필터출력값 처리부에 의해 처리된 필터출력값을 가산하여 필터 출력데이터로서 출력하는 가산기를 적어도 포함하여 이루어진다.According to a second aspect of the present invention, a FIR filter includes: a series of L / 2 (L is filter length) delay elements connected to each other, and each delay element sequentially delays input data according to a predetermined symbol rate and outputs the delay elements. A first delay unit to perform; It consists of a series of L / 2 delay elements in a symmetric relationship with respect to each delay element of the first delay unit, each delay element is sequentially output delayed delay output from the first delay unit in accordance with the symbol rate A second delay unit; A counter for counting a clock twice the symbol rate and outputting a first output signal representing the counting result and a second output signal representing the inverse counting result; A look-up table storing filter output values according to a predetermined number of taps (N); Delay outputs of the remaining (L / 2-2) bits except the first delay element of the first delay unit and the 2-bit delay output output through the next delay element, the last delay element of the second delay unit, and the previous delay element Delay outputs of the remaining (L / 2-2) bits other than the 2-bit delay output output through the second delay output and the second delay output through the first delay element and the next delay element of the first delay unit; L / 2 for addressing the filter output value stored in the lookup table by combining a delay output of 2 bits output through the last delay element and the previous delay element of the delay unit with the first output signal and the second output signal. An address generator for generating a bit address; According to the bit values of the 2-bit delay output output through the first delay element and the next delay element of the first delay unit and the 2-bit delay output output through the last delay element and the previous delay element of the second delay unit; A filter output value processing unit for directly outputting or outputting the filter output values addressed and output from the lookup table, and outputting the outputted filter output value directly or adding the preset value to the filter output value; A register for temporarily storing the output of said filter output value processor; And an adder which adds the filter output value temporarily stored by the register and the filter output value processed by the filter output value processing unit and outputs the filter output data as filter output data.
본 발명의 제3견지에 따른 FIR필터는: 일련의 L/2(L은 필터길이)개의 지연소자가 접속되어 이루어지며, 각 지연소자는 입력되는 데이터를 소정 심볼레이트에 따라 순차적으로 지연시켜 출력하는 제1지연부와; 상기 제1지연부의 각 지연소자에 대해 대칭관계에 있는 일련의 L/2개의 지연소자로 이루어지며, 각 지연소자는 상기 심볼레이트에 따라 상기 제1지연부로부터의 지연출력을 순차적으로 지연시켜 출력하는 제2지연부와; 상기 심볼레이트의 2배 클럭을 카운팅하고 그 카운팅결과를 나타내는 제1출력신호와 역카운팅결과를 나타내는 제2출력신호를 출력하는 카운터와; 상기 제1출력신호 및 상기 제2출력신호를 상기 심볼레이트의 4배 클럭에 따라 멀티플렉싱하여 출력하는 제1멀티플렉서와; 소정 탭수(N)에 따른 필터출력값들을 저장하고 있는 다수의 롬들로 이루어지는 제1롬뱅크와; 미리 설정된 값들을 저장하고 있는 다수의 롬들로 이루어지며 상기 제1멀티플렉서의 멀티플렉싱 결과에 따라 어느 한 롬에 저장되어 있는 설정값을 출력하는 제2롬뱅크와; 상기 제1지연부의 최초 지연소자 및 그 다음 지연소자를 통해 출력되는 2비트 지연출력을 제외한 나머지 (L/2-2)비트의 지연출력들과 상기 제2지연부의 최종 지연소자 및 그 이전 지연소자를 통해 출력되는 2비트 지연출력을 제외한 나머지 (L/2-2)비트의 지연출력들을, 상기 제1지연부의 최초 지연소자 및 그 다음 지연소자를 통해 출력되는 2비트의 지연출력과 상기 제2지연부의 최종 지연소자 및 그 이전 지연소자를 통해 출력되는 2비트의 지연출력과 상기 심볼레이트의 4배 클럭에 따라 조합하여 상기 제1롬뱅크에 저장되어 있는 필터출력값을 어드레싱하기 위한 (L/2-2)비트의 어드레스를 생성하는 어드레스 생성부와; 상기 제1롬뱅크로부터 어드레싱되어 출력되는 필터출력값을 상기 제1멀티플렉서에 의한 멀티플렉싱 결과에 따라 멀티플렉싱하여 출력하는 제2멀티플렉서와; 상기 제1지연부의 최초 지연소자 및 그 다음 지연소자를 통해 출력되는 2비트 지연출력과 상기 제2지연부의 최종 지연소자 및 그 이전 지연소자를 통해 출력되는 2비트 지연출력의 비트값들에 따라 상기 제2멀티플렉서로부터 출력되는 필터출력값들을 직접 출력하거나 2의 보수화처리하여 출력한 후, 이 출력된 필터출력값을 직접 출력하거나 상기 필터출력값에 상기 제2롬뱅크로부터 어드레싱되어 출력되는 설정값을 가산하여 출력하는 필터출력값 처리부와; 상기 필터출력값 처리부의 출력을 일시적으로 저장하는 레지스터와; 상기 레지스터에 의해 일시적으로 저장된 필터출력값과 상기 필터출력값 처리부에 의해 처리된 필터출력값을 가산하여 필터 출력데이터로서 출력하는 가산기를 적어도 포함하여 이루어진다.According to a third aspect of the present invention, a FIR filter includes: a series of L / 2 (L is filter length) delay elements connected to each other, and each delay element sequentially delays input data according to a predetermined symbol rate and outputs the delay elements. A first delay unit to perform; It consists of a series of L / 2 delay elements in a symmetric relationship with respect to each delay element of the first delay unit, each delay element is sequentially output delayed delay output from the first delay unit in accordance with the symbol rate A second delay unit; A counter for counting a clock twice the symbol rate and outputting a first output signal representing the counting result and a second output signal representing the inverse counting result; A first multiplexer for multiplexing the first output signal and the second output signal according to a clock four times the symbol rate; A first ROM bank comprising a plurality of ROMs storing filter output values according to a predetermined tap number N; A second ROM bank composed of a plurality of ROMs storing preset values and outputting a set value stored in one ROM according to a multiplexing result of the first multiplexer; Delay outputs of the remaining (L / 2-2) bits except the first delay element of the first delay unit and the 2-bit delay output output through the next delay element, the last delay element of the second delay unit, and the previous delay element Delay outputs of the remaining (L / 2-2) bits other than the 2-bit delay output output through the second delay output and the second delay output through the first delay element and the next delay element of the first delay unit; (L / 2) for addressing the filter output value stored in the first ROM bank by combining the delayed output of the 2-bit outputted through the delayed delay element and the delayed delay element and the 4-fold clock of the symbol rate. An address generator for generating an address of bits; A second multiplexer for multiplexing and outputting a filter output value addressed and output from the first ROM bank according to a multiplexing result by the first multiplexer; According to the bit values of the 2-bit delay output output through the first delay element and the next delay element of the first delay unit and the 2-bit delay output output through the last delay element and the previous delay element of the second delay unit; After directly outputting or outputting the filter output values output from the second multiplexer, or by performing two's complement processing, the outputted filter output value is directly output or the filter output value is added by adding a set value addressed and output from the second ROM bank. A filter output value processor; A register for temporarily storing the output of said filter output value processor; And an adder which adds the filter output value temporarily stored by the register and the filter output value processed by the filter output value processing unit and outputs the filter output data as filter output data.
도 1은 탭드지연라인 방식에 따른 유한장 임펄스응답 필터의 구성도.1 is a block diagram of a finite field impulse response filter according to a tapped delay line method.
도 2는 룩업테이블 방식에 따른 유한장 임펄스응답 필터의 구성도.2 is a block diagram of a finite field impulse response filter according to a lookup table method;
도 3은 본 발명에 따른 유한장 임펄스응답 필터가 적용될 수 있는 이진데이터 전송시스템의 변조기에 대한 구성을 보여주는 도면.3 is a diagram illustrating a configuration of a modulator of a binary data transmission system to which a finite field impulse response filter according to the present invention can be applied.
도 4는 도 3에 도시된 필터로 입력되는 데이터의 형태를 보여주는 도면.4 is a diagram illustrating a form of data input to a filter illustrated in FIG. 3.
도 5는 본 발명의 제1실시예에 따른 유한장 임펄스응답 필터의 블록구성도.5 is a block diagram of a finite field impulse response filter according to a first embodiment of the present invention;
도 6은 본 발명의 제2실시예에 따른 유한장 임펄스응답 필터의 블록구성도.6 is a block diagram of a finite field impulse response filter according to a second embodiment of the present invention;
도 7은 본 발명의 제3실시예에 따른 유한장 임펄스응답 필터의 블록구성도.7 is a block diagram of a finite field impulse response filter according to a third embodiment of the present invention;
도 8은 도 5에 도시된 제1신호처리부 및 제2신호처리부의 구체적인 구성도.FIG. 8 is a detailed configuration diagram of a first signal processor and a second signal processor illustrated in FIG. 5.
도 9는 도 6에 도시된 제1신호처리부의 구체적인 구성도.FIG. 9 is a detailed configuration diagram of the first signal processing unit shown in FIG. 6.
도 10은 도 7에 도시된 제1신호처리부의 구체적인 구성도.FIG. 10 is a detailed configuration diagram of the first signal processing unit shown in FIG. 7.
도 11은 본 발명의 제1실시예에 따른 유한장 임펄스응답 필터의 동작타이밍을 보여주는 도면.11 is a view showing the operation timing of the finite field impulse response filter according to the first embodiment of the present invention.
도 12는 본 발명의 제2실시예에 따른 유한장 임펄스응답 필터의 동작타이밍을 보여주는 도면.12 is a view showing operation timing of a finite field impulse response filter according to a second embodiment of the present invention.
도 13은 본 발명의 제3실시예에 따른 유한장 임펄스응답 필터의 동작타이밍을 보여주는 도면.13 is a view showing the operation timing of the finite field impulse response filter according to the third embodiment of the present invention;
이하 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.DETAILED DESCRIPTION A detailed description of preferred embodiments of the present invention will now be described with reference to the accompanying drawings. First of all, in adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are used as much as possible even if displayed on different drawings. In addition, in the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
후술되는 용어들은 본 발명에서의 기능을 고려하여 정의내려진 용어들로서 이는 사용자 또는 칩설계자의 의도 또는 관례 등에 따라 달라질 수 있으므로, 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 하기에서 L은 필터길이를 나타내며, m은 오버샘플링레이트를 나타내며, N은 필터탭수를 나타내며, n은 롬으로부터 출력되는 데이터의 비트수를 나타낸다. FI는 필터의 입력데이터를 나타내며, FO는 필터의 출력데이터를 나타낸다. 제1클럭 CLK1은 심볼레이트의 클럭을 나타내며, 제2클럭 CLK2는 심볼레이트의 2배 클럭을 나타내며, 제3클럭 CLK3은 심볼레이트의 4배 클럭을 나타낸다. 제어신호 CONT3은 상기 제2클럭 CLK2의 카운팅결과에 따른 신호이고, 제어신호 CONT4는 상기 제2클럭 CLK2를 카운팅한 결과의 역순을 나타내는 것으로 제어신호 CONT3이 반전된 신호이다.The terms to be described below are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of the user or chip designer, and the definitions should be made based on the contents throughout the present specification. In the following, L represents the filter length, m represents the oversampling rate, N represents the number of filter taps, and n represents the number of bits of data output from the ROM. FI represents the input data of the filter, FO represents the output data of the filter. The first clock CLK1 represents a clock of symbol rate, the second clock CLK2 represents a clock twice the symbol rate, and the third clock CLK3 represents a clock four times the symbol rate. The control signal CONT3 is a signal according to the counting result of the second clock CLK2, and the control signal CONT4 represents a reverse order of the result of counting the second clock CLK2. The control signal CONT3 is a signal inverted.
먼저, 본 발명에 따른 FIR필터를 설명하기에 앞서 본 발명이 적용될 수 있는 이진데이터 전송시스템의 변조기를 설명한다.First, before describing the FIR filter according to the present invention, a modulator of a binary data transmission system to which the present invention can be applied will be described.
도 3은 이진데이터 전송시스템의 변조기에 대한 구성을 나타내는 도면으로, 상기 변조기에는 저역통과필터(306,308)가 포함되어 있다. 이러한 저역통과필터(306,308)는 보통 L의 길이를 갖는 구간을 필터길이로 사용하며, 이 구간을 m배 오버샘플링(oversampling)하여 N(L×m)개의 필터탭수를 갖는 디지털필터에 의해 구현될 수 있다. 본 발명은 이와 같은 이진데이터 전송시스템의 변조기내에 포함되는 저역통과필터(306,308) 등의 구현에 적용될 수 있을 뿐만 아니라 ±1의 임펄스로 매핑된 형태의 데이터를 입력으로 하는 모든 필터의 구현에도 적용될 수 있다. 도 3에서 신호매핑부(304)는 ±1의 임펄스로 매핑된 필터 입력형태를 제공한다.3 shows a configuration of a modulator of a binary data transmission system, wherein the modulator includes low pass filters 306 and 308. The low pass filters 306 and 308 usually use sections having a length of L as the filter length, and the sections are oversampled by m times to be implemented by a digital filter having N (L × m) filter taps. Can be. The present invention can be applied not only to the implementation of the low pass filters 306 and 308 included in the modulator of the binary data transmission system, but also to the implementation of all filters that accept data in the form of pulses mapped to ± 1 impulses. have. In FIG. 3, the
한편 디지털필터가 선형위상 특성을 갖도록 설계하는 경우, 통상 필터계수값들은 대칭성을 갖도록 설계되어진다. 필터계수값들이 대칭성을 갖는다는 것은 예를들어 필터계수값들이 C-2,C-1,C0,C1,C2의 5개인 경우, C-2와 C2의 값이 같고, C-1과 C1의 값이 같다는 의미이다. 본 발명에 따른 필터계수값들도 상기와 같은 대칭성이 있도록 설계되어짐을 유의하여야 한다.On the other hand, when the digital filter is designed to have a linear phase characteristic, the filter coefficient values are usually designed to have symmetry. The symmetry of the filter coefficients means that, for example, when the filter coefficient values are 5, C-2, C-1, C0, C1, and C2, the values of C-2 and C2 are the same, and C-1 and C1 It means the same value. It should be noted that the filter coefficient values according to the present invention are also designed to have the same symmetry.
도 4는 저역통과필터(306,308)로 인가되는 입력데이터의 형태를 나타내는 도면으로, 1심볼구간동안 m배 오버샘플링된 신호들이 입력된다. 즉, 1심볼구간의 첫샘플은 신호매핑부(304)에 의해 매핑된 실제값 "±1"을 가지며, 나머지 m-1개 샘플들은 "0"의 형태를 갖는다. 이러한 형태의 입력데이터가 저역통과필터(306,308)로 인가되므로, 저역통과필터(306,308)에서 1오버샘플링시간동안에 L번의 승산과 L-1번의 가산이 행하여진 후 1개의 필터출력값이 얻어지고, 1심볼구간동안에는 mL번의 승산과 m(L-1)번의 가산이 행하여진 후 m개의 필터출력값이 얻어진다. 상기와 같은 동작을 행하는 FIR필터를 도 2에 도시된 바와 같은 룩업테이블 방식에 따라 구현하고자 한다면 이때 요구되는 롬은 2L의 용량을 가질 것이다.FIG. 4 is a diagram showing the type of input data applied to the low pass filters 306 and 308, in which m-fold oversampled signals are input during one symbol period. That is, the first sample of one symbol section has the actual value "± 1" mapped by the
상기와 같은 저역통과필터(306)에서 1심볼구간동안 출력되는 m개의 필터출력값은 국부발진기(310)에서 발진되는 반송파와 승산기(312)에 의해 승산되고, 저역통과필터(308)에서 1심볼구간동안 출력되는 m개의 필터출력값들은 국부발진기(310)에서 발진된 후 위상시프터(314)에 의해 π/2만큼 위상이 시프트된 반송파와 승산기(316)에 의해 승산된다. 이렇게 승산기(312) 및 승산기(316)에 의해 승산된 결과는 가산기(318)에 의해 가산된 후 전송신호로서 출력된다.The m filter output values output during the one symbol section in the
다음에, 본 발명에 따른 FIR필터의 구성 및 그 동작을 각 실시예별로 상세하게 설명한다.Next, the configuration and operation of the FIR filter according to the present invention will be described in detail for each embodiment.
제1 실시예First embodiment
도 5는 본 발명의 제1실시예에 따른 FIR필터의 구성을 보여주는 도면이고, 도 8은 도 5에 도시된 제1신호처리부(506) 및 제2신호처리부(508)의 구체적인 구성을 보여주는 도면이고, 도 11은 상기 제1실시예에 따른 FIR필터의 동작타이밍을 보여주는 도면이다.5 is a view showing the configuration of the FIR filter according to the first embodiment of the present invention, Figure 8 is a view showing a specific configuration of the first
도 5를 참조하면, 본 발명의 FIR필터는 지연부(502,504)와, 신호처리부(506,508,518,520)과, 롬뱅크(510,512,524,526)와, 멀티플렉서(514,516)와, 가산기(522)와, 카운터(528)를 포함하여 이루어진다. 지연부(502)는 일련의 L/2개의 지연소자가 접속되어 이루어지며, 각 지연소자는 입력되는 데이터를 소정 심볼레이트(CLK1)에 따라 순차적으로 지연시켜 출력한다. 지연부(504)는 제1지연부(502)의 각 지연소자에 대해 대칭관계에 있는 일련의 L/2개의 지연소자로 이루어지며, 각 지연소자는 상기 심볼레이트(CLK1)에 따라 상기 제1지연부(502)로부터의 지연출력을 순차적으로 지연시켜 출력한다.Referring to FIG. 5, the FIR filter of the present invention includes
제1롬뱅크(510)과 제2롬뱅크(512)는 소정 탭수(N)에 따른 필터출력값들을 저장하고 있는 다수의 롬들로 각각 이루어진다. 여기서, 제1롬뱅크(502) 및 제2롬뱅크(504)의 각 롬들은 2(L/2-2)의 용량을 갖는다. 카운터(528)는 심볼레이트의 2배 클럭(CLK2)을 입력하여 카운트한 후 그 카운트결과를 OUT신호 및
제1신호처리부(506)는 제1지연부(502)의 최초 지연소자[x(n)] 및 그 다음 지연소자[x(n-1)]를 통해 출력되는 2비트 지연출력을 제외한 나머지 (L/2-2)비트의 지연출력들을 이용하여 상기 제1롬뱅크(510)의 각 롬들에 저장되어 있는 필터출력값들중 어느 한 필터출력값을 어드레싱하기 위한 어드레스를 생성하는 역할을 한다. 제2신호처리부(508)는 제2지연부(504)의 최종 지연소자[x(n-L+1)] 및 그 이전 지연소자[x(n-L+2)]를 통해 출력되는 2비트 지연출력을 제외한 나머지 (L/2-2)비트의 지연출력들을 이용하여 상기 제2롬뱅크(512)의 각 롬들에 저장되어 있는 필터출력값들중 어느 한 필터출력값을 어드레싱하기 위한 어드레스를 생성하는 역할을 한다. 이러한 제1신호처리부(506) 및 제2신호처리부(508)는 도 8에 도시된 바와 같이 구성되며, 이들에 대한 동작을 후술되는 설명으로부터 명확해질 것이다.The first
제1멀티플렉서(514)는 제1롬뱅크(510)로부터 출력되는 필터출력값을 카운터 (528)로부터의 CONT3신호에 따라 순차적으로 멀티플렉싱하여 출력한다. 제2멀티플렉서(516)은 제2롬뱅크(512)로부터 출력되는 필터출력값을 카운터(528)로부터 출력되는 CONT4신호에 따라 순차적으로 멀티플렉싱하여 출력한다.The
제3신호처리부(518)는 제1신호처리부(506)로부터 인가되는 제어신호 CONT10, CONT11,CONT12에 따라 제1멀티플렉서(514)로부터 출력되는 필터출력값들을 직접 출력하거나 2의 보수화처리하여 출력한 후 이 처리된 필터출력값을 직접 가산기(522)로 출력하거나 상기 처리된 필터출력값에 제3롬뱅크(524)로부터 출력되는 설정값을 가산하여 상기 가산기(522)로 출력한다. 이때 제어신호 CONT10,CONT11,CONT12는 제1신호처리부(506)에 의해 생성되는 것으로 제1지연부(502)의 최초 지연소자[x(n)] 및 그 다음 지연소자[x(n-1)]를 통해 출력되는 2비트 지연출력의 값들에 따라 결정되는 값이다. 그리고 제3롬뱅크(524)는 제1롬뱅크(510)에 대응하는 롬들로 이루어지며 각 롬들은 미리 설정된 값들을 저장하고 있으며, 이 저장된 설정값은 카운터(528)로부터 출력되는 CONT3신호에 의해 출력되게 된다.The
제4신호처리부(520)는 제2신호처리부(508)로부터 인가되는 제어신호 CONT20, CONT21,CONT22에 따라 제2멀티플렉서(516)로부터 출력되는 필터출력값들을 직접 출력하거나 2의 보수화처리하여 출력한 후 이 처리된 필터출력값을 직접 가산기(522)로 출력하거나 상기 처리된 필터출력값에 제4롬뱅크(526)로부터 출력되는 설정값을 가산하여 상기 가산기(522)로 출력한다. 이때 제어신호 CONT20,CONT21,CONT22는 제2신호처리부(508)에 의해 생성되는 것으로 제2지연부(504)의 최종 지연소자[x(n-L+1)] 및 그 이전 지연소자[x(n-L+2)]를 통해 출력되는 2비트 지연출력의 값들에 따라 결정되는 값이다. 그리고 제4롬뱅크(526)는 제2롬뱅크(512)에 대응하는 롬들로 이루어지며 각 롬들은 미리 설정된 값들을 저장하고 있으며, 이 저장된 설정값은 카운터(528)로부터 출력되는 CONT4신호에 의해 출력되게 된다.The fourth
상기 도 5에 도시된 바와 같이 구성되는 FIR필터는 롬뱅크(510,512)의 용량을 더 줄이기 위해 4개의 특정값들(2×h[0],2×h[1],2×h[2],2×h[3])을 저장하는 보조롬(524,526)을 특징적으로 구비하고 있다.The FIR filter configured as shown in FIG. 5 has four specific values (2 × h [0], 2 × h [1], 2 × h [2]) to further reduce the capacity of the
우선 본 발명은 매 심볼구간마다 입력되는 데이터(±1에 대응하는 0 또는 1)를 저장하는 지연라인을 제1지연부(502) 및 제2지연부(504)로 구분함으로써 메모리어드레스의 조합수를 2L에서 (2L/2+2L/2)로 감소시키는 방법을 사용하고 있다. 이러한 방법은 이미 종래 기술에서 설명한 바와 같이 본원 출원인에 의해 선출원된 대한민국 특허출원 제96-21065호, 제목 "유한장 임펄스응답 필터 및 그 필터링방법"하에 개시되어 있는 기술이다.First, the present invention divides a delay line for storing data (0 or 1 corresponding to ± 1) into every first symbol section into a
또한 본 발명은 한번 입력된 데이터가 m개의 필터출력값을 계산하는데 필요한 어드레스로서 1심볼구간동안 유지되도록 하고, 즉 지연라인이 심볼클럭(CLK1)에 의해서 동작되도록 하고, 제1롬뱅크(510) 및 제2롬뱅크(512)의 각 출력들을 심볼레이트의 m/2배 클럭, 즉 도 5에서는 심볼레이트의 2배 클럭(CLK2)에 의해 동작하는 모듈로-3 카운터(528)의 카운터 출력값들(CONT3,CONT4)이 멀티플렉서(514,516), 제3롬뱅크(524), 제4롬뱅크(526)들의 출력을 제어하도록 한 후 각각의 출력을 가산기(522)로 가산함으로써 본 발명에 따르면 1심볼구간동안 m개의 필터값이 출력된다.In addition, the present invention allows the data once inputted to be maintained for one symbol period as an address necessary to calculate m filter output values, that is, the delay line is operated by the symbol clock CLK1, and the
한번 입력된 데이터를 1심볼구간동안 유지시키면서 m개의 필터출력값을 얻는 과정은 지연부(502,504)로 입력되는 데이터들을 1심볼구간동안 m번 시프트시키면서 m번의 콘볼루션을 행하는 것과 동일한 결과를 얻는다. N개의 필터출력값들의 위치는 제1롬뱅크(510) 및 제2롬뱅크(512)에 고정되어 저장되어 있으므로 m번의 필터 출력값 계산시 실제의 데이터값들과 곱해지는 L개의 필터계수값들도 m의 회수에 대응하여 고정된다. 이러한 동작을 정리하면 하기의 <표 1>과 같다.The process of acquiring m filter output values while maintaining the once input data for one symbol period obtains the same result as performing m convolution while shifting the data input to the
상기 <표 1>을 살펴보면, m=0일 때 지연부(504)의 0이 아닌 필터 입력값들이 곱해지는 필터계수값들의 배열은 m=m-1일 때 지연부(502)의 필터계수값들의 배열에 대해 역순이고, m=1일 때 지연부(504)의 필터계수값들의 위치배열은 m=m-2일 때의 지연부(502)의 필터계수값들의 위치배열과 역순임을 알 수 있다. m=2,…,m=m-1일 때도 마찬가지의 규칙이 적용된다. 따라서 지연부(504)가 생성하는 어드레스에 의해 출력되는 제2롬뱅크(512)의 출력값들은 제1롬뱅크(510)에 저장되어 있는 값들로서 구해질 수 있다는 것을 의미한다. 그러므로 도 5에서 제1롬뱅크(510) 및 제2롬뱅크(512)중 어느 한쪽 메모리뱅크만을 이용하여도 원하는 모든 필터출력값들을 얻을 수 있다는 결론을 얻을 수 있다.Referring to Table 1, the array of filter coefficient values by which the non-zero filter input values of the
위에서 설명한 동작을 가능하도록 한 것이 도 8에 도시된 바와 같이 다수의 배타적 논리합회로로서 구성될 수 있는 제1신호처리부(506) 및 제2신호처리부(508)이다. 제1신호처리부(506)는 지연부(502)에 의해 결정되는 어드레스의 최상위비트(MSB)(x[n])을 제어신호(CONT10)로 하여 각 배타적 논리합회로들의 공통입력으로 하고, 지연부(502)에 의해 결정되는 다른 어드레스들의 값들은 각 배타적 논리합회로들의 다른 입력으로 하여 상기 제어신호가 2L/2-1보다 큰 어드레스를 나타낼 시 1의 보수화의 동작을 수행한다. 이 동작이 끝나면 차상위비트(x[n-1]) 위치의 배타적 논리합 출력값을 제어신호(CONT11)로 하여 최상위비트를 제외한 나머지 비트들에 대해 1의 보수화 동작을 다시 한번 반복한다. 이렇게 하여 제1신호처리부(506)는 제3신호처리부(518)를 제어하는 3개의 제어신호 CONT10,CONT11,CONT12와 제1롬뱅크(510)를 위한 (L/2-2)비트의 메모리 어드레스를 발생시킨다. 제2신호처리부(508)는 지연부(504)에 의해 결정되는 어드레스의 최상위비트(MSB)(x[n-L+1])를 제어신호(CONT20)로 하여 각 배타적 논리합회로들의 공통 입력으로 하고, 지연부(504)에 의해 결정되는 다른 어드레스들의 값들은 각 배타적 논리합회로들의 다른 입력으로 하여 상기 제어신호가 2L/2-1보다 큰 어드레스를 나타낼 시 1의 보수화의 동작을 수행한다. 이 동작이 끝나면 차상위비트(n[n-L+2]) 위치의 배타적 논리합 출력값을 제어신호(CONT21)로 하여 최상위비트를 제외한 나머지 비트들에 대해 1의 보수화 동작을 다시 한번 반복한다. 이렇게 하여 제2신호처리부(508)는 제4신호처리부(520)를 제어하는 3개의 제어신호 CONT20,CONT21,CONT22와 제2롬뱅크(512)를 위한 (L/2-2)비트의 메모리 어드레스를 발생시킨다.It is the first
위와 같은 동작을 하도록 제1신호처리부(506)와 제2신호처리부(508)를 구성하는 것은 필터계수값들과 곱해지는 실제값들은 ±1이기 때문에 이진 어드레스를 구성하는 L/2비트의 이진 데이터 값들이 2L/2-1값을 중심으로 대칭인 것을 고려하면 어드레스 2L/2-1 이상의 어드레스에 의해 지정되는 메모리 저장값들은 2L/2-1미만의 어드레스에 의해 지정되는 메모리 저장값들의 2의 보수를 계산함으로써 구할 수 있고, 또한 어드레스 2L/2-2이상의 어드레스에 의해 지정되는 메모리 저장값들은 2L/2-2미만의 어드레스에 의해 지정되는 메모리 저장값들의 2의 보수값에 특정값(2×h[0],2×h[1],2×h[2],2×h[3]중 1개)을 더함으로써 계산될 수 있다. 그러므로 메모리 용량은 2L/2-2로 다시 한번 줄일 수 있게 된다.Configuring the first
위의 과정을 좀 더 쉽게 설명하기 위해 M=4, L=12인 48탭 FIR필터의 예를 들어 설명하겠다. 이 경우 한번 입력된 데이터를 1심볼구간(CLK1)동안 유지하면서 4개의 필터출력값을 얻는 과정은 다음과 같다.To make the process easier, I will use an example of a 48-tap FIR filter with M = 4 and L = 12. In this case, the process of obtaining four filter output values while maintaining the data once input for one symbol section CLK1 is as follows.
FIR필터계수값들의 대칭성을 고려하여 제1지연라인(502)과 제2지연라인(504)들의 입력 데이터값들과 곱해지는 필터계수값들은 m의 값에 따라 하기의 <표 2>와 같이 정리될 수 있다.Taking into account the symmetry of the FIR filter coefficient values, the filter coefficient values multiplied by the input data values of the
상기 <표 2>를 살펴보면, m=0일 때의 제2지연부(504)의 데이터들과 곱해지는 필터계수값들은 m=3일 때의 제1지연부(502)의 데이터들과 곱해지는 필터계수값들의 역순인 것을 알 수 있고, m=1일 때는 m=2일 때와, m=2일 때는 m=1일 때와, m=3일 때는 m=1일 때인 것을 알 수 있다. 따라서 필터계수값들에 대응하여 곱해지는 필터 입력데이터값들은 ±1이므로 제1롬뱅크(510)와 제2롬뱅크(512)에 미리 계산하여 저장되는 필터출력값들은 같은 데이터들로 구성할 수 있다. 즉 제1롬뱅(510)와 제2롬뱅크(512)는 정확히 같은 어드레스에 같은 필터출력값이 저장된 똑같은 롬뱅크이다.Referring to Table 2, the filter coefficient values multiplied by the data of the
이제 m=0인 제1지연부(502)의 필터링 과정을 설명한다. 이 경우 입력데이터 수가 6개(L/2=12/2)이므로 메모리 어드레스의 총수는 26=64개가 필요로 된다. 그러나 지연라인부를 통해 입력되는 필터 입력데이터는 ±1(0→1,1→-1로 매핑된 값으로서 역으로 매핑되어도 상관없음)의 값을 가지고 있으므로, 입력데이터값이 (1,1,1,1,1,1)이면, 즉 (-1,-1,-1,-1,-1,-1)일 경우의 필터출력값은 입력데이터값이 (0,0,0,0,0,0), 즉 (+1,+1,+1,+1,+1,+1)인 경우에 대응하는 필터출력값의 2의 보수를 취함으로써 얻을 수 있음을 알 수 있다. 이 과정을 식으로 나타내면 다음과 같다.Now, the filtering process of the
= - {h[0]+h[4]+h[8]+h[12]+h[14]+h[18]}=-{h [0] + h [4] + h [8] + h [12] + h [14] + h [18]}
= - {필터출력(000000)}=-{Filter output (000000)}
= - {h[0]-h[4]-h[8]-h[12]-h[14]-h[18]}=-{h [0] -h [4] -h [8] -h [12] -h [14] -h [18]}
= - {필터출력(011111)}=-{Filter out (011111)}
따라서 위의 <수학식 1> 및 <수학식 2>에서 알 수 있는 바와 같이 입력데이터들의 조합이 32(100000)이상인 경우의 필터출력값들은 입력데이터들의 조합이 31(011111)이하인 경우의 필터출력값들에 2의 보수를 취함으로써 간단하게 구할 수 있음을 알 수 있다. 즉 이것은 32개의 어드레스 조합만으로도 64개의 어드레스조합에 해당되는 필터링을 행할 수 있음을 의미한다.Therefore, as shown in
또한 16(10000)이상 31(11111)이하 어드레스조합에 해당하는 필터출력값들은 어드레스조합이 15(01111) 이하인 경우의 필터출력값들을 2의 보수화한 후 특정값(m의 값에 따라 2×h[0],2×h[1],2×h[2],2×h[3]중 1개 선택)을 더함으로써 구할 수 있다. 이 과정을 식으로 나타내면 다음과 같다.In addition, filter output values corresponding to 16 (10000) or more and 31 (11111) or less address combinations have a complementary value of 2 when the address combination is 15 (01111) or less. ], 2xh [1], 2xh [2], and 2xh [3]. This process is expressed as follows.
= 2h[0] - {h[0]+h[4]+h[8]+h[12]+h[16]+h[20]}= 2h [0]-{h [0] + h [4] + h [8] + h [12] + h [16] + h [20]}
= 2h[0] - {필터출력(000000)}= 2h [0]-{filter output (000000)}
= 2h[0] - {h[0]+h[4]-h[8]-h[12]-h[16]-h[20]}= 2h [0]-{h [0] + h [4] -h [8] -h [12] -h [16] -h [20]}
= 2h[0] - {필터출력(001111)}= 2h [0]-{filter output (001111)}
따라서 위의 <수학식 3> 및 <수학식 4>에서 알 수 있는 바와 같이 입력데이터들의 조합이 16(010000)이상, 31(011111)이하인 경우의 필터출력값들은 입력데이터들의 조합이 16(010000)이하인 경우의 필터출력값들에 2의 보수를 취하고 여기에 특정값을 더함으로써 간단하게 구할 수 있음을 알 수 있다. 즉 이것은 16개의 어드레스 조합만으로도 32개의 어드레스 조합에 해당되는 필터링을 행할 수 있음을 의미한다.Therefore, as shown in
이의 두 과정을 결합하여 16개의 어드레스 조합만으로 64개의 필터출력값을 얻어내는 전체적인 과정에 대해 설명하기로 하자.Combining these two processes, we will describe the overall process of obtaining 64 filter outputs using only 16 address combinations.
= - {h[0]-h[4]-h[8]-h[12]-h[16]-h[20]}=-{h [0] -h [4] -h [8] -h [12] -h [16] -h [20]}
= -{필터출력(011111)}=-{Filter output (011111)}
= -{2h[0]-필터출력(000000)}=-{2h [0] -filter output (000000)}
= - {h[0]-h[4]+h[8]+h[12]+h[16]+h[20]}=-{h [0] -h [4] + h [8] + h [12] + h [16] + h [20]}
= - {필터출력(010000)}=-{Filter out (010000)}
= - {2h[0]-필터(001111)}=-{2h [0] -filter (001111)}
따라서 위의 <수학식 5> 및 <수학식 6>에서 알 수 있는 바와 같이 입력데이터들의 조합이 16(010000)이상인 경우의 필터출력값들은 입력데이터들의 조합이 16(010000)이하인 경우의 필터출력값들을 이용하여 간단하게 구할 수 있음을 알 수 있다. 즉 이것은 16개의 어드레스 조합만으로도 64개의 어드레스 조합에 해당되는 필터링을 행할 수 있음을 의미한다.Therefore, as shown in Equations 5 and 6, the filter output values when the combination of input data is 16 (010000) or more are the filter output values when the combination of input data is 16 (010000) or less. It can be seen that it can be obtained simply by using. In other words, this means that filtering corresponding to 64 address combinations can be performed with only 16 address combinations.
다음의 <표 3>은 48탭 FIR필터의 경우에 대응하는 제1롬뱅크(510)에 저장되는 값을 도시하고 있다. 이때 m=0인 경우를 예로 한다.Table 3 below shows values stored in the
지금까지 48탭 FIR필터의 예를 들어 본 발명의 동작을 간단히 기술하였는데, 이러한 동작을 가능하도록 하는 것이 제3신호처리부(518) 및 제4신호처리부(520)이다. 제3신호처리부(518) 및 제4신호처리부(520)는 제1신호처리부(506)과 제2신호처리부(508)로부터 제어신호(CONT10,CONT11,CONT12,CONT20,CONT21,CONT22)를 받아들여 아래 <표 4>의 조합에 따른 동작을 취함으로써 최종적으로 가산기(522)로 입력되는 중간필터 출력값을 만들어낸다.So far, the operation of the present invention has been briefly described with an example of a 48-tap FIR filter. The third
이제 마지막으로 CONT3,CONT4와 연관된 제1멀티플렉서(514)와 제2멀티플렉서(516)에 대해 설명한다. 앞에서 설명하였듯이 m=0일 때의 제2지연부(504)의 입력데이터들과 곱해지는 필터계수값들은 m=3일 때의 제1지연부(502)의 입력데이터들과 곱해지는 필터계수값들의 역순이므로, 제1멀티플렉서(154)를 제어하는 제어신호 CONT3(카운터 524의 OUT출력: 0,1,2,3,0,1, …)의 역제어신호 CONT4(카운터 524의
전술한 바와 같은 동작을 요약하면, 본 발명에 따른 FIR필터는 1심볼구간동안 m배 오버샘플링된 신호가 입력될 시 2개의 지연라인을 통해 메모리 어드레스를 생성하고, 2개의 저장수단에 이미 저장되어 있는 필터출력값들중 상기 생성된 메모리 어드레스에 대응하는 필터출력값을 선택하여 출력한다. 이에 따라 필터길이 L, 탭수 N, 오버샘플링비 m을 갖는 필터를 구현할 시 요구되는 메모리의 용량을 2L에서 (2L/2-2)×m으로 줄일 수 있다.In summary, the FIR filter according to the present invention generates a memory address through two delay lines when the m times oversampled signal is input for one symbol period, and is already stored in two storage means. Among the filter output values, the filter output value corresponding to the generated memory address is selected and output. Accordingly, the memory capacity required for implementing a filter having a filter length L, the number of taps N, and the oversampling ratio m can be reduced from 2L to ( 2L / 2-2 ) × m.
지금까지 기술한 FIR필터는 도 5에 나타나 있는 바와 같이 심볼레이트(CLK1)의 2배 클럭(CLK2) 속도만으로 구현이 가능하면서도 필요로 되는 메모리의 용량을 현저하게 줄일 수 있는 필터에 관한 것이다. 이제부터는 심볼레이트의 4배 이상의 클럭속도를 사용하여 필터구현시 필요로 되는 메모리의 용량을 현저히 감소시킬 수 있는 필터를 도 6과 도 7을 참조하여 상세히 설명한다. 물론 도 6과 도 7의 기본 원리는 전술한 도 5의 기본 원리와 같기 때문에 중복되는 설명은 다시 하지 않기로 한다.As described above, the FIR filter described above is related to a filter that can be implemented only by a double clock speed CLK2 of the symbol rate CLK1 and can significantly reduce the amount of memory required. Hereinafter, a filter that can significantly reduce the memory capacity required for the filter implementation by using a clock speed four times greater than the symbol rate will be described in detail with reference to FIGS. 6 and 7. Of course, since the basic principles of FIGS. 6 and 7 are the same as those of FIG. 5 described above, overlapping descriptions will not be repeated.
도 6과 도 7에서와 같이 심볼레이트의 4배 클럭(CLK3)을 사용할 경우에는 필요로되는 메모리의 용량을 도 5의 방법에 비해 또 다시 1/2로 줄일 수가 있다. 만일 좀 더 빠른 클럭레이트를 사용할 경우 예를들어 심볼레이트의 8배 클럭을 사용할 경우에는 각각 다른 필터 2개를 4배 클럭을 사용하여 1개만의 필터를 구현했을 때의 메모리 용량만으로 구현이 가능할 것이다.As shown in FIGS. 6 and 7, when the clock CLK3 of symbol rate is used, the required memory capacity can be reduced to 1/2 again compared to the method of FIG. If a faster clock rate is used, for example, using eight times the symbol rate, two different filters can be implemented using only the memory capacity of one filter using four times the clock. .
제2실시예Second embodiment
도 6은 본 발명의 제2실시예에 따른 FIR필터의 구성을 보여주는 도면이고, 도 9는 도 6에 도시된 제1신호처리부(608)의 구체적인 구성을 보여주는 도면이고, 도 12는 상기 제2실시예에 따른 FIR필터의 동작타이밍을 보여주는 도면이다.FIG. 6 is a diagram illustrating a configuration of an FIR filter according to a second embodiment of the present invention. FIG. 9 is a diagram illustrating a detailed configuration of the first
도 6에 도시된 FIR필터는 도 5에 도시된 FIR필터에 비해 심볼레이트의 4배 클럭(CLK3)을 사용하고 이 클럭을 사용하여 각 롬뱅크에 공급되는 어드레스들을 멀티플렉싱하는 방법을 사용한다. 또한 도 5에서 사용한 분리된 롬뱅크를 사용하지 않고 연결된 어드레스를 갖는 룩업테이블(610)을 구성함으로써 도 5에서 요구되었던 제1멀티플렉서(514)와 제2멀티플렉서(516)들에 대한 필요성을 제거하여 전체적으로 하드웨어 크기를 줄일 수 있도록 하고 있다. 이와 같은 방법으로 도 6의 제1신호처리부(608)를 구현한 실시예는 도 9에 도시된 바와 같으며, 도 6과 도 9의 실시예에 따른 FIR필터의 동작타이밍은 도 12에 도시된 바와 같다. 도 9를 참조하면, 어드레스들을 심볼레이트의 4배 클럭(CLK3)을 사용하여 멀티플렉싱하는 것과 어드레스들을 발생시키기 위해 외부의 모듈로-3 카운터(606)의 출력값을 사용하는 것외에는 도 5의 제1신호처리부(506) 및 제2신호처리부(508)의 구현방식과 똑같은 구조를 가지고 있음을 알 수 있다. 또한 도 6의 제2신호처리부(612)도 도 5의 제3신호처리부(518) 및 제4신호처리부(520)와 같은 기능, 즉 <표 4>에 나타난 동작이 동일하게 수행된다.The FIR filter shown in FIG. 6 uses a clock CLK3 four times the symbol rate compared to the FIR filter shown in FIG. 5, and uses the clock to multiplex the addresses supplied to each ROM bank. Also, by constructing a lookup table 610 having a connected address without using the separate ROM bank used in FIG. 5, the need for the
도 6을 참조하면, 본 발명의 제2실시예에 따른 FIR필터는 제1 및 제2지연부(602,604), 제1 및 제2신호처리부(608,612), 룩업테이블(610), 카운터(606), 멀티플렉서(620), 롬뱅크(618), 레지스터(614), 가산기(616)를 포함하여 이루어진다. 제1지연부(602)는 일련의 L/2(L은 필터길이)개의 지연소자가 접속되어 이루어지며, 각 지연소자는 입력되는 데이터를 소정 심볼레이트(CLK1)에 따라 순차적으로 지연시켜 출력한다. 제2지연부(604)는 제1지연부(602)의 각 지연소자에 대해 대칭관계에 있는 일련의 L/2개의 지연소자로 이루어지며, 각 지연소자는 상기 심볼레이트(CLK1)에 따라 상기 제1지연부(602)로부터의 지연출력을 순차적으로 지연시켜 출력한다. 카운터(606)는 상기 심볼레이트의 2배 클럭(CLK2)을 카운팅하고 그 카운팅결과를 나타내는 제1출력신호(OUT)와 역카운팅결과를 나타내는 제2출력신호(
제1신호처리부(608)는 상기 룩업테이블(610)에 저장되어 있는 필터출력값을 어드레싱하기 위한 어드레스를 생성하는 동작을 수행한다. 즉, 제1신호처리부(608)는 제1지연부(602)의 최초 지연소자[x(n)] 및 그 다음 지연소자[x(n-1)]를 통해 출력되는 2비트 지연출력을 제외한 나머지 (L/2-2)비트의 지연출력들과 제2지연부(604)의 최종 지연소자[x(n-L+1)] 및 그 이전 지연소자[x(n-L+2)]를 통해 출력되는 2비트 지연출력을 제외한 나머지 (L/2-2)비트의 지연출력들을, 제1지연부(602)의 최초 지연소자[x(n)] 및 그 다음 지연소자[x(n-1)]를 통해 출력되는 2비트의 지연출력과 제2지연부(604)의 최종 지연소자[x(n-L+1)] 및 그 이전 지연소자[x(n-L+2)]를 통해 출력되는 2비트의 지연출력과 카운터(606)으로부터의 OUT신호 및
도 9를 참조하면, 멀티플렉서(911)는 제1지연부(602)의 최초 지연소자[x(n)]를 통한 지연출력 데이터와 상기 제2지연부의 최종 지연소자[x(n-L+1)]를 통한 지연출력 데이터를 상기 심볼레이트의 4배 클럭(CLK3)에 따라 멀티플렉싱하고 이 멀티플렉싱 결과를 제어신호 CONT30으로서 출력한다. 멀티플렉서(912)는 제1지연부(602)의 최초 지연소자 다음의 지연소자[x(n-1)]를 통한 지연출력 데이터와 제2지연부(604)의 최종 지연소자 이전의 지연소자[x(n-L+2)]를 통한 지연출력 데이터를 상기 심볼레이트의 4배 클럭(CLK3)에 따라 멀티플렉싱하여 출력한다. 멀티플렉서(913)는 카운터(606)으로부터의 OUT신호 및
배타적 논리합회로(918)는 제1멀티플렉서(911)의 출력과 제2멀티플렉서(912)의 출력을 배타적 논리합연산하여 제2제어신호 CONT31로서 출력한다. 배타적 논리합회로(919)는 제1제어신호 CONT30과 제2제어신호 CONT32를 배타적 논리합연산하여 제3제어신호 CONT33으로서 출력한다. 배타적 논리합회로들(920∼923)은 다수의 멀티플렉서(914∼917) 각각에 대응하는 (L/2-2)개의 배타적 논리합회로들로서, 제1제어신호 CONT30를 하나의 공통입력으로 하고 다수의 멀티플렉서(914∼917) 각각의 출력을 다른 한 입력으로 하여 이들을 배타적 논리합연산하여 출력한다. 배타적 논리합회로들(924∼927)은 상기 다수의 배타적 논리합회로(920∼923) 각각에 대응하는 (L/2-2)개의 배타적 논리합회로들로서, 제2제어신호 CONT31을 하나의 공통입력으로 하고 배타적 논리합회로들(920∼923)의 각 출력을 다른 한 입력으로 하여 이들을 배타적 논리합연산하여 출력한다. 상기 멀티플렉서(913)로부터의 2비트 출력값과 상기 배타적 논리합회로들(924∼927)로부터의 (L/2-2)비트 출력값은 룩업테이블(610)에 저장되어 있는 필터출력값을 어드레싱하기 위한 어드레스로서 출력된다.The exclusive OR
제2신호처리부(612)는 상기 제1신호처리부(608)에 의해 생성된 제어신호 CONT30,CONT31,CONT32에 따라 룩업테이블(610)로부터 어드레싱되어 출력되는 필터출력값들을 직접 출력하거나 2의 보수화처리하여 출력한 후, 이 출력된 필터출력값을 직접 출력하거나 상기 필터출력값에 롬뱅크(618)로부터 출력되는 설정값을 가산하여 출력하는 역할을 담당한다. 여기서 제어신호 CONT30,CONT31,CONT32는 전술한 바와 같이 제1지연부(602)의 최초 지연소자[x(n)] 및 그 다음 지연소자[x(n-1)]를 통해 출력되는 2비트 지연출력과 제2지연부(604)의 최종 지연소자[x(n-L+1)] 및 그 이전 지연소자[x(n-L+2)]를 통해 출력되는 2비트 지연출력의 비트값들의 조합에 의해 결정되는 신호이다.The
상기 제2신호처리부(612)는 전술한 <표 4>에 도시된 바와 동일한 동작을 수행한다. 즉, 제2신호처리부(612)는 제1제어신호 CONT30, 제2제어신호 CONT 31 및 제3제어신호 CONT32가 모두 "로우"레벨인 경우에는 룩업테이블(610)로부터 출력되는 필터출력값을 직접 출력한다. 제2신호처리부(612)는 제1제어신호 CONT30은 "로우"레벨이고, 제2제어신호 CONT31 및 제3제어신호 CONT32가 "하이"레벨인 경우에는 룩업테이블(610)로부터 출력되는 필터출력값을 2의 보수화처리하고 이 보수화결과에 롬뱅크(618)로부터 출력되는 설정값을 가산하여 출력한다. 제2신호처리부(612)는 제2제어신호 CONT31이 "로우"레벨이고, 제1제어신호 CONT30 및 제3제어신호 CONT32가 "하이"레벨인 경우에는 룩업테이블(610)로부터 출력되는 필터출력값을 2의 보수화처리하여 출력한다. 제2신호처리부(612)는 제1제어신호 CONT30, 제2제어신호 CONT31 및 제3제어신호 CONT32가 모두 "하이"레벨인 경우에는 롬뱅크(618)로부터 출력되는 설정값을 2의 보수화처리하고 이 보수화결과에 룩업테이블(610)로부터 출력되는 필터출력값을 가산한 후 이 가산결과를 출력한다.The
멀티플렉서(620)는 카운터(606)로부터의 OUT신호 및
제3실시예Third embodiment
도 7은 본 발명의 제3실시예에 따른 FIR필터의 구성을 보여주는 도면이고, 도 10은 도 7에 도시된 제1신호처리부(708)의 구체적인 구성을 보여주는 도면이고, 도 13은 상기 제3실시예에 따른 FIR필터의 동작타이밍을 보여주는 도면이다.7 is a view showing the configuration of the FIR filter according to a third embodiment of the present invention, FIG. 10 is a view showing the specific configuration of the first
도 7에 도시된 FIR필터는 도 5에 도시된 FIR필터와 유사한 구조로 설계된 것이다. 한 개의 롬뱅크(712)와 한 개의 멀티플렉서(714)를 사용하였고, 심볼레이트의 4배클럭(CLK3)을 사용하여 제1롬뱅크(712)에 입력되는 어드레스들을 발생시키는 제1신호처리부(708)와 모듈로-3 카운터(706)의 출력값들을 멀티플렉싱하도록 한다. 이러한 FIR필터는 도 5에 도시된 FIR필터와 유사한 구조를 가지면서도 도 6에 도시된 FIR필터와 같은 메모리 용량을 갖도록 구현한 것이다.The FIR filter illustrated in FIG. 7 is designed to have a structure similar to that of the FIR filter illustrated in FIG. 5. A
도 7을 참조하면, 본 발명의 제3실시예에 따른 FIR필터는 지연부(702,704)와, 신호처리부(708,716)와, 롬뱅크(712,722)와, 멀티플렉서(710,714)와, 카운터(706)과, 레지스터(718)와, 가산기(720)를 포함하여 이루어진다. 제1지연부(702)는 일련의 L/2(L은 필터길이)개의 지연소자가 접속되어 이루어지며, 각 지연소자는 입력되는 데이터를 소정 심볼레이트(CLK1)에 따라 순차적으로 지연시켜 출력한다. 제2지연부(704)는 제1지연부(702)의 각 지연소자에 대해 대칭관계에 있는 일련의 L/2개의 지연소자로 이루어지며, 각 지연소자는 상기 심볼레이트(CLK2)에 따라 제1지연부(702)로부터의 지연출력을 순차적으로 지연시켜 출력한다.Referring to FIG. 7, the FIR filter according to the third embodiment of the present invention includes
카운터(706)는 심볼레이트의 2배 클럭(CLK2)을 카운팅하고 그 카운팅결과를 나타내는 OUT신호와 역카운팅결과를 나타내는
제1신호처리부(708)는 제1롬뱅크(712)에 저장되어 있는 필터출력값을 어드레싱하기 위한 (L/2-2)비트의 어드레스를 생성하는 역할을 한다. 즉, 제1신호처리부(708)는 제1지연부(702)의 최초 지연소자[x(n)] 및 그 다음 지연소자[x(n-1)]를 통해 출력되는 2비트 지연출력을 제외한 나머지 (L/2-2)비트의 지연출력들과 제2지연부(704)의 최종 지연소자[x(n-L+1)] 및 그 이전 지연소자[x(n-L+2)]를 통해 출력되는 2비트 지연출력을 제외한 나머지 (L/2-2)비트의 지연출력들을, 제1지연부(702)의 최초 지연소자[x(n)] 및 그 다음 지연소자[x(n-1)]를 통해 출력되는 2비트의 지연출력과 제2지연부(704)의 최종 지연소자[x(n-L+1)] 및 그 이전 지연소자[x(n-L+2)]를 통해 출력되는 2비트의 지연출력과 심볼레이트의 4배 클럭(CLK3)에 따라 조합하여 제1롬뱅크(712)에 저장되어 있는 필터출력값을 어드레싱하기 위한 (L/2-2)비트의 어드레스를 생성한다. 이러한 동작은 상기 제1신호처리부(708)가 도 10에 도시된 바와 같이 구성됨으로써 가능하다.The first
도 10을 참조하면, 제1신호처리부(708)는 멀티플렉서들(1001∼1005)과, 배타적 논리합회로들(1006∼1013)로 이루어진다. 멀티플렉서(1001)는 제1지연부(702)의 최초 지연소자를 통한 지연출력 데이터[x(n)]와 제2지연부(704)의 최종 지연소자를 통한 지연출력 데이터[x(n-L+1)]를 심볼레이트의 4배 클럭(CLK3)에 따라 멀티플렉싱하고 이 멀티플렉싱 결과를 제1제어신호 CONT40으로서 출력한다. 멀티플렉서(1002)는 제1지연부(702)의 최초 지연소자 다음의 지연소자를 통한 지연출력 데이터[x(n-1)]와 제2지연부(704)의 최종 지연소자 이전의 지연소자를 통한 지연출력 데이터[x(n-L+2)]를 심볼레이트의 4배 클럭(CLK3)에 따라 멀티플렉싱하여 출력한다. 그리고 다수의 멀티플렉서들(1003∼1005)은 제1지연부(702)의 최초 지연소자 및 그 다음 지연소자를 통해 출력되는 2비트 지연출력을 제외한 나머지 (L/2-2)비트의 지연출력 데이터들과, 이 지연출력 데이터 각각에 대응하는 제2지연부(704)의 최종 지연소자 및 그 이전 지연소자를 통해 출력되는 2비트 지연출력을 제외한 나머지 (L/2-2)비트의 지연출력 데이터들을 심볼레이트의 4배 클럭(CLK3)에 따라 멀티플렉싱하여 출력한다.Referring to FIG. 10, the first
배타적 논리합회로(1006)는 제1제어신호 CONT40과 멀티플렉서(1002)의 출력을 배타적 논리합연산하여 제2제어신호 CONT41로서 출력한다. 배타적 논리합회로(1007)는 제1제어신호 CONT40과 제2제어신호 CONT41을 배타적 논리합연산하여 제3제어신호 CONT42로서 출력한다. 다수의 배타적 논리합회로들(1008∼1010)은 다수의 멀티플렉서들(1003∼1005) 각각에 대응하는 (L/2-2)개의 배타적 논리합회로들로서, 제1제어신호 CONT40을 하나의 공통입력으로 하고 상기 다수의 멀티플렉서(1003∼1005) 각각의 출력을 다른 한 입력으로 하여 이들을 배타적 논리합연산하여 출력한다. 다수의 배타적 논리합회로들(1011∼1013)은 배타적 논리합회로들(1008∼1010) 각각에 대응하는 (L/2-2)개의 배타적 논리합회로들로서, 제2제어신호 CONT41을 하나의 공통입력으로 하고 배타적 논리합회로들(1008∼1010)의 각 출력을 다른 한 입력으로 하여 이들을 배타적 논리합연산한다. 이때 배타적 논리합회로들(1008∼1010)의 연산결과는 제1롬뱅크(712)를 어드레싱하기 위한 (L/2-2)비트의 어드레스로서 출력된다.The exclusive
멀티플렉서(714)는 제1롬뱅크(712)로부터 어드레싱되어 출력되는 필터출력값을 멀티플렉서(710)에 의한 멀티플렉싱 결과인 CONT43신호에 따라 멀티플렉싱하여 출력한다.The
제2신호처리부(716)는 상기 제1신호처리부(708)에 의해 생성된 제어신호 CONT40,CONT41,CONT42에 따라 멀티플렉서(714)로부터 출력되는 필터출력값들을 직접 출력하거나 2의 보수화처리하여 출력한 후, 이 출력된 필터출력값을 직접 출력하거나 상기 필터출력값에 제2롬뱅크(722)로부터 어드레싱되어 출력되는 설정값을 가산하여 출력한다. 상기 제어신호 CONT40,CONT41,CONT42는 전술한 바와 같이 제1지연부(702)의 최초 지연소자 및 그 다음 지연소자를 통해 출력되는 2비트 지연출력과 제2지연부(704)의 최종 지연소자 및 그 이전 지연소자를 통해 출력되는 2비트 지연출력의 비트값들에 의해 결정된다.The
상기 제2신호처리부(716)는 전술한 <표 4>에 도시된 바와 동일한 동작을 수행한다. 즉, 제2신호처리부(716)는 제1제어신호 CONT40, 제2제어신호 CONT41 및 제3제어신호 CONT42가 모두 "로우"레벨인 경우에는 멀티플렉서(714)로부터 출력되는 필터출력값을 직접 출력한다. 제2신호처리부(716)는 제1제어신호 CONT40이 "로우"레벨이고, 제2제어신호 CONT41 및 제3제어신호 CONT42가 "하이"레벨인 경우에는 멀티플렉서(714)로부터 출력되는 필터출력값을 2의 보수화처리하고 이 보수화결과에 제2롬뱅크(722)로부터 출력되는 설정값을 가산하여 출력한다. 제2신호처리부(716)는 제2제어신호 CONT41이 "로우"레벨이고, 제1제어신호 CONT40 및 제3제어신호 CONT42가 "하이"레벨인 경우에는 멀티플렉서(714)로부터 출력되는 필터출력값을 2의 보수화처리하여 출력한다. 제2신호처리부(716)는 제1제어신호 CONT40, 제2제어신호 CONT41 및 제3제어신호 CONT42가 모두 "하이"레벨인 경우에는 제2롬뱅크(722)로부터 출력되는 설정값을 2의 보수화처리하고 이 보수화결과에 멀티플렉서(714)로부터 출력되는 필터출력값을 가산한 후 이 가산결과를 출력한다.The
레지스터(718)을 상기 제2신호처리부(716)으로부터 출력되는 필터출력값을 일시적으로 저장한다. 가산기(720)는 상기 레지스터(718)에 의해 일시적으로 저장된 필터출력값과 상기 제2신호처리부(716)에 의해 처리된 필터출력값을 가산하여 필터 출력데이터 FO로서 출력한다.The
상술한 바와 같이 본 발명은 2개의 지연라인을 통해 메모리 어드레스를 생성하고 1개 또는 2개의 저장수단에 미리 저장되어 있는 필터출력값중 상기 생성된 메모리 어드레스에 대응하는 필터출력값들을 선택하여 출력하도록 하는 탭드지연라인방식 및 룩업테이블방식이 혼용된 FIR필터를 제공한다. 이에 따라 요구되는 메모리의 용량을 더 줄일 수 있으며, 또한 FIR필터의 구현에 요구되는 구성요소들의 수를 더 줄일 수 있는 이점이 있다.As described above, the present invention generates a memory address through two delay lines, and taps for selecting and outputting filter output values corresponding to the generated memory addresses among filter output values previously stored in one or two storage means. A delay line method and a lookup table method provide a mixed FIR filter. Accordingly, the memory capacity required can be further reduced, and the number of components required for implementing the FIR filter can be further reduced.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 않되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the scope of the following claims, but also by the equivalents of the claims.
Claims (26)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970076022A KR100260746B1 (en) | 1997-12-29 | 1997-12-29 | Finite impulse response filter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970076022A KR100260746B1 (en) | 1997-12-29 | 1997-12-29 | Finite impulse response filter |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990056046A KR19990056046A (en) | 1999-07-15 |
KR100260746B1 true KR100260746B1 (en) | 2000-07-01 |
Family
ID=19529164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970076022A KR100260746B1 (en) | 1997-12-29 | 1997-12-29 | Finite impulse response filter |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100260746B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030048729A (en) * | 2001-12-13 | 2003-06-25 | 주식회사 웨이투텍 | Interpolation filter |
KR100657008B1 (en) * | 2004-12-07 | 2006-12-14 | 한국전자통신연구원 | Fir filter of ds-cdma uwb modem transmitter and control method thereof |
-
1997
- 1997-12-29 KR KR1019970076022A patent/KR100260746B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19990056046A (en) | 1999-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5910908A (en) | Fir filter for programmable decimation | |
KR0181165B1 (en) | Impulse response filter and filtering method | |
US5117385A (en) | Table lookup multiplier with digital filter | |
US4817025A (en) | Digital filter | |
US5297069A (en) | Finite impulse response filter | |
KR940006211B1 (en) | Finite impulse response filter | |
US7046723B2 (en) | Digital filter and method for performing a multiplication based on a look-up table | |
JPH0828649B2 (en) | Digital filter | |
KR100340048B1 (en) | Multiplierless Finite Impulse Response filter | |
US4121296A (en) | Digital signal processing arrangement | |
KR20010053625A (en) | Multiplierless digital filtering | |
US4958311A (en) | Composite finite impulse response digital filter | |
KR100260746B1 (en) | Finite impulse response filter | |
KR100260747B1 (en) | Finite impulse response filter and filtering method thereof | |
US6108681A (en) | System for sharing resources in a digital filter | |
US4192008A (en) | Wave digital filter with multiplexed arithmetic hardware | |
US7334010B2 (en) | Feedback digital filter | |
US6138132A (en) | High speed ROM-based nyquist fir filter | |
US6141674A (en) | Reducing the hardware cost of a bank of multipliers by combining shared terms | |
US6819708B1 (en) | OCQPSK modulator and modulating method using 1-bit input FIR filter | |
KR100249040B1 (en) | Fir filter having asymmetric frequency response characteristic | |
US5053984A (en) | Memory for programmable digital filter | |
US6532483B1 (en) | Filter for time division multiplex filtering of a plurality of data trains, and operating methods therefor | |
JPH0998069A (en) | Fir type digital filter | |
KR100480068B1 (en) | Digital filter |
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: 20110330 Year of fee payment: 12 |
|
LAPS | Lapse due to unpaid annual fee |