KR20010045192A - 쿼드러쳐 미러 필터용 누산 장치 및 방법 - Google Patents

쿼드러쳐 미러 필터용 누산 장치 및 방법 Download PDF

Info

Publication number
KR20010045192A
KR20010045192A KR1019990048389A KR19990048389A KR20010045192A KR 20010045192 A KR20010045192 A KR 20010045192A KR 1019990048389 A KR1019990048389 A KR 1019990048389A KR 19990048389 A KR19990048389 A KR 19990048389A KR 20010045192 A KR20010045192 A KR 20010045192A
Authority
KR
South Korea
Prior art keywords
data
rom
accumulator
accumulation
accumulating
Prior art date
Application number
KR1019990048389A
Other languages
English (en)
Inventor
남기철
Original Assignee
윤종용
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윤종용, 삼성전자 주식회사 filed Critical 윤종용
Priority to KR1019990048389A priority Critical patent/KR20010045192A/ko
Publication of KR20010045192A publication Critical patent/KR20010045192A/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0248Filters characterised by a particular frequency response or filtering method
    • H03H17/0264Filter sets with mutual related characteristics
    • H03H17/0272Quadrature mirror filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/46Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using electromechanical counter-type accumulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

쿼드러쳐 미러 필터용 누산 장치 및 방법이 개시된다. 이 장치는, 필터 계수와 이진 변수가 승산되어 합해진 형태를 갖는 롬 데이타들을 분할하여 저장할 수 있고, 저장된 롬 데이타들중에서 적어도 하나 이상을 디지탈 입력 신호를 쉬프팅하여 획득한 어드레스에 응답하여 독출하고, 독출된 롬 데이타를 해당하는 결산 데이타와 누산하여 적어도 하나 이상의 누산 데이타를 발생하고 누산 데이타를 쉬프팅하여 결산 데이타를 발생하며 둘 이상의 누산 데이타들의 합이나 누산 데이타 자체를 최종 누산 결과로서 출력하고, 이진 변수는 어드레스의 각 비트에 해당하는 것을 특징으로 한다.

Description

