KR19980701803A - 로그/역로그 변환기, 계산 장치 및 로그값 발생 방법 - Google Patents
로그/역로그 변환기, 계산 장치 및 로그값 발생 방법 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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/556—Logarithmic or exponential functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/02—Digital function generators
- G06F1/03—Digital function generators working, at least partly, by table look-up
- G06F1/0307—Logarithmic or exponential functions
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/50—Conversion 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이 있다.
이 예에서, 로그 함수는 자연 로그로서 알려진 특정 형태의 로그 함수로서 이것은 과학 및 공학 분야에서 널리 이용된다. 수학식 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)는 제로차 계수를 나타낸 것으로서 이것은 베이스 점 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)
- 로그 변환기에 있어서,입력 값들의 도메인에 걸쳐 로그 함수를 근사화하는 테일러 다항식(Taylor polynomial)에 기초하는 다수의 계수를 저장하는 메모리와;상기 메모리에 동작적으로 결합되어, 입력 값과 상기 다수의 계수들 중 상기 입력 값에 대응하는 계수들에 대해 산술 연산을 수행함으로써 로그 값을 발생하는 산술 수단을 구비하는 로그 변환기.
- 제1항에 있어서, 상기 다수의 계수의 각각은 c = f(n)(a)/n!에 기초하며, 여기서 c는 계수를 나타내고, f(n)(a)는 로그 함수의 n번째 미분을 나타내며, a는 입력 값을 나타내고, n은 정수인 로그 변환기.
- 제1항에 있어서, 상기 로그 함수는 이차 테일러 다항식으로 근사화되는 로그 변환기.
- 제3항에 있어서, 상기 입력 값에 대응하는 계수들은 제로차 계수, 일차 계수 및 이차 계수를 포함하고, 상기 산술 수단은구간 값과 상기 일차 계수를 승산하여 일차 항을 생성하는 제1 승산기와;상기 구간 값을 제곱하여 제곱된 구간 값을 생성하는 수단과;상기 제곱된 구간 값과 상기 이차 계수를승산하여 이차 항을 생성하는 제2 승산기와;상기 일차 항과 상기 이차 항을 합산하여 제1 합을 생성하는 제1 가산기와;상기 제1 합과 상기 제로차 계수를 합산하여 상기 로그 값을 생성하는 제2 가산기를 구비하는 로그 변환기.
- 제4항에 있어서, 상기 입력 값으로부터 베이스 점 값을 감산하여 상기 구간 값을 생성하는 수단을 더 구비하는 로그 변환기.
- 제4항에 있어서, 상기 제곱 수단은 상기 구간 값의 수신에 응답하여 상기 제곱된 구간 값을 생성하는 제곱 승산기를 구비하는 로그 변환기.
- 제4항에 있어서, 상기 제곱 수단은 상기 구간 값의 수신에 응답하여 상기 제곱된 구간 값을 생성하기 위해 판독 전용 메모리를 구비하는 로그 변환기.
- 입력 값에 대응하는 로그 값을 발생하는 로그 변환기에 있어서,각각의 계수 세트가 입력 값들의 도메인내의 베이스 점에서 로그 함수를 근사화하는 이차 테일러 다항식에 기초하는 다수의 계수 세트를 저장하기 위한 제1 메모리로서, 상기 입력 값에 대응하며 제로차 계수, 일차 계수 및 이차 계수를 포함하는 계수 세트를 제공하기 위한 상기 제1 메모리와;구간 값과 상기 일차 계수를 승산하여 일차 항을 생성하는 제1 승산기와;상기 구간 값의 수신에 응답하여 제곱된 구간 값을 생성하는 제2 메모리와;상기 제곱된 구간 값과 상기 이차 계수를 승산하여 이차 항을 생성하는 제2 승산기와;상기 일차 항과 상기 이차 항을 합산하여 제1 합을 생성하는 제1 가산기와;상기 제1 합과 상기 제로차 계수를 합산하여 상기 로그 값을 생성하는 제2 가산기를 구비하는 로그 변환기.
- 계산 장치에 있어서,로그 값을 이용하는 컴퓨터 연산을 실행하는 처리 유닛와;상기 컴퓨터 연산을 포함하는 컴퓨터 프로그램을 저장하는 컴퓨터 메모리와;입력 값을 수신하는 로그 변환기를 구비하며, 상기 로그 변환기는입력 값들의 도메인에 걸쳐 로그 함수를 근사화하는 테일러 다항식에 기초하는 다수의 계수를 저장하기 위한 메모리와;상기 메모리에 동작적으로 결합되어, 상기 입력 값과 상기 다수의 계수들 중에서 상기 입력 값에 대응하는 계수들에 대해 산술 연산을 수행함으로써 상기 로그 값을 발생하는 산술 수단을 구비하는 계산 장치.
- 로그 값을 발생하기 위한 방법에 있어서,입력 값을 수신하는 단계와;상기 입력 값에 대응하며, 로그 함수를 근사화하는 테일러 다항식에 기초하는 적어도 하나의 계수를 메모리로부터 검색하는 단계와;상기 적어도 하나의 계수 및 상기 입력 값에 대해 산술 연산을 수행하여 상기 로그 값을 생성하는 단계를 포함하는 로그 값 발생 방법.
- 입력 값에 대응하는 역로그 값을 발생하는 역로그 변환기에 있어서,각각의 계수 세트가 입력 값들의 도메인내의 베이스 점에서 역로그 함수를 근사화하는 이차 테일러 다항식에 기초하는 다수의 계수 세트를 저장하기 위한 메모리로서, 상기 입력 값에 대응하며 제로차 계수, 일차 계수 및 이차 계수를 포함하는 계수 세트를 제공하기 위한 상기 메모리와;구간 값과 상기 일차 계수를 승산하여 일차 항을 생성하는 제1 승산기와;상기 구간 값의 수신에 응답하여 제곱된 구간 값을 생성하기 위한 판독 전용 메모리와;상기 제곱된 구간 값과 상기 이차 계수를 승산하여 이차 항을 생성하는 제2 승산기와;상기 일차 항과 상기 이차 항을 합산하여 제1 합을 생성하는 제1 가산기와;상기 제1 합과 상기 제로차 계수를 합산하여 상기 역로그 값을 생성하는 제2 가산기를 구비하는 역로그 변환기.
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)
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)
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 |
-
1995
- 1995-01-31 US US08/381,167 patent/US5604691A/en not_active Expired - Fee Related
-
1996
- 1996-01-03 AU AU46538/96A patent/AU4653896A/en not_active Abandoned
- 1996-01-03 CN CN96191713A patent/CN1172539A/zh active Pending
- 1996-01-03 EP EP96902095A patent/EP0807287A4/en not_active Withdrawn
- 1996-01-03 WO PCT/US1996/000145 patent/WO1996024096A1/en not_active Application Discontinuation
-
1997
- 1997-07-30 KR KR1019970705200A patent/KR19980701803A/ko not_active Application Discontinuation
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 |