KR101346768B1 - 코딕 처리 장치 및 방법 - Google Patents

코딕 처리 장치 및 방법 Download PDF

Info

Publication number
KR101346768B1
KR101346768B1 KR1020120015000A KR20120015000A KR101346768B1 KR 101346768 B1 KR101346768 B1 KR 101346768B1 KR 1020120015000 A KR1020120015000 A KR 1020120015000A KR 20120015000 A KR20120015000 A KR 20120015000A KR 101346768 B1 KR101346768 B1 KR 101346768B1
Authority
KR
South Korea
Prior art keywords
codic
value
angle
processing
input
Prior art date
Application number
KR1020120015000A
Other languages
English (en)
Other versions
KR20130093409A (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 고려대학교 산학협력단
Priority to KR1020120015000A priority Critical patent/KR101346768B1/ko
Publication of KR20130093409A publication Critical patent/KR20130093409A/ko
Application granted granted Critical
Publication of KR101346768B1 publication Critical patent/KR101346768B1/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/548Trigonometric functions; Co-ordinate transformations

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)

Abstract

코딕 처리 시, 입력각이 기설정된 기준각의 범위에 포함되는지 여부를 판단하고, 기준각의 범위에 포함되는 입력각의 사인 값 및 코사인 값 중 어느 하나의 산출 시 입력각 별로 기설정된 제 1 반복 횟수 보다 적은 제 2 반복 횟수의 반복(iteration) 을 통한 코딕 처리를 수행하고, 코딕 처리의 결과 값에 기초하여 사인 값 및 코사인 값을 산출하여 출력한다.

Description

코딕 처리 장치 및 방법{APPARATUS AND METHOD FOR CORDIC PROCESSING}
본 발명은 삼각 함수 연산에 사용될 수 있는 코딕 처리를 수행하는 장치 및 방법에 관한 것이다.
최근 들어, 각종 디지털 기기의 발달에 따라, 디지털 신호 처리 기술에 대한 연구가 활발하게 이루어지고 있다. 디지털 신호 처리 기술은 음성 신호 및 영상 신호를 다루는 각종 기기에 있어 그 응용 분야가 매우 크다. 디지털 신호 처리 기술의 분야로서는 디지털 무선 통신 분야나 적응 신호 처리, 임베디드 시스템, 로봇 공학, 애니메이션 등 광범위한 분야가 포함된다.
이러한 디지털 신호 처리 기술에 매우 광범위하게 사용되고 있는 코딕(CORDIC, COrdinate Rotation Digital Computer) 알고리즘은, 1959 년 Jack. E. Volder 에 의해 제안된 이후로 디지털 신호 처리 기술의 다양한 분야에서 삼각 함수의 계산을 위해 사용되고 있다. 이와 같은, 코딕 알고리즘은 덧셈과 쉬프트 연산만으로 삼각함수를 계산할 수 있어 하드웨어가 차지하는 면적을 작게 할 수 있다는 장점을 가지고 있다.
일반적으로, 코딕 알고리즘은 동작에 따라 크게 두 가지 방식으로 분류될 수 있다. 먼저, 주어진 입력 벡터에 대해서 벡터의 크기와 편각을 산출하는 방식을 벡터링 방식이라 한다. 이와 같은 벡터링 방식에서는, 좌표 평면 상에서 반복적으로 벡터를 회전시켜서 최종적으로 한 축에 수렴하도록 한다. 코딕의 벡터링 방식에서는 이전 단계 결과로부터 벡터의 회전 방향을 결정짓는 사인 비트를 얻어내어 다음 단계에 벡터가 회전해야할 방향이 시계 방향인지 반시계 방향인지가 결정된다. 따라서 벡터링 방식에 따른 코딕은 현 단계의 계산을 위해서는 이전 단계의 결과를 필요로 하는 이전 단계 결과 의존성이 크다는 단점이 있다.
그리고, 주어진 입력 편각에 대해서 싸인(sin) 값과 코사인(cos) 값을 산출하는 방식을 로테이션 방식이라 한다. 이와 같은 로테이션 방식의 경우 벡터링 방식에 비해 주어진 입력 각으로부터 사인 비트들을 미리 찾아 낼 수 있다는 장점이 있다. 하지만 로테이션 방식 또한 여러 단계 (iteration)의 계산들로 이루어져 있어, 다음 단계의 결과를 수행하기 위해서는 이전 단계 결과에 의존적인 특성으로 인해 속도를 개선하는 데 한계가 있었다.
이후에 제안된 룩어헤드 코딕(Lookahead CORDIC) 알고리즘은 그러한 이전 단계의 결과 의존성을 해결하였다. 룩어헤드 코딕 알고리즘에서는 로테이션 모드의 경우 입력각에 대한 비교연산을 수행하고, 룩업 테이블을 이용하여 해당하는 회전방향 결정 사인비트(sign bit)묶음을 찾아내어 적용한다. 그러나 이 구조는 로테이션 모드에 국한된다는 단점이 있고, 또한 해당 룩업 테이블값을 찾기 위한 입력각의 비교연산에서 많은 시간을 소요하게 된다는 문제점이 있었다.
최근에는 저전력에 대한 관심이 늘어나고 있는 추세에 따라 저전력 코딕 구조에 대한 연구가 활발히 진행 되고 있다. 일반적으로 코딕의 전력 소모는 반복(iteration)의 횟수에 비례하기 때문에, 불필요한 반복의 수를 줄여 파워 소모를 줄일 수 있는 저전력 코딕 처리 방식 및 방법에 필요한 실정이다.
한편, 본 발명의 기술과 관련성이 있는 것으로서, 대한민국등록특허 제0994273호(발명의 명칭: 코딕 알고리듬을 사용한 파이프라인 구조의 디지털 전치 왜곡기 및 이의 신호 왜곡 방법)에서는 벡터링 모드로 동작하는 코딕 알고리즘을 사용한 디지털 전치 왜곡기에 대한 기술이 개시되어 있다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 저전력으로 코딕 처리를 수행할 수 있는 코딕 처리 장치 및 방법을 제공하고자 한다.
상기와 같은 기술적 과제를 달성하기 위한 본 발명의 일 측면에 따른 코딕 처리 장치는, 각(angle) 별로 기설정된 제 1 반복 횟수에 따른 코딕 처리를 수행하되, 기설정된 기준각의 범위에 포함되는 입력각(input angle)에 대해 상기 제 1 반복 횟수보다 적은 제 2 반복 횟수의 반복(iteration)을 통한 코딕 처리를 수행하는 코딕 처리기; 및 상기 코딕 처리의 결과 값에 기설정된 팩터 값을 곱하여 사인 값 및 코사인 값을 출력하는 보상기를 포함한다.
또한, 본 발명의 다른 측면에 따른 코딕 처리 장치를 이용한 코딕 처리 방법은, (a) 입력각(input angle)이 기설정된 기준각의 범위에 포함되는지 여부를 판단하는 단계; (b) 상기 기준각의 범위에 포함되는 상기 입력각의 사인 값 및 코사인 값 중 어느 하나의 산출 시 상기 입력각 별로 기설정된 제 1 반복 횟수 보다 적은 제 2 반복 횟수의 반복(iteration) 을 통한 코딕 처리를 수행하는 단계; 및 (c) 상기 코딕 처리의 결과 값에 기초하여 사인 값 및 코사인 값을 산출하여 출력하는 단계를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 코딕 처리 방식에 있어서 삼각 함수의 고유한 특성에 따라, 허용 가능한 오차 범위 내의 크기를 갖는 입력각에 대해서는 코딕 처리 시 반복 횟수를 줄일 수 있어 정확도에 영향을 최소화하면서도 저전력 코딕 처리가 가능한 효과가 있다.
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 저전력 코딕 처리를 위해 입력각에 대한 바이패스 제어 신호를 생성함에 있어서 비트 값을 입력 신호로 하는 논리 회로를 이용함으로써 회로의 구성이 다양하며, 논리회로의 변경을 통해 정확도에 따른 오차 범위를 조절할 수 있어 편리하다.
도 1은 본 발명의 일 실시예에따른 코딕 처리 장치의 구성을 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 적용되는 삼각함수의 특성을 설명하기 위한 곡선 그래프이다.
도 3은 본 발명의 일 실시예에 따른 바이패스 제어 신호 생성기의 구성을 나타내는 구성도이다.
도 4는 본 발명의 일 실시예에 따른 로테이션 코딕 처리 구조의 일례를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 코딕 처리 방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 일 실시예에 따른 코딕 처리 장치의 구성을 나타내는 블록도이다.
도 1에 도시한 바와 같이, 본 발명의 일 실시예에 다른 코딕 처리 장치(100)는 사분면 대응 처리기(110), 코딕 처리기(120), 바이패스 제어 신호 생성기(130), 사분면 복원기(140), 및 보상기(150)를 포함하여 구성된다.
사분면 대응 처리기(110)는 입력되는 입력각(input angle)이 0도 내지 360도에 대한 사분면(quadrant) 중 어느 사분면에 위치하는지 나타내는 사분면 신호를 생성한다.
그리고, 사분면 대응 처리기(110)는 입력각이 기설정된 범위의 각에 대한 사분면에 위치하지 않는 경우 삼각 함수의 대칭성에 기초하여 상기 기설정된 범위의 각에 대한 사분면으로 대응시킨 사분면 대응각을 생성하여 출력한다.
이때, 사분면 대응 처리기(110)는 입력각에 대한 사분면 신호를 0도 내지 90도에 대한 사분면으로 대응시킨 사분면 대응각을 생성할 수 있다. 이처럼, 입력각을 특정 사분면(예를 들어, 0도 내지 90도의 사분면)에 대응시킴으로써, 이하에서 설명할 기설정된 기준각의 범위에 포함되는 입력각을 편리하게 검출할 수 있으며, 검출된 입력각의 크기에 따른 저전력 코딕 처리 방식을 적용할 수 있다.
그리고, 사분면 대응 처리기(110)는 사분면 대응각을 코딕 처리기(120) 및 바이패스 제어 신호 생성기(130)로 출력한다.
바이패스 제어 신호 생성기(130)는 입력된 각(즉, 사분면 대응각)의 크기가 기설정된 기준각의 범위에 포함되면, 코딕 처리기(120)에서의 코딕 처리 시 반복(iteration)의 횟수가 감소된 바이패스 처리를 수행하도록 제어하는 바이패스 제어 신호를 생성하여 코딕 처리기(120)로 출력한다.
구체적으로, 바이패스 제어 신호 생성기(130)는 입력된 각에 대해 사인(sin) 함수의 값 및 코사인(cos) 함수의 값 중 어느 하나에 대한 바이패스 제어 신호를 생성한다.
이는, 하기에서 설명할 도 2에 도시된 바와 같은 삼각 함수 곡선의 특성에 따른다.
도 2는 본 발명의 일 실시예에 적용되는 삼각 함수의 특성을 설명하기 위한 곡선 그래프이다.
도 2에 도시된 바와 같이 삼각 함수의 곡선은 특정 각도의 범위에서 기울기가 적어 사인 값 또는 코사인 값의 차가 상대적으로 크지 않음을 의미한다.
즉, 코사인 함수의 그래프의 경우 0도나 180도 근처의 구간에서 곡선의 곡률이 커진다. 이는, 코사인 값들 간의 차이가 90도 근처의 구간에서는 상대적으로 큰 반면 0도나 180도 근처의 구간에서는 크지 않다는 것을 의미한다. 다시 말해서, 0이나 180도 근처의 구간에서는 입력각의 값에 어느 정도 오차가 발생해도 결과 값에 큰 영향이 없다는 것이다. 사인 함수의 그래프에서도 마찬가지로 입력각의 값의 정확도가 떨어진다 해도 코딕 처리의 반복 처리 시 회전 방향을 결정짓는 사인 비트의 오차가 허용 된다는 것을 의미한다. 따라서 허용된 오차 범위 내에 속한 입력각에 대해서는 코딕 처리시 소정의 반복 횟수의 생략이 가능하다.
도 2에서와 같이 코사인 함수(A) 곡선의 윗부분 점선 이상의 범위나, 사인 함수(B) 곡선의 아랫부분 점선 이하의 범위에 해당하는 입력각들에 대해서는 상대적으로 적은 횟수의 반복 처리를 통한 코딕 처리가 가능하다.
한편, 본 발명의 일 실시예에 따른 바이패스 제어 신호 생성기(130)는 하기 도 3에서와 같은 구조로 구성될 수 있다.
도 3은 본 발명의 일 실시예에 따른 바이패스 제어 신호 생성기의 구성을 나타내는 구성도이다.
도 3에 도시한 바와 같이, 바이패스 제어 신호 생성기(130)는 기설정된 기준각에 따른 논리 회로로 구성될 수 있으며, 다양한 논리 연산자들이 연결되어 상기 논리회로를 구성할 수 있다.
이때, 바이패스 제어 신호 생성기(130)는 입력된 각(즉, 사분면 대응각)을 비트 값으로 변환하여 상기 논리 회로의 입력 신호(즉, 비트)로서 입력한다.
그러면, 논리 회로는 입력 비트들의 값에 따라 제 1 기준각의 범위에 해당되는 값에 대해서는 제 1 제어 신호를 출력하고, 제 2 기준각의 범위에 해당되는 값에 대해서는 제 2 제어 신호를 출력한다.
예를 들어, 본 발명의 일 실시예에 따른 바이패스 제어 신호 생성기(130)의 논리 회로는, 입력되는 비트 값(즉, 0도 내지 90도에 대한 사분면에 대응시킨 사분면 대응각의 비트 값)이 기설정된 제 1 기준각(예를 들어, '76도' 이상)의 범위에 포함되는 값인 경우 사인 값을 산출하기 위한 제 2제어 신호를 코딕 처리기(120)의 제 1 바이패스 처리기(121)로 출력한다.
그리고, 논리 회로는 입력되는 비트 값(즉, 사분면 대응각의 비트 값)이 제 2 기준각(예를 들어, '15도' 이하)의 범위에 포함되는 값인 경우 코사인 값을 산출하기 위한 제 2 제어 신호를 코딕 처리기(120)의 제 2 바이패스 처리기(122)로 출력한다. 참고로, 제 1 및 제 2 바이패스 처리기의 순서는 변경될 수 있다.
이때, 제 1 및 제 2 기준각은 하나의 값으로 고정되는 것이 아니라 코딕 처리 장치(100)의 정확도에 따라 각각 다양한 값으로 설정될 수 있다. 참고로, 도 1 상에는 도시하지 않았으나, 본 발명의 일 실시예에 따른 코딕 처리 장치(100)에는 자체적으로 정확도 별로 기설정된 제 1 및 제 2 기준각이 기설정되어 저장되어 있거나, 사용자가 입력하는 각을 제 1 및 제 2 기준각으로 설정할 수 있는 기준각 설정부가 더 구성될 수 있다.
다시 도 1로 돌아가서, 코딕 처리기(120)는 입력된 각(angle)에 대한 코딕 처리를 수행하되, 상기 바이패스 제어 신호가 입력되면 상기 입력된 각의 크기에 대응하여 기설정된 반복(iteration) 횟수보다 적은 횟수의 반복을 통한 코딕 처리를 하는 상기 바이패스 처리를 수행한다.
이때, 도 1에서는, 본 발명의 일 실시예에 따른 코딕 처리기(120)가 일반 모드 및 근사치 모드를 병합 처리하여 코딕 처리를 수행하는 것을 나타내었다.
일반모드는, 코딕 처리기(120)가 제 1 또는 제 2 제어 신호가 수신되기 이전까지 입력된 각 별로 기설정된 횟수의 반복(iteration)을 통한 로테이션 코딕 처리를 수행하는 모드이다.
그리고, 근사치 모드는, 코딕 처리기(120)가 상기 일반모드 수행 중 제 1 또는 제 2 제어 신호를 수신하면, 각 제어 신호에 따라 일반 모드에서의 기설정된 반복 횟수보다 적은 반복 횟수에서 반복을 종료하여 사인 값 또는 코사인 값 중 어느 하나에 대한 결과 값을 출력하고, 나머지 하나의 삼각함수 값에 대해 나머지 반복 횟수만큼 룩어헤드 코딕 처리를 수행하여 결과 값을 출력하는 모드이다.
구체적으로, 코딕 처리기(120)는 입력각 중 상기 기설정된 기준각의 범위에 포함되지 않는 각(즉, 일반각)에 대해서는 각도 별로 기설정된 횟수의 반복을 통해 로테이션 코딕 처리를 수행하여 그 결과 값을 출력한다.
이때, 코딕 처리기(120)는 입력각(일반각 또는 상기 기준각의 범위에 포함되는 각 모두)에 대한 로테이션 코딕 처리 중(또는 로테이션 코딕 처리 이전)에 바이패스 제어 신호 생성기(130)로부터 바이패스 제어 신호 중 제 1 제어 신호를 수신하면, 사인 값을 산출하기 위한 바이패스 처리를 수행하되, 코사인 값을 산출하기 위해서는 상기 기설정된 반복 횟수와 상기 바이패스 처리 시의 반복 횟수의 차만큼의 룩어헤드 코딕 처리를 수행한다.
또한, 코딕 처리기(120)는 입력각(일반각 또는 상기 기준각의 범위에 포함되는 각 모두)에 대한 로테이션 코딕 처리 중(또는 로테이션 코딕 처리 이전)에 바이패스 제어 신호 생성기(130)로부터 바이패스 제어 신호 중 제 2 제어 신호를 수신하면, 코사인 값을 산출하기 위한 바이패스 처리를 수행하되, 사인 값을 산출하기 위해서는 상기 기설정된 반복 횟수와 상기 바이패스 처리 시의 반복 횟수의 차만큼의 룩어헤드 코딕 처리를 수행한다.
참고로, 하기 도 4를 참고하여 본 발명의 일 실시예에 따른 코딕 처리기(120)에 적용된 로테이션 코딕 처리 구조에 대해서 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 로테이션 코딕 처리 구조의 일례를 설명하기 위한 도면이다.
도 4에 도시한 바와 같이, 로테이션 코딕 처리 시 초기 벡터를 (1,0)으로 설정한 상태에서, 입력된 각(θ)이 누적된 각도(Z)보다 큰 경우에는 사인비트(σ1)는 '-1'로 설정되며, 초기 벡터를 반시계 방향으로 소정 각도 회전시킨다. 만약, 입력된 각(θ)이 누적된 각도(Z)보다 작은 경우에는 사인비트(σ1)는 '1'로 설정되며, 초기 벡터를 시계 방향으로 소정 각도 회전시킨다.
예를 들어, 입력 편각(θ)이 70도인 경우, 누적된 각도(Z)가 없는 상태이므로, 사인비트(σ1)는 '-1'로 설정되며, 초기 벡터를 반시계 방향으로 90도 회전시킨다. 다음으로, 누적된 각도(Z)가 70도보다 큰 상태이므로, 사인비트(σ1)는 '1'로 설정되며, 초기 벡터를 시계 방향으로 45도 회전시킨다. 이와 같은 동작을 반복하여, 입력된 편각(θ)과 누적된 각도(Z)가 동일해지는 지점에서 X좌표와 Y좌표의 값을 출력한다. 참고로, 이와 같은 코딕 처리의 결과 값에 기설정된 팩터를 곱하게 되면, 입력된 편각(θ)에 대한 사인 값과 코사인 값을 산출할 수 있다.
또한, 본 발명의 일 실시예에 따른 코딕 처리기(120)에 적용된 룩어헤드 코딕 처리 구조는, 이전 반복(iteration) 단계의 수식을 다음 단계의 수식에 대입함으로써 최종 벡터 회전의 결과를 입력 벡터에 대한 수식으로 나타낸 룩어헤드 코딕 알고리즘을 적용하여 구성할 수 있다.
다시 도 1로 돌아가서, 사분면 복원기(140)는 코딕 처리기(120)로부터 출력된 코딕 처리의 결과 값을 입력각의 원래 사분면의 값으로 복원시켜 보상기(150)로 출력한다.
이때, 사분면 복원기(140)는 사분면 대응 처리기(110)로부터 입력된 입력각의 사분면 신호에 기초하여 코딕 처리기(120)로부터 입력된 코딕 처리 결과 값을 복원한다.
보상기(150)는 사분면 복원기(140)로부터 입력된 복원된 코딕 처리 결과 값에 기설정된 팩터 값을 곱하여 입력각에 대한 사인 값 및 코사인 값을 산출하여 출력한다.
이때, 기설정된 팩터는 코딕 알고리즘에서 일반적으로 사용되는 '스케일링 팩터'(일반적으로, scale factor, scaling factor, 혹은 compensation factor 등으로 명명됨)일 수 있다.
이하 도 5를 참조하여 본 발명의 일 실시예에 따른 코딕 처리 방법에 대해서 상세히 설명하도록 한다.
도 5는 본 발명의 일 실시예에 따른 코딕 처리 방법을 설명하기 위한 순서도이다.
먼저, 입력각에 대한 사분면 상의 위치를 확인하고, 기설정된 각의 범위에 포함되지 않는 입력각에 대해서는 기설정된 사분면으로 대응시켜 사분면 대응각을 생성한다(S510).
이때, 본 발명의 일 실시예에 따른 코딕 처리 방법에서는, 코딕 처리 시 편리성을 위하여 0도 내지 90도의 사분면에 대해 입력각을 대응시킬 수 있다.
다음으로, 사분면 대응각이 기설정된 기준각의 범위에 포함되는지에 따라 바이패스 제어 신호를 생성한다(S520).
상기 단계(S520)에서 사분면 대응각이 기설정된 기준각의 범위에 포함되는 경우 코딕 처리 시 일반적인 반복의 횟수보다 적은 횟수의 반복을 수행하도록 하는 바이패스 제어 신호를 생성하여 출력하고, 상기 기준각의 범위에 포함되지 않는 경우 일반적인 코딕 처리를 수행할 수 있도록 바이패스 제어 신호를 출력하지 않을 수 있다.
참고로, 상기 기준각은 사인 함수 및 코사인 함수의 곡선의 기울기 값이 기설정된 기울기 값보다 적은 경우의 각들로 설정될 수 있다. 즉, 입력 각의 값에 따라 사인 값 또는 코사인 값의 변화에 큰 차이가 없는 각들로 설정될 수 있다.
그런 후, 상기 바이패스 제어 신호를 적용하여 사분면 대응각에 대한 코딕 처리를 수행한다(S530).
구체적으로, 바이패스 처리를 통한 사인 값 또는 코사인 값 중 어느 하나에 대한 코딕 처리 시, 나머지 하나의 삼각 함수 값에 대해서는 기설정된 반복 횟수와 바이패스 처리시의 반복 횟수의 차만큼의 룩어헤드 코딕 처리를 수행한다.
또한, 바이패스 제어 신호가 생성되지 않은 경우, 일반적으로 입력각에 대해 기설정된 반복 횟수의 반복을 통한 로테이션 코딕 처리를 수행한다.
그런 후, 코딕 처리의 결과 값을 사분면 대응각 이전의 입력각의 원래 사분면의 값으로 복원시키고(S540), 복원된 결과 값에 대해 벡터 값 손실을 보상 처리한다(S550).
마지막으로, 복원된 결과 값을 입력각에 대한 사인 및 코사인 값으로서 출력한다(S560).
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 코딕 처리 장치
110: 사분면 대응 처리기
120: 코딕 처리기
130: 바이패스 제어 신호 생성기
140: 사분면 복원기
150: 보상기

Claims (12)

  1. 코딕 처리 장치에 있어서,
    각(angle) 별로 기설정된 제 1 반복 횟수에 따른 코딕 처리를 수행하되, 기설정된 기준각의 범위에 포함되는 입력각(input angle)에 대해 상기 제 1 반복 횟수보다 적은 제 2 반복 횟수의 반복(iteration)을 통한 코딕 처리를 수행하는 코딕 처리기; 및
    상기 코딕 처리의 결과 값에 기설정된 팩터 값을 곱하여 사인 값 및 코사인 값을 출력하는 보상기를 포함하는 코딕 처리 장치.
  2. 제 1 항에 있어서,
    상기 기준각의 범위는,
    사인 함수 및 코사인 함수의 곡선의 기울기 값이 각각 기설정된 기울기 값의 이하의 값을 갖는 각들을 포함하는 것인, 코딕 처리 장치.
  3. 제 1 항에 있어서,
    상기 코딕 처리기는,
    상기 기준각에 포함되는 상기 입력각의 사인 값 및 코사인 값 중 어느 하나의 산출 시 상기 제 2 반복 횟수를 통한 로테이션 코딕 처리를 수행하고, 나머지 하나의 삼각 함수 값의 산출 시 상기 제 1 반복 횟수와 상기 제 2 반복 횟수의 차만큼의 룩어헤드 코딕 처리를 수행하는, 코딕 처리 장치.
  4. 제 1 항에 있어서,
    상기 입력각이 상기 기준각의 범위에 포함되는지 판단하여 상기 입력각이 상기 기준각에 포함되면 상기 제 2 반복 횟수에 따른 반복을 통한 코딕 처리를 하도록 제어하는 제어 신호를 생성하여 출력하는 바이패스 제어 신호 생성기를 더 포함하는 코딕 처리 장치.
  5. 제 4 항에 있어서,
    상기 바이패스 제어 신호 생성기는,
    상기 입력각을 비트로 변환한 값을 입력 신호로서 입력 받아 상기 기준각의 범위 내에 속하는 입력각에 대해 사인 값 또는 코사인 값 중 어느 하나에 대한 상기 제어 신호를 출력하는 논리회로를 포함하는 것인, 코딕 처리 장치.
  6. 제 4 항에 있어서,
    상기 입력각을 삼각 함수의 대칭성에 기초하여 사분면 중 기설정된 범위의 각에 대한 사분면으로 대응시킨 사분면 대응각을 생성하여 상기 바이패스 제어 신호 생성기 및 상기 코딕 처리기로 출력하는 사분면 대응 처리기; 및
    상기 코딕 처리기로부터 출력된 상기 코딕 처리의 결과 값을 상기 입력각의 원래 사분면의 값으로 복원시켜 상기 보상기로 출력하는 사분면 복원기를 더 포함하는, 코딕 처리 장치.
  7. 코딕 처리 장치를 이용한 코딕 처리 방법에 있어서,
    (a) 입력각(input angle)이 기설정된 기준각의 범위에 포함되는지 여부를 판단하는 단계;
    (b) 상기 기준각의 범위에 포함되는 상기 입력각의 사인 값 및 코사인 값 중 어느 하나의 산출 시 상기 입력각 별로 기설정된 제 1 반복 횟수 보다 적은 제 2 반복 횟수의 반복(iteration) 을 통한 코딕 처리를 수행하는 단계; 및
    (c) 상기 코딕 처리의 결과 값에 기초하여 사인 값 및 코사인 값을 산출하여 출력하는 단계를 포함하는 코딕 처리 방법.
  8. 제 7 항에 있어서,
    상기 기준각의 범위는,
    사인 함수 및 코사인 함수의 곡선의 기울기 값이 각각 기설정된 기울기 값의 이하의 값을 갖는 각들을 포함하는 것인, 코딕 처리 방법.
  9. 제 7 항에 있어서,
    상기 (b) 단계에서,
    상기 기준각의 범위에 포함되는 상기 입력각의 상기 사인 값 및 코사인 값 중 어느 하나에 대해 상기 제 2 반복 횟수의 반복을 통한 로테이션 코딕 처리를 수행하고, 나머지 하나의 삼각 함수 값에 대해 상기 제 1 반복 횟수와 상기 제 2 반복 횟수의 차만큼의 룩어헤드 코딕 처리를 수행하는, 코딕 처리 방법.
  10. 제 7 항에 있어서,
    상기 (a) 단계에서,
    상기 입력각을 삼각 함수의 대칭성에 기초하여 사분면 중 기설정된 범위의 각에 대한 사분면으로 대응시킨 사분면 대응각을 생성하고, 상기 사분면 대응각에 대해 상기 판단을 수행하되,
    상기 (c) 단계 이전에,
    상기 코딕 처리의 결과 값을 상기 입력각의 원래 사분면의 값으로 복원시키는 단계를 더 포함하는 코딕 처리 방법.
  11. 제 7 항에 있어서,
    상기 (b) 단계 이전에,
    상기 기준각의 범위에 포함되는 상기 입력각의 상기 사인 값 및 코사인 값 중 어느 하나의 산출 시 상기 제 2 반복 횟수의 반복을 통한 코딕 처리를 수행하도록 제어하는 제어 신호를 생성하는 단계를 더 포함하는, 코딕 처리 방법.
  12. 제 11 항에 있어서,
    상기 제어 신호를 생성하는 단계는,
    기설정된 논리 연산을 수행하는 논리회로에 상기 입력각을 비트로 변환한 값을 입력하여, 제 1 기준각의 범위에 속하는 입력각에 대해 상기 제 2 반복 횟수의 반복을 통한 코딕 처리를 수행하여 사인 값을 산출하도록 제어하는 제 1 제어 신호를 생성하고, 제 2 기준각의 범위에 속하는 입력각에 대해 상기 제 2 반복 횟수의 반복을 통한 코딕 처리를 수행하여 코사인 값을 산출하도록 제어 하는 제 2 제어 신호를 생성하는, 코딕 처리 방법.
KR1020120015000A 2012-02-14 2012-02-14 코딕 처리 장치 및 방법 KR101346768B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120015000A KR101346768B1 (ko) 2012-02-14 2012-02-14 코딕 처리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120015000A KR101346768B1 (ko) 2012-02-14 2012-02-14 코딕 처리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20130093409A KR20130093409A (ko) 2013-08-22
KR101346768B1 true KR101346768B1 (ko) 2013-12-31

Family

ID=49217721

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120015000A KR101346768B1 (ko) 2012-02-14 2012-02-14 코딕 처리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101346768B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101590019B1 (ko) * 2015-05-29 2016-02-01 충남대학교산학협력단 전력 효율 향상을 위한 멀티플렉서가 없는 바이패싱 구조를 구비한 연산기
KR102468112B1 (ko) * 2015-07-15 2022-11-18 엘지전자 주식회사 삼각함수 생성 방법 및 직접 디지털 주파수 합성 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7423960B2 (en) 2003-12-27 2008-09-09 Kuei-ann Wen Orthogonal frequency division multiplexing (OFDM) equalizer
KR20090031792A (ko) * 2004-11-15 2009-03-27 퀄컴 인코포레이티드 행렬들의 고유값 분해 및 특이값 분해를 위한 효율적인 계산

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7423960B2 (en) 2003-12-27 2008-09-09 Kuei-ann Wen Orthogonal frequency division multiplexing (OFDM) equalizer
KR20090031792A (ko) * 2004-11-15 2009-03-27 퀄컴 인코포레이티드 행렬들의 고유값 분해 및 특이값 분해를 위한 효율적인 계산

Also Published As

Publication number Publication date
KR20130093409A (ko) 2013-08-22

Similar Documents

Publication Publication Date Title
US11303429B2 (en) Combined SHA2 and SHA3 based XMSS hardware accelerator
US9813224B2 (en) Digital processor having instruction set with complex angle function
CN111832050B (zh) 用于联邦学习的基于FPGA芯片实现的Paillier加密方案
Vachhani et al. Efficient CORDIC algorithms and architectures for low area and high throughput implementation
EP3758284A1 (en) Low latency post-quantum signature verification for fast secure-boot
US20190319803A1 (en) Odd index precomputation for authentication path computation
CN112152786A (zh) 无签名扩展的快速xmss签名验证和临时数采样过程
US11516008B2 (en) Efficient post-quantum secure software updates tailored to resource-constrained devices
US7606852B2 (en) CORDIC unit
KR101346768B1 (ko) 코딕 처리 장치 및 방법
Nguyen et al. Low-resource low-latency hybrid adaptive CORDIC with floating-point precision
Chinnathambi et al. FPGA implementation of fast and area efficient CORDIC algorithm
US8549056B2 (en) Apparatus and program for arctangent calculation
Parmar et al. Precomputation‐based radix‐4 CORDIC for approximate rotations and Hough transform
KR101707334B1 (ko) 효율적인 타원곡선 암호화 연산 장치 및 그 방법
Liu et al. Implementation on FPGA for CORDIC-based Computation of Arcsine and Arccosine
CN109033022B (zh) 基于低阶sod-lms算法的时滞电力系统特征值计算方法
Mishra et al. Sine and cosine generator using CORDIC algorithm implemented in ASIC
JP2017033464A (ja) 状態推定装置
KR102468112B1 (ko) 삼각함수 생성 방법 및 직접 디지털 주파수 합성 방법
KR100645388B1 (ko) 임의의 크기의 병렬 처리가 가능한 병렬 crc 생성 장치및 방법
TW202020655A (zh) 座標旋轉數位計算裝置及方法
Zhang et al. Improved Adaptive Controller Synthesis of Piecewise‐Affine Systems
KR101806843B1 (ko) 아크탄젠트 계산 방법, 이를 수행하기 위한 기록 매체 및 장치
JP2013246772A (ja) 逆正接演算回路および逆正接演算方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160928

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171030

Year of fee payment: 5