쿼드러쳐 미러 필터용 누산 장치 및 방법{Accumulation apparatus and method for QMF}
본 발명은 컴팩트 디스크 플레이어와 같은 시스템에서 음성 압축 알고리즘에 사용되는 쿼드러쳐 미러 필터(QMF:Quadrature Mirror Filter)에 관한 것으로서, 특히, 쿼드러쳐 미러 필터에서 승산 및 누산 기능을 수행하는 누산 장치 및 누산 방법에 관한 것이다.
QMF는 스펙트럼 영역에서 0∼2π 구간이 4등분되고 π/2를 중심으로 고역 필터와 저역 필터가 미러 영상(mirror image)을 가지기 때문에, 쿼드러쳐 미러 필터라 칭해진다. 주파수를 부밴드(sub-band)로 나누어서 샘플링된 신호는 원래 주파수로 합성했을 때, 정보의 손실이 없다. 따라서, QMF 에서 합성된 신호는 양자화 에러나 전송 에러를 제외하면 원래의 신호로 그대로 복원될 수 있으며, 단지 필터링을 하는 과정에서 1탭(tap)만큼의 시간 지연을 가질 뿐이다.
종래의 QMF는 후술되는 바와 같이 신호를 분석 및 합성하는 과정에서 다수개의 곱셈 및 덧셈 연산을 수반한다. QMF에서, 이러한 곱셈 및 덧셈 연산들을 수행하는 종래의 누산 장치는 12개의 16비트 입력들중 하나를 선택하는 멀티플렉서(미도시) 및 최소 16×16 곱셈기를 요구하기 때문에, 많은 전력을 소모하고 하드웨어의 부피가 큰 문제점을 갖는다.
본 발명이 이루고자 하는 기술적 과제는, 쿼드러쳐 미러 필터에서, 분할 연산 방식을 이용하여 곱셈기나 멀티플렉서가 필요없이 곱셈과 덧셈 연산들을 수행할 수 있는 쿼드러쳐 미러 필터용 누산 장치를 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는, 상기 쿼드러쳐 미러 필터용 누산 장치에서 수행되는 누산 방법을 제공하는 데 있다.
도 1은 일반적인 쿼드러쳐 미러 필터의 블럭도이다.
도 2는 도 1에 도시된 신호 분석부의 일반적인 블럭도이다.
도 3은 도 1에 도시된 신호 합성부의 일반적인 블럭도이다.
도 4는 본 발명에 의한 QMF용 누산 장치의 개략적인 블럭도이다.
도 5는 도 4에 도시된 각 누산셀의 본 발명에 의한 바람직한 일실시예의 회로도이다.
도 6은 도 4에 도시된 각 누산셀의 본 발명에 의한 바람직한 다른 실시예의 회로도이다.
도 7은 도 4에 도시된 각 누산셀의 본 발명에 의한 또 다른 실시예의 회로도이다.
도 8은 M'= 2인 경우에 도 4에 도시된 각 누산 셀의 본 발명에 의한 바람직한 일실시예의 회로도이다.
도 9는 도 4에 도시된 누산 장치의 본 발명에 의한 바람직한 일실시예의 회로도이다.
도 10은 본 발명에 의한 누산 장치에서 수행되는 누산 방법을 설명하기 위한 플로우차트로이다.
상기 과제를 이루기 위한 본 발명에 의한 쿼드러쳐 미러 필터용 누산 장치는, 필터 계수와 이진 변수가 승산되어 합해진 형태를 갖는 롬 데이타들을 분할하여 저장할 수 있고, 저장된 롬 데이타들중에서 적어도 하나 이상을 디지탈 입력 신호를 쉬프팅하여 획득한 어드레스에 응답하여 독출하고, 독출된 롬 데이타를 해당하는 결산 데이타와 누산하여 적어도 하나 이상의 누산 데이타를 발생하고 상기 누산 데이타를 쉬프팅하여 상기 결산 데이타를 발생하며 둘 이상의 누산 데이타들의 합이나 상기 누산 데이타 자체를 최종 누산 결과로서 출력하고, 상기 이진 변수는 상기 어드레스의 각 비트에 해당하는 것이 바람직하다.
상기 다른 과제를 이루기 위해, 서로 직렬 연결되어 디지탈 입력 신호를 지연하는 다수개의 쉬프트 레지스터들 및 필터 계수와 이진 변수가 승산되어 합해진 형태를 갖는 롬 데이타들을 분할하여 저장할 수 있는 적어도 하나 이상의 롬을 갖는 누산 장치에서 수행되는 본 발명에 의한 누산 방법은, 상기 쉬프트 레지스터들로부터 출력되는 이진 변수들을 이용하여 상기 롬 데이타들중에서 적어도 하나 이상의 롬 데이타를 독출시키는 (a) 단계와, 상기 독출된 롬 데이타를 해당하는 결산 데이타와 누산시켜 적어도 하나 이상의 누산 데이타를 구하는 (b) 단계와, w(여기서, w는 상기 지연 데이타의 비트수를 의미한다.) 사이클이 경과되었는가를 판단하는 (c) 단계와, 상기 w 사이클이 경과되지 않았으면, 상기 누산 데이타를 쉬프팅하여 상기 결산 데이타를 구하고, 상기 (b) 단계로 진행하는 (d) 단계 및 상기 w 사이클이 경과되었으면, 상기 적어도 하나 이상의 누산 데이타를 이용하여 최종 누산 결과를 결정하는 (e) 단계로 이루어지고, 상기 이진 변수는 상기 롬 데이타를 독출시키기 위해서 상기 쉬프트 레지스터들 각각으로부터 출력되는 비트에 해당하는 것이 바람직하다.
본 발명에 의한 쿼드러쳐 미러 필터용 누산 장치를 설명하기에 앞서, 일반적인 쿼드러쳐 미러 필터의 구성 및 동작을 다음과 같이 첨부한 도면들을 참조하여 살펴본다.
도 1은 일반적인 쿼드러쳐 미러 필터의 블럭도로서, 저역 및 고역 통과 필터들[H1(Z) 및 H2(Z)](12 및 14)과 샘플러들(16 및 18)로 이루어지는 신호 분석(analysis)부(10) 및 보간기들(22 및 24)과 저역 및 고역 통과 필터들[K1(Z) 및 K2(Z)](26 및 28)로 이루어지는 신호 합성(synthesis)부(20)로 구성된다.
도 1에 도시된 신호 분석부(10)와 신호 합성부(20) 사이에는 적응형 차분 펄스 코드 변조(ADPCM:Adaptive Differential Pulse Code Modulation)부(미도시)가 삽입될 수 있을 뿐만 아니라 여러가지 다른 코딩 디바이스가 존재할 수 있다. 신호 분석부(10)에서 x1(n)과 x2(n)은 각각 x(n)을 저역 통과 필터(12) 및 고역 통과 필터(14)에서 필터링한 결과들이다. y1(m) 및 y2(m)은 각각 샘플러들(16 및 18)에서 x1(n) 및 x2(n)을 2배로 다운(down) 샘플링한 결과이다. 신호 합성부(20)의 보간부들(22 및 24)에서는 y1'(m) 및 y2'(m)을 보간하여 u1(n) 및 u2(n)을 발생하며, 저역 및 고역 통과 필터들(26 및 28)은 이를 각각 저역 및 고역 통과 필터링하여 원래의 신호를 복원해 낸다. 여기서, 4개의 필터들(12, 14, 26 및 28)은, 복원된 신호[x'(n)]가 원래의 신호[x(n)]와 똑같이 재생되기 위한 조건인 완전 복구(PR:Perfect Reconstruction) 조건을 만족하도록 설계된다. 전술한 신호 분석부(10) 및 신호 합성부(20)의 일반적인 구성 및 동작은 다음과 같다.
도 2는 도 1에 도시된 신호 분석부(10)의 일반적인 블럭도로서, 제1 및 제2 누산 장치들(30 및 32), 다수개의 지연기(D:Delay)들(34, 36, 38, ..., 40 및 42), 저역 부 밴드 신호 처리부(44) 및 고역 부 밴드 신호 처리부(46)로 구성된다. 여기서, 각 지연기(D)는 그에 입력되는 신호를 클럭 신호의 1주기 만큼 지연하고, 지연된 결과를 출력 한다.
도 2에 도시된 제1 누산 장치(30)는 디지탈 입력 신호(XIN0) 및 짝수번째(even) 지연기(D)들로부터 출력되는 신호들(XIN2, ... 및 XIN22)을, 다음 표 1과 같은 QMF 필터계수들중에서, 짝수번째(even) 필터계수들(H0, H2, ... 및 H22)과 각각 승산하고, 승산된 결과들을 다음 수학식 1과 같이 합산하고, 합산된 결과(XA)를 저역 부 밴드 신호 처리부(44)로 출력한다.
계 수 (coefficients) 213으로 스케일된 값들(scaled values)
H0, H23 3
H1, H22 -11
H2, H21 -11
H3, H20 53
H4, H19 12
H5, H18 -156
H6, H17 32
H7, H16 362
H8, H15 -210
H9, H14 -805
H10, H13 951
H11, H12 3876
XA = (XIN0 * H0) + (XIN2 * H2) + (XIN4 * H4) + ... + (XIN22 * H22)
이 때, 제2 누산 장치(32)는 홀수번째(odd) 지연기(D)들로부터 출력되는 신호들(XIN1, XIN3, ... 및 XIN23)을 전술한 표 1과 같은 QMF 필터계수들중 홀수번째(odd) 필터계수들(H1, H3, ... 및 H23)과 각각 승산하고, 승산된 결과들을 다음 수학식 2와 같이 합산하고, 합산된 결과(XB)를 고역 부 밴드 신호 처리부(46)로 출력한다.
XB = (XIN1 * H1) + (XIN3 * H3) + (XIN5 * H5) + ... + (XIN23 * H23)
도 2에 도시된 저역 부 밴드 신호 처리부(44)는 제1 및 제2 누산 장치들(30 및 32)로부터 출력되는 값들(XA 및 XB)를 이용하여 다음 수학식 3과 같이 저역 부 밴드 신호 처리를 수행한다.
XL = (XA + XB + 0x2000) 》14
여기서, '0x'은 '2000'의 각 비트가 16진수(hexa)라는 것을 의미하고, (XA + XB + 0x2000) 》14는 (XA + XB + 0x2000)을 왼쪽으로 14비트만큼 쉬프팅하는 것을 의미한다. 수학식 3에서, 만일 XL 〉16383 이면 XL=16383이고, 만일 XL 〈 -16384 이면 XL=-16384가 된다.
또한, 고역 부 밴드 신호 처리부(46)는 제1 및 제2 누산 장치들(30 및 32)로부터 출력되는 값들(XA 및 XB)를 이용하여 다음 수학식 4와 같이 고역 부 밴드 신호 처리를 수행한다.
XH = (XA - XB + 0x2000) 》14
수학식 4에서, 만일 XH 〉16383이면 XH = 16383가 되고, XH 〈 -16384이면, XH = -16384가 된다.
도 3은 도 1에 도시된 신호 합성부(20)의 일반적인 블럭도로서, 제3 및 제4 누산 장치들(50 및 52), 감산기(54), 가산기(56), 선택기(74) 및 다수개의 지연기(D)들(58, 60, ..., 62, 64, 66, 68, ..., 70 및 72)로 구성된다. 여기서, 각 지연기(D)는 입력한 신호를 클럭 신호의 1주기만큼 지연한다.
도 3에 도시된 신호 합성부의 감산기(54)는 도 2에 도시된 저역 부 밴드 신호 처리부(44)로부터 전송받은 신호(RL)로부터 고역 부 밴드 신호 처리부(46)로부터 전송받은 신호(RH)를 감산하고, 가산기(56)는 저역 부 밴드 신호 처리부(44)로부터 전송받은 신호(RL)와 고역 부 밴드 신호 처리부(46)로부터 전송받은 신호(RH)를 가산한다. 이 때, 제3 누산 장치(50)는 지연기(D)들(58, 60, ..., 62 및 64)에서 지연된 결과들을 표 1의 QMF 필터계수들중 짝수번째(even) 필터계수들과 각각 승산하고, 승산된 결과를 다음 수학식 5와 같이 합산한다.
WDC = (XD0 * H0) + (XD1 * H2) + (XD2 * H4) + ... + (XD11 * H22)
XOUT1 = (WDC + 0x1000) 》13
수학식 5에서, 만일, XOUT1 〉16383이면 XOUT1은 16383이 되고, 만일 XOUT1〈 -16384이면 XOUT1은 -16384가 된다.
제4 누산 장치(52)는 지연기(D)들(66, 68, ..., 70 및 72)에서 지연된 결과들을 표 1의 QMF 필터계수들중 홀수번째(odd) 필터계수들(H1, H3, ... 및 H23)과 각각 승산하고, 승산된 결과를 다음 수학식 6과 같이 합산한다.
WDD = (XS0 * H1) + (XS1 * H3) + (XS2 * H5) + ... + (XS11 * H23)
XOUT2 = (WDD + 0x1000) 》13
수학식 6에서, 만일, XOUT2 〉16383이면 XOUT2는 16383이 되고, 만일 XOUT2〈 -16384이면 XOUT2는 -16384가 된다.
전술한 바와 같이, 제1, 제2, 제3 및 제4 누산 장치들(30, 32, 50 및 52) 각각은 곱셈 및 덧셈 연산을 곱셈기 및 멀티플렉서에 의해 실현하였다.
이하, 본 발명에 의한 쿼드러쳐 미러 필터(QMF)용 누산 장치의 구성 및 동작을 첨부한 도면들을 참조하여 다음과 같이 설명한다.
도 4는 본 발명에 의한 QMF용 누산 장치의 개략적인 블럭도로서, 제1, 제2, ... 및 제M(여기서, M은 1이상의 정수) 누산 셀(cell)들(80, 82, ... 및 84), 제1, 제2, ... 및 제M-1 가산기들(86, 88, ... 및 90)로 구성된다.
도 4에 도시된 누산 장치는 도 2 및 도 3에 도시된 제1, 제2, 제3 및 제4 누산 장치들(30, 32, 50 및 52)중 어느 하나의 기능을 수행하거나, 제1 및 제2 누산 장치들(30 및 32)의 기능을 동시에 수행하거나, 제3 및 제4 누산 장치들(50 및 52)의 기능을 동시에 수행할 수도 있다. 이 때, 도 4에 도시된 본 발명에 의한 누산 장치는 각 기능을 수행하기 위해 필요한 지연기들을 내장한다.
첫번째 경우, 도 4에 도시된 누산 장치는 도 2에 도시된 제1 누산 장치(30) 및 짝수번째(even) 지연기들(36, ... 및 42)의 기능을 수행하거나, 제2 누산 장치(32) 및 홀수번째 지연기들(34, 38, ... 및 40)의 기능을 수행할 수 있다.
두번째 경우, 도 4에 도시된 누산 장치는 도 2에 도시된 신호 분석부(10)의 기능을 수행한다. 즉, 본 발명에 의한 누산 장치는 지연기들(34, 36, ..., 40 및 42)과 제1 및 제2 누산 장치들(30 및 32)의 기능을 동시에 수행할 수 있다.
세번째 경우, 도 4에 도시된 누산 장치는 도 3에 도시된 제3 누산 장치(50) 및 지연기들(58, 60, ..., 62 및 64)의 기능을 수행할 수도 있고, 제4 누산 장치(52) 및 지연기들(66, 68, ..., 70 및 72)의 기능을 수행할 수도 있다.
네번째 경우, 도 4에 도시된 누산 장치는 도 3에 도시된 신호 합성부(20)의 기능을 수행할 수 있다. 즉, 본 발명에 의한 누산 장치는 제3 및 제4 누산 장치들(50 및 52)과 지연기들(58, 60, ..., 62 및 64, 66, 68, ..., 70 및 72)의 기능을 동시에 수행할 수 있다.
전술한 각 경우에서는 도 2 및 도 3에 도시된 바와 같이 지연기들의 개수가 한정되어 있으나, 본 발명에 의한 누산 장치는 여기에 국한되지 않는다. 즉, 지연기들의 개수가 도 2 및 도 3에 도시된 것 보다 더 많아진다고 하더라도 본 발명에 의한 누산 장치는 전술한 네가지의 경우들에 모두 적용될 수 있다.
이 때, 도 4에 도시된 누산 장치는 전술한 네가지의 경우들 각각을 위해서, 제1 ∼ 제M-1 가산기들(86, 88, ... 및 90)은 필요없이 제1 ∼ 제M 누산셀들(80 ∼ 84)중 하나의 누산셀만으로 구현될 수 있다. 즉, 후술되는 바와 같이 제1 ∼ 제M-1 가산기들(86, 88, ... 및 90)은 누산셀이 두개 이상 마련될 때만 요구된다.
만일, 도 4에 도시된 누산 장치가 제1 누산셀(80)만으로 구현될 경우, 제1 누산셀(80)의 개략적인 동작을 살펴보면 다음과 같다. 제1 누산셀(80)은 입력단자 IN1을 통해 입력된 디지탈 입력 신호를 쉬프팅한 데이타를 이용하여 어드레스를 생성하고, 예를 들어 표 1에 기재된 바와 같은 필터 계수와 이진 변수(b)가 승산되어 합해진 형태를 갖는 롬 데이타들을 저장하고, 저장된 롬 데이타들중 하나를 어드레스에 응답하여 독출하고, 독출된 롬 데이타를 결산 데이타와 누산하여 누산 데이타를 발생하고, 누산 데이타를 쉬프팅하여 결산 데이타를 발생하며, w(여기서, w는 디지탈 입력 신호의 비트수) 사이클이 경과되었을 때 누산 데이타를 최종 누산 결과로서 출력단자 OUT1을 통해 출력한다. 여기서, 이진 변수(b)는 쉬프팅된 디지탈 입력 신호의 비트들중 롬 데이타를 독출하기 위해서 사용된 비트에 해당한다.
그러나, 도 4에 도시된 누산 장치가 적어도 둘 이상의 누산셀들 및 누산셀들의 갯수보다 하나 적은 가산기(들)로 구성될 경우, 누산셀들과 가산기(들)의 동작을 개략적으로 살펴보면 다음과 같다. 누산셀들 각각은, w 비트 단위로 입력된 디지탈 입력 신호를 1사이클마다 1비트씩 쉬프팅하고, 쉬프팅된 결과중 w 번째에 위치하는 비트인 전술한 이전 변수들로 이루어지는 어드레스를 획득하고, 분할된 롬 데이타들중 일부를 저장하고 저장된 롬 데이타들중 하나를 획득한 어드레스에 응답하여 독출하고 독출된 롬 데이타를 결산 데이타와 누산하여 누산 데이타를 발생하고, 누산 데이타를 쉬프팅하여 결산 데이타를 발생하며, w 사이클이 경과되었을 때 누산 데이타를 해당 가산기(86, 88, ... 또는 90)로 출력한다. 이 때, 제1 가산기(86)는 제1 및 제2 누산셀들(80 및 82)에서 w사이클이 경과되었을 때 발생하는 누산 데이타들을 가산하고, 가산된 결과를 제2 가산기(88)로 출력한다. 이 때, 제J(2≤J≤M-1) 가산기는 제J-1 가산기에서 가산된 결과와 제J+1 누산셀로부터 w사이클이 경과되었을 때 출력되는 누산 데이타를 가산한다. 제M-1 가산기(90)는 제M-2 가산기(미도시)로부터 출력되는 가산된 결과와 제M 누산셀(84)로부터 w사이클이 경과되었을 때 출력되는 누산 데이타를 가산하고, 가산된 결과를 최종 누산 결과로서 출력단자 OUT1을 통해 출력한다.
한편, 도 4에 도시된 누산 장치가 하나의 누산셀 예를 들면, 제1 누산셀(80)만으로 구현된다고 할 때, 제1 누산셀(80)에 저장되는 롬 데이타에 대해서 구체적인 적용례에 따라 다음과 같이 살펴본다.
첫번째 적용례로서, 도 4에 도시된 누산 장치가 도 2에 도시된 제1 누산 장치(30) 및 짝수번째(even) 지연기들에 해당하는 기능을 수행한다고 할 때, 수학식 1은 다음 수학식 7로 표현될 수 있다.
여기서, b(2k)n은 전술한 이진 변수에 해당하며, 수학식 7에서는 다음 수학식 8과 같은 정의를 사용하였다.
결국, 제1 누산셀(80)은 다음 수학식 9와 같은 롬 데이타를 저장한다.
두번째 적용례로서, 도 4에 도시된 누산 장치가 도 2에 도시된 제2 누산 장치(32)와 홀수번째 지연기들(34, 38, ... 및 42)에 해당하는 기능을 수행한다고 할 때, 수학식 2는 다음 수학식 10으로 표현될 수 있다.
수학식 10에서도 역시 전술한 수학식 8과 같은 정의를 사용하였다. 결국, 제1 누산셀(80)은 다음 수학식 11과 같은 롬 데이타를 저장한다.
세번째 적용례로서, 도 4에 도시된 누산 장치가 도 3에 도시된 제3 누산 장치(50)와 지연기들(58, 60, ..., 62 및 64)에 해당하는 기능을 수행한다고 할 때, 수학식 5는 다음 수학식 12로 표현될 수 있다.
여기서, b'kn은 전술한 이진 변수에 해당하며, 수학식 12에서는 다음 수학식 13과 같은 정의를 사용하였다.
결국, 제1 누산셀(80)은 다음 수학식 14와 같은 롬 데이타를 저장한다.
네번째 적용례로서, 도 4에 도시된 누산 장치가 도 3에 도시된 제4 누산 장치(52)와 지연기들(66, 68, ..., 70 및 72)에 해당하는 기능을 수행한다고 할 때, 수학식 6은 다음 수학식 15로 표현될 수 있다.
여기서, b"kn은 전술한 이진 변수에 해당하며, 수학식 15에서는 다음 수학식 16과 같은 정의를 사용하였다.
결국, 제1 누산셀(80)은 다음 수학식 17과 같은 롬 데이타를 저장한다.
다섯번째 적용례로서, 도 4에 도시된 누산 장치가 도 2에 도시된 신호 분석부의 기능을 수행할 때, 제1 누산셀(80)은 전술한 수학식들 9 및 11에 기재된 롬 데이타들을 모두 저장한다.
여섯번째 적용례로서, 도 4에 도시된 누산 장치가 도 3에 도시된 신호 합성부의 기능을 수행할 때, 제1 누산셀(80)은 수학식들 14 및 17에 기재된 롬 데이타들을 모두 저장한다.
이하, 도 4에 도시된 누산 장치가 갖는 누산셀의 갯수(M)에 따라 도 4에 도시된 누산 장치를 M-단(stage) 누산 장치라 한다. 1-단 누산 장치에서, 전술한 여섯가지의 적용례로부터 알 수 있듯이, 각 누산셀에 저장되는 롬 데이타의 크기가 매우 커진다. 즉, 각 누산셀에 포함되며 롬 데이타를 저장하는 롬의 크기가 종래에 사용되었던 곱셈기의 크기보다 더 커지게 된다. 그러므로, 롬의 크기를 줄이기 위해서, 롬에 저장되는 롬 데이타를 분할해서 저장해야 한다. 예를 들어, 롬 데이타를 두개로 분할하여 저장하기 위해, 두개의 누산셀들과 한개의 가산기만으로 구현되는(M=2) 본 발명에 의한 2-단 누산 장치의 각 누산셀에 저장되는 롬 데이타는 다음과 같다.
전술한 첫번째의 적용례의 경우, 수학식 1은 다음 수학식 18과 같이 2 분할되어 표현될 수 있다.
XAL = (XIN0 * H0) + (XIN2 * H2) + (XIN4 * H4) + ... + (XIN10 * H10)
XAH = (XIN12* H12) + (XIN14* H14) + (XIN16* H16) + ... + (XIN22* H22)
XA = XAL + XAH
이 때, 수학식 18은 다음 수학식 19와 같이 표현될 수 있다.
결국, 2-단 누산 장치에 포함되는 두개의 누산셀들중 첫번째 누산셀은 다음 수학식 20과 같은 롬 데이타를 저장하고 다른 누산셀은 다음 수학식 21과 같은 롬 데이타를 저장한다.
전술한 두번째의 적용례의 경우, 수학식 2는 다음 수학식 22와 같이 분할되어 표현될 수 있다.
XBL = (XIN1 * H1) + (XIN3 * H3) + (XIN5 * H5) + ... + (XIN11 * H11)
XBH = (XIN13* H13) + (XIN15* H15) + (XIN17* H17) + ... + (XIN23* H23)
XB = XBL + XBH
이 때, 수학식 22는 다음 수학식 23과 같이 표현될 수 있다.
결국, 두개의 누산셀들중 첫번째 누산셀은 다음 수학식 24와 같은 롬 데이타를 저장하고 다른 누산셀은 다음 수학식 25와 같은 롬 데이타를 저장한다.
전술한 세번째의 적용례의 경우, 전술한 원리를 응용하면, 두개의 누산셀들중 첫번째 누산셀에 저장되는 롬 데이타는 수학식 20의 롬 데이타에서 b2kn를 b'kn으로 치환한 결과에 해당하고, 다른 누산셀에 저장되는 롬 데이타는 수학식 21에서 b2kn를 b'kn으로 치환한 결과에 해당한다.
전술한 네번째의 적용례의 경우, 두개의 누산셀들중 첫번째 누산셀에 저장되는 롬 데이타는 수학식 24의 롬 데이타에서 b(2k+1)n을 b"kn으로 치환한 결과에 해당하고, 다른 누산셀에 저장되는 롬 데이타는 수학식 25의 롬 데이타에서 b(2k+1)n을 b"kn으로 치환한 결과에 해당한다.
전술한 다섯번째 적용례의 경우도, 두개의 누산셀들중 하나의 누산셀에는 수학식들 20 및 24에 표현된 롬 데이타들이 저장되고, 다른 하나의 누산셀에는 수학식들 21 및 25에 표현된 롬 데이타들이 저장된다. 전술한 여섯번째 적용례의 경우에 두개의 누산셀들에 저장되는 롬 데이타들도 이와 마찬가지의 방법으로 유추될 수 있다.
결국, 전술한 바와 같이 도 4에 도시된 누산 장치가 1-단일 때 보다도 2-단일 때, 비록 가산기를 하나 더 마련하지만 각 누산셀에 저장되는 롬의 크기는 2P/2만큼 줄어들 수 있음을 알 수 있다. 이로 인하여, 누산 장치의 하드웨어의 크기가 작아질 수 있다. 이 때, 누산셀들에서 w사이클이 경과된 후에 출력되는 누산 데이타들은 가산기(86)에서 가산된 다음, 최종 누산 결과로서 출력단자 OUT1을 통해 출력된다. 여기서, 2-단 누산 장치는 1-단 누산 장치보다 하드웨어의 부피는 작지만 최종 누산 결과를 출력하기 위해서 한 번의 가산동작을 더 요구하므로, 1 사이클이 더 소요된다.
더우기, 본 발명에 의한 누산 장치의 크기를 보다 더 줄이기 위해서 즉, 누산 장치에 포함되는 누산셀 각각이 갖는 롬의 크기를 보다 줄이기 위해, 도 4에 도시된 바와 같이 누산셀들은 3개 이상으로 확장될 수도 있다. 만일, 세개의 누산셀들과 두개의 가산기들만으로 구현되는 도 4에 도시된 3-단 누산 장치의 각 누산셀에 저장되는 롬 데이타를 살펴보면 다음과 같다.
전술한 첫번째의 적용례의 경우, 수학식 1은 다음 수학식 26과 같이 3분할될 수 있다.
XAL = (XIN0 * H0) + (XIN2 * H2) + (XIN4 * H4) + (XIN6 * H6)
XAM = (XIN8* H8) + (XIN10* H10) + (XIN12* H12) + (XIN14* H14)
XAH = (XIN16* H16) + (XIN18* H18) + (XIN20* H20) + (XIN22* H22)
XA = XAL + XAM + XAH
이 때, 수학식 26은 다음 수학식 27와 같이 표현될 수 있다.
결국, 세개의 누산셀들 각각에는 다음 수학식 28과 같은 롬 데이타들이 차례로 저장된다.
전술한 두번째의 적용례의 경우, 수학식 2는 다음 수학식 29와 같이 3분할될 수 있다.
XBL = (XIN1 * H1) + (XIN3 * H3) + (XIN5 * H5) + (XIN7 * H7)
XBM = (XIN9* H9) + (XIN11* H11) + (XIN13* H13) + (XIN15* H15)
XBH = (XIN17* H17) + (XIN19* H19) + (XIN21* H21) + (XIN23* H23)
XB = XBL + XBM + XBH
이 때, 수학식 29는 다음 수학식 30과 같이 표현될 수 있다.
결국, 세개의 누산셀들 각각에는 다음 수학식 31과 같은 롬 데이타들이 차례로 저장된다.
전술한 나머지 적용례들의 경우, 비슷한 방식에 의해 세개의 누산셀들 각각에 저장되는 롬 데이타들이 구해질 수 있다.
결국, 전술한 바와 같이 도 4에 도시된 누산 장치가 1-단일 때 보다도 3-단일 때, 비록 가산기를 두개 더 마련하지만 각 누산셀에 저장되는 롬의 크기가 2(2/3)P만큼 줄어들기 때문에, 3-단 누산 장치의 크기가 2-단 누산 장치의 크기보다 훨씬 작음을 알 수 있다. 이 때, 세개의 누산셀들에서 w사이클이 경과된 후에 출력되는 누산 데이타들은 1사이클동안 가산기(86)에서 가산된 후 가산기(88)로 출력되고, 가산기(88)는 가산기(86)에서 가산된 결과와 제3 누산셀로부터 출력되는 누산 데이타를 1사이클동안 가산하고, 가산된 결과를 최종 누산 결과로서 출력단자 OUT1을 통해 출력된다. 따라서, 3-단 누산 장치는 1-단 누산 장치보다 부피는 보다 작지만 최종 누산 결과를 출력하기 위해서 두 번의 가산동작을 더 요구하므로, 2 사이클이 더 소요된다.
한편, 도 4에 도시된 누산 장치를 전술한 첫번째 ∼ 네번째 적용례에 응용할 때, 도 4에 도시된 각 누산셀의 본 발명에 의한 실시예의 구성 및 동작을 첨부한 도면을 참조하여 다음과 같이 살펴본다.
도 5는 도 4에 도시된 각 누산셀의 본 발명에 의한 바람직한 일실시예의 회로도로서, 제1 쉬프트 레지스터들(100, 102, ... 및 104), 제1 롬(106), 제1 레지스터(108), 쉬프터(110), 누산기(112) 및 제2 레지스터(114)로 구성된다. 여기서, 쉬프트 레지스터(100)에 입력되는 디지탈 입력 신호(XINO, XDO또는 XS0)는 w비트로 이루어진다고 가정한다.
도 5에 도시된 제1 쉬프트 레지터들(100, 102, ... 및 104)중 쉬프트 레지스터(100)는 입력단자 IN2(도 4에 도시된 IN1에 해당함)를 통해 해당하는 w비트의 지디지탈 입력 신호(XINO, XDO또는 XS0)를 한 번에 입력하여 1사이클마다 1비트씩 오른쪽으로 쉬프팅하고, 쉬프팅된 결과의 최하위 유의 비트(LSB:Least Significant Bit)를 그 다음 쉬프트 레지스터(102)의 최상위 유의 비트(MSB:Most Significant Bit)로서 출력한다. 마찬가지로, 쉬프트 레지스터(102)는 그의 최하위 유의 비트(LSB)를 그 다음 쉬프트 레지스터(미도시)의 최상위 유의 비트(MSB)로서 출력한다. 이러한 방식으로, 쉬프트 레지스터(104)는 그 이전 쉬프트 레지스터(미도시)의 최하위 유의 비트(LSB)를 최상위 유의 비트(MSB)로서 입력한다. 이와 같이 각 쉬프트 레지스터(100, 102, ... 또는 104)의 쉬프팅 동작은 1 사이클마다 수행되므로, 1w사이클이 경과되면 입력단자 IN2를 통해 입력되었던 디지탈 입력 신호(XINO, XDO또는 XS0)가 쉬프트 레지스터(102)로 전부 옮겨지고, 쉬프트 레지스터(100)는 w비트의 새로운 디지탈 입력 신호를 입력단자 IN2를 통해 한 번에 입력하게 된다. 이 때, 각 쉬프트 레지스터(100, 102, ... 또는 104)의 최하위 유의 비트(LSB)는 전술한 이진 변수(b) 즉, 제1 롬(106)의 어드레스를 구성하는 하나의 비트로서 제1 롬(106)으로 출력된다. 제1 롬(106)은 전술한 바와 같이 도 4에 도시된 누산 장치가 몇 단(stage)인가에 따라 상응하는 롬 데이타를 저장하고, 저장된 롬 데이타들중 하나를 제1 쉬프트 레지스터들(100, 102, ... 및 104) 각각으로부터 출력되는 이진 변수들로 이루어지는 어드레스에 응답하여 제1 레지스터(108)로 독출한다. 결국, 도 5에 도시된 쉬프트 레지스터들(100, 102, ... 및 104)은 도 2 또는 도 3에 도시된 지연기들의 역할을 수행한다.
이 때, 제1 레지스터(108)는 제1 롬(106)으로부터 독출된 롬 데이타의 비트수를 확장시켜 저장한다. 예를 들어, 제1 롬(106)으로부터 독출되는 롬 데이타의 비트수가 14비트이고, 누산기(112)로부터 출력되는 데이타의 비트수가 24비트인 경우, 제1 레지스터(108)는 제1 롬(106)으로부터 독출되는 롬 데이타의 최하위 비트 다음에 10개의 '0'비트를 첨가하여 저장한다. 누산기(112)는 쉬프터(110)로부터 출력되는 결산 데이타와 제1 레지스터(108)에서 비트 확장되어 저장된 데이타를 누산하고, 누산된 결과를 제2 레지스터(114)로 출력한다. 제2 레지스터(114)는 누산기(112)에서 누산된 결과를 누산 데이타로서 저장한다. 이 때, w사이클이 경과되면 제2 레지스터(114)에 저장된 데이타는 출력단자 OUT2를 통해 도 4에 도시된 가산기들중 해당하는 가산기로 출력된다. 쉬프터(110)는 제2 레지스터(114)에 저장된 누산 데이타를 1비트씩 왼쪽으로 쉬프팅하고, 쉬프팅된 결과를 결산 데이타로서 누산기(112)로 출력한다. 즉, 쉬프터(110)는 전술한 수학식들 7, 10, 12, 19 및 23 각각에서 2n을 승산하는 수행하는 역할을 한다.
전술한 도 5에 도시된 누산셀이 도 2에 도시된 제1 누산 장치(30) 및 짝수번째 지연기들(36, ... 및 40)의 기능을 수행할 때와 제2 누산 장치(32) 및 홀수번째 지연기들(34, 38, ... 및 42)의 기능을 수행할 때, 제1 롬(106)의 어드레싱 방향이 반대가 된다. 왜냐하면 표 1에 기재된 필터 계수의 특성상 H2k+1= H22-2k이므로, 다음 수학식 32로부터 알 수 있듯이 수학식 11은 수학식 9와 순서만 다를 뿐 동일한 값이다.
따라서, 도 5에 도시된 누산셀을 포함하며 제1 누산 장치(30) 및 짝수번째 지연기들(36, ... 및 40)의 기능을 수행하는 누산 장치가 제1 롬(106)을 어드레싱할 때와 역방향으로 제1 롬(106)을 어드레싱하면, 도 5에 도시된 누산셀을 포함하는 누산 장치는 제2 누산 장치(32) 및 홀수번째 지연기들(34, 38, ... 및 42)의 기능을 수행하기 위해 이용될 수 있다. 예컨데, 도 5에 도시된 누산 셀을 포함하는 누산 장치가 제1 누산 장치(30) 및 짝수번째 지연기들(36, ... 및 40)의 역할을 수행하고자 할 때, 쉬프트 레지스터(100)의 최하위 유의 비트(LSB)가 제1 롬(106)을 어드레싱하는 어드레스의 최상위 유의 비트(MSB)가 되고 쉬프트 레지스터(104)의 최하위 유의 비트(LSB)가 제1 롬(106)을 어드레싱하는 어드레스의 최하위 유의 비트(LSB)가 되도록 어드레싱된다. 그러나, 도 5에 도시된 누산 셀을 포함하는 누산 장치가 제2 누산 장치(32) 및 홀수번째 지연기들(34, 38, ... 및 42)의 역할을 수행하고자 할 때, 쉬프트 레지스터(104)의 최하위 유의 비트(LSB)가 제1 롬(106)을 어드레싱하는 어드레스의 최상위 유의 비트(MSB)가 되고 쉬프트 레지스터(100)의 최하위 유의 비트(LSB)가 제1 롬(106)을 어드레싱하는 어드레스의 최하위 유의 비트(LSB)가 되도록 어드레싱된다. 이하, 제1 롬(106)을 정방향으로 어드레싱하는 디지탈 입력 신호와 제1 롬(106)을 역방향으로 어드레싱하는 디지탈 입력 신호는 서로 보수 관계에 있다고 정의한다.
이와 마찬가지로, 다음 수학식 33으로부터 알 수 있듯이, 수학식들 24 및 25는 각각 수학식들 21 및 20과 순서만 다를 뿐 동일한 값이다.
도 5에 도시된 누산셀의 일실시예에서와는 달리, 쉬프트 레지스터들(100, 102, ... 및 104) 각각은 그의 최상위 유의 비트(MSB)를 이진 변수(b)로서 출력하고, 제1 롬(106)은 각 쉬프트 레지스터(100, 102, ... 및 104)로부터 출력되는 이진 변수(b)로 이루어지는 어드레스에 응답하여 데이타를 독출할 수 있다. 이 경우, 쉬프트 레지스터(100)는 디지탈 입력 신호를 최상위 유의 비트쪽 대신에 최하위 유의 비트쪽으로 입력단자 IN2를 통해 입력하고, 그의 최상위 유의 비트(MSB)를 그 다음 쉬프트 레지스터(102)의 최하위 유의 비트로서 출력한다. 즉, 각 쉬프트 레지스터(100, 102, ... 또는 104)는 오른쪽이 아니라 왼쪽으로 쉬프팅동작을 수행한다. 이 때, 쉬프터(110)는 제2 레지스터(114)로부터 출력되는 누산 데이타를 왼쪽으로 1비트만큼 쉬프팅하지 않고 오른쪽으로 1비트 만큼 쉬프팅해야 한다.
한편, 도 4에 도시된 누산 장치가 전술한 다섯번째 또는 여섯번째 적용례에 응용될 때, 도 4에 도시된 각 누산셀의 본 발명에 의한 다른 실시예의 구성 및 동작을 첨부한 도면을 참조하여 다음과 같이 살펴본다.
도 6은 도 4에 도시된 각 누산셀의 본 발명에 의한 바람직한 다른 실시예의 회로도로서, 제2 쉬프트 레지스터들(120, 122, ... 및 124), 제3 쉬프트 레지스터들(130, 132, ... 및 134), 제2 및 제3 롬들(126 및 136), 제3 및 제4 레지스터들(140 및 146), 쉬프터(142) 및 누산기(144)로 구성된다.
도 6에 도시된 제3 레지스터(140), 누산기(144), 제4 레지스터(146) 및 쉬프터(142)는 도 5에 도시된 제1 레지스터(108), 누산기(112), 제2 레지스터(114) 및 쉬프터(110)와 각각 동일한 기능을 수행하므로 그 설명을 생략한다. 이 때, 제2 쉬프트 레지스터들(120, 122, ... 및 124) 또는 제3 쉬프트 레지스터들(130, 132, ... 및 134)은 도 5에 도시된 제1 쉬프트 레지스터들(100, 102, ... 및 104)과 동일한 동작을 수행한다.
예를 들어, 본 발명에 의한 누산 장치가 전술한 다섯번째 적용례에 응용될 경우, 제2 쉬프트 레지스터들(120, 122, ... 및 124)은 도 2에 도시된 짝수번째 지연기들(36, ... 및 40)에서 디지탈 입력 신호(XINO)를 지연하는 역할을 수행하고, 제3 쉬프트 레지스터들(130, 132, ... 및 134)은 도 2에 도시된 홀수번째 지연기들(34, 38, ... 및 42)에서 디지탈 입력 신호(XINO)를 지연하는 역할을 수행한다. 이와 비슷하게, 본 발명에 의한 누산 장치가 전술한 여섯번째의 적용례에 응용될 경우, 제2 쉬프트 레지스터들(120, 122, ... 및 124)은 도 3에 도시된 지연기들(58, 60, ...,62 및 64)에서 디지탈 입력 신호(XDO)를 지연하는 역할을 수행하고, 제3 쉬프트 레지스터들(130, 132, ... 및 134)은 도 3에 도시된 지연기들(66, 68, ..., 70 및 72)에서 디지탈 입력 신호(XS0)를 지연하는 역할을 수행한다. 또한, 제2 및 제3 롬들(126 및 136)은 도 5에 도시된 제1 롬(106)과 크기는 동일하다. 그러나, 단(stage)의 수가 확장됨에 따라서 전술한 바와 같이 저장해야 하는 롬 데이타들의 개수가 적어지므로 제2 및 제3 롬들(126 및 136)의 크기는 적어질 수 있다. 예컨데, M=1인 경우에 제2 롬(126)은 수학식 9에 표현된 롬 데이타들을 저장하고 제3 롬(136)은 수학식 11에 표현된 롬 데이타들을 저장하며, M=2인 경우에 제2 롬(126)은 수학식 20 또는 21에 표현된 롬 데이타들을 저장하고 제3 롬(136)은 수학식 24 또는 25에 표현된 롬 데이타들을 저장할 수 있다.
이 때, 도 6에 도시된 제3 레지스터(140)는 제2 및 제3 롬들(126 및 136)로부터 출력되는 롬 데이타들을 입력하고, 입력한 롬 데이타들 각각의 비트수를 전술한 바와 같이 확장한다. 따라서, 출력단자 OUT3을 통해 XA와 XB가 모두 출력될 수 있다.
한편, 도 5 또는 도 6에 도시된 누산 셀의 실시예들에서 사용되는 제1, 제2 및 제3 롬들(106, 126 및 136) 각각의 크기를 단(stage)수를 확장하지 않으면서 줄일 수 있는 본 발명에 의한 각 누산셀의 또 다른 실시예의 구성 및 동작을 다음과 같이 설명한다.
도 7은 도 4에 도시된 각 누산셀의 본 발명에 의한 또 다른 실시예의 회로도로서, 제1 ∼ 제M'(여기서, M'은 2이상의 정수) 누산 서브 셀들(150 ∼ 154) 및 제1 ∼ 제M'- 1 가산기들(156 ∼ 160)로 구성된다.
도 7에 도시된 각 누산 서브 셀(150, 152, ... 또는 154)은 입력단자 IN5를 통해 서로 보수 관계에 있는 디지탈 입력 신호들을 입력하여 쉬프팅하고, 쉬프팅된 결과들 각각으로부터 어드레스들을 획득하고, 롬 데이타들중 일부를 저장하고 저장된 롬 데이타들중 하나 또는 둘을 획득된 어드레스들중 하나에 응답하여 독출하고, 독출된 롬 데이타를 결산 데이타중 일부분과 누산하여 누산 데이타중 일부분을 발생하고 누산 데이타중 일부분을 쉬프팅하여 결산 데이타중 일부분을 발생한다. 이 때, 제1 가산기(156)는 제1 및 제2 누산 서브 셀들(150 및 152)에서 w'(여기서, w'는 입력단자 IN5를 통해 입력되는 디지탈 입력 신호의 비트수)사이클이 경과되었을 때 발생하는 누산 데이타중 일부분들을 가산한다. 예컨데, 제Q(1≤Q≤M'-1) 가산기는 제Q-1 가산기에서 가산된 결과와 제Q+1 누산 서브 셀로부터 w'사이클이 경과되었을 때 출력되는 누산 데이타중 일부분을 가산한다. 결국, 제M'-1 가산기(160)에서 가산된 결과는 누산 데이타의 전체에 해당하며 출력단자 OUT4를 통해 도 4에 도시된 해당하는 가산기들(86 ∼ 90)중 하나로 출력된다.
여기서, 도 7에 도시된 바와 달리, 도 4에 도시된 각 누산 셀은 가산기(156, 158, ... 또는 160)가 필요없이 한 개의 누산 서브 셀만으로 구현될 수도 있다.
도 8은 M'= 2인 경우에 도 4에 도시된 각 누산 셀의 본 발명에 의한 바람직한 일실시예의 회로도로서, 제1 누산 서브 셀(204), 제2 누산 서브 셀(206) 및 가산기(208)로 구성된다. 여기서, 제1 누산 서브 셀(204)은 제4 쉬프트 레지스터들(210, 212, ... 및 214) 및 제5 쉬프트 레지스터들(216, 218, ... 및 220), 제4 롬(224), 레지스터들(236 및 232), 쉬프터(228) 및 누산기(230)로 구성되고, 제2 누산 서브 셀(206)은 제6 쉬프트 레지스터들(180, 182, ... 및 184), 제7 쉬프트 레지스터들(186, 188, ... 및 190), 제5 롬(194), 레지스터들(196 및 202), 쉬프터(198) 및 누산기(200)로 구성된다.
도 8에 도시된 제4, 제5, 제6 또는 제7 쉬프트 레지스터들[((210, 212, ... 및 214), (216, 218, ... 및 220), (180, 182, ... 및 184) 또는 (186, 188, ... 및 190)] 각각은 도 5에 도시된 제1 쉬프트 레지스터들(100, 102, ... 및 104)과 개수만 다를 뿐 각각 동일하게 동작한다. 이 때, 멀티플렉서(222)는 제4 쉬프트 레지스터들(210, 212, ... 및 214) 각각으로부터 출력되는 이진 변수들로 이루어진 제1 어드레스(ADD1) 및 및 제5 쉬프트 레지스터들(216, 218, ... 및 220) 각각으로부터 출력되는 이진 변수로 이루어진 제2 어드레스(ADD2)중 하나를 선택 신호(S1)에 응답하여 선택하고, 선택된 어드레스를 롬(224)으로 출력한다. 이 때, 롬(224)은 저장하고 있는 롬 데이타들중 하나를 멀티플렉서(222)로부터 출력되는 제1 또는 제2 어드레스(ADD1 또는 ADD2)에 응답하여 레지스터(236)로 독출한다. 레지스터(236)는 롬(224)으로부터 독출된 롬 데이타의 비트수를 제1 레지스터(108)에서와 마찬가지로 확장시켜 저장하고, 저장된 결과를 누산기(230)로 출력한다. 누산기(230)는 쉬프터(228)로부터 출력되는 결산 데이타중 일부분과 레지스터(236)에 저장된 데이타를 누산하고, 누산된 결과를 레지스터(232)로 출력한다. 이 때, 레지스터(232)는 누산기(230)에서 누산된 결과를 누산 데이타의 일부분으로서 저장하고, 저장된 데이타를 가산기(208) 및 쉬프터(228)로 출력한다. 만일, w'사이클이 경과되었다면, 레지스터(232)로부터 출력되는 데이타는 누산 데이타의 일부분으로서 가산기(208)로 출력된다. 여기서, 쉬프터(110)와 같은 기능을 수행하는 쉬프터(228)는 레지스터(232)에 저장된 누산 데이타의 일부분을 1비트씩 왼쪽으로 쉬프팅하고, 쉬프팅된 결과를 결산 데이타중 일부분으로서 누산기(230)로 출력한다. 이와 같이, 도 7에 도시된 각 누산 서블 셀(150, 152, ... 또는 154)는 도 8에 도시된 제1 누산 서브 셀(204)과 동일한 구성을 갖는다. 따라서, 제1 누산 서브 셀(204)과 구성 및 동작이 동일한 제2 누산 서브 셀(206)은 w'사이클이 경과된 후, 누산 데이타의 다른 부분을 가산기(208)로 출력한다. 즉, w'사이클이 경과된 다음에 누산 데이타의 일부분 및 다른 부분이 제1 및 제2 누산 서브 셀들(204 및 206)로부터 가산기(208)로 각각 입력된다. 여기서, 가산기(208)는 1사이클 동안 누산 데이타의 일부분과 누산 데이타의 다른 부분을 가산하고, 가산된 결과를 출력단자 OUT5를 통해 누산 데이타의 전체로서 해당하는 가산기(156, 158, ... 또는 160)로 출력한다.
결국, 도 4에 도시된 각 누산셀이 전술한 바와 같이 다수개의 누산 서브 셀(들)과 누산 서브 셀의 개수보다 하나 더 적은 가산기(들)로 이루어질 경우, 롬[106 또는 (126 및 136)]의 크기는 더욱 줄어든다. 여기서, 도 8에 도시된 바와 같이 각 누산셀이 두 개의 누산 서브 셀들(204 및 206)과 한개의 가산기(208)로 이루어지면, 도 5에 도시된 바와 같이 구현될 때보다도 각 누산셀은 두개의 멀티플렉서들(222 및 192)과 레지스터들(196 및 236), 쉬프터들(198 및 228), 누산기들(200 및 230) 및 레지스터들(202 및 232)을 더 요구한다. 그러나, 이와 같이 더 요구되는 소자들이 차지하는 부피는 롬(106)이 차지하는 크기에 대비하여 무시할만하며, 롬들(224 및 194)의 크기는 매우 적어지므로, 매우 경제적으로 시스템을 구현할 수 있을 뿐만 아니라, 시스템의 크기를 줄일 수 있게 된다.
이하, 본 발명의 이해를 돕기 위해, w=16, M=3, I=23, J=22, P=4 및 도 4에 도시된 출력단자 OUT1을 통해 24비트의 데이타 출력되고, 도 4에 도시된 누산 장치는 전술한 제1 ∼ 제4 적용례들중 어느 하나에 응용된다고 할 때, 도 4에 도시된 본 발명에 의한 3-단 누산 장치의 구성 및 동작을 다음과 같이 도 9를 참조하여 개략적으로 살펴본다. 이 경우, 다음과 같이 각 누산셀은 도 5에 도시된 누산셀로 구현되었다.
도 9는 도 4에 도시된 누산 장치의 본 발명에 의한 바람직한 일실시예의 회로도로서, 제1, 제2 및 제3 누산셀들(260, 262 및 264)과 제1 및 제2 가산기들(326 및 328)로 구성된다.
도 9에 도시된 각 누산셀(260, 262 또는 264)은 도 5에 도시된 누산셀과 동일한 구성을 가지고 있다. 즉, 제1 누산셀(260)은 네개의 쉬프트 레지스터들(270, 272, 273 및 274), 롬(276), 레지스터들(278 및 284), 누산기(282) 및 쉬프터(280)로 구성된다. 제2 누산셀(262)은 네개의 쉬프트 레지스터들(290, 292, 293 및 294), 롬(296), 레지스터들(298 및 304), 누산기(302) 및 쉬프터(300)로 구성된다. 제3 누산셀(264)은 네개의 쉬프트 레지스터들(310, 312, 313 및 314), 롬(316), 레지스터들(318 및 324), 누산기(322) 및 쉬프터(320)로 구성된다.
도 9에 도시된 누산 장치의 각 누산셀(260, 262 또는 264)은 도 5에 도시된 누산셀과 동일하게 동작하므로 세부적인 설명은 생략한다. 다만, 각 누산셀(260, 262 또는 264)이 갖는 쉬프트 레지스터들의 개수만 다를 뿐이다. 이 때, 도 9에 도시된 누산 장치의 전체적인 동작을 살펴보면, 각 누산셀(260, 262 또는 264)은 w사이클이 경과된 후에, 해당하는 가산기(326 또는 328)로 누산 데이타를 출력한다. 다음, 1사이클 동안 제1 가산기(326)는 제1 누산셀(260)의 레지스터(284)로부터 출력되는 누산 데이타(XAL)와 제2 누산셀(262)의 레지스터(304)로부터 출력되는 누산 데이타(XAM)를 가산하고, 가산된 결과를 제2 가산기(328)로 출력한다. 다음 1사이클동안, 제2 가산기(328)는 제1 가산기(326)에서 가산된 결과와 제3 누산셀(264)의 레지스터(324)로부터 출력되는 누산 데이타(XAH)를 가산하고, 가산된 결과를 출력단자 OUT4를 통해 최종 누산 결과로서 출력한다.
만일, 도 4에 도시된 누산 장치가 1-단인 경우(M=1) 누산셀에 포함되는 롬(106)의 크기는 4096×14가 되고, 누산 장치가 2-단인 경우(M=2) 누산셀들에 포함되는 롬의 크기는 각각 64×11 및 64×14가 된다. 그러나, 누산 장치가 3-단인 경우(M=3), 도 9에 도시된 바와 같이 누산셀들(260, 262 및 264)에 포함되는 롬들(276, 296 및 316)의 크기는 각각 16×7, 16×14 및 16×10이 된다. 결국, M이 커질수록 각 누산셀에 내장되는 롬의 크기가 줄어듬을 알 수 있다. 따라서, 단(stage)이 증가함에 따라 롬의 크기가 줄어들수록, 롬의 어드레스를 발생하는 쉬프트 레지스터들의 개수도 감소함을 알 수 있다.
이하, 전술한 본 발명에 의한 쿼드러쳐 미러 필터용 누산 장치에서 수행되는 누산 방법을 첨부한 도면을 참조하여 다음과 같이 간략하게 살펴본다.
도 10은 본 발명에 의한 누산 장치에서 수행되는 누산 방법을 설명하기 위한 플로우차트로서, 저장된 롬 데이타를 쉬프팅된 지연 데이타에 상응하여 독출하고, 독출된 롬 데이타를 소정 횟수만큼 쉬프팅하여 원하는 최종 누산 결과를 얻는 단계(제340 ∼ 제348 단계)로 이루어진다.
도 10을 참조하면, 도 4에 도시된 누산 장치는, 누산셀(들) 각각에 포함되는 롬에 저장하고 있는 롬 데이타들중 해당하는 적어도 하나 이상의 롬 데이타(들)을, 해당하는 지연기들로부터 출력되는 지연 데이타를 이용하여 롬으로부터 독출시킨다(제340 단계). 여기서, 해당하는 지연기들은 전술한 바와 같이 쉬프트 레지스터들로 구현될 수도 있기 때문에, 지연 데이타는 쉬프팅된 디지탈 입력 신호에 해당한다. 또한, 제340 단계에서 적어도 하나 이상이 의미하는 바를 살펴보면, 누산셀이 도 5에 도시된 바와 같이 구현될 경우 각 누산셀은 롬 데이타들중 하나의 롬 데이타만을 롬으로부터 독출시키지만, 누산셀이 도 6에 도시된 바와 같이 구현될 경우 각 누산셀은 2개의 롬들 각각으로부터 롬 데이타를 독출시키므로, 누산셀 하나당 독출되는 롬 데이타는 2개가 된다는 것이다.
도 4에 도시된 각 누산셀에 포함되는 누산기는 제340 단계에서 독출된 롬 데이타를 해당하는 결산 데이타와 누산시켜 누산 데이타를 구한다(제342 단계). 이 때, w 사이클이 경과되었는가를 판단한다(제344 단계). 즉, 전술한 수학식들 7, 10, 12, 19, 23, 27 및 30 각각에서 2n이 모두 수행되었는가를 판단한다.
만일, w 사이클이 경과되지 않았으면, 각 누산셀의 쉬프터는 누산 데이타를 1비트만큼 왼쪽 또는 오른쪽으로 쉬프팅하여 결산 데이타를 구하고, 제342 단계로 진행한다(제348 단계). 그러나, w 사이클이 경과되었으면, 적어도 하나 이상의 누산 데이타들을 합하여 최종 누산 결과를 결정한다(제346 단계). 즉, 누산셀이 한개만 존재하는 경우, 누산 데이타 그 자체가 최종 누산 결과로서 결정되지만, 누산셀이 다수개 존재하는 경우, 누산셀들로부터 출력되는 누산 데이타들이 모두 가산되고, 가산된 결과가 최종 누산 결과로서 결정된다.
이상에서 설명한 바와 같이, 본 발명에 의한 쿼드러쳐 미러 필터용 누산 장치 및 방법은 분할 연산 알고리즘을 이용하여 곱셈 및 덧셈 연산들을 롬과 쉬프터들에 의해 수행할 수 있기 때문에, 종래의 곱셈기와 멀티플렉서가 필요없어 하드웨어의 크기를 줄일 수 있을 뿐만 아니라 전력 소모도 줄일 수 있는 효과가 있다.

Claims (10)

  1. 필터 계수와 이진 변수가 승산되어 합해진 형태를 갖는 롬 데이타들을 분할하여 저장할 수 있고, 저장된 롬 데이타들중에서 적어도 하나 이상을 디지탈 입력 신호를 쉬프팅하여 획득한 어드레스에 응답하여 독출하고, 독출된 롬 데이타를 해당하는 결산 데이타와 누산하여 적어도 하나 이상의 누산 데이타를 발생하고 상기 누산 데이타를 쉬프팅하여 상기 결산 데이타를 발생하며 둘 이상의 누산 데이타들의 합이나 상기 누산 데이타 자체를 최종 누산 결과로서 출력하고, 상기 이진 변수는 상기 어드레스의 각 비트에 해당하는 것을 특징으로 하는 쿼드러쳐 미러 필터용 누산 장치.
  2. 제1 항에 있어서, 상기 누산 장치는
    상기 롬 데이타들을 저장하고, 저장된 롬 데이타들중 하나를 상기 어드레스에 응답하여 독출하고, 독출된 롬 데이타를 상기 결산 데이타와 누산하여 상기 누산 데이타를 발생하고, 상기 누산 데이타를 쉬프팅하여 상기 결산 데이타를 발생하며, 상기 누산 데이타를 w(여기서, w는 상기 지연 데이타의 비트 수) 사이클이 경과되었을 때 상기 최종 누산 결과로서 출력하는 제1 누산셀을 구비하는 것을 특징으로 하는 쿼드러쳐 미러 필터용 누산 장치.
  3. 제1 항에 있어서, 상기 누산 장치는
    각각이, 상기 롬 데이타들중 일부를 저장하고 저장된 롬 데이타들중 하나 또는 둘을 상기 어드레스에 응답하여 독출하고 독출된 롬 데이타를 상기 결산 데이타와 누산하여 상기 누산 데이타를 발생하고 상기 누산 데이타를 쉬프팅하여 상기 결산 데이타를 발생하는 제1 ∼ 제M(여기서, M은 2이상의 정수) 누산셀들; 및
    제1 ∼ 제M-1 가산기들을 구비하고,
    상기 제1 가산기는 상기 제1 및 상기 제2 누산셀들에서 w(여기서, w는 지연 데이타의 비트수)사이클이 경과되었을 때 발생하는 상기 누산 데이타들을 가산하고, 제J(2≤J≤M-1) 가산기는 제J-1 가산기에서 가산된 결과와 제J+1 누산셀로부터 w사이클이 경과되었을 때 발생하는 상기 누산 데이타를 가산하고, 제M-1 가산기에서 가산된 결과는 상기 최종 누산 결과에 해당하는 것을 특징으로 하는 쿼드러쳐 미러 필터용 누산 장치.
  4. 제2 항 또는 제3 항에 있어서, 상기 각 누산 셀은
    서로 직렬로 연결되어 상기 디지탈 입력 신호를 쉬프팅하는 제1 쉬프트 레지스터들;
    저장하고 있는 상기 롬 데이타들중 하나를 상기 제1 쉬프트 레지스터들로부터 출력되는 상기 이진 변수들로 이루어진 상기 어드레스에 응답하여 독출하는 제1 롬;
    상기 제1 롬으로부터 독출된 롬 데이타의 비트수를 확장시켜 저장하는 제1 레지스터;
    상기 결산 데이타와 상기 제1 레지스터에 저장된 데이타를 누산하는 제1 누산부;
    상기 제1 누산부에서 누산된 결과를 상기 누산 데이타로서 저장하는 제2 레지스터; 및
    상기 제2 레지스터에 저장된 상기 누산 데이타를 쉬프팅하고, 쉬프팅된 결과를 상기 결산 데이타로서 출력하는 제1 쉬프터를 구비하는 것을 특징으로 하는 쿼드러쳐 미러 필터용 누산장치.
  5. 제4 항에 있어서, 상기 누산 셀은
    서로 직렬 연결되어 상기 제1 쉬프트 레지스터들에 입력되는 상기 디지탈 입력 신호와 보수 관계에 있는 디지탈 입력 신호를 쉬프팅하는 제2 쉬프트 레지스터들; 및
    저장하고 있는 상기 롬 데이타들중 하나를 상기 제2 쉬프트 레지스터들로부터 출력되는 상기 이진 변수들로 이루어진 상기 어드레스에 응답하여 독출하는 제2 롬을 더 구비하고,
    상기 제1 레지스터는 상기 제1 및 상기 제2 롬들로부터 출력되는 롬 데이타들을 입력하고, 입력한 롬 데이타들의 비트수를 각각 확장하는 것을 특징으로 하는 쿼드러쳐 미러 필터용 누산장치.
  6. 제2 또는 제3 항에 있어서, 상기 각 누산 셀은
    각각이, 서로 보수 관계에 있는 상기 디지탈 입력 신호들을 각각 쉬프팅하여 제1 및 제2 어드레스들을 획득하고, 상기 롬 데이타들중 일부를 저장하고 저장된 롬 데이타들중 하나 또는 둘을 상기 제1 또는 제2 어드레스를 이용하여 독출하고 독출된 롬 데이타를 상기 결산 데이타중 일부분과 누산하여 상기 누산 데이타중 일부분을 발생하고 상기 누산 데이타중 일부분을 쉬프팅하여 상기 결산 데이타중 일부분을 발생하는 제1 ∼ 제M'(여기서, M'은 2이상의 정수) 누산 서브 셀들; 및
    제1 ∼ 제M'-1 가산기들을 구비하고,
    상기 제1 가산기는 상기 제1 및 상기 제2 누산 서브 셀들에서 w'(여기서, w'는 상기 디지탈 입력 신호의 비트수)사이클이 경과되었을 때 발생하는 상기 누산 데이타중 일부분들을 가산하고, 제Q(2≤Q≤M'-1) 가산기는 제Q-1 가산기에서 가산된 결과와 제Q+1 누산 서브 셀로부터 w'사이클이 경과되었을 때 발생하는 누산 데이타중 일부분을 가산하고, 제M'-1 가산기에서 가산된 결과는 상기 누산 데이타의 전체에 해당하는 것을 특징으로 하는 쿼드러쳐 미러 필터용 누산 장치.
  7. 제6 항에 있어서, 상기 각 누산 서브 셀은
    서로 직렬로 연결되며 서로 보수 관계에 있는 상기 디지탈 입력 신호들중 하나를 입력하여 쉬프팅하는 제3 쉬프트 레지스터들;
    서로 직렬로 연결되며 상기 디지탈 입력 신호들중 서로 보수 관계에 있는 다른 하나를 입력하여 쉬프팅하는 제4 쉬프트 레지스터들;
    상기 제3 쉬프트 레지스터들 각각으로부터 출력되는 이진 변수들로 이루어진 상기 제1 어드레스 및 상기 제4 쉬프트 레지스터들 각각으로부터 출력되는 이진 변수로 이루어진 상기 제2 어드레스들중 하나를 선택 신호에 응답하여 선택적으로 출력하는 멀티플렉서;
    저장하고 있는 상기 롬 데이타들중 하나를 상기 멀티플렉서에서 선택된 어드레스에 응답하여 독출하는 제3 롬;
    상기 제3 롬으로부터 독출된 롬 데이타의 비트수를 확장시켜 저장하는 제2 레지스터;
    상기 결산 데이타중 일부분과 상기 제2 레지스터에 저장된 데이타를 누산하는 제2 누산부;
    상기 제2 누산부에서 누산된 결과를 상기 누산 데이타의 일부분으로서 저장하고, 저장된 데이타를 상기 제M ∼ 제M-2 가산기들중 해당하는 가산기로 출력하는 제3 레지스터; 및
    상기 제3 레지스터에 저장된 상기 누산 데이타의 일부분을 쉬프팅하고, 쉬프팅된 결과를 상기 결산 데이타중 일부분으로서 상기 제2 누산부로 출력하는 제2 쉬프터를 구비하는 것을 특징으로 하는 쿼드러쳐 미러 필터용 누산장치.
  8. 서로 직렬 연결되어 디지탈 입력 신호를 지연하는 다수개의 쉬프트 레지스터들 및 필터 계수와 이진 변수가 승산되어 합해진 형태를 갖는 롬 데이타들을 분할하여 저장할 수 있는 적어도 하나 이상의 롬을 갖는 누산 장치에서 수행되는 누산 방법에 있어서,
    (a) 상기 쉬프트 레지스터들로부터 출력되는 이진 변수들을 이용하여 상기 롬 데이타들중에서 적어도 하나 이상의 롬 데이타를 독출시키는 단계;
    (b) 상기 독출된 롬 데이타를 해당하는 결산 데이타와 누산시켜 적어도 하나 이상의 누산 데이타를 구하는 단계;
    (c) w(여기서, w는 상기 지연 데이타의 비트수를 의미한다.) 사이클이 경과되었는가를 판단하는 단계;
    (d) 상기 w 사이클이 경과되지 않았으면, 상기 누산 데이타를 쉬프팅하여 상기 결산 데이타를 구하고, 상기 (b) 단계로 진행하는 단계; 및
    (e) 상기 w 사이클이 경과되었으면, 상기 적어도 하나 이상의 누산 데이타를 이용하여 최종 누산 결과를 결정하는 단계를 구비하고,
    상기 이진 변수는 상기 롬 데이타를 독출시키기 위해서 상기 쉬프트 레지스터들 각각으로부터 출력되는 비트에 해당하는 것을 특징으로 하는 쿼드러쳐 미러 필터용 누산 장치의 누산 방법.
  9. 제8 항에 있어서, 상기 (e) 단계는 상기 w사이클이 경과되었으면, 상기 (b)단계에서 구한 누산 데이타를 상기 최종 누산 결과로서 결정하는 것을 특징으로 하는 쿼드러쳐 미러 필터용 누산 장치의 누산 방법.
  10. 제8 항에 있어서, 상기 (e) 단계는 상기 w사이클이 경과되었으면, 상기 (b)단계에서 구한 둘 이상의 누산 데이타들의 합을 상기 최종 누산 결과로서 결정하는 것을 특징으로 하는 쿼드러쳐 미러 필터용 누산 장치의 누산 방법.
KR1019990048389A 1999-11-03 1999-11-03 쿼드러쳐 미러 필터용 누산 장치 및 방법 KR20010045192A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990048389A KR20010045192A (ko) 1999-11-03 1999-11-03 쿼드러쳐 미러 필터용 누산 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990048389A KR20010045192A (ko) 1999-11-03 1999-11-03 쿼드러쳐 미러 필터용 누산 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20010045192A true KR20010045192A (ko) 2001-06-05

Family

ID=19618345

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990048389A KR20010045192A (ko) 1999-11-03 1999-11-03 쿼드러쳐 미러 필터용 누산 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20010045192A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050003026A (ko) * 2003-06-30 2005-01-10 주식회사 대우일렉트로닉스 적산기를 이용한 디지털 필터 및 그 필터링 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050003026A (ko) * 2003-06-30 2005-01-10 주식회사 대우일렉트로닉스 적산기를 이용한 디지털 필터 및 그 필터링 방법

Similar Documents

Publication Publication Date Title
US6405229B1 (en) Digital filters
US6279021B1 (en) Digital filters
US6047303A (en) Systolic architecture for computing an inverse discrete wavelet transforms
US5995210A (en) Integrated architecture for computing a forward and inverse discrete wavelet transforms
WO1979000271A1 (en) Fdm/tdm transmultiplexer
US5729483A (en) Implementation of a digital interpolation filter and method
US5438532A (en) Digital filter for use in synthesizing filter or a separation filter
JPH09284094A (ja) デジタルフィルタバンク装置およびその作動方法
KR20010045192A (ko) 쿼드러쳐 미러 필터용 누산 장치 및 방법
JPH0767063B2 (ja) デジタル信号処理回路
JP2885725B2 (ja) Mpeg−2オーディオ復号化器の合成フィルタ
US6363406B1 (en) Audio data compression/expansion apparatus and digital filter
KR100577005B1 (ko) 고속 하다마드 변환 및 고속 푸리에 변환의 선택적 수행장치 및 방법
JP3503409B2 (ja) スペクトル拡散受信機
Zhu et al. ASIC implementation architecture for pulse shaping FIR filters in 3G mobile communications
TW501376B (en) Decoding device and method of digital audio
Jamin et al. FPGA implementation of the wavelet packet transform for high speed communications
JP3197648B2 (ja) ディジタルフィルタ
JPH0998069A (ja) Fir型ディジタルフィルタ
US20030035402A1 (en) Matched filter
KR100211830B1 (ko) 미니디스크의 적응변환 오디오 코딩회로
KR970006631B1 (ko) 오디오엔코딩/디코딩을 위한 서브밴드필터링 장치
JP3296772B2 (ja) デジタルフィルタ
JPH0730374A (ja) 遅延機能付きのデジタルフィルタ
JP2853722B2 (ja) サブバンド符号化復号化装置

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination