KR100617141B1 - 디지털 필터 - Google Patents
디지털 필터 Download PDFInfo
- Publication number
- KR100617141B1 KR100617141B1 KR1020040001682A KR20040001682A KR100617141B1 KR 100617141 B1 KR100617141 B1 KR 100617141B1 KR 1020040001682 A KR1020040001682 A KR 1020040001682A KR 20040001682 A KR20040001682 A KR 20040001682A KR 100617141 B1 KR100617141 B1 KR 100617141B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- output
- selector
- unit
- selection signal
- 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/0223—Computation saving measures; Accelerating measures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/02—Constructional features of telephone sets
- H04M1/21—Combinations with auxiliary equipment, e.g. with clocks or memoranda pads
-
- A—HUMAN NECESSITIES
- A45—HAND OR TRAVELLING ARTICLES
- A45D—HAIRDRESSING OR SHAVING EQUIPMENT; EQUIPMENT FOR COSMETICS OR COSMETIC TREATMENTS, e.g. FOR MANICURING OR PEDICURING
- A45D42/00—Hand, pocket, or shaving mirrors
-
- 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/0294—Variable filters; Programmable filters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H21/00—Adaptive networks
- H03H21/0012—Digital adaptive filters
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
Abstract
본 발명은 필터 연산에 의한 출력 지연 없이 필터의 크기를 줄이면서 4탭 실수 필터와 1탭 복소수 필터를 하나의 필터 구조로 결합시킨 디지털 필터에 관한 것이다. 특히 본 발명은 4탭 실수 필터와 1탭 복소수 필터를 결합한 후 모드 선택 신호에 따라 실수 필터와 복소수 필터 동작을 결정하고, 연산 선택 신호에 따라 한 단위 시간 주기 안에 필터의 출력을 얻으면서, 하나의 연산자가 한 심볼 클럭(한 단위 시간 주기)안에 두 번의 연산을 수행하게 한다. 이로 인해 실수 필터와 복소수 필터가 한 심볼 클럭 동안 하나의 연산자로 한 번의 연산을 수행하는 종래의 필터에 비교할 때 본 발명에서는 사용되는 승산기와 가산기의 숫자를 크게 줄일 수 있다.
4탭 실수 필터, 1탭 복소수 필터
Description
도 1a, 도 1b는 본 발명에 따른 디지털 필터의 구성 블록도
도 2의 (a) 내지 (d)는 본 발명에 따른 디지털 필터 구조에 사용되는 클럭과 선택 신호의 위상 관계를 나타낸 도면
도 3a, 도 3b는 도 1의 디지털 필터가 4탭 실수 필터로 동작할 때의 신호 흐름을 굵은 실선으로 보인 도면
도 4의 (a) 내지 (k)는 도 3a의 각 부의 동작 타이밍도
도 5a, 도 5b는 도 1의 디지털 필터가 1탭 복소수 필터로 동작할 때의 신호 흐름을 굵은 실선으로 보인 도면
도 6의 (a) 내지 (k)는 도 5a의 각 부의 동작 타이밍도
도면의 주요부분에 대한 부호의 설명
100 : 데이터 입력부 110~140 : 데이터 선택부
200 : 제 1 계수 갱신부 300 : 제 2 계수 갱신부
400 : 제 1 필터 출력부 500 : 제 2 필터 출력부
본 발명은 디지털 필터에 관한 것이다.
현재 사용되고 있는 LMS(Least Mean Square) 적응 알고리즘을 이용한 디지털 필터는 계수를 지속적으로 갱신할 수 있는 필터이다. 이러한 디지털 필터는 주로 등화기나 잡음 제거기 등에 사용되어 채널 또는 시스템 자체에 의해 발생되는 왜곡을 보상하는 역할을 한다.
이때, 적응 필터의 종류에는 실수 입력 신호와 실수 계수를 가지는 필터와 복소수 입력 신호와 복소수 계수를 가지는 필터로 나눌 수 있다. VSB 방식 디지털 지상파 방송과 같이 실수 데이터만 존재하는 경우엔 실수 계수와 실수 입력을 가지는 필터를 사용할 수 있을 것이다. 이에 반해, 디지털 케이블 방송과 같이 QAM 변조를 사용하는 시스템은 실수와 허수를 모두 가지는 데이터를 사용하므로 복소수 입력 신호와 복소수 계수를 가지는 필터를 사용해야 할 것이다. 만약 앞의 두 시스템을 하나의 칩으로 구현한다면 두가지 종류의 필터를 사용해야한다.
그런데, 하나의 칩으로 구현된 두 시스템이 동시에 동작되지 않고 선택적으로 동작된다면 사용되는 두 종류의 필터 중 하나만 사용되고 나머지는 아무런 기능도 하지 않게 된다. 그리고 필터의 탭 수가 많을 경우에는 필터가 이중으로 구현되어 있으므로 전체 필터 크기가 매우 크게 되어 구현에 장애가 되며 시스템 자원의 낭비 요소가 된다. 또한 한 심볼 클럭에 한 탭을 연산하는 방식의 필터 구조 역시 필터 크기가 매우 클 경우에 구현에 장애 요소가 된다.
이때, 두 시스템이 하나의 칩으로 구현되어 있지만 동시에 두 시스템이 동작되지 않고 사용자의 선택에 따라 둘 중 하나의 시스템이 사용된다면 두 가지 필터를 하나로 결합하여 시스템의 종류에 따라 실수 입력과 실수 계수를 가지는 실수 필터로 동작하는 기능과 복소수 입력과 복소수 계수를 가지는 복소수 필터로 동작하는 기능 중 선택된 시스템에 적합한 기능을 사용할 수 있을 것이다. 그리고 결합된 필터가 한 심볼 클럭에 한 번의 연산을 하게되면 필터 크기에 따라 구현에 장애가 되므로 한 심볼 클럭에 하나의 연산자가 두 번의 연산을 하도록 구현하면 전체 필터 크기를 줄일 수 있다.
따라서, 본 발명의 목적은 4탭의 실수 필터와 1탭의 복소수 필터를 결합하여 한 단위 시간 주기 안에 필터의 출력을 얻으면서 하나의 연산자가 한 심볼 클럭(한 단위 시간 주기)안에 두 번의 연산을 수행하게 함으로써, 필터 연산에 의한 출력 지연이 없으면서 필터의 복잡도를 줄인 디지털 필터를 제공함에 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 디지털 필터는, 실수 필터와 복소수 필터 동작을 결정하는 모드 선택 신호와 단위 주기 신호동안 해당 연산자들이 두 번의 연산을 하도록 제어하는 연산 선택 신호를 생성하여 출력하는 제어부; 입력되는 실수 데이터와 허수 데이터를 상기 모드 선택 신호에 따라 선택하여 각각 지연시키고, 입력된 데이터와 지연된 데이터들을 다시 모드 선택 신호와 연산 선택 신호에 따라 선택한 후 계수 갱신 및 필터 출력을 위해 출력하는 데이터 입력부; 상기 데이터 입력부에서 선택 출력되는 데이터에 모드 선택 신호와 연산 선택 신호에 의해 선택되는 에러 값을 곱하고, 곱셈 결과에 모드 선택 신호와 연산 선택 신호에 의해 선택되는 이전 계수를 더하여 한 단위 주기 시간 동안 실수 필터의 두 개의 계수 또는 복소수 필터의 실수 계수 갱신을 수행하는 제 1 계수 갱신부; 상기 데이터 입력부에서 선택 출력되는 데이터에 모드 선택 신호와 연산 선택 신호에 의해 선택되는 에러 값을 곱하고, 곱셈 결과에 모드 선택 신호와 연산 선택 신호에 의해 선택되는 이전 계수를 더하여 한 단위 주기 시간 동안 실수 필터의 두 개의 계수 또는 복소수 필터의 허수 계수 갱신을 수행하는 제 2 계수 갱신부; 상기 데이터 입력부에서 한 단위 주기 시간동안 선택 출력되는 두 개의 데이터에 상기 제 1 계수 갱신부에서 출력되는 실수 필터의 두 개의 계수 또는 복소수 필터의 실수 계수를 곱하여 한 단위 주기 시간 동안 실수 필터의 두 탭 출력 또는 복소수 필터의 두 출력을 생성하는 제 1 필터 출력부; 그리고 상기 데이터 입력부에서 한 단위 주기 시간동안 선택 출력되는 두 개의 데이터에 상기 제 2 계수 갱신부에서 출력되는 실수 필터의 두 개의 계수 또는 복소수 필터의 허수 계수를 곱하여 한 단위 주기 시간 동안 실수 필터의 두 탭 출력 또는 복소수 필터의 두 출력을 생성하는 제 2 필터 출력부를 포함하여 구성되는 것을 특징으로 한다.
상기 데이터 입력부는 기 설정된 시간만큼 각각 지연된 실수 데이터와 허수 데이터들 중 모드 선택 신호와 연산 선택 신호에 의해 단위 주기 시간 동안 두 개의 데이터를 선택하여 제 1 계수 갱신부로 출력하는 제 1 데이터 선택부와, 지연없이 입력되는 실수 데이터와 허수 데이터를 각각 지연시키고 상기 입력된 데이터와 지연된 데이터들 중 모드 선택 신호와 연산 선택 신호에 의해 단위 주기 시간 동안 두 개의 데이터를 선택하여 제 1 필터 출력부로 출력하는 제 2 데이터 선택부와, 기 설정된 시간만큼 각각 지연된 실수 데이터와 허수 데이터들 중 모드 선택 신호와 연산 선택 신호에 의해 단위 주기 시간 동안 두 개의 데이터를 선택하여 제 2 계수 갱신부로 출력하는 제 3 데이터 선택부와, 지연없이 입력되는 실수 데이터와 허수 데이터 그리고, 상기 제 2 데이터 선택부에서 입력된 데이터를 다시 각각 지연시키고 입력된 데이터와 지연된 데이터들 중 모드 선택 신호와 연산 선택 신호에 의해 단위 주기 시간 동안 두 개의 데이터를 선택하여 제 2 필터 출력부로 출력하는 제 4 데이터 선택부로 구성되는 것을 특징으로 한다.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 상기한 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
본 발명은 4탭 실수 필터와 1탭 복소수 필터를 결합하고 두 필터 기능을 선택하여 사용할 수 있도록 하여 필터의 복잡도를 줄이면서 필터 연산에 의한 출력 지연이 없는 디지털 필터 구조를 구현하는데 그 특징이 있다.
도 1a, 1b는 본 발명에 따른 디지털 필터의 실시예를 보인 구성 블록도로서, 데이터 입력부(100), 제 1, 제 2 계수 갱신부(200,300), 및 제 1, 제 2 필터 출력 부(400,500)로 구성된다.
상기 데이터 입력부(100)는 실수 데이터와 허수 데이터 그리고, 상기 실수 데이터를 지연된 지연 실수 데이터와 허수 데이터를 지연시킨 지연 허수 데이터를 입력받아 모드 선택 신호(mode_sel)에 따라 선택하여 각각 지연시키고, 입력된 데이터와 지연된 데이터들을 다시 모드 선택 신호(mode_sel)와 연산 선택 신호(nclk)에 따라 선택하여 상기 제 1, 제 2 계수 갱신부(200,300), 및 제 1, 제 2 필터 출력부(400,500)로 출력한다.
이러한 데이터 입력부(100)는 제 1 내지 제 4 데이터 선택부(110~140)로 구성된다.
상기 제 1 데이터 선택부(110)는 지연된 실수 데이터와 지연된 허수 데이터를 모드 선택 신호(mode_sel)에 따라 선택하여 다시 지연시키고 상기 모드 선택 신호(mode_sel)와 연산 선택 신호(nclk)에 따라 지연된 실수 데이터 또는, 제 2 데이터 선택부(120)에서 출력되는 데이터를 선택하여 제 1 계수 갱신부(200)로 출력한다.
상기 제 1 데이터 선택부(110)는 좀 더 상세하게는 복수개의 지연기(111,113)와 4개의 선택기(112,114~116)로 구성된다. 상기 지연기(111)는 지연된 실수 데이터 xdi를 단위 주기 신호(clk)동안 지연시켜 선택기(112,114)로 출력한다. 상기 선택기(112)는 모드 선택 신호(mode_sel)가 0이면 지연기(111)의 출력 xdio을 선택하고 1이면 지연된 허수 데이터 xdq를 선택하여 지연기(113)로 출력한다. 상기 지연기(113)는 선택기(112)의 출력을 단위 주기 신호(clk)동안 지연시켜 선택기(115)와 제 3 데이터 선택부(130)로 출력한다. 상기 선택기(114)는 모 드 선택 신호(mode_sel)가 0이면 상기 제 2 데이터 선택부(120)의 출력을 선택하고 1이면 지연기(111)의 출력을 선택하여 선택기(116)로 출력한다. 상기 선택기(115)는 모드 선택 신호(mode_sel)가 0이면 상기 제 2 데이터 선택부(120)의 출력을 선택하고 1이면 지연기(113)의 출력을 선택하여 선택기(116)로 출력한다. 상기 선택기(116)는 연산 선택 신호(nclk)에 따라 상기 선택기(114) 또는 선택기(115)의 출력을 선택하여 제 1 계수 갱신부(200)로 출력한다.
상기 제 2 데이터 선택부(120)는 입력 실수 데이터와 입력 허수 데이터를 모드 선택 신호(mode_sel)에 따라 선택하여 다시 지연시켜 상기 제 1 데이터 선택부(110)로 출력함과 동시에 상기 모드 선택 신호(mode_sel)와 연산 선택 신호(nclk)에 따라 상기 입력 신호 또는 지연된 신호를 선택하여 제 1 필터 출력부(400)로 출력한다.
상기 제 2 데이터 선택부(120)는 좀 더 상세하게는 복수개의 지연기(121,123)와 4개의 선택기(122,124~126)로 구성된다. 입력되는 실수 데이터 xi는 지연기(121)와 선택기(124)로 제공된다. 상기 지연기(121)는 입력 실수 데이터 xi를 단위 주기 신호(clk)동안 지연시켜 제 1 데이터 선택부(110)의 선택기(114)와 제 2 데이터 선택부(120)의 선택기(122,124,125)로 출력한다. 상기 선택기(122)는 상기 지연기(111)의 출력 xio과 입력 허수 데이터 xq를 모드 선택 신호(mode_sel)에 따라 선택하여 지연기(123)로 출력한다. 상기 지연기(123)는 선택기(122)의 출력을 단위 주기 신호(clk)동안 지연시켜 제 1 데이터 선택부(110)의 선택기(115)와 제 2 데이터 선택부(120)의 선택기(125) 그리고, 제 4 데이터 선택 부(140)로 출력한다. 상기 선택기(124)는 모드 선택 신호(mode_sel)가 0이면 실수 입력 xi를 선택하고 1이면 지연기(121)의 출력을 선택하여 선택기(126)로 출력한다. 상기 선택기(125)는 모드 선택 신호(mode_sel)가 0이면 지연기(121)의 출력을 선택하고 1이면지연기(123)의 출력을 선택하여 선택기(126)로 출력한다. 상기 선택기(126)는 연산 선택 신호(nclk)에 따라 상기 선택기(124) 또는 선택기(125)의 출력을 선택하여 제 1 필터 출력부(400)로 출력한다.
상기 제 3 데이터 선택부(130)는 지연된 실수 데이터와 지연된 허수 데이터를 모드 선택 신호(mode_sel)에 따라 선택하여 다시 지연시키고 상기 모드 선택 신호(mode_sel)와 연산 선택 신호(nclk)에 따라 상기 지연된 신호 또는, 제 4 데이터 선택부(140)에서 출력되는 신호를 선택하여 제 2 계수 갱신부(300)로 출력한다.
상기 제 3 데이터 선택부(130)는 좀 더 상세하게는 복수개의 지연기(132,134)와 5개의 선택기(131,133,135~137)로 구성된다. 지연된 허수 데이터 xdq는 선택기(131)로 출력된다. 상기 선택기(131)는 모드 선택 신호(mode_sel)가 0이면 상기 제 1 데이터 선택부(110)의 출력(A)을 선택하고 1이면 상기 지연된 허수 데이터 xdq를 선택하여 지연기(132)로 출력한다. 상기 지연기(132)는 상기 선택기(131)의 출력을 단위 주기 신호(clk)동안 지연시켜 선택기(133,135)로 출력한다. 상기 선택기(133)는 모드 선택 신호(mode_sel)가 0이면 지연기(132)의 출력을 선택하고 1이면 지연된 실수 데이터 xdi를 선택하여 지연기(134)로 출력한다. 상기 지연기(134)는 선택기(133)의 출력을 단위 주기 신호(clk)동안 지연시켜 선택기(136)로 출력한다. 상기 선택기(135)는 모드 선택 신호(mode_sel)가 0이면 상기 제 4 데이터 선택부(140)의 출력을 선택하고 1이면 지연기(132)의 출력을 선택하여 선택기(137)로 출력한다. 상기 선택기(136)는 모드 선택 신호(mode_sel)가 0이면 상기 제 4 데이터 선택부(140)의 출력을 선택하고 1이면 지연기(134)의 출력을 선택하여 선택기(137)로 출력한다. 상기 선택기(137)는 연산 선택 신호(nclk)에 따라 상기 선택기(135) 또는 선택기(136)의 출력을 선택하여 제 2 계수 갱신부(300)로 출력한다.
상기 제 4 데이터 선택부(140)는 입력 실수 데이터와 입력 허수 데이터를 모드 선택 신호(mode_sel)에 따라 선택하여 다시 지연시켜 상기 제 3 데이터 선택부(130)로 출력함과 동시에 상기 모드 선택 신호(mode_sel)와 연산 선택 신호(nclk)에 따라 상기 입력 신호 또는 지연된 신호를 선택하여 제 2 필터 출력부(500)로 출력한다.
상기 제 4 데이터 선택부(140)는 좀 더 상세하게는 복수개의 지연기(142,144)와 5개의 선택기(141,143,145~147)로 구성된다. 입력되는 허수 데이터 xq는 선택기(141)로 출력된다. 상기 선택기(141)는 모드 선택 신호(mode_sel)가 0이면 상기 제 2 데이터 선택부(120)의 출력(B)을 선택하고 1이면 상기 허수 데이터 xq를 선택하여 지연기(142)로 출력한다. 상기 지연기(142)는 상기 선택기(141)의 출력을 단위 주기 신호(clk)동안 지연시켜 제 3 데이터 선택부(130)의 선택기(135)와 제 4 데이터 선택부(140)의 선택기(143,145,146)로 출력한다. 상기 선택기(143)는 모드 선택 신호(mode_sel)가 0이면 상기 지연기(142)의 출력을 선택하고 1이면 실수 데이터 xi를 선택하여 지연기(144)로 출력한다. 상기 지연기(144)는 상기 선택기(143)의 출력을 단위 주기 신호(clk)동안 지연시켜 제 3 데이터 선택부(130)의 선택기(136)와 제 4 데이터 선택부(140)의 선택기(146)로 출력한다. 상기 선택기(145)는 모드 선택 신호(mode_sel)가 0이면 상기 선택기(141)의 출력을 선택하고 1이면 상기지연기(142)의 출력을 선택하여 선택기(147)로 출력한다. 상기 선택기(146)는 모드 선택 신호(mode_sel)가 0이면 지연기(142)의 출력을 선택하고 1이면지연기(144)의 출력을 선택하여 선택기(147)로 출력한다. 상기 선택기(147)는 연산 선택 신호(nclk)에 따라 상기 선택기(145) 또는 선택기(146)의 출력을 선택하여 제 2 필터 출력부(500)로 출력한다.
상기 제 1 계수 갱신부(200)는 제 1 데이터 선택부(110)에서 선택 출력되는 데이터와 에러 값을 곱하고 곱셈 결과에 피드백되는 이전 계수를 더하여 계수 갱신을 수행하는데, 연산 선택 신호(nclk)에 따라 한 단위 주기 시간 동안 두 개의 계수 c0,c1를 교대로 갱신하여 제 1 필터 출력부(400)로 출력한다.
상기 제 1 계수 갱신부(200)는 좀 더 상세하게는 선택기(201)는 연산 선택 신호(nclk)에 따라 실수 에러 erri 또는, 허수 에러 errq를 선택하여 선택기(202)로 출력한다. 상기 선택기(202)는 모드 선택 신호(mode_sel)가 0이면 실수 에러 erri를 선택하고 1이면 상기 선택기(201)의 출력을 선택하여 곱셈기(203)로 출력한다. 상기 곱셈기(203)는 상기 선택기(202)의 출력과 상기 제 1 데이터 선택부(110)의 선택기(116)의 출력을 곱하여 이득부(204)와 선택기(205)로 출력한다. 상기 이득부(204)는 복소수 필터로 동작할 때 이용되는 것으로서, 상기 곱셈기(203)의 출력에 상수 A를 곱하여 그 크기를 보정한 후 선택기(205)로 출력한다. 상기 선택기(205)는 모드 선택 신호(mode_sel)가 0이면 상기 곱셈기(203)의 출력을 선택하고 1이면 상기 이득부(204)의 출력을 선택하여 가산기(206)로 출력한다. 상기 가산기(206)는 상기 선택기(205)의 출력에 피드백되는 이전 계수를 더하여 포화기(207)로 출력한다.
상기 포화기(207)는 상기 가산기(206)의 출력을 포화(saturation)시켜 계수 저장용 지연기(212,213)로 출력한다. 상기 포화기(207)는 선택기(208), 부호 추출기(209), 비교기(210), 및 선택기(211)를 포함한다. 상기 부호 추출기(209)는 상기 가산기(206)의 출력으로부터 부호를 추출하여 선택기(211)의 선택 신호로 제공한다. 상기 비교기(210)는 상기 가산기(206)의 출력에 제곱을 취한 후 상수 B와 비교하고 그 비교 결과를 선택기(208)의 선택 신호로 제공한다. 상기 선택기(211)는 상기 부호 추출기(209)에서 추출된 부호에 따라 양의 상수 B 또는 음의 상수 -B를 선택하여 선택기(208)로 출력한다. 상기 선택기(208)는 비교기(210)에서 출력되는 비교 결과에 따라 상기 가산기(206)의 출력 또는 선택기(211)의 출력을 선택하여 지연기(212,213)로 출력한다. 상기 지연기(212)는 상기 선택기(208)의 출력을 clk2에 동기시켜 저장한 후 가산기(218)와 선택기(214)로 출력한다. 상기 clk2는 단위 주기 신호(clk)보다 1/2 만큼 위상이 차이가 나는 클럭이다. 상기 지연기(213)는 상기 선택기(208)의 출력을 단위 주기 신호(clk)에 동기시켜 저장한 후 선택기(214)와 선택기(215), 및 가산기(218)로 출력한다. 상기 가산기(218)는 상기 지연기(212,213)에서 각각 피드백되는 신호를 더하여 선택기(219)로 출력한다. 상기 선택기(219)는 연산 선택 신호(nclk)에 따라 '0' 또는 상기 가산기(218)의 출력 을 선택하여 선택기(217)로 출력한다. 상기 선택기(217)는 모드 선택 신호(mode_sel)가 0이면 상기 선택기(214)에서 피드백되는 신호를 선택하고 1이면 상기 선택기(219)의 출력을 선택하여 상기 가산기(206)에 이전 계수로 피드백한다. 상기 선택기(215)는 연산 선택 신호(nclk)에 따라 선택기(214)의 출력 또는 지연기(213)의 출력을 선택하여 이득부(216)로 출력한다. 상기 이득부(216)는 상기 선택기(215)의 출력을 상수 C로 나누어 제 1 필터 출력부(400)로 출력한다.
상기 제 1 필터 출력부(400)는 상기 제 1 계수 갱신부(200)에서 갱신된 계수와 상기 제 2 데이터 선택부(120)의 출력을 곱하는 곱셈기(401), 및 상기 곱셈기(401)의 출력을 clk1에 동기시켜 저장한 후 출력하는 지연기(402)로 구성된다. 상기 clk1은 단위 주기 신호(clk)보다 1/4 만큼 위상이 늦은 클럭이다. 상기 제 1 필터 출력부(400)에서는 두 개의 값 y0,y1이 출력된다. 즉, 상기 곱셈기(401)의 출력을 지연시킨 지연기(402)의 출력값이 y0이고, 상기 곱셈기(401)의 출력값이 y1이다. 상기 두 값 y0,y1은 필터의 기능에 따라 다른 의미를 갖는다.
상기 제 2 계수 갱신부(300)는 제 3 데이터 선택부(130)에서 선택 출력되는 데이터와 에러 값을 곱하고 곱셈 결과에 피드백되는 이전 계수를 더하여 계수 갱신을 수행하는데, 연산 선택 신호(nclk)에 따라 한 단위 주기 시간 동안 두 개의 계수 c2,c3를 교대로 갱신하여 제 2 필터 출력부(500)로 출력한다.
상기 제 2 계수 갱신부(300)는 좀 더 상세하게는 선택기(301)는 연산 선택 신호(nclk)에 따라 실수 에러 erri 또는, 허수 에러 errq를 선택하여 선택기(302)로 출력한다. 상기 선택기(302)는 모드 선택 신호(mode_sel)가 0이면 실수 에러 erri를 선택하고 1이면 상기 선택기(301)의 출력을 선택하여 곱셈기(303)로 출력한다. 상기 곱셈기(303)는 상기 선택기(302)의 출력과 상기 제 3 데이터 선택부(130)의 선택기(137)의 출력을 곱하여 이득부(304)와 선택기(305)로 출력한다. 상기 이득부(304)는 복소수 필터로 동작할 때 이용되는 것으로서, 상기 곱셈기(303)의 출력에 상수 A를 곱하여 그 크기를 보정한 후 선택기(305)로 출력한다. 상기 선택기(305)는 모드 선택 신호(mode_sel)가 0이면 상기 곱셈기(303)의 출력을 선택하고 1이면 상기 이득부(304)의 출력을 선택하여 가산기(306)로 출력한다. 상기 가산기(306)는 상기 선택기(305)의 출력에 피드백되는 이전 계수를 더하여 포화기(307)로 출력한다.
상기 포화기(307)는 상기 가산기(306)의 출력을 포화(saturation)시켜 계수 저장용 지연기(312,313)로 출력한다. 상기 포화기(307)는 선택기(308), 부호 추출기(309), 비교기(310), 및 선택기(311)를 포함한다. 상기 부호 추출기(309)는 상기 가산기(306)의 출력으로부터 부호를 추출하여 선택기(311)의 선택 신호로 제공한다. 상기 비교기(310)는 상기 가산기(306)의 출력에 제곱을 취한 후 상수 B와 비교하고 그 비교 결과를 선택기(308)의 선택 신호로 제공한다. 상기 선택기(311)는 상기 부호 추출기(309)에서 추출된 부호에 따라 양의 상수 B 또는 음의 상수 -B를 선택하여 선택기(308)로 출력한다. 상기 선택기(308)는 비교기(310)에서 출력되는 비교 결과에 따라 상기 가산기(306)의 출력 또는 선택기(311)의 출력을 선택하여 지연기(312,313)로 출력한다. 상기 지연기(312)는 상기 선택기(308)의 출력을 clk2에 동기시켜 저장한 후 가산기(318)와 선택기(314)로 출력한다. 상기 clk2는 단위 주 기 신호(clk)보다 1/2 만큼 위상이 차이가 나는 클럭이다. 상기 지연기(313)는 상기 선택기(308)의 출력을 단위 주기 신호(clk)에 동기시켜 저장한 후 선택기(314)와 선택기(315), 및 감산기(318)로 출력한다. 상기 감산기(318)는 상기 지연기(312,313)에서 각각 피드백되는 신호의 차를 구하여 선택기(319)로 출력한다. 상기 선택기(319)는 연산 선택 신호(nclk)에 따라 '0' 또는 상기 감산기(318)의 출력을 선택하여 선택기(317)로 출력한다. 상기 선택기(317)는 모드 선택 신호(mode_sel)가 0이면 상기 선택기(314)에서 피드백되는 신호를 선택하고 1이면 상기 선택기(319)의 출력을 선택하여 상기 가산기(306)에 이전 계수로 피드백한다. 상기 선택기(315)는 연산 선택 신호(nclk)에 따라 선택기(314)의 출력 또는 지연기(313)의 출력을 선택하여 이득부(316)로 출력한다. 상기 이득부(316)는 상기 선택기(315)의 출력을 상수 C로 나누어 제 2 필터 출력부(500)로 출력한다.
상기 제 2 필터 출력부(500)는 상기 제 2 계수 갱신부(300)에서 갱신된 계수와 상기 제 4 데이터 선택부(140)의 출력을 곱하는 곱셈기(501), 및 상기 곱셈기(501)의 출력을 clk1에 동기시켜 저장한 후 출력하는 지연기(502)로 구성된다. 상기 clk1은 단위 주기 신호(clk)보다 1/4 만큼 위상이 늦은 클럭이다. 상기 제 2 필터 출력부(500)에서는 두 개의 탭 출력 y2,y3이 출력된다. 즉, 상기 곱셈기(501)의 출력을 지연시킨 지연기(502)의 출력값이 y2이고, 상기 곱셈기(501)의 출력값이 y3이다. 상기 두 값 y2,y3은 필터의 기능에 따라 다른 의미를 갖는다.
여기서, 제 3 데이터 선택부(130)는 제 1 데이터 선택부(110)와 공유할 수 있다. 즉, 제 1 데이터 선택부(110)의 지연기(111)의 결과 xdio와 제 3 데이터 선 택부(130)의 지연기(134)의 결과 xdio는 동일한 신호이므로 제 1, 제 3 데이터 선택부(110,130)에서 둘 중 한 신호만을 이용할 수 있다. 마찬가지로, 제 1 데이터 선택부(110)의 지연기(113)의 출력 xdqo과 제 3 데이터 선택부(130)의 지연기(132)의 결과 xdqo도 동일한 신호이므로 제 1, 제 3 데이터 선택부(110,130)에서 둘 중 한 신호만을 이용할 수 있다. 예를 들어, 제 3 데이터 선택부(130)의 선택기(135)는 지연기(132) 대신 제 1 데이터 선택부(110)의 지연기(113)의 출력 xdqo을 입력받을 수 있다. 또한, 제 3 데이터 선택부(130)의 지연기(136)는 지연기(134) 대신 제 1 데이터 선택부(110)의 지연기(111)의 출력 xdio을 입력받을 수 있다. 이럴 경우 제 3 데이터 선택부(130)의 지연기(132,134)와 선택기(131,133)는 필요없게 된다.
본 발명에서는 설명의 편의를 위해 제 3 데이터 선택부(130)의 지연기(132,134)와 선택기(131,133)를 이용하여 제 2 계수 갱신부(300)에서 계수 갱신을 수행하는 것으로 한다.
또한, 상기된 도 1에서 모드 선택 신호(mode_sel)는 본 발명의 디지털 필터가 4탭 실수 필터로 동작할지, 1탭 복소수 필터로 동작할지를 결정하는 신호이다. 본 발명에서는 mode_sel이 0이면 실수 필터로, 1이면 복소수 필터로 동작하는 것을 실시예로 하고 있다.
도 2의 (a) 내지 (d)는 본 발명에 따른 디지털 필터 구조에 사용되는 클럭과 선택 신호의 위상 관계를 나타내고 있다. 도 2의 (a)의 clk는 단위 시간 주기를 가지는 심볼 클럭이다. 도 2의 (b)의 clk1은 clk보다 단위 시간 주기의 1/4 만큼 위상이 늦은 클럭이다. 도 2의 (c)의 clk2는 clk보다 단위 시간 주기의 1/2 만큼 위상이 차이가 나는 클럭이다. 도 2의 (d)의 nclk는 상기 clk2와 파형은 같으나 미세한 시간 지연이 있는 연산 선택 신호이다. 이때, 상기된 도 1의 선택기들 중에서 nclk를 선택 제어 신호로 사용하는 것은 본 발명의 디지털 필터가 한 심볼 주기 안에 각 연산자들이 두 번의 연산을 하도록 하기 위해 사용된다.
그리고, 상기 모드 선택 신호(mode_sel)와 각 클럭(즉, clk,clk1,clk2,nclk)은 제어부(도시되지 않음)에서 생성되어 본 발명의 디지털 필터로 제공된다고 가정한다.
이와 같이 구성된 본 발명은 도 1의 디지털 필터가 4탭 실수 필터로 동작할 때와 1탭 복소수 필터로 동작할 때를 나누어 설명한다.
도 3a, 도 3b는 도 1의 디지털 필터가 4탭 실수 필터로 동작할 때의 신호 흐름을 보인 것으로서, 굵은 실선으로 표시하고 있다. 이때의 모드 선택 신호(mode_sel)는 '0'이다.
도 4는 도 3a의 각 부의 동작 타이밍도이며, 도 3b의 동작 타이밍도 역시 기본적으로 도 4와 같으며 다만 그 입력값의 차이로 인해 출력값이 차이가 난다. 도 4의 (a) 내지 (d)는 상기된 도 2와 같은 클럭의 예들을 보인 것으로서, 도 4의 (a)의 clk는 심볼 클럭 즉, 단위 주기 신호이고, 도 4의 (b)의 clk1은 (a)의 clk보다 단위 시간 주기의 1/4 만큼 위상이 늦은 클럭이다. 도 4의 (c)의 clk2는 clk보다 단위 시간 주기의 1/2 만큼 위상이 차이가 나는 클럭이고, 도 4의 (d)의 nclk는 상기 clk2와 파형은 같으나 미세한 시간 지연이 있는 연산 선택 신호이다. 그리고, 도 4에서는 상수 연산값(즉, A,B,C)은 표시하지 않았다.
즉, 모드 선택 신호(mode_sel)가 '0'일 때 데이터 입력부(100)의 제 2, 제 4 데이터 선택부(120,140)의 지연기(201,203,142,144)에서는 입력된 데이터 xi를 단위 주기 신호(clk)에 동기시켜 순차적으로 지연시킨다(x1~x4). 그리고, 제 1 내지 제 4 데이터 선택부(110~140)의 각 선택기(114,115,122,124,125,141,143,145,146)는 모드 선택 신호(mode_sel)가 '0'이므로 '0' 입력단으로 입력되는 신호를 선택하여 출력단을 통해 출력한다. 이는 도 3a, 도 3b에 도시된 선택기 중 모드 선택 신호(mode_sel)를 선택 신호로 사용하는 선택기에는 모두 동일하게 적용된다.
따라서, 상기 지연기(201)의 입력 신호 xi(=x0)는 선택기(124)를 통해 선택기(126)로 출력된다.
상기 지연기(201)의 출력 신호 x1은 선택기(122)를 통해 지연기(123)로 출력되어 지연되고, 선택기(125)를 통해 선택기(126)로 출력되며, 제 1 데이터 선택부(110)의 선택기(114)를 통해 선택기(116)로 출력된다.
상기 지연기(123)의 출력 신호 x2는 제 1 데이터 선택부(110)의 선택기(115)를 통해 선택기(116)로 출력되고, 제 4 데이터 선택부(140)의 선택기(141)를 통해 지연기(142)로 출력되어 지연된다. 또한 상기 선택기(141)의 출력은 선택기(145)를 통해 선택기(147)로 출력된다.
상기 지연기(142)의 출력 신호 x3은 선택기(143)를 통해 지연기(144)로 출력되어 지연되고, 선택기(146)를 통해 선택기(147)로 출력되며, 제 3 데이터 선택부(130)의 선택기(135)를 통해 선택기(137)로 출력된다.
상기 지연기(144)의 출력 신호 x4는 제 3 데이터 선택부(130)의 선택기(136)를 통해 선택기(137)로 출력된다.
상기 제 1 내지 제 4 데이터 선택부(110~140)의 선택기(116,126,137,147)는 연산 선택 신호(nclk)에 따라 입력 신호를 선택 출력하는 선택기이다.
상기 연산 선택 신호(nclk)는 도 2의 (c)의 clk2와 파형은 같으나 미세한 시간 지연이 있는 클럭으로서, 본 발명의 디지털 필터가 한 심볼 주기 안에 각 연산자들이 두 번의 연산을 하도록 하기 위해 사용된다. 이는 한 단위 주기 신호(clk) 동안 한 연산자를 두 번 사용하여 두 개의 출력을 구하기 위해서이다.
따라서, 상기 제 1 데이터 선택부(110)의 선택기(116)는 연산 선택 신호(nclk)가 0일때는 선택기(114)의 출력 x1을, 1일때는 선택기(115)의 출력 x2를 선택하여 제 1 계수 갱신부(200)의 곱셈기(203)로 출력한다.
상기 제 3 데이터 선택부(130)의 선택기(137)는 연산 선택 신호(nclk)가 0일때는 선택기(135)의 출력 x3을, 1일때는 선택기(136)의 출력 x4을 선택하여 제 2 계수 갱신부(300)의 곱셈기(303)로 출력한다.
또한 상기 제 2 데이터 선택부(120)의 선택기(126)는 연산 선택 신호(nclk)가 0일때는 선택기(124)의 출력 x0을, 1일때는 선택기(125)의 출력 x1을 선택하여 제 1 필터 출력부(400)의 곱셈기(401)로 출력한다.
상기 제 4 데이터 선택부(140)의 선택기(147)는 연산 선택 신호(nclk)가 0일때는 선택기(145)의 출력 x2을, 1일때는 선택기(146)의 출력 x3을 선택하여 제 2 필터 출력부(500)의 곱셈기(501)로 출력한다.
본 발명의 디지털 필터가 실수 필터로 동작할 때, 즉 모드 선택 신호(mode_sel)가 '0'일 때 제 1, 제 2 계수 갱신부(200,300)에서 이루어지는 각 탭의 계수 갱신식은 다음의 수학식 1과 같다.
c1(n+1) = c1(n) + x2(n) * erri(n)
c2(n+1) = c2(n) + x3(n) * erri(n)
c3(n+1) = c3(n) + x4(n) * erri(n)
여기서, x1(n), x2(n), x3(n), x4(n)는 실수 입력 xi가 데이터 입력부(100)의 심볼 클럭 지연기(121,123,142,144)에 의해 한 번에서 네 번까지 단위 주기 신호(clk)에 동기되어 차례대로 지연된 신호이다. 그리고, c1(n),c2(n),c2(n),c4(n)은 현재 시간의 필터 계수, c1(n+1),c2(n+1),c3(n+1),c4(n+1)은 다음 시간의 필터 계수 즉, 업데이트된 필터 계수, 그리고 erri(n)은 실수 에러 값이다.
즉, 도 4의 (h)와 같이 제 1 계수 갱신부(200)의 곱셈기(203)는 연산 선택 신호(nclk)가 '0'일 때는 제 1 데이터 선택부(110)에서 선택 출력되는 신호 x1과 실수 에러 erri를 곱한 후 선택기(205)를 통해 가산기(206)로 출력하고(x1*erri), 연산 선택 신호(nclk)가 '1'일 때는 출력 신호 x2와 실수 에러 erri를 곱한 후 선택기(205)를 통해 가산기(206)로 출력한다(x2*erri). 상기 실수 에러 erri는 선택기(202)를 통해 상기 곱셈기(203)로 제공된다.
상기 가산기(206)는 도 4의 (i)와 같이 상기 선택기(205)의 출력값과 피드백되는 이전 계수값을 더하여 계수 갱신을 수행한 후 포화기(207)로 출력한다.
상기 포화기(207)는 상기 가산기(206)의 출력이 일정값 이상으로 포화하면 기 설정된 값(예를 들어, B 또는, -B)으로 제한하여 출력하고, 포화하지 않으면 상기 가산기(206)의 출력을 그대로 출력한다. 이를 위해 부호 추출기(209)는 상기 가산기(206)의 출력으로부터 부호를 추출하여 선택기(211)의 선택 신호로 출력한다. 상기 선택기(211)는 상기 부호 추출기(209)에서 추출된 부호가 플러스(+)이면 양의 상수 B를 선택하고, 마이너스(-)이면 음의 상수 -B를 선택하여 선택기(208)로 출력한다. 또한, 비교기(210)는 상기 가산기(206)의 출력에 절대값을 취한 후 이 절대값이 상수 B보다 큰지를 비교한다. 그리고 비교 결과를 상기 선택기(208)로 출력한다. 상기 선택기(208)는 상기 비교기(210)에서 절대값이 상수 B보다 크다고 판별되면 선택기(211)의 출력을, 크지 않다고 판별되면 가산기(206)의 출력을 선택하여 지연기(212,213)로 출력한다.
상기 지연기(212)는 도 4의 (j)와 같이 clk2에 동기되어 상기 포화기(207)의 출력을 저장한 후 선택기(214)에 계수 c0(=c0+x1erri)으로 출력하고, 지연기(213)는 도 4의 (k)와 같이 clk에 동기되어 상기 포화기(207)의 출력을 저장한 후 선택기(214)에 계수 c1(=c1+x2erri)으로 출력한다.
상기 선택기(214)는 연산 선택 신호(nclk)가 0일때는 계수 c0를 선택하고, 1일때는 계수 c1을 선택하여 선택기(215)를 통해 이득부(216)로 출력함과 동시에 선택기(217)를 통해 가산기(206)로 출력한다. 즉, 상기 가산기(206)는 연산 선택 신호(nclk)가 0일때는 선택기(205)에서 출력되는 x1*erri와 선택기(217)를 통해 피드 백되는 이전 계수 c0를 더하여 계수 c0에 대한 갱신을 수행한다. 또한, 연산 선택 신호(nclk)가 1일때는 선택기(205)에서 출력되는 x2*erri와 선택기(217)를 통해 피드백되는 이전 계수 c1를 더하여 계수 c1에 대한 갱신을 수행한다.
한편, 상기 이득부(216)는 상기 선택기(215)에서 출력되는 갱신된 계수(c0 또는, c1)를 상수 C로 나누어 제 1 필터 출력부(400)의 곱셈기(401)로 출력한다. 상기 곱셈기(401)는 도 4의 (e)와 같이 상기 이득부(216)의 출력에 제 2 데이터 선택부(120)의 선택부(126)에서 선택 출력되는 데이터를 곱하여 그대로 출력함과 동시에 clk1에 동기되어 동작하는 지연기(402)를 통해 출력한다. 즉, 상기 곱셈기(401)는 연산 선택 신호(nclk)가 0일때는 이득부(216)에서 계수 c0를 상수 C로 나눈 값(c0/C)과 상기 선택기(126)에서 선택 출력되는 x0를 곱하여 출력하고, 1일때는 이득부(216)에서 계수 c1을 상수 C로 나눈 값(c1/C)과 상기 선택기(126)에서 선택 출력되는 x1를 곱하여 출력한다. 여기서, 설명의 편의를 위하여 상수 C는 도면 및 설명에서 생략한다.
이때, 상기 곱셈기(401)의 출력은 그대로 출력됨과 동시에 지연기(402)를 통해서 출력된다. 상기 지연기(402)는 clk1에 동기되어 곱셈기(401)의 출력을 저장한 후 출력한다. 상기 clk1은 도 2의 (b)와 같이 clk보다 단위 시간 주기의 1/4 만큼 위상이 늦은 클럭이다. 즉, 도 4의 (f)와 같이 상기 곱셈기(401)에서 출력되는 x0*c0는 지연기(402)를 통해 y0값으로 출력되고(y0=x0*c0), 도 4의 (g)와 같이 상기 곱셈기(401)에서 출력되는 x1*c1은 지연기(402)를 거치지 않고 그대로 y1값으로 출력된다(y1=x1*c1).
이와 같이 상기 두 탭의 출력 y0,y1은 한 단위 주기 시간(clk)에 구해진다. 즉, 한 단위 주기 시간 동안 한 연산자(즉, 연산 선택 신호를 선택 신호로 입력받는 선택기)를 두 번 사용하여 두 개의 출력을 구한다.
한편, 상기 제 2 계수 갱신부(300)와 제 2 필터 출력부(500)도 상기된 제 1 계수 갱신부(200), 및 제 1 필터 출력부(400)와 똑같은 과정으로 두 탭의 계수 c2,c3를 갱신하고 출력 y2,y3을 구한다.
본 발명의 디지털 필터가 실수 필터로 동작할 경우, 상기 제 1 계수 갱신부(200)와 제 2 계수 갱신부(300)는 데이터 입력부(100)에서 제공되는 입력 신호만 다를 뿐 계수 갱신 과정은 동일하다. 즉, 상기 제 2 계수 갱신부(300)의 곱셈기(303)는 연산 선택 신호(nclk)가 0일때는 제 3 데이터 선택부(130)에서 선택 출력되는 데이터 x2와 실수 에러 erri를 곱하여 출력하고, 1일때는 제 3 데이터 선택부(130)에서 선택 출력되는 데이터 x3와 실수 에러 erri를 곱하여 출력한다. 이후의 동작은 상기된 제 1 계수 갱신부(200)와 동일하므로 상세 설명을 생략한다.
마찬가지로, 본 발명의 디지털 필터가 실수 필터로 동작할 경우 상기 제 1 필터 출력부(400)와 제 2 필터 출력부(500)도 입력되는 신호만 다를뿐 두 탭의 출력 과정은 동일하다. 즉, 제 2 필터 출력부(500)의 곱셈기(501)는 연산 선택 신호(nclk)가 0일때는 제 2 계수 갱신부(300)에서 출력되는 갱신된 계수 c2에 상기 제 4 데이터 선택부(140)의 선택기(147)에서 선택 출력되는 데이터 x2를 곱하여 출력하고(x2*c2), 1일때는 제 2 계수 갱신부(300)에서 출력되는 갱신된 계수 c3에 상기 제 4 데이터 선택부(140)의 선택기(147)에서 선택 출력되는 데이터 x3을 곱하여 출력한다(x3*c3). 이때 상기 곱셈기(501)에서 출력되는 x2*c2는 지연기(502)를 통해 y2값으로 출력되고(y2=x2*c2), 상기 곱셈기(501)에서 출력되는 x3*c3은 지연기(502)를 거치지 않고 그대로 y3값으로 출력된다(y3=x3*c3).
따라서, 본 발명의 디지털 필터가 실수 필터로 동작할 때 제 1, 제 2 필터 출력부(400,500)를 통해 출력되는 4탭의 출력(y0~y3)은 다음의 수학식 2와 같다.
y1 = x1 * c1
y2 = x2 * c2
y3 = x3 * c3
여기서, x0는 입력 신호 xi이고, x1, x2, x3는 실수 입력 xi가 데이터 입력부(100)의 심볼 클럭 지연기(121,123,142)에 의해 한 번에서 세 번까지 단위 주기 신호(clk)에 동기되어 차례대로 지연된 신호이다. c0, c1, c2, 그리고 c3는 각 탭의 갱신된 계수이다.
그리고, 상기 필터 출력(y0~y3)의 합은 도 4의 (a)에 표시된 합 구간(summation period)에서 구할 수 있다.
이와 같이 본 발명의 디지털 필터는 모드 선택 신호(mode_sel)가 0일 때 4개의 탭 출력을 갖는 4탭 실수 필터로 동작한다.
이와 같이 본 발명의 디지털 필터는 모드 선택 신호(mode_sel)가 0일 때 4개의 탭 출력을 갖는 4탭 실수 필터로 동작한다.
삭제
한편, 도 5a, 도 5b는 상기된 도 1의 디지털 필터가 1탭 복소수 필터로 동작할 때의 신호 흐름을 보인 것으로서, 굵은 실선으로 표시하고 있다. 이때의 모드 선택 신호(mode_sel)는 '1'이다.
도 6의 (a) 내지 (k)는 도 5a의 각 부의 동작 타이밍도이고, 도 5b의 동작 타이밍도 역시 기본적으로 도 6과 같으며 다만 그 입력값의 차이로 인해 출력값이 차이가 난다. 도 6의 (a) 내지 (d)는 상기된 도 4의 (a) 내지 (d)와 같은 클럭이므로 상세 설명을 생략한다. 그리고, 도 6에서도 상수 연산값(즉, A,B,C)은 표시하지 않았다.
즉, 필터가 복소수 필터로 동작하려면 실수 입력과 허수 입력이 모두 필요하다. 또한, 모드 선택 신호(mode_sel)가 '1'이므로 제 1 내지 제 4 데이터 선택부(110~140)의 각 선택기(114,115,122,124,125,141,143,145,146)는 '1' 입력단으로 입력되는 신호를 선택하여 출력단을 통해 출력한다. 이는 도 5a, 도 5b에 도시된 선택기 중 모드 선택 신호(mode_sel)를 선택 신호로 사용하는 선택기에는 모두 동일하게 적용된다. 그리고, 상기 제 1 내지 제 4 데이터 선택부(110~140)의 각 지연기(111,113,121,123,132,134,142,144)에서는 입력된 각 데이터를 단위 주기 신호(clk)에 동기시켜 지연한 후 출력한다.
따라서, 지연된 실수 데이터 xdi는 제 1 데이터 선택부(110)의 지연기(111)로 입력되고, 제 3 데이터 선택부(130)의 선택기(133)를 통해 지연기(134)로 입력되어 단위 주기 신호(clk) 동안 지연된다.
지연된 허수 데이터 xdq는 제 1 데이터 선택부(110)의 선택기(112)를 통해 지연기(113)로 입력되고, 제 3 데이터 선택부(130)의 선택기(131)를 통해 지연기(132)로 입력되어 단위 주기 신호(clk) 동안 지연된다.
입력 실수 데이터 xi는 제 2 데이터 선택부(120)의 지연기(121)로 입력되고, 제 4 데이터 선택부(140)의 선택기(143)를 통해 지연기(144)로 입력되어 단위 주기 신호(clk) 동안 지연된다.
입력 허수 데이터 xq는 제 2 데이터 선택부(120)의 선택기(122)를 통해 지연기(123)로 입력되고, 제 4 데이터 선택부(140)의 선택기(141)를 통해 지연기(142)로 입력되어 단위 주기 신호(clk) 동안 지연된다.
그리고, 상기 제 1 데이터 선택부(110)의 지연기(111)의 출력 xdio는 선택기(114)를 통해 선택기(116)로 출력되고, 상기 지연기(112)의 출력 xdqo는 선택기(115)를 통해 선택기(116)로 출력된다. 상기 선택기(116)는 연산 선택 신호(nclk)가 0일때는 상기 선택기(114)의 출력 xdio을 선택하고, 1일때는 선택기(115)의 출력 xdqo을 선택하여 제 1 계수 갱신부(200)의 곱셈기(203)로 출력한다.
상기 제 2 데이터 선택부(120)의 지연기(121)의 출력 xio은 선택기(124)를 통해 선택기(126)로 출력되고, 지연기(123)의 출력 xqo는 선택기(125)를 통해 선택기(126)로 출력된다. 상기 선택기(126)는 연산 선택 신호(nclk)가 0일때는 상기 선택기(124)의 출력 xio을 선택하고, 1일때는 선택기(125)의 출력 xqo을 선택하여 제 1 필터 출력부(400)의 곱셈기(501)로 출력한다.
상기 제 3 데이터 선택부(130)의 지연기(132)의 출력 xdqo은 선택기(135)를 통해 선택기(137)로 출력되고, 지연기(134)의 출력 xdio은 선택기(136)를 통해 선택기(137)로 출력된다. 상기 선택기(137)는 연산 선택 신호(nclk)가 0일때는 상기 선택기(135)의 출력 xdqo을 선택하고, 1일때는 선택기(136)의 출력 xdio을 선택하여 제 2 계수 갱신부(300)의 곱셈기(303)로 출력한다.
상기 제 4 데이터 선택부(140)의 지연기(142)의 출력 xqo은 선택기(145)를 통해 선택기(147)로 출력되고, 지연기(144)의 출력 xio은 선택기(146)를 통해 선택기(147)로 출력된다. 상기 선택기(147)는 연산 선택 신호(nclk)가 0일때는 상기 선택기(145)의 출력 xqo을 선택하고, 1일때는 선택기(146)의 출력 xio을 선택하여 제 2 필터 출력부(500)의 곱셈기(501)로 출력한다.
이때, 상기된 데이터 입력부(100)의 제 1, 제 3 데이터 선택부(110,130)는 동일한 실수, 허수 데이터(xdi,xdq)를 각각 입력받아 한 단위 주기 시간 즉, 심볼 클럭 만큼 지연된 동일한 출력 데이터(xdio,xdqo)를 각각 생성하고, 제 2, 제 4 데이터 선택부(120,140)도 마찬가지로 동일한 실수, 허수 데이터(xi,xq)를 각각 입력받아 한 단위 주기 시간만큼 지연된 동일한 출력 데이터(xio,xqo)를 각각 생성한다. 따라서, 상기 제 1, 제 2 계수 갱신부(200,300)는 상기된 제 1, 제 3 데이터 선택부(110,130)에서 각각 입력을 제공받을 수도 있고, 제 1 데이터 선택부(110) 또는, 제 3 데이터 선택부(130)에서만 입력을 제공받을 수도 있다. 이는 설계자에 의해 달라지므로 상기된 실시예로 제한되지 않을 것이다.
본 발명에서는 제 1 계수 갱신부(200)는 제 1 데이터 선택부(110)에서, 제 2 계수 갱신부(300)는 제 3 데이터 선택부(130)에서 계수 갱신에 이용한 데이터를 제공받는 것을 실시예로 한다.
그리고, 본 발명의 디지털 필터가 복소수 필터로 동작할 때, 즉 모드 선택 신호(mode_sel)가 '1'일 때 제 1, 제 2 계수 갱신부(200,300)에서 이루어지는 각 탭의 계수 갱신식은 다음의 수학식 3과 같다. 이때, 계수가 복소수이므로 실수 계수 부분과 허수 계수 부분으로 나누어져 연산된다.
허수 계수: qcoef(n+1) = -erri * xdqo + errq * xdio + qcoef(n)
도 1의 디지털 필터 구조에서 실수 필터의 c1 계수가 상기된 수학식 3과 같이 복소수 필터의 실수 계수 icoef가 되고, 실수 필터의 c3 계수가 복소수 필터의 허수 계수 qcoef가 된다.
그리고, 상기된 수학식 3에서 erri는 실수 에러이고, errq는 허수 에러이다. xdio는 입력 xdi가 한 심볼 지연된 것이고, xdqo는 입력 xdq가 한 심볼 지연된 것이다. 상기 icoef(n), qcoef(n)은 현재 시간의 필터 계수, 상기 icoef(n+1), qcoef(n+1)은 다음 시간의 필터 계수 즉, 업데이트된 필터 계수이다.
즉, 도 6의 (h)와 같이 제 1 계수 갱신부(200)의 곱셈기(203)는 연산 선택 신호(nclk)가 '0'일 때는 제 1 데이터 선택부(110)에서 선택 출력되는 실수 신호 xdio과 실수 에러 erri를 곱하여 이득부(204)로 출력하고, 상기 이득부(204)는 곱셈 결과 xdio*erri에 A를 곱한 후 선택기(205)를 통해 가산기(206)로 출력한다(xdio*erri*A). 또한, 상기 곱셈기(203)는 연산 선택 신호(nclk)가 '1'일 때는 제 1 데이터 선택부(110)에서 선택 출력되는 허수 신호 xdqo과 허수 에러 errq를 곱하여 이득부(204)로 출력하고, 상기 이득부(204)는 곱셈 결과 xdqo*errq 에 A를 곱한 후 선택기(205)를 통해 가산기(206)로 출력한다(xdqo*errq*A). 이를 위해 선택기(201)는 연산 선택 신호(nclk)가 0일때는 실수 에러 erri를 선택하고, 1일때는 허수 에러 errq를 선택한 후 선택기(202)를 통해 곱셈기(203)로 출력한다. 상기 A는 스케일을 보정하기 위한 상수이다.
상기 가산기(206)는 도 6의 (i)와 같이 상기 선택기(205)의 출력값과 피드백되는 이전 계수값을 더하여 계수 갱신을 수행한 후 포화기(207)로 출력한다.
상기 포화기(207)는 상기 가산기(206)의 출력에 절대치를 취한 후 이 절대치 값이 일정값(예를 들어, B)을 넘으면 일정값(예를 들어, B 또는, -B)으로 제한하여 지연기(212,213)로 출력하고, 상기 일정값을 넘지 않으면 즉, 포화하지 않으면 상기 가산기(206)의 출력을 그대로 상기 지연기(212,213)로 출력한다. 상기 포화기(207)의 상세 동작은 4탭 실수 필터에서 설명하였으므로 1탭 복소수 필터에서는 상세 동작 설명을 생략한다.
상기 지연기(212)는 clk2에 동기되어 상기 포화기(207)의 출력을 저장한 후 가산기(218)로 피드백하고, 상기 지연기(213)는 clk에 동기되어 상기 포화기(207)의 출력을 저장한 후 가산기(218)로 피드백한다. 상기 가산기(218)는 상기 지연기(212,213)에서 각각 출력되는 계수 값을 더하여 선택기(219)로 출력한다. 이때, 상기 지연기(213)의 출력은 실수 계수 icoef로서 선택기(215)와 이득부(216)를 통해 제 1 필터 출력부(400)의 곱셈기(401)에도 출력된다.
상기 선택기(219)는 연산 선택 신호(nclk)가 0일때는 '0'을 선택하고, 1일때는 상기 가산기(218)의 출력을 선택한 후 선택기(217)를 통해 가산기(206)로 출력 한다.
즉, 상기 도 6의 (j)와 같이 지연기(212)에서 출력되는 계수 xdio*erri와 도 6의 (k)와 같이 지연기(213)에서 출력되는 이전 실수 계수 icoef가 가산기(218)에서 더해지고, 그 가산 결과(xdio*erri+icoef)는 선택기(219)로 입력되는 연산 선택 신호(nclk)가 1일 때 상기 선택기(218)와 선택기(217)를 통해 가산기(206)로 입력된다. 상기 선택기(219)는 연산 선택 신호(nclk)가 0일때는 0을 선택한 후 선택기(217)를 통해 가산기(206)로 출력한다. 따라서, 상기 가산기(206)는 연산 선택 신호(nclk)가 0일때는 상기 곱셈기(203)에서 출력되는 값 xdio*erri를 그대로 포화부(207)로 출력하고, 1일때는 상기 곱셈기(203)에서 출력되는 값 xdiq*errq에 상기 선택기(217)의 출력 (xdio*erri+icoef)을 더하여 포화부(207)로 출력한다. 상기 포화부(207)의 출력값이 도 6의 (i)와 같이 갱신된 계수값 newc0이다. 이때 각 계수를 갱신하기 위해서는 복소 계수 갱신을 해야 한다. 따라서, 상기 갱신 계수값 newc0 중 xdio*erri는 clk2에 동기되어 동작하는 지연기(212)를 통해 도 6의 (j)와 같이 출력되고, icoef+xdio*erri+xdqo*errq는 clk에 동기되어 동작하는 지연기(213)를 통해 도 6의 (k)와 같이 출력되며, 상기 지연기(212,213)의 출력값은 가산기(218)로 피드백된다.
또한, 본 발명에서 1탭 복소수 필터는 4탭 실수 필터의 4개의 계수 중 2개의 계수만이 유효한 계수로 사용된다. 즉, 도 3a에서는 c1 계수가 실수 계수 icoef로 사용되고, 도 3b에서는 c3 계수가 허수 계수 qcoef로 사용된다. 상기 실수 계수 icoef는 선택기(215)와 이득부(216)를 거쳐 제 1 필터 출력부(400)의 곱셈기(401) 로 출력된다. 상기 허수 계수 qcoef는 선택기(315)와 이득부(316)를 거쳐 제 2 필터 출력부(500)의 곱셈기(501)로 출력된다.
상기 곱셈기(401)는 도 6의 (e)와 같이 상기 이득부(216)에서 출력되는 실수 계수 icoef에 제 2 데이터 선택부(120)의 선택부(126)에서 선택 출력되는 데이터(xio 또는 xqo)를 곱하여 그대로 출력함과 동시에 clk1에 동기되어 동작하는 지연기(402)를 통해 출력한다. 상기 지연기(402)는 clk1에 동기되어 곱셈기(401)의 출력을 지연한 후 출력한다. 즉, 상기 곱셈기(401)는 연산 선택 신호(nclk)가 0일때는 이득부(216)에서 출력되는 실수 계수 icoef에 상기 선택기(126)에서 선택 출력되는 실수 데이터 xio를 곱하여 출력하고, 1일때는 이득부(216)에서 출력되는 실수 계수 icoef에 상기 선택기(126)에서 선택 출력되는 허수 데이터 xqo를 곱하여 출력한다. 여기서, 설명의 편의를 위하여 이득부(216)의 상수 C는 도면 및 설명에서 생략한다.
그리고, 상기 연산 선택 신호(nclk)가 0일 때 곱셈기(401)에서 출력되는 xio*icoef는 도 6의 (f)와 같이 지연기(402)를 통해 y0값으로 출력되고(y0=xio*icoef), 상기 연산 선택 신호(nclk)가 1일 때 상기 곱셈기(401)에서 출력되는 xqo*icoef는 지연기(402)를 거치지 않고 그대로 y1값으로 출력된다(y1=xqo*icoef).
이와 같이 상기 두 출력 y0,y1은 한 단위 주기 시간(clk)에 구해진다. 즉, 한 단위 주기 시간 동안 한 연산자(즉, 연산 선택 신호를 선택 신호로 입력받는 선택기)를 두 번 사용하여 두 개의 출력을 구한다.
한편, 상기 제 2 계수 갱신부(300)와 제 2 필터 출력부(500)도 상기된 제 1 계수 갱신부(200), 및 제 1 필터 출력부(400)와 똑같은 과정으로 허수 계수 qcoef를 갱신하고 두 출력 y2,y3을 구한다.
본 발명의 디지털 필터가 복소수 필터로 동작할 경우, 상기 제 1 계수 갱신부(200)와 제 2 계수 갱신부(300)는 데이터 입력부(100)에서 제공되는 입력 신호가 다르고, 제 1 계수 갱신부(200)의 가산기(218)가 제 2 계수 갱신부(300)에서 감산기(318)로 바뀌는 것을 제외하고는 구성 및 동작이 동일하다.
즉, 상기 제 2 계수 갱신부(300)의 곱셈기(303)는 연산 선택 신호(nclk)가 0일때는 제 3 데이터 선택부(130)에서 선택 출력되는 허수 데이터 xdqo와 실수 에러 erri를 곱하여 출력하고, 1일때는 제 3 데이터 선택부(130)에서 선택 출력되는 실수 데이터 xdio와 허수 에러 errq를 곱하여 출력한다. 또한, 상기 감산기(218)는 지연기(313)에서 피드백되는 이전 허수 계수 qcoef로부터 지연기(312)에서 피드백되는 계수 xdqo*erri를 뺀 후 선택기(317)를 통해 가산기(306)로 출력한다. 이후의 동작은 상기된 제 1 계수 갱신부(200)와 동일하므로 상세 설명을 생략한다.
마찬가지로, 본 발명의 디지털 필터가 복소수 필터로 동작할 경우 상기 제 1 필터 출력부(400)와 제 2 필터 출력부(500)도 입력되는 신호만 다를뿐 두 출력 과정은 동일하다. 즉, 제 2 필터 출력부(500)의 곱셈기(501)는 연산 선택 신호(nclk)가 0일때는 제 2 계수 갱신부(300)에서 갱신된 허수 계수 qcoef에 상기 제 4 데이터 선택부(140)의 선택기(147)에서 선택 출력되는 허수 데이터 xqo를 곱하여 출력하고(xqo*qcoef), 1일때는 제 2 계수 갱신부(300)에서 갱신된 허수 계수 qcoef에 상기 제 4 데이터 선택부(140)의 선택기(147)에서 선택 출력되는 실수 데이터 xio을 곱하여 출력한다(xio*qcoef). 이때 상기 곱셈기(501)에서 출력되는 xqo*qcoef는 지연기(502)를 통해 y2값으로 출력되고(y2=xqo*qcoef), 상기 곱셈기(501)에서 출력되는 xio*qcoef은 지연기(502)를 거치지 않고 그대로 y3값으로 출력된다(y3=xio*qcoef).
따라서, 본 발명의 디지털 필터가 복소수 필터로 동작할 때 제 1, 제 2 필터 출력부(400,500)를 통해 출력되는 1탭 복소수 필터의 실수 출력과 허수 출력은 다음의 수학식 4와 같다.
허수 출력 = y1+y3 = xqo * icoef + xio * qcoef
여기서, xio는 xi의 한 심볼 지연된 신호이고, xqo는 xq의 한 심볼 지연된 신호이다. 그리고 icoef는 실수 계수이고, qcoef는 허수 계수이다.
그리고, 도 6의 (a)의 합 구간(summation period)에서 xio*icoef와 xqo*icoef가 동시에 출력되고, xio*qcoef와 xqo*qcoef가 동시에 출력된다. 그러므로 상기 합 구간에서 y0-y2, y1+y3를 수행하면 실수 출력과 허수 출력을 구할 수 있다.
따라서 본 발명의 디지털 필터는 모드 선택 신호(mode_sel)가 1일 때 1개의 탭 출력을 갖는 1탭 복소수 필터로 동작한다.
이와 같이 본 발명에서 제안하는 디지털 필터는 4탭의 실수 필터와 1탭의 복 소수 필터를 결합하고, 한 단위 시간 주기 안에 필터의 출력을 얻으면서, 하나의 연산자가 한 심볼 클럭(한 단위 시간 주기)안에 두 번의 연산을 수행하게 한다. 이로 인해 실수 필터와 복소수 필터가 한 심볼 클럭 동안 하나의 연산자로 한 번의 연산을 수행하는 종래의 필터에 비교할 때 본 발명에서는 사용되는 승산기와 가산기의 숫자를 약 69%(18/26) 줄일 수 있다.
이상에서와 같이 본 발명에 따른 디지털 필터에 의하면, 4탭의 실수 필터와 1탭의 복소수 필터를 결합하고, 한 단위 시간 주기 안에 필터의 출력을 얻으면서, 동시에 하나의 연산자가 한 심볼 클럭(한 단위 시간 주기)안에 두 번의 연산을 수행하는 구조를 사용함으로써, 종래의 LMS 적응 필터를 이용하여 실수 필터와 복소수 필터를 구현했을 때 발생할 수 있는 필터 크기의 문제를 해결할 수 있다 즉, 본 발명에서는 승산기와 가산기의 숫자를 약 69%(18/26) 줄일 수 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.
Claims (15)
- 실수 필터와 복소수 필터 동작을 결정하는 모드 선택 신호와 단위 주기 신호동안 해당 연산자들이 두 번의 연산을 하도록 제어하는 연산 선택 신호를 생성하여 출력하는 제어부;4개의 데이터 선택부로 구성되며, 상기 각 데이터 선택부는 입력되는 실수 데이터와 허수 데이터를 상기 모드 선택 신호에 따라 선택하여 각각 지연시키고, 입력된 데이터와 지연된 데이터들을 다시 모드 선택 신호와 연산 선택 신호에 따라 선택한 후 계수 갱신 및 필터 출력을 위해 출력하는 데이터 입력부;상기 데이터 입력부의 제1 데이터 선택부에서 선택 출력되는 데이터에 모드 선택 신호와 연산 선택 신호에 의해 선택되는 에러 값을 곱하고, 곱셈 결과에 모드 선택 신호와 연산 선택 신호에 의해 선택되는 이전 계수를 더하여 한 단위 주기 시간 동안 실수 필터의 두 개의 계수 또는 복소수 필터의 실수 계수 갱신을 수행하는 제 1 계수 갱신부;상기 데이터 입력부의 제3 데이터 선택부에서 선택 출력되는 데이터에 모드 선택 신호와 연산 선택 신호에 의해 선택되는 에러 값을 곱하고, 곱셈 결과에 모드 선택 신호와 연산 선택 신호에 의해 선택되는 이전 계수를 더하여 한 단위 주기 시간 동안 실수 필터의 두 개의 계수 또는 복소수 필터의 허수 계수 갱신을 수행하는 제 2 계수 갱신부;상기 데이터 입력부의 제2 데이터 선택부에서 한 단위 주기 시간동안 선택 출력되는 두 개의 데이터에 상기 제 1 계수 갱신부에서 출력되는 실수 필터의 두 개의 계수 또는 복소수 필터의 실수 계수를 곱하여 한 단위 주기 시간 동안 실수 필터의 두 탭 출력 또는 복소수 필터의 두 출력을 생성하는 제 1 필터 출력부; 그리고상기 데이터 입력부의 제4 데이터 선택부에서 한 단위 주기 시간동안 선택 출력되는 두 개의 데이터에 상기 제 2 계수 갱신부에서 출력되는 실수 필터의 두 개의 계수 또는 복소수 필터의 허수 계수를 곱하여 한 단위 주기 시간 동안 실수 필터의 두 탭 출력 또는 복소수 필터의 두 출력을 생성하는 제 2 필터 출력부를 포함하여 구성되는 것을 특징으로 하는 디지털 필터.
- 제 1 항에 있어서,상기 연산 선택 신호는 단위 주기 시간을 가진 심볼 클럭(clk)과 1/2 위상 차이가 나는 클럭을 기 설정된 시간만큼 지연시킨 클럭인 것을 특징으로 하는 디지털 필터.
- 제 1 항에 있어서, 상기 데이터 입력부는기 설정된 시간만큼 각각 지연된 실수 데이터와 허수 데이터들 중 모드 선택 신호와 연산 선택 신호에 의해 단위 주기 시간 동안 두 개의 데이터를 선택하여 제 1 계수 갱신부로 출력하는 제 1 데이터 선택부와,지연없이 입력되는 실수 데이터와 허수 데이터를 각각 지연시키고 상기 입력된 데이터와 지연된 데이터들 중 모드 선택 신호와 연산 선택 신호에 의해 단위 주기 시간 동안 두 개의 데이터를 선택하여 제 1 필터 출력부로 출력하는 제 2 데이 터 선택부와,기 설정된 시간만큼 각각 지연된 실수 데이터와 허수 데이터들 중 모드 선택 신호와 연산 선택 신호에 의해 단위 주기 시간 동안 두 개의 데이터를 선택하여 제 2 계수 갱신부로 출력하는 제 3 데이터 선택부와,지연없이 입력되는 실수 데이터와 허수 데이터 그리고, 상기 제 2 데이터 선택부에서 입력된 데이터를 다시 각각 지연시키고 입력된 데이터와 지연된 데이터들 중 모드 선택 신호와 연산 선택 신호에 의해 단위 주기 시간 동안 두 개의 데이터를 선택하여 제 2 필터 출력부로 출력하는 제 4 데이터 선택부로 구성되는 것을 특징으로 하는 디지털 필터.
- 제 3 항에 있어서, 상기 제 1 데이터 선택부는지연되어 입력되는 실수 데이터를 단위 주기 신호에 동기시켜 지연하는 제 1 지연기와,지연되어 입력되는 허수 데이터와 상기 제 1 지연기에서 지연된 실수 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 1 선택기와,상기 제 1 선택기에서 출력되는 데이터를 단위 주기 신호에 동기시켜 지연하는 제 2 지연기와,상기 제 2 데이터 선택부에서 출력되는 데이터와 상기 제 1 지연기에서 지연된 실수 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 2 선택기와,상기 제 2 데이터 선택부에서 출력되는 데이터와 상기 제 2 지연기에서 지연 된 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 3 선택기와,상기 제 2, 제 3 선택기에서 출력되는 데이터를 연산 선택 신호에 의해 한 단위 주기 신호 동안 순차적으로 상기 제 1 계수 갱신부로 출력하는 제 4 선택기로 구성되는 것을 특징으로 하는 디지털 필터.
- 제 3 항에 있어서, 상기 제 2 데이터 선택부는지연없이 입력되는 실수 데이터를 단위 주기 신호에 동기시켜 지연하는 제 1 지연기와,지연없이 입력되는 허수 데이터와 상기 제 1 지연기에서 지연된 실수 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 1 선택기와,상기 제 1 선택기에서 출력되는 데이터를 단위 주기 신호에 동기시켜 지연하는 제 2 지연기와,지연없이 입력되는 실수 데이터와 제 1 지연기에서 지연된 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 2 선택기와,상기 제 1 지연기에서 지연된 데이터와 제 2 지연기에서 지연된 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 3 선택기와,상기 제 2, 제 3 선택기에서 출력되는 데이터를 연산 선택 신호에 의해 한 단위 주기 신호동안 순차적으로 상기 제 1 필터 출력부로 출력하는 제 4 선택기로 구성되는 것을 특징으로 하는 디지털 필터.
- 제 3 항에 있어서, 상기 제 3 데이터 선택부는지연되어 입력되는 허수 데이터와 상기 제 1 데이터 선택부의 제 2 지연기에서 지연된 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 1 선택기와,상기 제 1 선택기에서 출력되는 데이터를 단위 주기 신호에 동기시켜 지연하는 제 1 지연기와,지연되어 입력되는 실수 데이터와 상기 제 1 지연기에서 지연된 실수 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 2 선택기와,상기 제 2 선택기에서 출력되는 데이터를 단위 주기 신호에 동기시켜 지연하는 제 2 지연기와,상기 제 4 데이터 선택부에서 출력되는 데이터와 상기 제 1 지연기에서 지연된 허수 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 3 선택기와,상기 제 4 데이터 선택부에서 출력되는 데이터와 상기 제 2 지연기에서 지연된 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 4 선택기와,상기 제 3, 제 4 선택기에서 출력되는 데이터를 연산 선택 신호에 의해 한 단위 주기 신호 동안 순차적으로 상기 제 2 계수 갱신부로 출력하는 제 5 선택기로 구성되는 것을 특징으로 하는 디지털 필터.
- 제 3 항에 있어서, 상기 제 4 데이터 선택부는지연없이 입력되는 허수 데이터와 상기 제 2 데이터 선택부의 제 2 지연기에서 지연된 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 1 선택기와,상기 제 1 선택기에서 출력되는 데이터를 단위 주기 신호에 동기시켜 지연하는 제 1 지연기와,지연없이 입력되는 실수 데이터와 상기 제 1 지연기에서 지연된 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 2 선택기와,상기 제 2 선택기에서 출력되는 데이터를 단위 주기 신호에 동기시켜 지연하는 제 2 지연기와,상기 제 1 선택기의 출력 데이터와 제 1 지연기의 출력 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 3 선택기와,상기 제 1 지연기에서 지연된 데이터와 제 2 지연기에서 지연된 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 4 선택기와,상기 제 3, 제 4 선택기에서 출력되는 데이터를 연산 선택 신호에 의해 한 단위 주기 신호동안 순차적으로 상기 제 2 필터 출력부로 출력하는 제 5 선택기로 구성되는 것을 특징으로 하는 디지털 필터.
- 제 1 항에 있어서, 상기 제 1 계수 갱신부는입력되는 실수 에러와 허수 에러를 연산 선택 신호에 의해 한 단위 주기 신호동안 순차적으로 출력하는 제 1 선택기와,입력되는 실수 에러와 상기 제 1 선택기의 출력 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 2 선택기와,상기 제 1 데이터 선택부에서 출력되는 데이터와 상기 제 2 선택기에서 출력되는 데이터를 곱하는 곱셈기와,상기 곱셈기의 출력에 이득 상수 A를 곱하는 이득부와,상기 곱셈기의 출력 데이터와 이득부의 출력 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 3 선택기와,상기 제 3 선택기의 출력 데이터와 피드백되는 이전 계수를 더하는 제 1 가산기와,상기 제 1 가산기의 가산 결과가 기 설정된 상수값을 넘어서면 상기 상수값으로 제한하는 포화부와,상기 포화부의 출력 데이터를 단위 주기 신호와 1/2 위상차가 나는 단위 주기 신호에 동기시켜 지연하는 제 1 지연기와,상기 포화부의 출력 데이터를 단위 주기 신호에 동기시켜 지연하는 제 2 지연기와,상기 제 1, 제 2 지연기에서 지연된 데이터를 연산 선택 신호에 의해 한 단위 주기 신호동안 순차적으로 출력하는 제 4 선택기와,상기 제 4 선택기의 출력 데이터와 제 2 지연기의 출력 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 5 선택기와,상기 제 5 선택기에서 출력되는 데이터를 이득 상수 C로 나누어주는 이득부와,상기 제 1, 제 2 지연기에서 출력되는 데이터를 더하는 제 2 가산기와,상수 0과 상기 제 2 가산기의 출력 데이터를 연산 선택 신호에 의해 한 단위 주기 신호동안 순차적으로 출력하는 제 6 선택기와,상기 제 6 선택기에서 출력되는 데이터와 상기 제 4 선택기에서 출력되는 데이터 중 하나를 모드 선택 신호에 따라 선택하여 제 1 가산기에 이전 계수로서 출력하는 제 7 선택기로 구성되는 것을 특징으로 하는 디지털 필터.
- 제 8 항에 있어서, 상기 포화부는상기 제 1 가산기의 출력 데이터로부터 부호를 추출하는 부호 추출부와,상기 제 1 가산기의 출력 데이터에 절대치를 취하고 이 절대값이 기 설정된 상수 B보다 큰지를 비교하는 비교기와,상기 부호 추출부에서 양의 부호가 검출되면 양의 상수 B를 선택하고, 음의 부호가 검출되면 음의 상수 -B를 선택하여 출력하는 제 8 선택기와,상기 비교기에서 절대값이 상수 B보다 크다고 판별되면 제 8 선택기의 출력을 선택하고, 크지 않으면 상기 제 1 가산기의 출력을 선택하여 제 1, 제 2 지연기로 출력하는 제 9 선택기로 구성되는 것을 특징으로 하는 디지털 필터.
- 제 1 항에 있어서, 상기 제 2 계수 갱신부는입력되는 실수 에러와 허수 에러를 연산 선택 신호에 의해 한 단위 주기 신호동안 순차적으로 출력하는 제 1 선택기와,입력되는 실수 에러와 상기 제 1 선택기의 출력 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 2 선택기와,상기 제 3 데이터 선택부에서 출력되는 데이터와 상기 제 2 선택기에서 출력되는 데이터를 곱하는 곱셈기와,상기 곱셈기의 출력에 이득 상수 A를 곱하는 이득부와,상기 곱셈기의 출력 데이터와 이득부의 출력 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 3 선택기와,상기 제 3 선택기의 출력 데이터와 피드백되는 이전 계수를 더하는 가산기와,상기 가산기의 가산 결과가 기 설정된 상수값을 넘어서면 상기 상수값으로 제한하는 포화부와,상기 포화부의 출력 데이터를 단위 주기 신호와 1/2 위상차가 나는 단위 주기 신호에 동기시켜 지연하는 제 1 지연기와,상기 포화부의 출력 데이터를 단위 주기 신호에 동기시켜 지연하는 제 2 지연기와,상기 제 1, 제 2 지연기에서 지연된 데이터를 연산 선택 신호에 의해 한 단위 주기 신호동안 순차적으로 출력하는 제 4 선택기와,상기 제 4 선택기의 출력 데이터와 제 2 지연기의 출력 데이터 중 하나를 모드 선택 신호에 따라 선택 출력하는 제 5 선택기와,상기 제 5 선택기에서 출력되는 데이터를 이득 상수 C로 나누어주는 이득부와,상기 제 1 지연기에서 지연된 데이터와 제 2 지연기에서 지연된 데이터와의 차 값을 구하는 감산기와,상수 0과 상기 감산기의 출력 데이터를 연산 선택 신호에 의해 한 단위 주기 신호동안 순차적으로 출력하는 제 6 선택기와,상기 제 6 선택기에서 출력되는 데이터와 상기 제 4 선택기에서 출력되는 데이터 중 하나를 모드 선택 신호에 따라 선택하여 제 1 가산기에 이전 계수로서 출력하는 제 7 선택기로 구성되는 것을 특징으로 하는 디지털 필터.
- 제 10 항에 있어서, 상기 포화부는상기 가산기의 출력 데이터로부터 부호를 추출하는 부호 추출부와,상기 가산기의 출력 데이터에 절대치를 취하고 이 절대값이 기 설정된 상수 B보다 큰지를 비교하는 비교기와,상기 부호 추출부에서 양의 부호가 검출되면 양의 상수 B를 선택하고, 음의 부호가 검출되면 음의 상수 -B를 선택하여 출력하는 제 8 선택기와,상기 비교기에서 절대값이 상수 B보다 크다고 판별되면 제 8 선택기의 출력을 선택하고, 크지 않으면 상기 제 1 가산기의 출력을 선택하여 제 1, 제 2 지연기로 출력하는 제 9 선택기로 구성되는 것을 특징으로 하는 디지털 필터.
- 제 1 항에 있어서, 상기 제 1 필터 출력부는상기 제 1 계수 갱신부에서 출력되는 계수와 상기 제 2 데이터 선택부에서 출력되는 데이터를 곱하여 제2 출력으로 출력하는 곱셈기와,상기 곱셈기에서 출력되는 데이터를 단위 주기 신호와 1/4 위상차가 나는 단위 주기 신호에 동기시켜 지연시킨 후 제1 출력으로 출력하는 지연기로 구성되는 것을 특징으로 하는 디지털 필터.
- 제 1 항에 있어서, 상기 제 2 필터 출력부는상기 제 2 계수 갱신부에서 출력되는 계수와 상기 제 4 데이터 선택부에서 출력되는 데이터를 곱하여 제4 출력으로 출력하는 곱셈기와,상기 곱셈기에서 출력되는 데이터를 단위 주기 신호와 1/4 위상차가 나는 단위 주기 신호에 동기시켜 지연시킨 후 제3 출력으로 출력하는 지연기로 구성되는 것을 특징으로 하는 디지털 필터.
- 제 12 항 또는 제 13항에 있어서,상기 디지털 필터가 모드 선택 신호에 의해 실수 필터로 동작하는 경우기 설정된 합 구간에서 상기 제 1 내지 제 4 출력을 더하여 최종 실수 필터 출력을 얻는 연산부를 더 포함하는 것을 특징으로 하는 디지털 필터.
- 제 12 항 또는 제 13항에 있어서,상기 디지털 필터가 모드 선택 신호에 의해 복소수 필터로 동작하는 경우기 설정된 합 구간에서 상기 제 1 출력과 제 3 출력을 빼 실수 출력을 얻고, 제 2 출력과 제 4 출력을 더하여 허수 출력을 얻는 연산부를 더 포함하여 구성되는 것을 특징으로 하는 디지털 필터.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040001682A KR100617141B1 (ko) | 2004-01-09 | 2004-01-09 | 디지털 필터 |
US11/029,508 US7408983B2 (en) | 2004-01-09 | 2005-01-06 | Digital filter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040001682A KR100617141B1 (ko) | 2004-01-09 | 2004-01-09 | 디지털 필터 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050073324A KR20050073324A (ko) | 2005-07-13 |
KR100617141B1 true KR100617141B1 (ko) | 2006-08-31 |
Family
ID=34738020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040001682A KR100617141B1 (ko) | 2004-01-09 | 2004-01-09 | 디지털 필터 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7408983B2 (ko) |
KR (1) | KR100617141B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100565663B1 (ko) * | 2004-01-09 | 2006-03-30 | 엘지전자 주식회사 | 디지털 필터 |
KR100871690B1 (ko) | 2006-07-12 | 2008-12-05 | 삼성전자주식회사 | 디지털 제어가 가능한 필터 시스템 및 필터링 방법 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999223A (en) * | 1994-05-23 | 1999-12-07 | Samsung Electronics Co., Ltd. | System for controlling the operating mode of an adaptive equalizer within a digital TV signal receiver |
US5642382A (en) * | 1995-03-01 | 1997-06-24 | Hitachi America, Ltd. | Fir filters with multiplexed inputs suitable for use in reconfigurable adaptive equalizers |
US5912828A (en) * | 1995-12-28 | 1999-06-15 | Lucent Technologies Inc. | Equalizer filter configuration for processing real-valued and complex-valued signal samples |
US5799037A (en) * | 1996-02-16 | 1998-08-25 | David Sarnoff Research Center Inc. | Receiver capable of demodulating multiple digital modulation formats |
US6052413A (en) * | 1996-04-16 | 2000-04-18 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method for waveform equalization coefficient generation |
US6680971B1 (en) * | 1998-05-18 | 2004-01-20 | Sarnoff Corporation | Passband equalizer for a vestigial sideband signal receiver |
US6396548B1 (en) * | 1999-10-29 | 2002-05-28 | Koninklijke Philips Electronics N.V. | System and method for multimode operation of a digital filter with shared resources |
JP3611528B2 (ja) * | 2001-02-23 | 2005-01-19 | 松下電器産業株式会社 | 波形等化装置 |
KR100739560B1 (ko) | 2001-06-23 | 2007-07-16 | 엘지전자 주식회사 | Vsb/qam 겸용 다용도 채널 등화기 |
KR100736602B1 (ko) | 2001-06-23 | 2007-07-09 | 엘지전자 주식회사 | Vsb/qam 겸용 채널 등화기 |
-
2004
- 2004-01-09 KR KR1020040001682A patent/KR100617141B1/ko not_active IP Right Cessation
-
2005
- 2005-01-06 US US11/029,508 patent/US7408983B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20050152444A1 (en) | 2005-07-14 |
KR20050073324A (ko) | 2005-07-13 |
US7408983B2 (en) | 2008-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR960011739B1 (ko) | 실시간 계수 갱신값 추출장치를 구비한 등화기 | |
KR100201776B1 (ko) | 고리 구조를 갖는 적응 등화기 | |
US5406589A (en) | Fractionally spaced cross-polarization interference canceller | |
JPH0590904A (ja) | 制御信号発生回路 | |
KR19980015796A (ko) | 디지털 복조기의 인터폴레이터 | |
KR100320213B1 (ko) | 리얼 및 콤플렉스 겸용 채널 등화기 | |
KR100617141B1 (ko) | 디지털 필터 | |
US7552158B2 (en) | Digital filter and digital broadcasting receiver having the same | |
JPH09294054A (ja) | 実数値及び複素数値信号サンプルを処理する等価器フィルタ構造 | |
US6870880B2 (en) | Waveform equalization apparatus | |
US6944218B2 (en) | Adaptive filter having a small circuit scale with a low power consumption and tap-coefficients updating method of adaptive filter | |
US5805481A (en) | Update block for an adaptive equalizer filter configuration capable of processing complex-valued coefficient signals | |
KR100499517B1 (ko) | Lms 적응 필터 | |
JP4630056B2 (ja) | 畳み込み演算回路 | |
JP2806296B2 (ja) | 搬送波再生回路 | |
JP4838206B2 (ja) | フィルタ回路および方法 | |
JP4243473B2 (ja) | Firディジタルフィルタ | |
JPH0290871A (ja) | ディジタル化ゴースト除去装置 | |
JPH1093391A (ja) | 離散型フィルタ | |
US7406492B1 (en) | Digital filter combination for interpolation | |
Kumar et al. | Comparison research on FIR filter with RRC filter using a reconfigurable constant multiplier | |
JP2555966B2 (ja) | ディジタル加算回路 | |
KR20000000986A (ko) | 디지털 결정 궤환 등화기 | |
US20120313671A1 (en) | Signal generation device and signal generation method | |
JPH0244838A (ja) | 直流補償回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120727 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20130724 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140724 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150724 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |