KR19980701803A - 로그/역로그 변환기, 계산 장치 및 로그값 발생 방법 - Google Patents

로그/역로그 변환기, 계산 장치 및 로그값 발생 방법 Download PDF

Info

Publication number
KR19980701803A
KR19980701803A KR1019970705200A KR19970705200A KR19980701803A KR 19980701803 A KR19980701803 A KR 19980701803A KR 1019970705200 A KR1019970705200 A KR 1019970705200A KR 19970705200 A KR19970705200 A KR 19970705200A KR 19980701803 A KR19980701803 A KR 19980701803A
Authority
KR
South Korea
Prior art keywords
log
value
memory
coefficient
coefficients
Prior art date
Application number
KR1019970705200A
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 안쏘니 제이. 살리,주니어
Publication of KR19980701803A publication Critical patent/KR19980701803A/ko

Links

Classifications

    • 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
    • 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/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/556Logarithmic or exponential functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/0307Logarithmic or exponential functions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/50Conversion to or from non-linear codes, e.g. companding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 로그 또는 역로그 함수를 구현하기 위해 사용될 수도 있는 변환기에 관한 것이다. 이 변환기는 메모리(22), 승산기(28,30) 및 두 개의 가산기(32,34)를 구비한다. 메모리(22)는 입력 값들의 도메인에 걸쳐 로그 또는 역로그 함수를 추정하기 위해 사용되는 이차 항 테일러 다항식에 기초한 다수의 계수를 저장한다. 본 발명은 또한 그 변환기를 사용하는 방법에 관한 것이다.

Description

로그/역로그 변환기, 계산 장치 및 로그값 발생 방법
관련 발명
본 발명은 본 출원인에게 양도된 다음과 같은 발명들과 관련이 있다.
(1) 1995년 1월 31일에 출원된 로그/역로그 변환기 및 그의 사용 방법(Logarithm/Inverse-Logarithm Converter and Method of Using Same)이란 명칭의 미국 특허원 제08/381,368호.
(2) 1995년 1월 31일에 출원된 이차 항을 이용하는 로그/역로그 변환기 및 그의 사용 방법(Logarithm/Inverse-Logarithm Converter Utilizing Second-order Term and Method of Use thereof)이란 명칭의 미국 특허원 제08/382,467호.
(3) 1995년 2월 22일에 출원된 선형 보간을 이용하는 로그/역로그 변환기 및 그의 사용 방법(Logarithm/Inverse-Logarithm Converter Utilizing Linear Interpolation and Method of Using Same)이란 명칭의 미국 특허원 제08/391,880호.
(4) 1994년 1월 3일에 출원된 로그 함수를 이용하는 신경망 및 그의 사용 방법(Neural Network Utilizing a Logarithm Function and Method of Using Same)이란 명칭의 미국 특허원 제08/176,601호.
(5) 1995년 3월 13일에 출원된 로그 변환을 이용하는 컴퓨터 프로세서 및 그의 사용 방법(Computer Processor Utilizing a Logarithmic Conversion and Method of Use thereof)이란 명칭의 미국 특허원 제08/403,158호.
이들 관련 발명들의 주제는 본 명세서에 참고로 인용된다.
본 발명은 일반적으로 계산 회로에 관한 것으로서, 특히 입력 값에 대해 로그 또는 역로그 변환을 수행하는데 사용될 수도 있는 계산 회로에 관한 것이다.
발명의 배경
로그 변환기는 로그 함수를 구현하는데 사용되는 장치로서 이것은 휴대용 계산기 및 스프레드 시트 소프트웨어 프로그램에서 가장 흔하게 볼 수 있다. 초월 함수라 불리는 수학적 함수류에 속하는 로그 함수는 다양한 분야, 예를 들어 데이터 통신, 제어 시스템, 화학적 프로세스 및 컴퓨터 시뮬레이션에서 중요하다. 로그 함수는 y=logb(x)로 간략화된다. 여기서, x는 0 보다 큰 수일 수도 있고, b는 기수(base number) 시스템이며, y는 로그 값으로서 입력 값 x에 대응한다.
역로그 변환기는 역로그 함수를 구현하는데 사용되는 장치이다. 기본적으로, 역로그 함수는 로그 함수의 역이다. 역이 의미하는 것은 다음의 설명으로부터 설명된다. 로그 함수는 입력 값의 영역 내에 있는 입력 값 x를 로그 값들의 범위에 속하는 유한 로그 값으로 변환한다. 기본적으로, 로그 함수는 입력 값 영역의 입력 값들과 로그 값 범위의 로그 값들간의 일대일 대응을 설정한다. 이같은 대응은 x->y에 의해 심볼적으로 표현된다. 역로그 함수는 y->x에 의해 표현되는 로그 값들과 입력 값들간의 역 대응을 설정한다. 역로그 함수는 y=logb -1(x) 또는 y = bx로 간략화 된다. 여기서, x는 입력 값이고, b는 기수 시스템이며, y는 역로그 값으로서 입력 값 x에 대응하는 것으로서 0 보다 큰 수일 수도 있다. 로그 함수와 마찬가지로, 역로그 함수는 다양한 분야에서 중요하다.
로그 및 역로그 값을 계산하는 두 기법이 현재 흔하게 사용되고 있다. 이들 두 기법은 로그 또는 역로그 값을 계산하는데 있어 유사하게 사용되므로, 간결성을 위해 이하의 설명에서는 로그 값을 계산하기 위한 기법의 사용에 초점을 맞추겠다. 이 로그 값을 계산하는 기법은 역로그 값의 계산에서도 마찬가지로 사용될 수 있음을 알 것이다.
제1의 기법은 모든 가능한 입력 값에 대해 룩업 테이블에 대응하는 로그 값을 저장하는 것으로서, 이 기법은 로그 값이 비교적 신속하게 계산될 수 있게 하며 제한적인 정확도를 필요로 하고 작은 도메인의 입력 값을 가지는 응용에서 실용적이다. 그러나, 많은 응용에서 이 기법은 비실용적인데 그 이유는 룩업 테이블의 저장을 위해 너무 큰 메모리 공간이 필요하기 때문이다. 예를 들어, 23-비트 가수(mantissa)를 가진 IEEE 표준 32-비트 부동 소수점 수를 사용하는 디지털 시스템에서, 그러한 룩업 테이블이 모든 가능한 가수 값에 대해 하나씩 223의 로그 값들을 저장하는데 필요하게 될 것이다. 이 개수의 로그 값을 저장하는데 필요한 컴퓨터 메모리는 불가능한 것은 아니나 그의 구성을 위해서는 너무나도 고가로 될 것이다.
로그 값의 계산을 위한 제2의 기법은 멱급수를 계산하여 로그 함수를 근사화하는 것이다. 로그 함수를 근사화하는 멱급수의 일 예로서 다음의 수학식 1이 있다.
y = Log(1 + x) = x - x2/2 + x3/3 - x4/4 + ...
이 예에서, 로그 함수는 자연 로그로서 알려진 특정 형태의 로그 함수로서 이것은 과학 및 공학 분야에서 널리 이용된다. 수학식 1의 변수는 다음과 같이 정의된다. y는 로그 값을 나타내고, x는 도메인 -1≤x<1의 입력 값을 나타낸다. 멱급수를 사용하여 로그 함수를 근사화하는 기법에 의해 로그 값이 고도의 정확도로 계산될 수 있게 한다고 할 지라도, 많은 수의 컴퓨터 조작이 필요하게 되어 실행을 위해 비교적 장시간이 필요케 된다. 달리 말해서, 이 기법은 일반적으로 느리고 컴퓨터의 치리량에 부정적인 영향을 끼친다.
요약컨대, 로그 또는 역로그 함수를 신속하게 수행함으로써 컴퓨터가 더욱 많은 처리량으로 동작할 수 있게 하는 변환기가 필요하다. 이러한 변환기는 또한 변환을 수행하는데 필요한 메모리공간의 양을 감소시켜야만 하고, 고도의 정확도를 가진 로그 또는 역로그 값을 발생해야만 한다.
도 1은 본 발명의 바람직한 실시예에 따른 로그/역로그 변환기를 도시한 도면이다.
도 2는 로그 함수의 그래프를 도시한 도면이다
도 3은 역로그 함수의 그래프를 도시한 도면이다
도 4는 도 1에 도시된 로그/역로그 변환기를 사용하는 방법의 흐름도를 도시한 도면이다
도 5는 도 1의 로그/역로그 변환기에 의해 사용되는 산술 연산을 수행하는 방법의 흐름도를 도시한 도면이다
도 6은 본 발명의 일 실시예를 도입한 계산장치의 일 실시예를 도시한 도면이다
도 7은 본 발명의 일 실시예를 도입한 계산장치의 다른 실시예를 도시한 도면이다
본 발명의 한가지 장점은 변환기의 구성을 변경하지 않고서도 컴퓨터, 프로세서 또는 회로에서 로그 또는 역로그 변환을 수행하는데 사용될 수 있는 변환기를 제공하는 것이다. 본 발명의 또다른 장점은 고도의 정확도를 가진 로그 및 역로그 값을 계산하는 변환기를 제공하는 것이다. 본 발명의 또다른 장점은 메모리 공간이 상당히 감소되고 전력 소모가 거의 없는 집적 회로로 효과적으로 구현될 수 있는 변환기를 제공하는 것이다. 본 발명의 또다른 장점은 변환기를 사용하여 로그 또는 역로그 값을 생성하는 방법을 제공하는 것이다.
본 발명은 특히 청구 범위에서 지적되나, 본 발명의 다른 특징들은 첨부된 도면을 참조한 다음의 설명을 참조함으로써 가장 잘 이해될 것이다.
일반적으로, 본 발명은 로그 또는 역로그 함수를 계산하는 변환기를 제공한다. 변환기는 메모리 및 산술 수단을 구비한다. 메모리는 다수의 계수를 저장하며, 여기서 계수들은 트렁케이티드 테일러 시리즈(truncated Taylor series)라고도 언급되는 테일러 다항식을 사용하여 입력 값의 도메인에 걸쳐서 로그 또는 역로그 함수를 추정함으로써 계산된다. 산술 수단은 입력 값과 메모리에 저장된 계수들 중의 어떤 것들에 대해 산술 조작을 수행함으로써 계수들에 의존하여 로그 또는 역로그 값을 발생한다.
변환기는 로그 또는 역로그 함수나, 다른 세트의 계수들을 메모리에 로딩함으로써 다른 기수(base number) 시스템 또는 도메인의 입력 값을 가진 함수를 수행하기 위해 용이하게 재구성될 수 있다.
도 1은 본 발명의 바람직한 실시예에 따른 로그/역로그 변환기를 도시한 것이다. 변환기는 메모리(22), 제1 승산기(28), 제2 승산기(30), 감산 수단(24), 제곱 수단(26), 제1 가산기(32) 및 제2 가산기(34)를 구비한다. 메모리(22)는 다수의 계수를 저장한다. 이들 계수는 이차 테일러 다항식을 기초로 하며, 그들 계수는 제로차 계수, 일차 계수 및 이차 계수를 포함한다.
변환기는 다음과 같이 동작한다. 입력 값(20)은 계수 세트를 검색하는데 사용되는 어드레스를 제공한다. 또한, 그 계수 세트는 입력 값(20)에 대응하는 메모리(22) 내의 공통 어드레스에 위치된 제로차, 일차 및 이차 계수를 포함한다. 감산 수단(24)은 입력 값(20)으로부터 베이스 점 값을 감산하여 구간 값(36)을 생성한다. 제곱 수단(26)은 구간 값(36)을 제곱하여 제곱된 값을 생성한다. 본 발명의 일 실시예에서, 제곱 수단(26)은 구간 값의 수신에 응답하여 제곱된 구간 값을 생성하는 제곱 승산기를 포함한다. 다른 실시예에서, 제곱 수단(26)은 구간 값의 수신에 응답하여 제곱된 구간 값을 생성하기 위해 판독 전용 메모리를 포함한다. 제1 승산기(28)는 구간 값(36)과 일차 계수(40)를 승산하여 일차 항을 생성한다. 제2 승산기(30)는 제곱된 구간 값과 이차 계수(42)를 승산하여 이차 항을 생성한다. 제1 가산기(32)는 일차 항과 이차 항을 합산하여 제1 합을 생성한다. 제2 가산기(34)는 제1 합과 제로차 계수를 합산하여 출력 값(35)을 생성한다.
본 발명의 일 실시예에서, 변환기는 집적 회로로 구현된다. 그러나, 당업자라면, 프로그램가능 로직 어레이, 주문형 반도체(ASIC), 기타 다른 디지털 로직 디바이스 또는 프로세서 예를 들어 마이크로프로세서에서 운영되는 소프트웨어가 또한 변환기의 구현에 사용될 수도 있음을 알 것이다.
도 2는 입력 값들의 도메인에 걸친 로그 함수(50)의 그래프이다. 입력 값들은 x축을 따라 주어지며, 로그 값은 y축을 따라 주어진다. 입력 값들의 도메인은 1 내지 2이며, 로그 값들의 범위는 0 내지 1이다. 이 범위 내의 구간은 한쌍의 베이스 점들에 의해 경계가 정해진다. 일 예의 구간은 베이스 점들(a)과 (b)에서 수직 점선들로 표시된다. 도메인의 각 베이스 점은 그 베이스 점에서 계산된 테일러 계수들을 포함하는 메모리(22) 내의 위치에 대응한다. 로그 함수(50)는 2의 기수 시스템을 사용한다.
도 3은 입력 값들의 도메인에 걸친 역로그 함수(52)의 그래프이다. 입력 값들은 x축을 따라 주어지며, 역로그 값은 y축을 따라 주어진다. 입력 값들의 도메인은 0 내지 1이며, 역로그 값들의 범위는 1 내지 2이다. 이 범위 내의 구간은 한쌍의 베이스 점들에 의해 경계가 정해진다. 일 예의 구간은 베이스 점들(a)와 (b)에서 수직 점선들로 표시된다. 도메인의 각 베이스 점은 그 베이스 점에서 계산된 테일러 계수들을 포함하는 메모리(22) 내의 위치에 대응한다. 역로그 함수(52)는 2의 기수 시스템을 사용한다.
당업자라면, 본 발명의 변환기가 어떤 로그 또는 역로그 함수를 계산하는데 사용되나, 바람직한 실시예에서 그 변환기가 도 2의 로그 함수 및 도 3의 역로그 함수를 계산함을 알 것이다.
IEEE 표준 32-비트 부동 소수점 수는 도 1의 변환기를 사용하여 로그 또는 역로그로 용이하게 변환될 수도 있다. IEEE 부동 소수점 수 값은 하나의 사인 비트, 23-비트 가수 및 8-비트 지수를 가진다. 가수만이 입력 값(20)으로서 변환기에 제공된다. 사인 비트 및 지수는 변환기를 우회하고 차후 출력 값(35)과 조합된다. 필수적으로, 변환기는 y = log2(1.M) 또는 log2 -1을 계산한다. 여기서 y는 출력 값을 나타내고 M은 가수를 나타낸다. 부동 소수점 수의 지수는 2의 기수 값 2e이다. 여기서, e는 지수를 나타낸다. 부동 소수점 수에 대응하는 로그 또는 역로그 값은 출력 값(35)과 가수 변환 후의 지수를 합산함으로써 발생된다. 이같은 합산 결과, j-비트 소수 부분 및 k-비트 정수 부분을 가진 수 포맷으로 표현된 값이 발생된다. 정수 j 및 k는 변환기의 원하는 정확도에 따라 변할 수 있다.
도 4는 도 1에 도시된 로그/역로그 변환기를 사용하는 방법의 흐름도이다. 이 방법은 로그 값 또는 역로그 값의 발생에 사용될 수 있다. 박스(70)에서, 로그(또는 역로그)함수는 다수의 계수를 가진 이차 항 테일러 다항식으로 근사화된다. 다수의 계수는 제로차, 일차 및 이차 계수를 포함한다. 다음, 박스(72)에서, 계수들은 메모리(22)에 저장된다. 박스(73)에서, 입력 값(34)이 수신된다. 다음, 박스(74)에서, 입력 값(20)에 대응하는 계수들이 메모리(22)로부터 검색된다.
박스(76)에서, 산술 연산이 검색된 계수들 및 입력 값(20)에 대해 수행되어 출력 값(35)이 생성된다. 산술 연산의 세부사항에 대해서는 도 5를 참조하여 후술한다. 검색된 계수들은 제로차 계수(38), 일차 계수(40) 및 이차 계수(42)를 포함한다.
박스(70)를 참조하면, 로그 및 역로그 함수는 다음과 같은 수학식 2의 형태를 가진 이차 테일러 다항식으로 근사화된다.
y = f(a) + f(a)*(x-a) + (f"(a)/2)*(x-a)2
여기서, y는 로그(또는 역로그) 값이고, f(a)는 제로차 계수를 나타낸 것으로서 이것은 베이스 점 a에서의 로그(또는 역로그) 함수의 값이고, f′(a)는 일차 계수를 나타낸 것으로서 이것은 베이스 점 a에서 그 함수의 일차 미분 값이며, f″(a)는 이차 계수를 나타낸 것으로서 이것은 베이스 점 a에서 그 함수의 이차 미분 값이며, x는 입력 값을 나타낸다.
도 5는 도 1의 로그/역로그 변환기에 의해 사용되는 산술 연산을 수행하는 방법의 흐름도이다. 박스(80)에서, 베이스 점 값은 입력 값으로부터 감산되어 구간 값이 생성된다. 박스(82)에서, 구간 값과 일차 계수가 승산되어 일차 항이 생성된다. 다음 박스(84)에서, 구간 값이 제곱되어 제곱된 구간 값이 생성된다. 박스(86)에서, 제곱된 구간 값과 이차 계수가 승산되어 이차 항이 생성된다. 다음, 박스(88)에서, 일차 항과 이차 항이 합산되어 일차 합이 생성된다. 박스(90)에서, 일차 합과 제로차 계수가 합산되어 출력 값이 생성된다.
도 6은 본 발명의 일 실시예가 합체된 계산 장치의 일 실시예를 도시한 것이다. 이 계산 장치는 로그/역로그 값(106)을 이용하는 컴퓨터 연산을 실행하는 처리 유닛(102), 컴퓨터 연산을 포함하는 컴퓨터 프로그램을 저장하는 컴퓨터 메모리(100), 처리 유닛(102)와 컴퓨터 메모리(100)를 연결하는 버스(101) 및 입력 값(104)을 수신하는 변환기(108)를 구비한다.
변환기(108)는 도 1에 도시된 변환기를 포함할 수도 있다. 도시된 예에서, 변환기(108)는 메모리(112)와 그 것에 동작 가능하게 결합된 산술 수단(110)을 포함한다. 산술 수단은 처리 유닛(102)로부터 입력 값(104)을 수신하고 메모리(112)에 저장된 파라미터에 따라 로그 값 또는 역로그 값을 발생한다.
도 7은 본 발명의 일 실시에가 합체된 계산 장치의 다른 실시예를 도시한 것이다. 이 계산 장치는 로그/역로그 값(106)을 이용하는 컴퓨터 연산을 실행하는 처리 유닛(102), 컴퓨터 연산을 포함하는 컴퓨터 프로그램을 저장하는 컴퓨터 메모리(100), 처리 유닛(102)와 컴퓨터 메모리(100)를 연결하는 버스(101) 및 입력 값(104)을 수신하는 변환기(120)를 구비한다.
변환기(120)는 도 1에 도시된 변환기를 포함할 수도 있다. 도시된 예에서, 변환기(120)는 메모리(124)와 그 것에 동작 가능하게 결합된 산술 수단(122)을 포함한다. 산술 수단(122)은 입력 값(104)을 수신하고 메모리(124)에 저장된 파라미터에 따라 로그 값 또는 역로그 값을 발생한다.
이와 같이 로그 또는 역로그 함수의 계산에 사용될 수도 있는 변환기의 개념 및 바람직한 실시예가 개시되었다. 이같이 개시된 바와 같은 변환기의 실시예는 테일러 다항식을 이용하여 함수를 근사화하기 때문에 단일의 가산기, 단일의 승산기 및 메모리 크기가 상당히 감소될 수 있게 하는 룩업 테이블을 사용하여 로그 또는 역로그 변환을 수행할 수 있다. 이러한 변환기는 데이터 처리량 및 계산 정확도가 개선되게 하면서도 반도체 칩이던 컴퓨터 프로그램이던 간에 상관없이 구현 비용 및 복잡성이 상당히 감소될 수 있게 한다.
본 발명의 여러 실시예를 입력 값을 출력 값으로 처리하는 면에서 설명하였으나, 본 발명은 입력 값의 입력 신호 표현을 출력 값의 출력 신호 표현으로 처리하는 회로 및 이들 회로에 의해 구현되는 방법을 포함하는 것으로서 해석되어야 한다.
본 발명의 특정 실시예들을 도시하고 설명하였으나, 그 개시된 발명이 수많은 방식으로 변형되어 상기 특별하게 개시한 바람직한 형태가 아닌 다른 수많은 실시예로 될 수 있음이 당업자에게는 자명할 것이다.
따라서, 본 발명의 진정한 사상 및 범주에 속하는 본 발명의 모든 변형들을 청구 범위에 의해 포괄하고자 한다.

Claims (11)

  1. 로그 변환기에 있어서,
    입력 값들의 도메인에 걸쳐 로그 함수를 근사화하는 테일러 다항식(Taylor polynomial)에 기초하는 다수의 계수를 저장하는 메모리와;
    상기 메모리에 동작적으로 결합되어, 입력 값과 상기 다수의 계수들 중 상기 입력 값에 대응하는 계수들에 대해 산술 연산을 수행함으로써 로그 값을 발생하는 산술 수단
    을 구비하는 로그 변환기.
  2. 제1항에 있어서, 상기 다수의 계수의 각각은 c = f(n)(a)/n!에 기초하며, 여기서 c는 계수를 나타내고, f(n)(a)는 로그 함수의 n번째 미분을 나타내며, a는 입력 값을 나타내고, n은 정수인 로그 변환기.
  3. 제1항에 있어서, 상기 로그 함수는 이차 테일러 다항식으로 근사화되는 로그 변환기.
  4. 제3항에 있어서, 상기 입력 값에 대응하는 계수들은 제로차 계수, 일차 계수 및 이차 계수를 포함하고, 상기 산술 수단은
    구간 값과 상기 일차 계수를 승산하여 일차 항을 생성하는 제1 승산기와;
    상기 구간 값을 제곱하여 제곱된 구간 값을 생성하는 수단과;
    상기 제곱된 구간 값과 상기 이차 계수를승산하여 이차 항을 생성하는 제2 승산기와;
    상기 일차 항과 상기 이차 항을 합산하여 제1 합을 생성하는 제1 가산기와;
    상기 제1 합과 상기 제로차 계수를 합산하여 상기 로그 값을 생성하는 제2 가산기
    를 구비하는 로그 변환기.
  5. 제4항에 있어서, 상기 입력 값으로부터 베이스 점 값을 감산하여 상기 구간 값을 생성하는 수단을 더 구비하는 로그 변환기.
  6. 제4항에 있어서, 상기 제곱 수단은 상기 구간 값의 수신에 응답하여 상기 제곱된 구간 값을 생성하는 제곱 승산기를 구비하는 로그 변환기.
  7. 제4항에 있어서, 상기 제곱 수단은 상기 구간 값의 수신에 응답하여 상기 제곱된 구간 값을 생성하기 위해 판독 전용 메모리를 구비하는 로그 변환기.
  8. 입력 값에 대응하는 로그 값을 발생하는 로그 변환기에 있어서,
    각각의 계수 세트가 입력 값들의 도메인내의 베이스 점에서 로그 함수를 근사화하는 이차 테일러 다항식에 기초하는 다수의 계수 세트를 저장하기 위한 제1 메모리로서, 상기 입력 값에 대응하며 제로차 계수, 일차 계수 및 이차 계수를 포함하는 계수 세트를 제공하기 위한 상기 제1 메모리와;
    구간 값과 상기 일차 계수를 승산하여 일차 항을 생성하는 제1 승산기와;
    상기 구간 값의 수신에 응답하여 제곱된 구간 값을 생성하는 제2 메모리와;
    상기 제곱된 구간 값과 상기 이차 계수를 승산하여 이차 항을 생성하는 제2 승산기와;
    상기 일차 항과 상기 이차 항을 합산하여 제1 합을 생성하는 제1 가산기와;
    상기 제1 합과 상기 제로차 계수를 합산하여 상기 로그 값을 생성하는 제2 가산기
    를 구비하는 로그 변환기.
  9. 계산 장치에 있어서,
    로그 값을 이용하는 컴퓨터 연산을 실행하는 처리 유닛와;
    상기 컴퓨터 연산을 포함하는 컴퓨터 프로그램을 저장하는 컴퓨터 메모리와;
    입력 값을 수신하는 로그 변환기
    를 구비하며, 상기 로그 변환기는
    입력 값들의 도메인에 걸쳐 로그 함수를 근사화하는 테일러 다항식에 기초하는 다수의 계수를 저장하기 위한 메모리와;
    상기 메모리에 동작적으로 결합되어, 상기 입력 값과 상기 다수의 계수들 중에서 상기 입력 값에 대응하는 계수들에 대해 산술 연산을 수행함으로써 상기 로그 값을 발생하는 산술 수단
    을 구비하는 계산 장치.
  10. 로그 값을 발생하기 위한 방법에 있어서,
    입력 값을 수신하는 단계와;
    상기 입력 값에 대응하며, 로그 함수를 근사화하는 테일러 다항식에 기초하는 적어도 하나의 계수를 메모리로부터 검색하는 단계와;
    상기 적어도 하나의 계수 및 상기 입력 값에 대해 산술 연산을 수행하여 상기 로그 값을 생성하는 단계
    를 포함하는 로그 값 발생 방법.
  11. 입력 값에 대응하는 역로그 값을 발생하는 역로그 변환기에 있어서,
    각각의 계수 세트가 입력 값들의 도메인내의 베이스 점에서 역로그 함수를 근사화하는 이차 테일러 다항식에 기초하는 다수의 계수 세트를 저장하기 위한 메모리로서, 상기 입력 값에 대응하며 제로차 계수, 일차 계수 및 이차 계수를 포함하는 계수 세트를 제공하기 위한 상기 메모리와;
    구간 값과 상기 일차 계수를 승산하여 일차 항을 생성하는 제1 승산기와;
    상기 구간 값의 수신에 응답하여 제곱된 구간 값을 생성하기 위한 판독 전용 메모리와;
    상기 제곱된 구간 값과 상기 이차 계수를 승산하여 이차 항을 생성하는 제2 승산기와;
    상기 일차 항과 상기 이차 항을 합산하여 제1 합을 생성하는 제1 가산기와;
    상기 제1 합과 상기 제로차 계수를 합산하여 상기 역로그 값을 생성하는 제2 가산기
    를 구비하는 역로그 변환기.
KR1019970705200A 1995-01-31 1997-07-30 로그/역로그 변환기, 계산 장치 및 로그값 발생 방법 KR19980701803A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8/381167 1995-01-31
US08/381,167 US5604691A (en) 1995-01-31 1995-01-31 Logarithm/inverse-logarithm converter utilizing a truncated Taylor series and method of use thereof

Publications (1)

Publication Number Publication Date
KR19980701803A true KR19980701803A (ko) 1998-06-25

Family

ID=23503961

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970705200A KR19980701803A (ko) 1995-01-31 1997-07-30 로그/역로그 변환기, 계산 장치 및 로그값 발생 방법

Country Status (6)

Country Link
US (1) US5604691A (ko)
EP (1) EP0807287A4 (ko)
KR (1) KR19980701803A (ko)
CN (1) CN1172539A (ko)
AU (1) AU4653896A (ko)
WO (1) WO1996024096A1 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5642305A (en) * 1995-01-31 1997-06-24 Motorola, Inc. Logarithm/inverse-logarithm converter and method of using same
KR0174498B1 (ko) * 1995-10-13 1999-04-01 김광호 로그의 근사값 계산방법 및 회로
US5963460A (en) * 1996-12-17 1999-10-05 Metaflow Technologies, Inc. Apparatus for computing transcendental functions quickly
US6567831B1 (en) * 1997-12-24 2003-05-20 Elbrus International Limited Computer system and method for parallel computations using table approximation
US6363405B1 (en) 1997-12-24 2002-03-26 Elbrus International Limited Computer system and method for parallel computations using table approximation methods
US6549924B1 (en) * 1999-10-01 2003-04-15 Hewlett-Packard Company Function generating interpolation method and apparatus
US7395209B1 (en) * 2000-05-12 2008-07-01 Cirrus Logic, Inc. Fixed point audio decoding system and method
US7284027B2 (en) 2000-05-15 2007-10-16 Qsigma, Inc. Method and apparatus for high speed calculation of non-linear functions and networks using non-linear function calculations for digital signal processing
US20020147753A1 (en) * 2001-01-30 2002-10-10 Cirrus Logic, Inc. Methods and systems for raising a numerical value to a fractional power
US7113491B2 (en) * 2001-07-31 2006-09-26 Conexant, Inc. Method and system for varying an echo canceller filter length based on data rate
US20030099286A1 (en) * 2001-07-31 2003-05-29 Graziano Michael J. Method and system for shaping transmitted power spectral density according to line conditions
US20030101206A1 (en) * 2001-07-31 2003-05-29 Graziano Michael J. Method and system for estimating a base-2 logarithm of a number
US20030086486A1 (en) * 2001-07-31 2003-05-08 Graziano Michael J. Method and system for determining maximum power backoff using frequency domain geometric signal to noise ratio
DE10163350A1 (de) * 2001-12-21 2003-07-17 Rohde & Schwarz Verfahren und Vorrichtung zum Erzeugen eines Ausgangssignals als mathematische Funktion eines Eingangssignals
US20040044710A1 (en) * 2002-08-28 2004-03-04 Harrison John R. Converting mathematical functions to power series
CN100340940C (zh) * 2004-04-02 2007-10-03 明基电通股份有限公司 对数转换方法及其装置
US20060015549A1 (en) * 2004-07-13 2006-01-19 Chren William A Method and apparatus for generation of gaussian deviates
US7606850B2 (en) * 2005-03-30 2009-10-20 Lockheed Martin Corporation Method and apparatus for providing a base-2 logarithm approximation to a binary number
US7539717B2 (en) * 2005-09-09 2009-05-26 Via Technologies, Inc. Logarithm processing systems and methods
JP2007183342A (ja) * 2006-01-05 2007-07-19 Nec Electronics Corp データ変換回路とそれを用いた表示装置
KR100849317B1 (ko) * 2006-12-01 2008-07-29 삼성전자주식회사 0.75승 계산 장치 및 방법
US7912883B2 (en) * 2007-08-02 2011-03-22 Via Technologies, Inc. Exponent processing systems and methods
US8676871B2 (en) * 2010-09-24 2014-03-18 Intel Corporation Functional unit capable of executing approximations of functions
DE102014200465A1 (de) * 2014-01-14 2015-07-16 Robert Bosch Gmbh Vorrichtung und Verfahren zur Bestimmung eines Schätzwertes des Logarithmus einer Eingangsgröße
JP6497250B2 (ja) 2015-07-16 2019-04-10 富士通株式会社 演算処理装置および演算処理装置の制御方法
CN105306066B (zh) * 2015-11-18 2018-12-04 北京理工大学 基于泰勒级数估计的油井数据无损压缩方法
US10303439B2 (en) * 2016-04-26 2019-05-28 International Business Machines Corporation Logarithm and power (exponentiation) computations using modern computer architectures
CN115001485A (zh) * 2022-06-29 2022-09-02 佛山市蓝箭电子股份有限公司 基于泰勒多项式逼近的直接数字频率合成器

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4555768A (en) * 1983-06-07 1985-11-26 Rca Corporation Digital signal processing system employing logarithms to multiply and divide
US4922212A (en) * 1989-06-05 1990-05-01 Novatel Communications, Ltd. Oscillator temperature compensating circuit using stored and calculated values
US5301138A (en) * 1990-07-19 1994-04-05 Motorola, Inc. Device and method for evaluating logarithms
US5343254A (en) * 1991-04-25 1994-08-30 Olympus Optical Co., Ltd. Image signal processing device capable of suppressing nonuniformity of illumination
US5331582A (en) * 1991-12-16 1994-07-19 Pioneer Electronic Corporation Digital signal processor using a coefficient value corrected according to the shift of input data
EP0628183B1 (de) * 1992-02-29 1998-07-15 Bernd HÖFFLINGER Schaltungsanordnung zum digitalen multiplizieren von integer-zahlen

Also Published As

Publication number Publication date
EP0807287A4 (en) 1999-09-01
US5604691A (en) 1997-02-18
EP0807287A1 (en) 1997-11-19
CN1172539A (zh) 1998-02-04
WO1996024096A1 (en) 1996-08-08
AU4653896A (en) 1996-08-21

Similar Documents

Publication Publication Date Title
KR19980701803A (ko) 로그/역로그 변환기, 계산 장치 및 로그값 발생 방법
KR19980701802A (ko) 로그/역로그 변환기, 계산 장치 및 로그값 발생 방법
US5941939A (en) Logarithm/inverse-logarithm converter and method of using same
US5726924A (en) Exponentiation circuit utilizing shift means and method of using same
US5600581A (en) Logarithm/inverse-logarithm converter utilizing linear interpolation and method of using same
Ko et al. Design and application of faithfully rounded and truncated multipliers with combined deletion, reduction, truncation, and rounding
EP0149248B1 (en) Method and apparatus for division using interpolation approximation
US5951629A (en) Method and apparatus for log conversion with scaling
US6976043B2 (en) Technique for approximating functions based on lagrange polynomials
US5629884A (en) Log converter utilizing offset and method of use thereof
US6574649B2 (en) Efficient convolution method and apparatus
Brisebarre et al. A lattice basis reduction approach for the design of finite wordlength FIR filters
JPH09212485A (ja) 2次元idct回路
EP0673564B1 (en) A device for conversion of a binary floating-point number into a binary 2-logarithm or the opposite
JPH05508724A (ja) 指数関数を計算する装置および方法
Hass Synthesizing optimal fixed-point arithmetic for embedded signal processing
JP2737933B2 (ja) 除算装置
US6549924B1 (en) Function generating interpolation method and apparatus
US20150019604A1 (en) Function accelerator
JP2000183753A (ja) 信号変換装置及び信号変換方法
KR0136486B1 (ko) 변형 부스 곱셈기
JP2508286B2 (ja) 平方根演算装置
Bessalah et al. Multifunction generator using Horner scheme and small tables
WO2021016058A1 (en) Matrix multiplication in hardware using modular math
JPH0695855A (ja) 逆数発生回路及びこれを用いたディジタルシグナルプロセッサ

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application