KR101114785B1 - 아크탄젠트 연산 장치 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

아크탄젠트 연산 장치 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR101114785B1
KR101114785B1 KR1020100063451A KR20100063451A KR101114785B1 KR 101114785 B1 KR101114785 B1 KR 101114785B1 KR 1020100063451 A KR1020100063451 A KR 1020100063451A KR 20100063451 A KR20100063451 A KR 20100063451A KR 101114785 B1 KR101114785 B1 KR 101114785B1
Authority
KR
South Korea
Prior art keywords
degrees
phase angle
dimensional vector
arc tangent
vector
Prior art date
Application number
KR1020100063451A
Other languages
English (en)
Other versions
KR20110003273A (ko
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 KR20110003273A publication Critical patent/KR20110003273A/ko
Application granted granted Critical
Publication of KR101114785B1 publication Critical patent/KR101114785B1/ko

Links

Images

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
    • 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/5446Methods 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 using crossaddition algorithms, e.g. CORDIC
    • 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/035Reduction of table size
    • G06F1/0353Reduction of table size by using symmetrical properties of the function, e.g. using most significant bits for quadrant control
    • 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/548Trigonometric functions; Co-ordinate transformations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)
  • Control Of Ac Motors In General (AREA)
  • Chemical Vapour Deposition (AREA)

Abstract

본 발명은 위상 각도 ROM의 기억 용량을 삭감하여 회로 규모의 소형화를 도모하는 것을 과제로 한다.
0도~대략 22.5도 내 상당의 2차원 벡터값에 대응하는 위상 각도(θ1)를 미리 기억한 위상 각도 ROM(2)과, 0도~360도 내 상당의 2차원 벡터값에 벡터 회전 처리를 실시하여, 0도~대략 22.5도 내 상당의 2차원 벡터값으로 변환하는 벡터 회전부(3)와, 이 벡터 회전부(3)에서 변환한 0도~대략 22.5도 내 상당의 2차원 벡터값에 대응하는 위상 각도(θ1)를 위상 각도 ROM(2)으로부터 출력하는 아크탄젠트 연산부(4)와, 위상 각도(θ1)를 0도~360도 환산의 위상 각도(θ)로 변환하는 위상 각도 변환부(5)를 가지고 있다.

Description

아크탄젠트 연산 장치 및 컴퓨터 판독 가능한 기록 매체{APPARATUS AND COMPUTER READABLE RECORDING MEDIUM FOR ARCTANGENT CALCULATION}
본 발명은 2차원 벡터값으로부터 위상 각도를 연산 출력하는 아크탄젠트 연산 장치 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
최근, 예컨대, 고속 통신 처리, 디지털 화상 처리나 퍼지 제어 처리 등의 각종 기술 분야에서는, 2차원 벡터값으로부터 위상 각도를 고속으로 연산 출력하는 아크탄젠트 연산 장치가 필요로 되고 있다.
그러나, 종래의 아크탄젠트 연산 장치에서는, 고속의 연산 출력이 요구되고 있기 때문에, 그 회로 규모도 커진다.
그래서, 종래의 아크탄젠트 연산 장치에서는, 예컨대, CORDIC(Coordinate Rotation Digital Computer) 연산의 반복 연산을 채용함으로써, 그 회로 규모를 억제한 것이 알려져 있다.
또한, 2차원 벡터값에 대응한 위상 각도를 관리하는 ROM(Read Only Memory) 테이블을 준비하고, 입력한 2차원 벡터값에 따라 위상 각도를 출력하는 기술도 알려져 있다.
그러나, ROM 테이블을 사용하는 방식에서는, ROM 테이블에서 관리하여야 할 데이터량이 방대해져, ROM 테이블의 기억 용량을 크게 할 필요가 있기 때문에, 그 회로 규모가 커진다.
그래서, 최근에서는, ROM 테이블 내의 2차원 벡터값의 대수를 취하는, 또는, 필요한 치역(値域) 이외의 정밀도를 낮춤으로써, ROM 테이블 내의 데이터량을 삭감하고, 그 회로 규모를 억제하는 기술이 알려져 있다.
또한, 종래의 아크탄젠트 연산 장치로서는, 아크탄젠트 함수 arctan(x)가 아니라, 아크탄젠트 함수 arctan(x)-x를 테이블로서 구비하고, 그 결과에 대하여 입력값(x)을 가산하여 아크탄젠트 결과를 얻음으로써, 그 회로 규모를 억제한 기술도 알려져 있다.
또한, CORDIC 연산 및 ROM 테이블의 절충안으로서 덧셈 정리를 이용함으로써, 소형 테이블이며 수속이 빠른 연산 방식을 채용한 것도 알려져 있다.
또한, 종래의 아크탄젠트 연산 장치에서는, 0도~360도 내 상당의 2차원 벡터값을 0도~45도 내 상당의 2차원 벡터값으로 변환하여, 아크탄젠트 연산부에의 입력값 영역을 억제하는 방법도 알려져 있다.
또한, 종래의 아크탄젠트 연산 장치에서는, 아크탄젠트 함수 arctan(α)를 직선 등으로 근사하여 계산하는 방법을 채용하고, 2차원 벡터값(x, y)에 대하여 α=y÷x를 계산하여, 그 값(α)이 소정 범위 내인 경우, 특정 직선에 근사하다고 판단하는 기술도 알려져 있다.
특허문헌 1: 일본 특허 공개 소화 제54-104249호 공보 특허문헌 2: 일본 특허 공표 소화 제58-500044호 공보 특허문헌 3: 일본 특허 공개 평성 제10-308714호 공보 특허문헌 4: 일본 특허 공개 평성 제4-111019호 공보 특허문헌 5: 일본 특허 공개 평성 제2-232724호 공보 특허문헌 6: 일본 특허 공개 제2000-99314호 공보 특허문헌 7: 일본 특허 공개 제2002-9856호 공보 특허문헌 8: 일본 특허 공개 제2003-92607호 공보 특허문헌 9: 일본 특허 공개 평성 제5-347643호 공보 특허문헌 10: 일본 특허 공개 제2000-155672호 공보 특허문헌 11: 일본 특허 공개 소화 제58-178478호 공보
상기 종래의 아크탄젠트 연산 장치에서는, 0도~360도 내 상당의 2차원 벡터값을 0도~45도 상당의 2차원 벡터값으로 변환하여, 아크탄젠트 연산부가 0도~45도 내 상당의 2차원 벡터값에 대응한 위상 각도를 위상 각도 ROM으로부터 출력한다.
그러나, 상기 종래의 아크탄젠트 연산 장치에서는, 0도~45도 내 상당의 2차원 벡터값에 대응하는 위상 각도를 관리하는 위상 각도 ROM의 데이터량도 방대하기 때문에, 위상 각도 ROM의 기억 용량이 커져, 그 회로 규모가 대규모로 되어 있는 것이 실정이다.
개시된 기술은 상기 점에 감안하여 이루어진 것으로, 그 목적으로 하는 바는, 위상 각도 기억부에서 관리하는 데이터량을 억제함으로써, 복잡한 연산 처리 구성을 요하는 일 없이, 그 회로 규모의 소형화를 도모할 수 있는 아크탄젠트 연산 장치 및 컴퓨터 판독 가능한 기록 매체를 제공하는 것에 있다.
본원이 개시하는 아크탄젠트 연산 장치는, 하나의 양태에 있어서, 0도~대략 22.5도 내 상당의 2차원 벡터값에 대응하는 위상 각도를 미리 기억한 위상 각도 기억부와, 0도~360도 내 상당의 2차원 벡터값에 벡터 회전 처리를 실시하여, 0도~대략 22.5도 내 상당의 2차원 벡터값으로 변환하는 벡터 회전부와, 상기 벡터 회전부에서 변환한 0도~대략 22.5도 내 상당의 2차원 벡터값에 대응하는 위상 각도를 상기 위상 각도 기억부로부터 출력하는 아크탄젠트 연산부와, 상기 아크탄젠트 연산부에서 출력한 위상 각도를 0도~360도 환산의 위상 각도로 변환 출력하는 위상 각도 변환부를 갖도록 하였다.
또한, 본원이 개시하는 컴퓨터 판독 가능한 기록 매체는, 하나의 양태에 있어서, 0도~대략 22.5도 내 상당의 2차원 벡터값에 대응하는 위상 각도를 위상 각도 기억부에 기억한 기억 절차와, 0도~360도 내 상당의 2차원 벡터값에 벡터 회전 처리를 실시하여, 0도~대략 22.5도 내 상당의 2차원 벡터값으로 변환하는 벡터 회전 절차와, 상기 벡터 회전 절차에서 변환한 0도~대략 22.5도 내 상당의 2차원 벡터값에 대응하는 위상 각도를 상기 위상 각도 기억부로부터 출력하는 아크탄젠트 연산 절차와, 상기 아크탄젠트 연산 절차에서 출력한 위상 각도를 0도~360도 환산의 위상 각도로 변환 출력하는 위상 각도 변환 절차를 컴퓨터에 실행시키는 아크탄젠트 연산 프로그램을 기록하였다.
본원이 개시하는 아크탄젠트 연산 장치 및 아크탄젠트 연산 프로그램의 하나의 양태에 따르면, 승제산과 같은 복잡한 연산 처리를 요하는 일 없이, 0도~360도 내 상당의 2차원 벡터값을 0도~대략 22.5도 내 상당의 2차원 벡터값으로 치역 억제하여 아크탄젠트 연산부에 입력한다. 그리고, 위상 각도 기억부에서는, 0도~대략 22.5도 내 상당의 2차원 벡터값에 대응한 위상 각도를 기억하는 것만으로 해결되기 때문에, 위상 각도 기억부의 기억 용량을 종래에 비하여 대폭으로 삭감하여, 그 회로 규모의 소형화를 도모할 수 있다고 하는 효과를 나타낸다.
도 1은 실시예 1의 아크탄젠트 연산 장치의 내부 구성을 나타내는 블록도이다.
도 2는 2차원 벡터값 및 위상 각도의 관계를 나타내는 설명도이다.
도 3은 실시예 2의 아크탄젠트 연산 장치의 내부 구성을 나타내는 블록도이다.
도 4는 90도 벡터 회전부의 90도 벡터 회전 처리에 관한 변환 테이블의 테이블 내용을 나타내는 설명도이다.
도 5는 아크탄젠트 연산부의 이전 처리에 관한 동작을 나타내는 설명도이다.
도 6은 45도 벡터 회전부의 45도 벡터 회전 처리에 관한 변환 테이블의 테이블 내용을 나타내는 설명도이다.
도 7은 실시예 3의 아크탄젠트 연산 장치의 내부 구성을 나타내는 블록도이다.
도 8은 45도 벡터 회전부의 45도 벡터 회전 처리에 관한 동작을 나타내는 설명도이다.
도 9는 실시예 4의 아크탄젠트 연산 장치의 내부 구성을 나타내는 블록도이다.
도 10은 일괄 변환 테이블의 테이블 내용을 나타내는 설명도이다.
도 11은 위상 각도 ROM에 관한 기억 용량의 삭감 효과를 나타내는 설명도이다.
도 12는 실시예 5의 아크탄젠트 연산 장치의 내부 구성을 나타내는 블록도이다.
이하, 도면에 기초하여, 본원이 개시하는 아크탄젠트 연산 장치 및 아크탄젠트 연산 프로그램의 실시예에 대해서 상세하게 설명한다.
<실시예 1>
도 1은 실시예 1의 아크탄젠트 연산 장치의 내부 구성을 나타내는 블록도이며, 도 2는 2차원 벡터값 및 위상 각도의 관계를 나타내는 설명도이다.
도 1에 나타내는 아크탄젠트 연산 장치(1)는, 도 2에 나타내는 바와 같이 0도~360도 내 상당의 2차원 벡터값(X, Y)에 대응하는 위상 각도(θ)를 연산 출력하는 것이다.
아크탄젠트 연산 장치(1)는, 0도~대략 22.5도 내 상당의 2차원 벡터값(X1, Y1)에 대응하는 위상 각도(θ1)를 미리 기억한 위상 각도 ROM(2)을 가지고 있다. 또한, 대략 22.5도는, 예컨대, 45도의 절반의 각도인 22.5도에 상당하는 것이다.
아크탄젠트 연산 장치(1)는, 0도~360도 내 상당의 2차원 벡터값(X, Y)을 검출하면, 2차원 벡터값(X, Y)에 벡터 회전 처리를 실시하는 벡터 회전부(3)를 가지고 있다.
벡터 회전부(3)는, 2차원 벡터값(X, Y)에 벡터 회전 처리를 실시함으로써, 0도~대략 22.5도 내 상당의 2차원 벡터값(X1, Y1)으로 변환하는 것이다.
또한, 아크탄젠트 연산 장치(1)는, 벡터 회전부(3)에서 변환한 0도~대략 22.5도 내 상당의 2차원 벡터값(X1, Y1)에 대응하는 위상 각도(θ1)를 위상 각도 ROM(2)으로부터 출력하는 아크탄젠트 연산부(4)를 가지고 있다.
또한, 아크탄젠트 연산 장치(1)는, 아크탄젠트 연산부(4)로부터 0도~대략 22.5도 환산의 위상 각도(θ1)를 검출하면, 이 위상 각도(θ1)를 0도~360도 환산의 위상 각도(θ)로 변환하는 위상 각도 변환부(5)를 가지고 있다.
실시예 1에서는, 0도~360도 내 상당의 2차원 벡터값(X, Y)을 0도~22.5도 내 상당의 2차원 벡터값(X1, Y1)으로 치역 억제하여 아크탄젠트 연산부(4)에 입력한다. 그리고, 위상 각도 ROM(2)에서는, 0도~22.5도 내 상당의 2차원 벡터값(X1, Y1)에 대응한 위상 각도(θ1)를 기억하는 것만으로 해결되기 때문에, 위상 각도 ROM(2)의 기억 용량을 종래에 비하여 대폭으로 삭감할 수 있다. 그 결과, 실시예 1에서는, 아크탄젠트 연산 장치(1)의 회로 규모의 소형화를 도모할 수 있다.
<실시예 2>
다음에, 실시예 2의 아크탄젠트 연산 장치에 대해서 설명한다. 도 3은 실시예 2의 아크탄젠트 연산 장치의 내부 구성을 나타내는 블록도이다. 또한, 실시예 1의 아크탄젠트 연산 장치(1)와 동일한 구성에 대해서는 동일 부호를 붙임으로써, 그 중복하는 구성 및 동작의 설명을 생략한다.
도 3에 나타내는 아크탄젠트 연산 장치(1A)는, 위상 각도 ROM(2), 아크탄젠트 연산부(4) 및 위상 각도 변환부(5) 외에, 0도~360도 내 상당의 2차원 벡터값(X, Y)에 대하여 90도 벡터 회전 처리를 실행하는 90도 벡터 회전부(11)를 가지고 있다.
90도 벡터 회전부(11)는, 0도~360도 내 상당의 2차원 벡터값(X, Y)에 90도 벡터 회전 처리를 실시하여, 0도~45도 내 상당의 2차원 벡터값(X2, Y2)으로 변환하는 것이다.
또한, 아크탄젠트 연산 장치(1A)는, 90도 벡터 회전 처리에서 변환한 2차원 벡터값(X2, Y2)이 0도~22.5도 내 상당의 2차원 벡터값인지의 여부를 판정하는 벡터 회전 판정부(12)를 가지고 있다.
또한, 아크탄젠트 연산부(4)는, 2차원 벡터값(X2, Y2)이 0도~22.5도 내 상당의 2차원 벡터값인 경우, 이 2차원 벡터값(X1, Y1)에 대응하는 위상 각도(θ1)를 위상 각도 ROM(2)으로부터 출력하는 것이다.
또한, 위상 각도 변환부(5)는, 아크탄젠트 연산부(4)에서 출력한 0도~22.5도 환산의 위상 각도(θ1)를 검출하면, 위상 각도(θ1)를 0도~360도 환산의 위상 각도(θ)로 변환하는 것이다.
또한, 아크탄젠트 연산 장치(1A)는, 2차원 벡터값(X2, Y2)이 0도~22.5도 내 상당의 2차원 벡터값이 아닌 경우, 2차원 벡터값(X2, Y2)에 45도 벡터 회전 처리를 실행하는 45도 벡터 회전부(13)를 가지고 있다.
45도 벡터 회전부(13)는, 2차원 벡터값(X2, Y2)에 대하여 45도 벡터 회전 처리를 실시한 후, 그 2차원 벡터값을 +측의 X 좌표축(0도축)을 중심으로 180도 반전시키는 것이다. 그 결과, 2차원 벡터값(X2, Y2)을 0도~22.5도 내 상당의 2차원 벡터값(X3, Y3)으로 변환하는 것이다. 또한, 45도 벡터 회전 처리는, 45도 벡터 회전 처리 및 180도 반전 처리를 포함하는 것이다.
45도 벡터 회전부(13)는, 0도~22.5도 내 상당의 2차원 벡터값(X3, Y3)을, 벡터 회전 판정부(12)를 통해 2차원 벡터값(X1, Y1)으로서 아크탄젠트 연산부(4)에 입력하는 것이다.
또한, 벡터 회전 판정부(12)는, 2차원 벡터값(X2, Y2)이 0도~22.5도 내 상당의 2차원 벡터값인 경우, 그대로, 2차원 벡터값(X2, Y2)을 2차원 벡터값(X1, Y1)으로서 아크탄젠트 연산부(4)에 입력하는 것이다.
도 4는 90도 벡터 회전부(11)의 90도 벡터 회전 처리에 관한 변환 테이블의 테이블 내용을 나타내는 설명도이다.
도 4에 나타내는 변환 테이블(20)은, 0도~360도 내 상당의 2차원 벡터값(X, Y)을 0도~45도 내 상당의 2차원 벡터값(X2, Y2)으로 변환하는 입력측 변환 테이블(21)을 가지고 있다.
입력측 변환 테이블(21)은, 2차원 벡터값(X, Y)의 X 좌표측 부호를 나타내는 X 부호(21A) 및 Y 좌표측 부호를 나타내는 Y 부호(21B)와, 2차원 벡터값(X, Y)의 XY의 절대값을 비교하여, 45도 이내인지의 여부를 판정하는 판정 조건(21C)을 관리하고 있다.
또한, 입력측 변환 테이블(21)은, 이들 X 부호(21A), Y 부호(21B) 및 판정 조건(21C)에 따른 2차원 벡터값(X, Y)의 각도 범위(21D)를 관리하고 있다.
또한, 변환 테이블(20)은, 0도~360도 내 상당의 2차원 벡터값(X, Y)으부터 0도~45도 내 상당의 2차원 벡터값(X2, Y2)으로 변환하는 역변환 테이블(22)을 가지고 있다.
역변환 테이블(22)에서는, 90도 벡터 회전 처리 후의 2차원 벡터값(X2, Y2)(22A)과, 부호 방향(D1)과, θ 오프셋값(A1)을 관리하고 있다.
도 5는 아크탄젠트 연산부(4)의 이전 처리에 관한 동작을 나타내는 설명도이다.
벡터 회전 판정부(12)는, 도 5(A) 및 (B)에 나타내는 바와 같이, 0도~45도 내 상당의 2차원 벡터값(X2, Y2)이 0도~22.5도 내 상당의 2차원 벡터값인 경우, 그대로, 2차원 벡터값(X2, Y2)을 아크탄젠트 연산부(4)에 입력한다.
그리고, 아크탄젠트 연산부(4)는, 2차원 벡터값(X2, Y2)을 2차원 벡터값(X1, Y1)으로서 검출하면, 이 2차원 벡터값(X1, Y1)에 대응한 위상 각도(θ1)를 위상 각도 ROM(2)으로부터 출력하는 것이다.
또한, 벡터 회전 판정부(12)는, 도 5(C)에 나타내는 바와 같이, 0도~45도 내 상당의 2차원 벡터값(X2, Y2)이 0도~22.5도 내 상당의 2차원 벡터값이 아닌 경우, 2차원 벡터값(X2, Y2)에 대하여 45도 벡터 회전 처리를 실행한다.
45도 벡터 회전부(13)는, 2차원 벡터값(X2, Y2)에 대하여 45도 벡터 회전 처리를 실시함으로써, 도 5(D)에 나타내는 바와 같이, 2차원 벡터값으로 변환하는 것이다.
또한, 45도 벡터 회전부(13)는, 2차원 벡터값(X2, Y2)에 대하여 45도 벡터 회전 처리를 실시한 후, 그 2차원 벡터값을, 도 5(E)에 나타내는 바와 같이, 0도축을 중심으로 180도 반전한다. 그리고, 45도 벡터 회전부(13)는, 0도~22.5도 내 상당의 2차원 벡터값(X3, Y3)으로 변환시키는 것이다.
그 결과, 아크탄젠트 연산부(4)는, 0도~22.5도의 2차원 벡터값(X3, Y3)을 2차원 벡터값(X1, Y1)으로서 검출하면, 이 2차원 벡터값(X1, Y1)에 대응한 위상 각도(θ1)를 위상 각도 ROM(2)으로부터 출력하는 것이다.
도 6은 45도 벡터 회전부(13)의 45도 벡터 회전 처리에 관한 변환 테이블의 테이블 내용을 나타내는 설명도이다.
도 6에 나타내는 변환 테이블(30)은, 입력 각도 범위(31)와, 45도 벡터 회전 처리와 벡터 회전 판정 후의 2차원 벡터값(X1, Y1)(32)과, 부호 방향(D2)과, θ 오프셋값(A2)을 대응지어 관리하고 있다.
또한, 위상 각도 변환부(5)는, 아크탄젠트 연산부(4)로부터 0~22.5도 환산의 위상 각도(θ1)를 검출하면, 도 6에 나타내는 변환 테이블(30) 및 도 4에 나타내는 변환 테이블(20)을 사용하여, 이 위상 각도(θ1)를 0도~360도 환산의 위상 각도(θ)로 변환하는 것이다.
위상 각도 변환부(5)는, 아크탄젠트 연산부(4)로부터 0~22.5도의 위상 각도(θ1)를 검출하면, D1×A2+D2×θ1에 기초하여, 45도 벡터 회전부(13)의 45도 벡터 회전 처리 전의 위상 각도(θ2)를 산출한다.
또한, 위상 각도 변환부(5)는, 위상 각도(θ2)를 산출하면, A1+D1×θ2에 기초하여, 90도 벡터 회전부(11)의 90도 벡터 회전 처리 전의 0도~360도의 위상 각도(θ)를 산출하는 것이다.
즉, 위상 각도 변환부(5)는, θ=(A1+A2)+(D1×D2)×θ1에 기초하여, 0도~22.5도 환산의 위상 각도(θ1)를 0도~360도 환산의 위상 각도(θ)로 변환하는 것이다.
다음에, 실시예 2의 아크탄젠트 연산 장치(1A)의 동작에 대해서 설명한다.
아크탄젠트 연산 장치(1A) 내의 90도 벡터 회전부(11)는, 0도~360도 내 상당의 2차원 벡터값(X, Y)을 검출하면, 도 4에 나타내는 변환 테이블(20)을 사용하여, 이 2차원 벡터값(X, Y)에 대한 90도 벡터 회전 처리를 실행한다.
90도 벡터 회전부(11)는, 2차원 벡터값(X, Y)에 대하여 90도 벡터 회전 처리를 실시함으로써, 0도~45도 내 상당의 2차원 벡터값(X2, Y2)으로 변환한다.
또한, 벡터 회전 판정부(12)는, 0도~45도 내 상당의 2차원 벡터값(X2, Y2)이 0도~22.5도 내 상당의 2차원 벡터값인 경우, 그대로, 2차원 벡터값(X2, Y2)을 아크탄젠트 연산부(4)에 입력한다.
아크탄젠트 연산부(4)는, 2차원 벡터값(X2, Y2)을 2차원 벡터값(X1, Y1)으로서 검출하면, 2차원 벡터값(X1, Y1)에 대응하는 위상 각도(θ1)를 위상 각도 ROM(2)으로부터 출력하고, 이 위상 각도(θ1)를 위상 각도 변환부(5)에 입력한다.
또한, 벡터 회전 판정부(12)는, 0도~45도 내 상당의 2차원 벡터값(X2, Y2)이 0도~22.5도 내 상당의 2차원 벡터값이 아닌 경우, 이 2차원 벡터값(X2, Y2)을 45도 벡터 회전부(13)에 입력한다.
45도 벡터 회전부(13)는, 2차원 벡터값(X2, Y2)에 대하여 45도 벡터 회전 처리를 실시한 후, 이 2차원 벡터값을 0도축을 중심으로 180도 반전시킨다. 그 결과, 45도 벡터 회전부(13)는, 2차원 벡터값(X2, Y2)을 0도~22.5도 내 상당의 2차원 벡터값(X3, Y3)으로 변환하고, 이 2차원 벡터값(X3, Y3)을 벡터 회전 판정부(12)에 입력한다.
벡터 회전 판정부(12)는, 0도~22.5도 내 상당의 2차원 벡터값(X3, Y3)을 2차원 벡터값(X1, Y1)으로서 아크탄젠트 연산부(4)에 입력한다.
그리고, 아크탄젠트 연산부(4)는, 2차원 벡터값(X1, Y1)에 대응하는 위상 각도(θ1)를 위상 각도 ROM(2)으로부터 출력하고, 이 위상 각도(θ1)를 위상 각도 변환부(5)에 입력한다.
그리고, 위상 각도 변환부(5)는, 아크탄젠트 연산부(4)로부터 0도~22.5도의 위상 각도(θ1)를 검출하면, θ=(A1+A2)+(D1×D2)×θ1에 기초하여, 0도~22.5도 환산의 위상 각도(θ1)를 0도~360도 환산의 위상 각도(θ)로 변환한다.
그 결과, 아크탄젠트 연산 장치(1A)에서는, 위상 각도 변환부(5)에서 0도~360도 환산의 위상 각도(θ)를 취득할 수 있다.
실시예 2에서는, 0도~360도 내 상당의 2차원 벡터값(X, Y)을 0도~22.5도 내 상당의 2차원 벡터값(X1, Y1)으로 치역 억제하여 아크탄젠트 연산부(4)에 입력한다. 그리고, 위상 각도 ROM(2)에서는, 0도~22.5도 내 상당의 2차원 벡터값(X1, Y1)에 대응한 위상 각도(θ1)를 기억하는 것만으로 해결되기 때문에, 위상 각도 ROM(2)의 기억 용량을 종래에 비하여 대폭으로 삭감할 수 있다. 그 결과, 실시예 2에서는, 아크탄젠트 연산 장치(1A)의 회로 규모의 소형화를 도모하면서, 부품 비용 및 소비 전력의 억제를 도모할 수 있다.
또한, 실시예 2에서는, 0도~45도 내 상당의 2차원 벡터값(X2, Y2)으로 변환 후, 2차원 벡터값(X2, Y2)이 0도~22.5도 이내 상당의 2차원 벡터값인 경우, 이 2차원 벡터값에 대응한 위상 각도(θ1)를 위상 각도 ROM(2)으로부터 출력할 수 있다.
또한, 실시예 2에서는, 0도~45도 내 상당의 2차원 벡터값(X2, Y2)으로 변환 후, 2차원 벡터값(X2, Y2)이 0도~22.5도 이내 상당의 2차원 벡터값이 아닌 경우, 이 2차원 벡터값에 45도 벡터 회전 처리를 실행한다. 그리고, 45도 벡터 회전 처리에서 0도~22.5도 이내 상당의 2차원 벡터값으로 변환함으로써, 2차원 벡터값에 대응한 위상 각도(θ1)를 위상 각도 ROM(2)으로부터 출력할 수 있다.
또한, 실시예 2에서는, 45도 벡터 회전부(13)의 변환 출력인 2차원 벡터값(X3, Y3)을 정확하게 나타내면, (X2+Y2, X2-Y2)/√2가 된다. 그러나, 아크탄젠트 결과로서 필요한 것은 위상 각도만이기 때문에, 1/√2배는 삭제할 수 있다. 그 결과, 45도 벡터 회전 처리에서는, 승산기를 요하는 일 없이, 가산기 1단으로 실현가능하게 되기 때문에, 처리 지연을 최소한으로 억제할 수 있다.
또한, 상기 실시예 2에서는, 90도 벡터 회전부(11) 및 아크탄젠트 연산부(4) 사이에 벡터 회전 판정부(12) 및 45도 벡터 회전부(13)를 배치하였다. 그러나, 90도 벡터 회전부(11)의 전단에 벡터 회전 판정부(12) 및 45도 벡터 회전부(13)를 배치하도록 하여도 좋으며, 이 경우의 실시예에 대해서, 실시예 3으로서 설명한다.
<실시예 3>
도 7은 실시예 3의 아크탄젠트 연산 장치의 내부 구성을 나타내는 블록도이다. 또한, 실시예 2의 아크탄젠트 연산 장치(1A)와 동일한 구성에 대해서는 동일 부호를 붙임으로써, 그 중복하는 구성 및 동작의 설명을 생략한다.
도 7에 나타내는 아크탄젠트 연산 장치(1B)는, 아크탄젠트 연산부(4)의 입력단에 90도 벡터 회전부(11)를 배치하고, 90도 벡터 회전부(11)의 입력단에 제1 벡터 회전 판정부(12A)를 배치하는 것이다. 또한, 아크탄젠트 연산 장치(1B)는, 제1 벡터 회전 판정부(12A)의 입력단에 45도 벡터 회전부(13A)를 배치하는 것이다.
도 8은 45도 벡터 회전부(13A)의 45도 벡터 회전 처리에 관한 동작을 나타내는 설명도이다.
제1 벡터 회전 판정부(12A)는, 0도~360도 내 상당의 2차원 벡터값(X, Y)을 검출하면, 2차원 벡터값(X, Y)이 가장 가까운 좌표축으로부터 22.5도 이내 상당의 2차원 벡터값인지의 여부를 판정하는 것이다. 또한, 제1 벡터 회전 판정부(12A)는, 0도~360도 내 상당의 2차원 벡터값(X, Y)을 22.5도 단위의 계 16개의 각도 범위 상당의 2차원 벡터값으로 식별 판정하는 것이다. 좌표축은, 0도축, 90도축, 180도축 및 270도축을 가지고 있다.
2차원 벡터값(X, Y)이 가장 가까운 좌표축으로부터 22.5도 이내 상당의 2차원 벡터값의 경우란, 예컨대, 0도~22.5도 등에 상당하는 것이다. 구체적으로는, 0도~22.5도 외에, 0도~360도 내, 67.5도~90도, 90도~112.5도, 157.5도~180도, 180도~202.5도, 247.5도~270도, 270도~292.5도, 337.5도~360도의 8종류의 각도 범위에 상당한다.
즉, 2차원 벡터값(X, Y)이 가장 가까운 좌표축으로부터 22.5도 이내 상당의 2차원 벡터값이 아닌 경우는, 도 8(B)에 나타내는 바와 같이, 상기 8종류 이외의 8종류의 각도 범위(R1~R8)에 상당하는 것이다.
또한, 제1 벡터 회전 판정부(12A)는, 2차원 벡터값(X, Y)이 가장 가까운 좌표축으로부터 22.5도 이내 상당의 2차원 벡터값이 아닌 경우, 45도 벡터 회전부(13A)를 통해, 2차원 벡터값(X, Y)에 45도 벡터 회전 처리를 실행한다.
45도 벡터 회전부(13A)는, 2차원 벡터값(X, Y)에 대하여 45도 벡터 회전 처리를 실시한 후, 2차원 벡터값을, 그 좌표축을 중심으로 180도 반전시킴으로써, 2차원 벡터값을 도 8(C)에 나타내는 2차원 벡터값으로 변환하는 것이다.
45도 벡터 회전부(13A)는, R3[도 8(B) 참조] 상당의 2차원 벡터값에 45도 벡터 회전 처리를 실시하여, +측의 Y 좌표축(90도축)을 중심으로 180도 반전시킴으로써, R3[도 8(C) 참조] 상당의 2차원 벡터값(X5, Y5)으로 변환한다.
그 결과, 45도 벡터 회전부(13A)는, 22.5도 이내 상당의 2차원 벡터값이 아니어도, 이 2차원 벡터값을, 도 8(D)에 나타내는 바와 같이, 22.5도 이내 상당의 2차원 벡터값(X5, Y5)으로 변환하는 것이다.
제1 벡터 회전 판정부(12A)는, 22.5도 이내 상당의 2차원 벡터값[(X, Y) 또는 (X5, Y5)]을 검출하면, 22.5도 이내 상당의 2차원 벡터값(X6, Y6)을 90도 벡터 회전부(11)에 입력하는 것이다.
90도 벡터 회전부(11)는, 22.5도 이내 상당의 2차원 벡터값(X6, Y6)에 90도 벡터 회전 처리를 실행하여, 도 8(E)에 나타내는 바와 같이, 0도~22.5도 내 상당의 2차원 벡터값(X1, Y1)으로 변환하는 것이다. 그리고, 90도 벡터 회전부(11)는, 그 2차원 벡터값(X1, Y1)을 아크탄젠트 연산부(4)에 입력하는 것이다.
다음에, 실시예 3의 아크탄젠트 연산 장치(1B)의 동작에 대해서 설명한다.
아크탄젠트 연산 장치(1B) 내의 제1 벡터 회전 판정부(12A)는, 2차원 벡터값(X, Y)이 가장 가까운 좌표축으로부터 22.5도 이내 상당의 2차원 벡터값인지의 여부를 판정한다.
제1 벡터 회전 판정부(12A)는, 2차원 벡터값(X, Y)이 22.5도 이내 상당의 2차원 벡터값인 경우[도 8(A) 참조], 그대로, 2차원 벡터값(X, Y)을 2차원 벡터값(X6, Y6)으로서 90도 벡터 회전부(11)에 입력한다.
90도 벡터 회전부(11)는, 2차원 벡터값(X6, Y6)을 검출하면, 이 2차원 벡터값(X6, Y6)에 90도 벡터 회전 처리를 실시하여, 도 8(E)에 나타내는 0도~22.5도 내 상당의 2차원 벡터값(X1, Y1)으로 변환한다.
또한, 90도 벡터 회전부(11)는, 2차원 벡터값(X1, Y1)을 아크탄젠트 연산부(4)에 입력한다.
또한, 제1 벡터 회전 판정부(12A)는, 2차원 벡터값(X, Y)이 좌표축으로부터 22.5도 이내 상당의 2차원 벡터값이 아닌 경우[도 8(B) 참조], 2차원 벡터값(X, Y)에 대하여 45도 벡터 회전 처리를 실행한다.
45도 벡터 회전부(13A)는, 2차원 벡터값(X, Y)에 대하여 45도 벡터 회전 처리를 실시하여, 도 8(C) 및 (D)에 나타내는 바와 같이, 22.5도 이내 상당의 2차원 벡터값(X5, Y5)으로 변환한다. 그리고, 45도 벡터 회전부(13A)는, 22.5도 이내 상당의 2차원 벡터값(X5, Y5)을 제1 벡터 회전 판정부(12A)에 입력한다.
제1 벡터 회전 판정부(12A)는, 22.5도 이내 상당의 2차원 벡터값(X5, Y5)을 검출하면, 그 22.5도 이내 상당의 2차원 벡터값(X5, Y5)을 2차원 벡터값(X6, Y6)으로서 90도 벡터 회전부(11)에 입력한다.
또한, 아크탄젠트 연산부(4)는, 0도~22.5도 내 상당의 2차원 벡터값(X1, Y1)을 검출하면, 이 2차원 벡터값(X1, Y1)에 대응하는 위상 각도(θ1)를 위상 각도 ROM(2)으로부터 출력하고, 그 위상 각도(θ1)를 위상 각도 변환부(5)에 입력한다.
위상 각도 변환부(5)는, 아크탄젠트 연산부(4)로부터 0도~22.5도 환산의 위상 각도(θ1)를 검출하면, θ=(A1+A2)+(D1×D2)×θ1에 기초하여, 0도~22.5도 환산의 위상 각도(θ1)를 0도~360도 환산의 위상 각도(θ)로 변환한다.
그 결과, 아크탄젠트 연산 장치(1B)에서는, 위상 각도 변환부(5)에서 0도~360도 환산의 위상 각도(θ)를 취득할 수 있다.
실시예 3에서는, 0도~360도 내 상당의 2차원 벡터값(X, Y)을 0도~22.5도 내 상당의 2차원 벡터값(X1, Y1)으로 치역 억제하여 아크탄젠트 연산부(4)에 입력한다. 그리고, 위상 각도 ROM(2)에서는, 0도~22.5도 내 상당의 2차원 벡터값(X1, Y1)에 대응한 위상 각도(θ1)를 기억하는 것만으로 해결되기 때문에, 위상 각도 ROM(2)의 기억 용량을 종래에 비하여 대폭으로 삭감할 수 있다. 그 결과, 실시예 3에서는, 아크탄젠트 연산 장치(1B)의 회로 규모의 소형화를 도모하면서, 부품 비용 및 소비 전력의 억제를 도모할 수 있다.
또한, 실시예 3에서는, 2차원 벡터값(X, Y)이 가장 가까운 좌표축으로부터 22.5도 이내 상당의 2차원 벡터값인 경우, 2차원 벡터값에 90도 벡터 회전 처리를 실행한다. 그리고, 90도 벡터 회전 처리를 실행하여, 0도~22.5도 내 상당의 2차원 벡터값으로 변환함으로써, 2차원 벡터값에 대응한 위상 각도(θ1)를 위상 각도 ROM(2)으로부터 출력할 수 있다.
또한, 실시예 3에서는, 2차원 벡터값(X, Y)이 가장 가까운 좌표축으로부터 22.5도 이내 상당의 2차원 벡터값이 아닌 경우, 2차원 벡터값에 45도 벡터 회전 처리를 실행한다. 그리고, 45도 벡터 회전 처리를 실행한 후, 그 2차원 벡터값에 90도 벡터 회전 처리를 실행하여, 0도~22.5도 내 상당의 2차원 벡터값으로 변환함으로써, 2차원 벡터값에 대응한 위상 각도(θ1)를 위상 각도 ROM(2)으로부터 출력할 수 있다.
또한, 전술한 실시예 2에서는, 아크탄젠트 연산부(4)의 입력단에 벡터 회전 판정부(12)를 배치하며, 그 벡터 회전 판정부(12)의 입력단에 90도 벡터 회전부(11) 및 45도 벡터 회전부(13)를 배치하였다. 그러나, 90도 벡터 회전부(11)의 90도 벡터 회전 처리 및 45도 벡터 회전부(13)의 45도 벡터 회전 처리를 동시에 실행하도록 하여도 좋고, 이 경우의 실시예에 대해서, 실시예 4로서 설명한다.
<실시예 4>
도 9는 실시예 4의 아크탄젠트 연산 장치의 내부 구성을 나타내는 블록도이다. 또한, 실시예 2의 아크탄젠트 연산 장치(1A)와 동일한 구성에 대해서는 동일 부호를 붙임으로써, 그 중복하는 구성 및 동작의 설명을 생략한다.
도 9에 나타내는 아크탄젠트 연산 장치(1C)는, 위상 각도 ROM(2), 아크탄젠트 연산부(4) 및 위상 각도 변환부(5)를 가지고, 90도 벡터 회전부(11), 벡터 회전 판정부(12) 및 45도 벡터 회전부(13) 대신에 일괄 벡터 회전부(14)를 배치하였다.
일괄 벡터 회전부(14)는, 아크탄젠트 연산부(4)의 입력단에 배치하여, 0도~360도 내 상당의 2차원 벡터값(X, Y)을 0~22.5도 내 상당의 2차원 벡터값(X7, Y7)으로 일괄 변환하는 것이다.
일괄 벡터 회전부(14)는, 0도~360도 내 상당의 2차원 벡터값(X, Y)을 0도~22.5도 내 상당의 2차원 벡터값(X7, Y7)으로 일괄 변환하는 조건을 관리하는 일괄 변환 테이블(40)을 구비하고 있다.
위상 각도 ROM(2)은, 0도~22.5도 내 상당의 2차원 벡터값(X7, Y7)에 대응하는 위상 각도(θ1)를 관리하고 있다.
도 10은 일괄 변환 테이블(40)의 테이블 내용을 나타내는 설명도이다.
도 10에 나타내는 일괄 변환 테이블(40)은, 0도~360도 내 상당의 2차원 벡터값(X, Y)을 0도~22.5도 내 상당의 2차원 벡터값(X7, Y7)으로 변환하는 입력측 변환 테이블(41)을 가지고 있다.
입력측 변환 테이블(41)은, 2차원 벡터값(X, Y)의 X 좌표측 부호를 나타내는 X 부호(41A) 및 Y 좌표측 부호를 나타내는 Y 부호(41B)와, 2차원 벡터값(X, Y)의 XY를 비교하며, 판정 조건(41C)을 관리하고 있다.
또한, 판정 조건(41C)은, 45도 이내인지의 여부를 판정하는 45도 판정 조건으로서, 「X<Y」를 사용하고, 22.5도 이내인지의 여부를 판정하는 22.5도 판정 조건으로서, 「5.0X<12.0Y」를 사용한다. 또한, 「5.0X<12.0Y」는, 약 22.7도 이내인지의 여부를 판정하는 판정 조건이지만, 22.5도와 근사이기 때문에, 설명의 편의 상, 22.5도 이내인지의 여부를 판정하는 판정 조건으로서 사용하는 것으로 한다.
또한, 입력측 변환 테이블(41)은, X 부호(41A), Y 부호(41B) 및 판정 조건(41C)에 따른 2차원 벡터값(X, Y)의 각도 범위(41D)를 관리하고 있다.
또한, 일괄 변환 테이블(40)은, 0도~360도 내 상당의 2차원 벡터값(X, Y)으로부터 0도~22.5도 내 상당의 2차원 벡터값(X7, Y7)으로 변환하는 역변환 테이블(42)을 가지고 있다.
또한, 역변환 테이블(42)은, 일괄 벡터 변환 처리 후의 2차원 벡터값(X7, Y7)(42A)과, 부호 방향(D3)과, θ 오프셋값(A3)을 관리하고 있다.
일괄 벡터 회전부(14)는, 0도~360도 내 상당의 2차원 벡터값(X, Y)을 검출하면, 일괄 변환 테이블(40)의 판정 조건(41C)에 기초하여, 2차원 벡터값(X, Y)을 0도~22.5도 내 상당의 2차원 벡터값(X7, Y7)으로 변환하는 것이다.
아크탄젠트 연산부(4)는, 0도~22.5도 내 상당의 2차원 벡터값(X7, Y7)을 검출하면, 2차원 벡터값(X7, Y7)에 대응하는 위상 각도(θ1)를 위상 각도 ROM(2)으로부터 출력하는 것이다.
또한, 위상 각도 변환부(5)는, 위상 각도(θ1)를 검출하면, 도 10에 나타내는 일괄 변환 테이블(40)을 사용하여, θ=A3+D3×θ1에 기초하여, 0도~22.5도 환산의 위상 각도(θ1)를 0도~360도 환산의 위상 각도(θ)로 변환하는 것이다.
다음에, 실시예 4의 아크탄젠트 연산 장치(1C)의 동작에 대해서 설명한다.
도 9에 나타내는 아크탄젠트 연산 장치(1C) 내의 일괄 벡터 회전부(14)는, 0도~360도 내 상당의 2차원 벡터값(X, Y)을 검출한다.
일괄 벡터 회전부(14)는, 일괄 변환 테이블(40) 내의 X 부호(41A), Y 부호(41B) 및 판정 조건(41C)에 기초하여, 2차원 벡터값(X, Y)을 0도~22.5도 내 상당의 2차원 벡터값(X7, Y7)으로 변환한다.
일괄 벡터 회전부(14)는, 0도~22.5도 내 상당의 2차원 벡터값(X7, Y7)으로 변환하면, 이 2차원 벡터값(X7, Y7)을 아크탄젠트 연산부(4)에 입력한다.
아크탄젠트 연산부(4)는, 0도~22.5도 내 상당의 2차원 벡터값(X7, Y7)을 검출하면, 2차원 벡터값(X7, Y7)에 대응하는 위상 각도(θ1)를 위상 각도 ROM(2)으로부터 출력한다.
위상 각도 변환부(5)는, 아크탄젠트 연산부(4)로부터 0도~22.5도의 위상 각도(θ1)를 검출하면, 도 10에 나타내는 변환 테이블(40)을 사용하여 A3+D3×θ1에 기초하여, 위상 각도(θ1)를 일괄 벡터 회전 처리 전의 0도~360도의 위상 각도(θ)로 변환한다.
그 결과, 아크탄젠트 연산 장치(1C)에서는, 위상 각도 변환부(5)에서 0도~360도로 환산한 위상 각도(θ)를 취득할 수 있다.
실시예 4에서는, 0도~360도 내 상당의 2차원 벡터값(X, Y)을 0도~22.5도 내 상당의 2차원 벡터값(X7, Y7)으로 치역 억제하여 아크탄젠트 연산부(4)에 입력한다. 그리고, 위상 각도 ROM(2)에서는, 0도~22.5도 내 상당의 2차원 벡터값(X7, Y7)에 대응한 위상 각도(θ1)를 기억하는 것만으로 해결되기 때문에, 위상 각도 ROM(2)의 기억 용량을 종래에 비하여 대폭으로 삭감할 수 있다. 그 결과, 실시예 4에서는, 아크탄젠트 연산 장치(1C)의 회로 규모의 소형화를 도모하면서, 부품 비용 및 소비 전력의 억제를 도모할 수 있다.
또한, 실시예 4에서는, 일괄 벡터 회전부(14)를 통해 45도 벡터 회전 처리 및 90도 벡터 회전 처리를 동시에 실행하게 되기 때문에, 그 처리 속도를 대폭으로 향상시킬 수 있다.
도 11은 위상 각도 ROM(2)에 관한 기억 용량의 삭감 효과를 나타내는 설명도이다.
도 11에서는, 0도~45도 상당의 2차원 벡터값에 대응하는 위상 각도를 단순한 테이블 색인으로 실현하는 경우의 위상 각도 ROM에 비교하여, 일괄 변환 테이블(40)을 사용한 경우, 그 위상 각도 ROM(2)의 기억 용량을 절반 정도 삭감할 수 있는 것을 나타내고 있다.
또한, 일괄 변환 테이블(40)을 사용한 경우, 도 11(B)에 나타내는 바와 같이, 45도 벡터 회전으로 절대값이 √2배가 되기 때문에, X 좌표축(0도축)의 최대값이 증가하고 있다. 그러나, 1/√2배 또는 정밀도를 희생하여, 1/2배나 1/2+1/8배 등의 절대값의 삭감 처리를 실행함으로써, 도 11(B)에 나타내는 사선 부분의 기억 용량을 삭감하여, X 좌표축측의 최대값을 도 11(A)와 동일하게 할 수도 있다.
또한, 전술한 실시예 2에서는, 아크탄젠트 연산부(4)의 입력단에 45도 벡터 회전부(13)를 배치하였다. 그러나, 45도 벡터 회전부(13) 및 아크탄젠트 연산부(4) 사이에 아크탄젠트 함수값(arctan)을 사용한 벡터 회전부를 배치하도록 하여도 좋고, 이 경우의 실시예에 대해서, 실시예 5로서 설명한다.
<실시예 5>
도 12는 실시예 5의 아크탄젠트 연산 장치의 내부 구성을 나타내는 블록도이다. 또한, 실시예 2의 아크탄젠트 연산 장치(1A)와 동일한 구성에 대해서는 동일 부호를 붙임으로써, 그 중복하는 구성 및 동작의 설명을 생략한다.
도 12에 나타내는 아크탄젠트 연산 장치(1D)는, 90도 벡터 회전부(11), 벡터 회전 판정부(12), 45도 벡터 회전부(13) 및 아크탄젠트 연산부(4)를 가지고 있다.
또한, 아크탄젠트 연산 장치(1D)는, 벡터 회전 판정부(12) 및 아크탄젠트 연산부(4) 사이에, 아크탄젠트 함수형 벡터 회전부(15) 및 아크탄젠트 함수형 벡터 회전 판정부(16)를 배치하고 있다.
또한, 아크탄젠트 함수형 벡터 회전 판정부(16)는, 0도~22.5도 내 상당의 2차원 벡터값(X8, Y8)이 아크탄젠트 함수 arctan(1/2)÷2의 각도 상당의 2차원 벡터값인지의 여부를 판정하는 것이다. 또한, 아크탄젠트 함수 arctan(1/2)를 26.6도로 한 경우, 아크탄젠트 함수 arctan(1/2)÷2에서는 13.3도라고 하는 것이 된다.
아크탄젠트 함수형 벡터 회전 판정부(16)는, 2차원 벡터값(X8, Y8)이 아크탄젠트 함수 arctan(1/2)÷2의 각도 이내 상당의 2차원 벡터값인 경우, 그대로, 이 2차원 벡터값을 아크탄젠트 연산부(4)에 입력하는 것이다.
또한, 아크탄젠트 함수형 벡터 회전 판정부(16)는, 2차원 벡터값(X8, Y8)이 아크탄젠트 함수 arctan(1/2)÷2의 각도 이내 상당의 2차원 벡터값이 아닌 경우, 2차원 벡터값을 아크탄젠트 함수형 벡터 회전부(15)에 입력하는 것이다.
아크탄젠트 함수형 벡터 회전부(15)는, 0도~22.5도 내 상당의 2차원 벡터값(X8, Y8)의 아크탄젠트 함수 arctan(1/2)n(n=정수)의 값을 회전 각도로 한다.
또한, 아크탄젠트 함수형 벡터 회전부(15)는, 이 회전 각도로 2차원 벡터값(X8, Y8)에 벡터 회전 처리를 실시하여, 2차원 벡터값(X8, Y8)을 arctan(1/2)÷2의 각도 이내의 2차원 벡터값(X9, Y9)으로 변환하는 것이다.
또한, 아크탄젠트 함수형 벡터 회전부(15)는, 아크탄젠트 함수형 벡터 회전 판정부(16)를 통해 2차원 벡터값(X9, Y9)을 2차원 벡터값(X10, Y10)으로서 아크탄젠트 연산부(4)에 입력하는 것이다.
또한, 위상 각도 ROM(2A)은, 0도~arctan(1/2)÷2의 각도 내 상당의 2차원 벡터값(X10, Y10)에 대응하는 위상 각도(θ1)를 관리하는 것이다.
즉, 위상 각도 ROM(2A)은, 실시예 1 내지 4의 위상 각도 ROM(2)에서는 0도~22.5도 내 상당의 2차원 벡터값에 대응하는 위상 각도(θ1)를 기억하고 있다. 이에 대하여, 위상 각도 ROM(2A)에서는, 0도~13.3도 내 상당의 2차원 벡터값(X10, Y10)에 대응하는 위상 각도(θ1)를 기억하고 있기 때문에, 그 기억 용량을 대폭 삭감할 수 있는 것이다.
다음에, 실시예 5의 아크탄젠트 연산 장치(1D)의 동작에 대해서 설명한다. 또한, 설명의 편의 상, arctan(1/2)÷2이며 13.3도로 한다.
아크탄젠트 함수형 벡터 회전 판정부(16)는, 벡터 회전 판정부(12)를 통해 0도~22.5도 내 상당의 2차원 벡터값(X8, Y8)을 검출하면, 2차원 벡터값(X8, Y8)이 13.3도 이내 상당의 2차원 벡터값인지의 여부를 판정한다.
아크탄젠트 함수형 벡터 회전 판정부(16)는, 2차원 벡터값(X8, Y8)이 13.3도 이내 상당의 2차원 벡터값인 경우, 0도~13.3도 내 상당의 2차원 벡터값이라고 판단한다.
또한, 아크탄젠트 함수형 벡터 회전 판정부(16)는, 그대로, 2차원 벡터값(X8, Y8)을 2차원 벡터값(X10, Y10)으로서 아크탄젠트 연산부(4)에 입력한다.
또한, 아크탄젠트 함수형 벡터 회전 판정부(16)는, 2차원 벡터값(X8, Y8)이 13.3도 이내 상당의 2차원 벡터값이 아닌 경우, 2차원 벡터값(X8, Y8)을 0도~13.3도 내 상당의 2차원 벡터값으로 변환한다.
아크탄젠트 함수형 벡터 회전부(15)는, 예컨대, 아크탄젠트 함수 arctan(1/2)의 값을 회전 각도로 하고, 이 회전 각도로 2차원 벡터값(X8, Y8)을 0도~13.3도 내 상당의 2차원 벡터값(X9, Y9)으로 변환한다.
또한, 아크탄젠트 함수형 벡터 회전부(15)는, 2차원 벡터값(X9, Y9)을 아크탄젠트 함수형 벡터 회전 판정부(16)에 입력한다.
아크탄젠트 함수형 벡터 회전 판정부(16)는, 2차원 벡터값(X9, Y9)을 2차원 벡터값(X10, Y10)으로서 아크탄젠트 연산부(4)에 입력한다.
아크탄젠트 연산부(4)는, 2차원 벡터값(X10, Y10)을 검출하면, 2차원 벡터값(X10, Y10)에 대응하는 위상 각도(θ1)를 위상 각도 ROM(2A)로부터 출력하고, 이 위상 각도(θ1)를 위상 각도 변환부(5)에 입력한다.
위상 각도 변환부(5)는, 아크탄젠트 연산부(4)로부터 0도~13.3도의 위상 각도(θ1)를 검출하면, (A1+A2)+(D1×D2)×θ1 및 arctan(1/2)의 역변환용 수치에 기초하여, 0도~13.3도 환산의 위상 각도(θ1)를 0도~360도 환산의 위상 각도(θ)로 변환한다.
그 결과, 아크탄젠트 연산 장치(1D)에서는, 위상 각도 변환부(5)에서 0도~360도 환산의 위상 각도(θ)를 취득할 수 있다.
실시예 5에서는, 0도~360도 내 상당의 2차원 벡터값(X, Y)을 0도~13.3도 내 상당의 2차원 벡터값(X10, Y10)으로 치역 억제하여 아크탄젠트 연산부(4)에 입력한다. 그리고, 위상 각도 ROM(2A)에서는, 0도~13.3도 내 상당의 2차원 벡터값(X10, Y10)에 대응한 위상 각도(θ1)를 기억하는 것만으로 해결되기 때문에, 위상 각도 ROM(2A)의 기억 용량을 종래에 비하여 대폭으로 삭감할 수 있다. 그 결과, 실시예 5에서는, 아크탄젠트 연산 장치(1D)의 회로 규모의 소형화를 도모하면서, 부품 비용 및 소비 전력의 억제를 도모할 수 있다.
또한, 실시예 5에서는, 0도~22.5도 내 상당의 2차원 벡터값(X8, Y8)으로 변환한 후, 2차원 벡터값(X8, Y8)이 0도~13.3도 이내 상당의 2차원 벡터값인 경우, 이 2차원 벡터값(X10, Y10)에 대응한 위상 각도(θ1)를 위상 각도 ROM(2A)으로부터 출력할 수 있다.
또한, 실시예 5에서는, 0도~22.5도 내 상당의 2차원 벡터값(X8, Y8)으로 변환한 후, 2차원 벡터값이 0도~13.3도 이내 상당의 2차원 벡터값이 아닌 경우, 이 2차원 벡터값에 arctan(1/2)의 회전 각도의 벡터 회전 처리를 실행한다. 그리고, arctan(1/2)의 회전 각도의 벡터 회전 처리로 0도~13.3도 이내 상당의 2차원 벡터값으로 변환함으로써, 2차원 벡터값에 대응한 위상 각도(θ1)를 위상 각도 ROM(2A)으로부터 출력할 수 있다.
또한, 실시예 5에서는, 아크탄젠트 함수형 벡터 회전부(15)의 변환 출력인 2차원 벡터값(X9, Y9)을 정확하게 나타내면, (2×X8+Y8, -X8+2×Y8)/√5가 된다. 그러나, 아크탄젠트 결과로서 필요한 것은 위상 각도만이기 때문에, 1/√5배는 삭제할 수 있다. 그 결과, 아크탄젠트 함수형 벡터 회전 처리에서는, 승산기를 요하는 일 없이, 시프트 및 가산만의 간단한 회로 구성으로 회전 처리를 실현할 수 있다. 마찬가지로, 회로 규모 및 연산 지연이 적절한 값이 될 때까지 벡터 회전에 의한 치역 삭감을 반복할 수 있다.
또한, 상기 실시예 5에서는, 아크탄젠트 함수형 벡터 회전부(15)의 arctan(1/2)n의 계수(n)를 크게 함으로써, 회전 각도를 작게 할 수 있기 때문에, 그 만큼, 아크탄젠트 연산부(4)의 입력 치역을 억제할 수 있다.
또한, 상기 실시예 5에서는, 아크탄젠트 함수형 벡터 회전부(15)를 1단으로 하였지만, 아크탄젠트 함수형 벡터 회전부(15)를 다단으로 하여, 아크탄젠트 연산부(4)의 입력 치역을 한층 더 억제하고, 그 결과, 위상 각도 ROM(2A)의 데이터 용량을 삭감하도록 하여도 좋다.
또한, 상기 실시예 5에서는, 벡터 회전 판정부(12)의 출력단에 아크탄젠트 함수형 벡터 회전부(15) 및 아크탄젠트 함수형 벡터 회전 판정부(16)를 배치하였다. 그러나, 예컨대, 벡터 회전 판정부(12) 및 45도 벡터 회전부(13)의 입력단에 아크탄젠트 함수형 벡터 회전부(15) 및 아크탄젠트 함수형 벡터 회전 판정부(16)를 배치하도록 하여도, 동일한 효과를 얻을 수 있는 것은 물론이다.
상기 실시예 4에서는, 설명의 편의 상, 5.0X1<12.0Y1의 판정 조건을 사용하여 22.7도에 근사한 22.5도를 임계값 판정하도록 하였지만, 엄밀히 생각하면, 동일 판정 조건을 사용한 경우, 22.7도를 임계값 판정하는 것이 된다. 따라서, 동일 판정 조건을 사용한 경우, 위상 각도 ROM(2)도 0도~22.7도 내 상당의 2차원 벡터값으로 설정하는 것이다.
또한, 본 실시예에서는, 예컨대, 0도~22.5도의 범위에서 소수점 단위까지의 고정밀도인 임계값 판정을 실현하고, 이 임계값 판정에 기초하여, 아크탄젠트 연산부(4)의 아크탄젠트 연산 결과를 출력하였다. 그러나, 소수점까지의 고정밀도인 임계값 판정을 요하는 일 없이, 정밀도 1도 단위로 하면, 0도~22.5도의 경우, 22개의 임계값 판정으로 해결된다. 이 경우, X1×a>Y1×b:(a=1144, b=65536)의 조건을 사용하고, 이 조건이 성립한 경우, 2차원 벡터값에서 약 1도 이하로 임계값 판정할 수 있는 것이다. 또한, 계수(a 및 b)의 수치를 바꿈으로써, 2도 이상에도 순차 대응할 수 있는 것은 물론이다.
또한, 상기 실시예 1 내지 5에서는, 위상 변조 처리에 사용하는 아크탄젠트 연산 장치에 대해서 설명하였지만, 예컨대, 고속 통신 처리, 디지털 화상 처리나 퍼지 제어 처리에 관한 아크탄젠트 연산 처리에 유용한 것은 물론이다.
이상, 상기 실시예에 대해서 설명하였지만, 본 실시예에 의해 본원의 기술적 사상의 범위가 한정되는 것이 아니며, 특허청구의 범위에 기재한 기술적 사상의 범위를 일탈하지 않는 한, 각종 여러가지 실시예가 실시 가능한 것은 물론이다. 또한, 본 실시예에 기재한 효과는, 이것에 한정되는 것이 아니다.
또한, 본 실시예에서 설명한 각종 처리 중, 자동으로 행해지는 것으로서 설명한 처리의 전부 또는 일부를 수동으로 행하는 것도 가능한 것은 물론이며, 그 반대로, 수동으로 행해지는 것으로서 설명한 처리의 전부 또는 일부를 자동으로 행하는 것도 가능한 것은 물론이다. 또한, 본 실시예에서 설명한 처리 절차, 제어 절차, 구체적 명칭, 각종 데이터나 파라미터를 포함하는 정보에 대해서도, 특기한 경우를 제외하고, 적절하게 변경 가능한 것은 물론이다.
또한, 도시한 각 장치의 각 구성 요소는 기능 개념적으로 기재한 것으로서, 반드시 물리적으로 도시와 같이 구성되는 것이 아니라, 그 각 장치의 구체적인 양태는 도시한 것에 한정 축소되는 것은 절대 아닌 것은 물론이다.
또한, 각 장치에서 행해지는 각종 처리 기능은, CPU(Central Processing Unit)(또는 MPU(Micro Processing Unit), MCU(Micro Controller Unit) 등의 마이크로?컴퓨터) 상, 또는 동일 CPU(또는 MPU, MCU 등의 마이크로?컴퓨터)에서 해석 실행하는 프로그램 상, 또는 와이어드 논리에 의한 하드웨어 상에서, 그 전부 또는 임의의 일부를 실행하도록 하여도 좋은 것은 물론이다.
이상의 각 실시예를 포함하는 실시형태에 관하여, 이하의 부기를 더 개시한다.
(부기 1)
0도~대략 22.5도 내 상당의 2차원 벡터값에 대응하는 위상 각도를 미리 기억한 위상 각도 기억부와,
0도~360도 내 상당의 2차원 벡터값에 벡터 회전 처리를 실시하여, 0도~대략 22.5도 내 상당의 2차원 벡터값으로 변환하는 벡터 회전부와,
상기 벡터 회전부에서 변환한 0도~대략 22.5도 내 상당의 2차원 벡터값에 대응하는 위상 각도를 상기 위상 각도 기억부로부터 출력하는 아크탄젠트 연산부와,
상기 아크탄젠트 연산부에서 출력한 위상 각도를 0도~360도 환산의 위상 각도로 변환 출력하는 위상 각도 변환부를 갖는 것을 특징으로 하는 아크탄젠트 연산 장치.
(부기 2)
상기 벡터 회전부는,
상기 0도~360도 내 상당의 2차원 벡터값에 90도 벡터 회전 처리를 실시하여, 0도~45도 내 상당의 2차원 벡터값으로 변환하는 90도 벡터 회전부와,
상기 90도 벡터 회전부에서 변환한 0도~45도 내 상당의 2차원 벡터값이 대략 22.5도 이내 상당의 2차원 벡터값인지의 여부를 판정하는 대략 22.5도 벡터 판정부와,
상기 대략 22.5도 벡터 판정부에서 2차원 벡터값이 대략 22.5도 이내 상당의 2차원 벡터값이 아닌 경우, 그 2차원 벡터값에 대략 45도 벡터 회전 처리를 실시하여, 0도~대략 22.5도 내 상당의 2차원 벡터값으로 변환하는 대략 45도 벡터 회전부를 가지고,
상기 대략 22.5도 벡터 판정부에서 상기 2차원 벡터값이 대략 22.5도 이내 상당의 2차원 벡터값인 경우, 상기 90도 벡터 회전부로부터의 0도~대략 22.5도 내 상당의 2차원 벡터값을 변환 출력하는 것을 특징으로 하는 부기 1에 기재된 아크탄젠트 연산 장치.
(부기 3)
상기 대략 45도 벡터 회전부는,
상기 2차원 벡터값에 45도 벡터 회전 처리를 실시한 후, 벡터 좌표축의 0도축을 중심으로, 그 2차원 벡터값을 반전시킴으로써, 0도~대략 22.5도 내 상당의 2차원 벡터값으로 변환하는 것을 특징으로 하는 부기 2에 기재된 아크탄젠트 연산 장치.
(부기 4)
상기 대략 45도 벡터 회전부에서 변환한 0도~대략 22.5도 내 상당의 2차원 벡터값이, 아크탄젠트 함수값 arctan(1/2)의 값인 제1 각도의 절반 이내 상당의 2차원 벡터값인지의 여부를 판정하는 각도 벡터 판정부와,
상기 각도 벡터 판정부에서 2차원 벡터값이 제1 각도의 절반 이내 상당의 2차원 벡터값이 아닌 경우, 아크탄젠트 함수값 arctan(1/2)의 n승(n=정수)의 값인 제2 각도로 그 2차원 벡터값에 벡터 회전 처리를 실시하여, 0도~제1 각도 절반 이내 상당의 2차원 벡터값으로 변환하는 아크탄젠트 함수 벡터 회전부를 가지고,
상기 위상 각도 기억부는,
상기 0도~제1 각도 절반 상당의 2차원 벡터값에 대응하는 위상 각도를 미리 기억하며,
상기 아크탄젠트 연산부는,
상기 벡터 회전부에서 변환한 0도~제1 각도 절반 내 상당의 2차원 벡터값에 대응하는 위상 각도를 상기 위상 각도 기억부로부터 출력하는 것을 특징으로 하는 부기 2 또는 3에 기재된 아크탄젠트 연산 장치.
(부기 5)
상기 벡터 회전부는,
상기 0도~360도 내 상당의 2차원 벡터값이, 벡터 좌표 상의 0도축, 90도축, 180도축 또는 270도축으로부터 대략 22.5도 이내 상당의 2차원 벡터값인지의 여부를 판정하는 대략 22.5도 이내 판정부와,
상기 대략 22.5도 이내 판정부에서 상기 2차원 벡터값이 대략 22.5도 이내 상당의 2차원 벡터값인 경우, 그 2차원 벡터값에 90도 벡터 회전 처리를 실시하여, 0도~대략 22.5도 이내 상당의 2차원 벡터값으로 변환하는 90도 벡터 회전부와,
상기 대략 22.5도 이내 판정부에서 상기 2차원 벡터값이 대략 22.5도 이내 상당의 2차원 벡터값이 아닌 경우, 그 2차원 벡터값에 대략 45도 벡터 회전 처리를 실시하여, 대략 22.5도 이내 상당의 2차원 벡터값으로 변환하여, 이 2차원 벡터값을 상기 90도 벡터 회전부에 입력하는 대략 45도 벡터 회전부를 갖는 것을 특징으로 하는 부기 1에 기재된 아크탄젠트 연산 장치.
(부기 6)
상기 대략 45도 벡터 회전부는,
상기 2차원 벡터값에 45도 벡터 회전 처리를 실시한 후, 상기 0도축, 90도축, 180도축 또는 270도축 중, 그 2차원 벡터값으로부터 가장 가까운 축을 중심으로, 그 2차원 벡터값을 반전시킴으로써, 0도~대략 22.5도 내 상당의 2차원 벡터값으로 변환하는 것을 특징으로 하는 부기 5에 기재된 아크탄젠트 연산 장치.
(부기 7)
상기 90도 벡터 회전부에서 변환한 0도~대략 22.5도 내 상당의 2차원 벡터값이, 아크탄젠트 함수값 arctan(1/2)의 값인 제1 각도의 절반 이내 상당의 2차원 벡터값인지의 여부를 판정하는 각도 벡터 판정부와,
상기 각도 벡터 판정부에서 2차원 벡터값이 제1 각도의 절반 이내 상당의 2차원 벡터값이 아닌 경우, 아크탄젠트 함수값 arctan(1/2)의 n승(n=정수)의 값인 제2 각도로 그 2차원 벡터값에 벡터 회전 처리를 실시하여, 0도~제1 각도 절반 이내 상당의 2차원 벡터값으로 변환하는 아크탄젠트 함수 벡터 회전부를 가지고,
상기 위상 각도 기억부는,
상기 0도~제1 각도 절반 상당의 2차원 벡터값에 대응하는 위상 각도를 미리 기억하며,
상기 아크탄젠트 연산부는,
상기 벡터 회전부에서 변환한 0도~제1 각도 절반 내 상당의 2차원 벡터값에 대응하는 위상 각도를 상기 위상 각도 기억부로부터 출력하는 것을 특징으로 하는 부기 5 또는 6에 기재된 아크탄젠트 연산 장치.
(부기 8)
상기 대략 22.5도는,
22.7도에 상당하는 것을 특징으로 하는 부기 1~7 중 어느 하나에 기재된 아크탄젠트 연산 장치.
(부기 9)
0도~대략 22.5도 내 상당의 2차원 벡터값에 대응하는 위상 각도를 위상 각도 기억부에 기억한 기억 절차와,
0도~360도 내 상당의 2차원 벡터값에 벡터 회전 처리를 실시하여, 0도~대략 22.5도 내 상당의 2차원 벡터값으로 변환하는 벡터 회전 절차와,
상기 벡터 회전 절차에서 변환한 0도~대략 22.5도 내 상당의 2차원 벡터값에 대응하는 위상 각도를 상기 위상 각도 기억부로부터 출력하는 아크탄젠트 연산 절차와,
상기 아크탄젠트 연산 절차에서 출력한 위상 각도를 0도~360도 환산의 위상 각도로 변환 출력하는 위상 각도 변환 절차를 포함하는 프로그램을 컴퓨터 장치에 실행시키는 것을 특징으로 하는 아크탄젠트 연산 프로그램.
(부기 10)
상기 벡터 회전 절차는,
상기 0도~360도 내 상당의 2차원 벡터값에 90도 벡터 회전 처리를 실시하여, 0도~45도 내 상당의 2차원 벡터값으로 변환하는 90도 벡터 회전 절차와,
상기 90도 벡터 회전 절차에서 변환한 0도~45도 내 상당의 2차원 벡터값이 대략 22.5도 이내 상당의 2차원 벡터값인지의 여부를 판정하는 대략 22.5도 벡터 판정 절차와,
상기 대략 22.5도 벡터 판정 절차에서 2차원 벡터값이 대략 22.5도 이내 상당의 2차원 벡터값이 아닌 경우, 그 2차원 벡터값에 대략 45도 벡터 회전 처리를 실시하여, 0도~대략 22.5도 내 상당의 2차원 벡터값으로 변환하는 대략 45도 벡터 회전 절차를 포함하고,
상기 대략 22.5도 벡터 판정 절차에서 상기 2차원 벡터값이 대략 22.5도 이내 상당의 2차원 벡터값인 경우, 상기 90도 벡터 회전 절차에서의 0도~대략 22.5도 내 상당의 2차원 벡터값을 변환 출력하는 것을 특징으로 하는 부기 9에 기재된 아크탄젠트 연산 프로그램.
1: 아크탄젠트 연산 장치 1A: 아크탄젠트 연산 장치
1B: 아크탄젠트 연산 장치 1C: 아크탄젠트 연산 장치
1D: 아크탄젠트 연산 장치 2: 위상 각도 ROM
2A: 위상 각도 ROM 3: 벡터 회전부
4: 아크탄젠트 연산부 5: 위상 각도 변환부
11: 90도 벡터 회전부 12: 벡터 회전 판정부
12A: 제1 벡터 회전 판정부 13: 45도 벡터 회전부
13A: 45도 벡터 회전부 14: 일괄 벡터 회전부
15: 아크탄젠트 함수형 벡터 회전부
16: 아크탄젠트 함수형 벡터 회전 판정부
20: 변환 테이블 21: 입력측 변환 테이블
22: 역변환 테이블 30: 변환 테이블
40: 일괄 변환 테이블 41: 입력측 변환 테이블
42: 역변환 테이블

Claims (7)

  1. 0도~360도 내의 위상 각도를 갖는 2차원 벡터값을 0도~22.7도 내의 위상 각도를 갖는 2차원 벡터값으로 일괄 변환하는 조건 및 변환식을 기억하는 일괄 변환 기억부와,
    0도~22.7도 내의 위상 각도를 갖는 2차원 벡터값에 대응하는 위상 각도를 미리 기억한 위상 각도 기억부와,
    0도~360도 내의 위상 각도를 갖는 2차원 벡터값을 상기 일괄 변환 기억부를 이용하여 0도~22.7도 내의 위상 각도를 갖는 2차원 벡터값으로 변환하는 벡터 변환부와,
    상기 벡터 변환부에서 변환한 0도~22.7도 내의 위상 각도를 갖는 2차원 벡터값에 대응하는 위상 각도를 상기 위상 각도 기억부로부터 출력하는 아크탄젠트 연산부와,
    상기 아크탄젠트 연산부에서 출력한 위상 각도를 0도~360도 환산의 위상 각도로 변환 출력하는 위상 각도 변환부
    를 갖는 것을 특징으로 하는 아크탄젠트 연산 장치.
  2. 제1항에 있어서,
    상기 벡터 변환부에서 변환한 0도~22.7도 내의 위상 각도를 갖는 2차원 벡터값이, 아크탄젠트 함수값 arctan(1/2)의 값인 제1 각도의 절반 이내의 위상 각도를 갖는 2차원 벡터값인지의 여부를 판정하는 각도 벡터 판정부와,
    상기 각도 벡터 판정부에서 2차원 벡터값이 제1 각도의 절반 이내의 위상 각도를 갖는 2차원 벡터값이 아닌 경우, 아크탄젠트 함수값 arctan(1/2)의 n승(n=정수)의 값인 제2 각도로 그 2차원 벡터값에 벡터 회전 처리를 실시하여, 0도~제1 각도 절반 이내의 위상 각도를 갖는 2차원 벡터값으로 변환하는 아크탄젠트 함수 벡터 회전부
    를 가지고,
    상기 위상 각도 기억부는, 상기 0도~제1 각도 절반 이내의 위상 각도를 갖는 2차원 벡터값에 대응하는 위상 각도를 미리 기억하며,
    상기 아크탄젠트 연산부는, 상기 벡터 변환부에서 변환한 0도~제1 각도 절반 이내의 위상 각도를 갖는 2차원 벡터값에 대응하는 위상 각도를 상기 위상 각도 기억부로부터 출력하는 것을 특징으로 하는 아크탄젠트 연산 장치.
  3. 아크탄젠트 연산 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체에 있어서,
    상기 아크탄젠트 연산 프로그램은,
    0도~360도 내의 위상 각도를 갖는 2차원 벡터값을 0도~22.7도 내의 위상 각도를 갖는 2차원 벡터값으로 일괄 변환하는 조건 및 변환식을 일괄 변환 기억부에 기억하고, 0도~22.7도 내의 위상 각도를 갖는 2차원 벡터값에 대응하는 위상 각도를 위상 각도 기억부에 기억하는 기억 절차와,
    0도~360도 내의 위상 각도를 갖는 2차원 벡터값을 상기 일괄 변환 기억부를 이용하여 0도~22.7도 내의 위상 각도를 갖는 2차원 벡터값으로 변환하는 벡터 변환 절차와,
    상기 벡터 변환 절차에서 변환한 0도~22.7도 내의 위상 각도를 갖는 2차원 벡터값에 대응하는 위상 각도를 상기 위상 각도 기억부로부터 출력하는 아크탄젠트 연산 절차와,
    상기 아크탄젠트 연산 절차에서 출력한 위상 각도를 0도~360도 환산의 위상 각도로 변환 출력하는 위상 각도 변환 절차
    를 컴퓨터에 실행시키는 것을 특징으로 하는 컴퓨터 판독 가능한 기록 매체.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
KR1020100063451A 2009-07-03 2010-07-01 아크탄젠트 연산 장치 및 컴퓨터 판독 가능한 기록 매체 KR101114785B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009158913A JP4757328B2 (ja) 2009-07-03 2009-07-03 逆正接演算装置及び逆正接演算プログラム
JPJP-P-2009-158913 2009-07-03

Publications (2)

Publication Number Publication Date
KR20110003273A KR20110003273A (ko) 2011-01-11
KR101114785B1 true KR101114785B1 (ko) 2012-03-13

Family

ID=42797320

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100063451A KR101114785B1 (ko) 2009-07-03 2010-07-01 아크탄젠트 연산 장치 및 컴퓨터 판독 가능한 기록 매체

Country Status (4)

Country Link
US (1) US8549056B2 (ko)
EP (1) EP2275923A3 (ko)
JP (1) JP4757328B2 (ko)
KR (1) KR101114785B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101806843B1 (ko) 2016-11-15 2017-12-08 숭실대학교산학협력단 아크탄젠트 계산 방법, 이를 수행하기 위한 기록 매체 및 장치

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014238331A (ja) * 2013-06-07 2014-12-18 株式会社リコー 角度検出装置および角度検出方法
US20150178047A1 (en) * 2013-12-24 2015-06-25 GM Global Technology Operations LLC Method of fast arctangent calculation pre and post processing
EP3260977B1 (en) * 2016-06-21 2019-02-20 Stichting IMEC Nederland A circuit and a method for processing data
CN111984226B (zh) * 2020-08-26 2024-02-09 南京大学 一种基于双曲cordic的立方根求解装置及求解方法
CN115878071A (zh) 2021-09-29 2023-03-31 恩智浦美国有限公司 Iq到相位转换的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6470366B1 (en) 1998-11-20 2002-10-22 Nec Corporation Angle calculation circuit
US20060059215A1 (en) 2001-12-20 2006-03-16 Koushik Maharatna Cordic unit
WO2006099532A2 (en) * 2005-03-11 2006-09-21 Qualcomm Incorporated Automatic frequency control for a wireless communication system with multiple subcarriers

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6029409B2 (ja) 1978-02-03 1985-07-10 日本電気株式会社 三角関数計算装置
US4460958A (en) 1981-01-26 1984-07-17 Rca Corporation Window-scanned memory
JPS58178478A (ja) 1982-04-12 1983-10-19 Mitsubishi Electric Corp 逆三角関数演算装置
US4710892A (en) * 1984-10-29 1987-12-01 Rca Corporation Phase calculation circuitry in digital television receiver
US4893316A (en) * 1985-04-04 1990-01-09 Motorola, Inc. Digital radio frequency receiver
US4841552A (en) 1988-04-04 1989-06-20 Unisys Corporation Digital phase shifter
JP2610185B2 (ja) 1989-03-07 1997-05-14 株式会社小松製作所 逆関数の演算装置および演算方法
JPH04111019A (ja) 1990-08-30 1992-04-13 Sony Corp 逆正接演算回路
JPH05347643A (ja) 1992-06-12 1993-12-27 Toshiba Corp 位相比較器
US5648924A (en) * 1995-04-18 1997-07-15 Motorola, Inc. Method and apparatus for finding arctangents
JP3797398B2 (ja) 1997-05-02 2006-07-19 ソニー株式会社 演算装置および演算方法
US6385633B1 (en) * 1998-06-30 2002-05-07 Texas Instruments Incorporated Method and apparatus for computing complex phase
JP2945003B1 (ja) * 1998-09-25 1999-09-06 日本電信電話株式会社 逆正接演算回路
US6470367B1 (en) * 1999-12-08 2002-10-22 Chung-Shan Institute Of Science Apparatus and method for implementing an inverse arctangent function using piecewise linear theorem to simplify
JP2002009856A (ja) 2000-06-20 2002-01-11 Toyo Commun Equip Co Ltd ディジタル信号処理における逆正接演算回路
US6466958B1 (en) * 2000-09-12 2002-10-15 Interstate Electronics Corporation, A Division Of L3 Communications Corporation Parallel frequency searching in an acquisition correlator
JP4230685B2 (ja) 2001-07-11 2009-02-25 株式会社ケンウッド ディジタル信号処理における逆正接演算回路
CN1914589A (zh) 2004-01-28 2007-02-14 皇家飞利浦电子股份有限公司 用于复合相旋转的cordic算法的实现

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6470366B1 (en) 1998-11-20 2002-10-22 Nec Corporation Angle calculation circuit
US20060059215A1 (en) 2001-12-20 2006-03-16 Koushik Maharatna Cordic unit
WO2006099532A2 (en) * 2005-03-11 2006-09-21 Qualcomm Incorporated Automatic frequency control for a wireless communication system with multiple subcarriers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101806843B1 (ko) 2016-11-15 2017-12-08 숭실대학교산학협력단 아크탄젠트 계산 방법, 이를 수행하기 위한 기록 매체 및 장치

Also Published As

Publication number Publication date
JP4757328B2 (ja) 2011-08-24
EP2275923A2 (en) 2011-01-19
US20110004645A1 (en) 2011-01-06
EP2275923A3 (en) 2011-04-27
KR20110003273A (ko) 2011-01-11
US8549056B2 (en) 2013-10-01
JP2011014025A (ja) 2011-01-20

Similar Documents

Publication Publication Date Title
KR101114785B1 (ko) 아크탄젠트 연산 장치 및 컴퓨터 판독 가능한 기록 매체
CN108139885B (zh) 浮点数舍入
US8959131B2 (en) Number format pre-conversion instructions
Dianov et al. Review of fast square root calculation methods for fixed point microcontroller-based control systems of power electronics
JP7036075B2 (ja) 整数除算装置およびモータ制御装置
US9151842B2 (en) Method and apparatus for time of flight sensor 2-dimensional and 3-dimensional map generation
Anastasia et al. Linear image processing operations with operational tight packing
JPH03135627A (ja) ファジイ演算装置
JP4933405B2 (ja) データ変換装置及びその制御方法
JP4696920B2 (ja) Dds信号発生装置
CN109582279B (zh) 数据运算装置及相关产品
JP2015078863A (ja) エンコーダの内挿方法および内挿装置
US20070233771A1 (en) Calculation apparatus and storage medium in which calculation program is stored
Tay et al. Base transformation with injective residue mapping for dynamic range reduction in RNS
JP5589628B2 (ja) 内積演算装置および内積演算方法
JP2013246772A (ja) 逆正接演算回路および逆正接演算方法
Kulisch An axiomatic approach to computer arithmetic with an appendix on interval hardware
JP2009245407A (ja) 複素数の積和演算装置および積和演算方法
WO2023100372A1 (ja) データ処理装置、データ処理方法、及びデータ処理プログラム
CN112260687B (zh) 一种相幅转换器及相幅转换器的转换方法
JP2008158855A (ja) 相関演算器及び相関演算方法
JP4551997B2 (ja) 画像の符号化および復号方法と装置
CN111078438B (zh) 处理数据的方法和装置
CN210666873U (zh) 颜色空间的转换电路
JP2006338390A (ja) 対数および平方根変換回路

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee