KR20220141680A - 고속 부분 푸리에 변환 방법 및 이를 수행하기 위한 컴퓨팅 장치 - Google Patents

고속 부분 푸리에 변환 방법 및 이를 수행하기 위한 컴퓨팅 장치 Download PDF

Info

Publication number
KR20220141680A
KR20220141680A KR1020210048081A KR20210048081A KR20220141680A KR 20220141680 A KR20220141680 A KR 20220141680A KR 1020210048081 A KR1020210048081 A KR 1020210048081A KR 20210048081 A KR20210048081 A KR 20210048081A KR 20220141680 A KR20220141680 A KR 20220141680A
Authority
KR
South Korea
Prior art keywords
matrix
input vector
vector
fourier transform
preprocessing
Prior art date
Application number
KR1020210048081A
Other languages
English (en)
Other versions
KR102514264B1 (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 KR1020210048081A priority Critical patent/KR102514264B1/ko
Publication of KR20220141680A publication Critical patent/KR20220141680A/ko
Application granted granted Critical
Publication of KR102514264B1 publication Critical patent/KR102514264B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Discrete Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

일 실시예에 따른 고속 부분 푸리에 변환(fast partial Fourier transform) 방법은, 입력 벡터(
Figure pat00317
) 및 상기 입력 벡터(
Figure pat00318
)에 대한 푸리에 계수를 구하고자 하는 출력 구간(
Figure pat00319
)을 입력받는 단계 및 상기 입력 벡터(
Figure pat00320
) 및 상기 출력 구간(
Figure pat00321
)에 대한 정보를 이용하여 사전에 계산된 전처리 행렬(
Figure pat00322
)을 이용하여, 상기 출력 구간(
Figure pat00323
)에 대한 상기 입력 벡터(
Figure pat00324
)의 푸리에 계수를 근사화한 벡터를 구하는 단계를 포함한다.

Description

고속 부분 푸리에 변환 방법 및 이를 수행하기 위한 컴퓨팅 장치 {FAST PARTIAL FOURIER TRANSFORM METHOD AND COMPUTING APPARATUS FOR PERFORMING THE SAME}
본 명세서에서 개시되는 실시예들은 푸리에 변환(Fourier transform)에 관한 것으로서, 구체적으로 이산적인 데이터에 대해서 일부의 푸리에 계수(Fourier coefficient)만을 구하고자 할 때 빠르게 계산을 수행할 수 있는 방법 및 이를 수행하기 위한 컴퓨팅 장치에 관한 것이다.
푸리에 변환(Fourier transform)은 디지털 신호 처리, 이미지와 영상의 압축, CT 스캐너 및 MRI 분석, 데이터 이상 감지 등의 기술 분야에서 활발하게 이용되고 있는 알고리즘으로, 최근 급격한 성장세를 지속하고 있는 5G 네트워크와 데이터 산업 시장 전반에 걸쳐 상당한 영향력을 가지고 있는 기술이며, 고속 푸리에 변환(Fast Fourier Transform, 이하 'FFT')은 이산적인 데이터에 대한 푸리에 변환을 고속으로 수행하는 기술이다.
기존의 FFT에 따르면 일부의 푸리에 계수들만을 구하고자 할 때에도 전체 푸리에 계수들을 모두 계산해야만 해 비효율적이며, 이러한 문제를 해결하기 위해 제안된 방식들은 구하고자 하는 푸리에 계수의 수가 아주 작을 때에만 활용할 수 있는 한계가 있다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 명세서에서 개시되는 실시예들은, 이산적인 입력 데이터에 대한 푸리에 계수를 구함에 있어서, 전체 푸리에 계수들 중 일부만을 구하되, 구하고자 하는 푸리에 계수의 수가 입력 데이터에 비해 아주 작지 않은 경우에도 계산 속도를 효율적으로 단축시킬 수 있는 푸리에 변환 방법을 제공하고자 한다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시예에 따르면 고속 부분 푸리에 변환(fast partial Fourier transform) 방법은, 입력 벡터(
Figure pat00001
) 및 상기 입력 벡터(
Figure pat00002
)에 대한 푸리에 계수를 구하고자 하는 출력 구간(
Figure pat00003
)을 입력받는 단계 및 상기 입력 벡터(
Figure pat00004
) 및 상기 출력 구간(
Figure pat00005
)에 대한 정보를 이용하여 사전에 계산된 전처리 행렬(
Figure pat00006
)을 이용하여, 상기 출력 구간(
Figure pat00007
)에 대한 상기 입력 벡터(
Figure pat00008
)의 푸리에 계수를 근사화한 벡터를 구하는 단계를 포함할 수 있다.
다른 실시예에 따르면, 고속 부분 푸리에 변환 방법을 수행하기 위한 컴퓨터 프로그램으로서, 고속 부분 푸리에 변환 방법은, 입력 벡터(
Figure pat00009
) 및 상기 입력 벡터(
Figure pat00010
)에 대한 푸리에 계수를 구하고자 하는 출력 구간(
Figure pat00011
)을 입력받는 단계 및 상기 입력 벡터(
Figure pat00012
) 및 상기 출력 구간(
Figure pat00013
)에 대한 정보를 이용하여 사전에 계산된 전처리 행렬(
Figure pat00014
)을 이용하여, 상기 출력 구간(
Figure pat00015
)에 대한 상기 입력 벡터(
Figure pat00016
)의 푸리에 계수를 근사화한 벡터를 구하는 단계를 포함할 수 있다.
또 다른 실시예에 따르면, 고속 부분 푸리에 변환 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체로서, 고속 부분 푸리에 변환 방법은, 입력 벡터(
Figure pat00017
) 및 상기 입력 벡터(
Figure pat00018
)에 대한 푸리에 계수를 구하고자 하는 출력 구간(
Figure pat00019
)을 입력받는 단계 및 상기 입력 벡터(
Figure pat00020
) 및 상기 출력 구간(
Figure pat00021
)에 대한 정보를 이용하여 사전에 계산된 전처리 행렬(
Figure pat00022
)을 이용하여, 상기 출력 구간(
Figure pat00023
)에 대한 상기 입력 벡터(
Figure pat00024
)의 푸리에 계수를 근사화한 벡터를 구하는 단계를 포함할 수 있다.
또 다른 실시예에 따르면, 고속 부분 푸리에 변환 방법을 수행하기 위한 컴퓨팅 장치는, 데이터를 입력 받고, 이를 연산 처리한 결과를 출력하기 위한 입출력부, 고속 부분 푸리에 변환을 수행하기 위한 프로그램 및 데이터가 저장되는 저장부 및 적어도 하나의 프로세서를 포함하며, 상기 프로그램을 실행시킴으로써 상기 고속 부분 푸리에 변환을 수행하는 제어부를 포함하며, 상기 제어부는 상기 입출력부를 통해 입력 벡터(
Figure pat00025
) 및 상기 입력 벡터(
Figure pat00026
)에 대한 푸리에 계수를 구하고자 하는 출력 구간(
Figure pat00027
)을 입력받으면, 상기 프로그램을 실행시킴으로써 상기 입력 벡터(
Figure pat00028
) 및 상기 출력 구간(
Figure pat00029
)에 대한 정보를 이용하여 사전에 계산된 전처리 행렬(
Figure pat00030
)을 이용하여, 상기 출력 구간(
Figure pat00031
)에 대한 상기 입력 벡터(
Figure pat00032
)의 푸리에 계수를 근사화한 벡터를 구할 수 있다.
전술한 과제 해결 수단 중 어느 하나에 의하면, 특정 출력 구간에 대한 입력 벡터의 푸리에 계수를 구함에 있어서, 입력 벡터 및 출력 구간에 대한 정보를 이용하여 사전에 계산된 전처리 행렬을 이용함으로써 연산량을 줄이는 효과를 기대할 수 있다.
개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 고속 부분 푸리에 변환을 수행하기 위한 컴퓨팅 장치의 구성을 도시한 도면이다.
도 2는 일 실시예에 따른 고속 부분 푸리에 변환을 수행하는 과정을 설명하기 위한 도면이다.
도 3 및 도 4는 일 실시예에 따른 고속 부분 푸리에 변환 방법을 설명하기 위한 순서도들이다.
아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐 아니라, '그 중간에 다른 구성을 사이에 두고 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.
이하 첨부된 도면을 참고하여 실시예들을 상세히 설명하기로 한다. 먼저 도 1을 참조하여 일 실시예에 따른 고속 부분 푸리에 변환(Fast Partial Fourier Transform, 이하 'FPFT')을 수행하기 위한 컴퓨팅 장치의 구성에 대해서 간략히 설명하고, 이어서 도 2를 참조하여 일 실시예에 따른 FPFT를 수행하는 과정에 대해서 자세히 설명한다.
도 1은 일 실시예에 따른 FPFT를 수행하기 위한 컴퓨팅 장치의 구성을 도시한 도면이다. 도 1을 참고하면, 일 실시예에 따른 컴퓨팅 장치(100)는 입출력부(110), 저장부(120) 및 제어부(130)를 포함할 수 있다.
입출력부(110)는 사용자로부터 명령이나 데이터를 수신하고, 수신한 명령이나 데이터에 기초하여 연산을 수행한 결과를 출력하기 위한 구성이다. 입출력부(110)는 사용자로부터 입력을 수신하기 위한 다양한 종류의 입력장치(e.g. 키보드, 터치스크린 등)를 포함할 수 있으며, 또한 FPFT 수행에 사용되는 데이터 및 연산 결과 데이터를 송수신하기 위한 연결 포트나 통신 모듈을 포함할 수도 있다.
저장부(120)는 파일 및 프로그램이 저장될 수 있는 구성으로서 다양한 종류의 메모리를 통해 구성될 수 있다. 특히, 저장부(120)에는 후술할 제어부(130)가 이하에서 제시되는 프로세스에 따라 FPFT를 위한 연산을 수행할 수 있도록 하는 데이터 및 프로그램이 저장될 수 있다.
제어부(130)는 CPU 등과 같은 적어도 하나의 프로세서를 포함하는 구성으로서, 저장부(120)에 저장된 프로그램을 실행함으로써 이하에서 제시되는 프로세스에 따라 FPFT를 수행한다.
이하에서는 제어부(130)가 저장부(120)에 저장된 프로그램을 실행시킴으로써 일 실시예에 따른 FPFT를 수행하는 과정에 대해서, 도 2를 참조하여 자세히 설명한다. 도 2를 참조하여 설명하는 모든 프로세스들은 제어부(130)에 의해 수행되는 것이다.
도 2는 일 실시예에 따른 고속 부분 푸리에 변환을 수행하는 과정을 설명하기 위한 도면이다.
FPFT의 개념을 간단히 설명하면 다음과 같다. FPFT는 임의의 벡터에 대해서 특정 구간에서의 푸리에 계수에 대한 근사 벡터를 구하기 위한 것이며, 좀 더 상세하게는 크기가
Figure pat00033
인 복소 벡터(complex-valued vector)
Figure pat00034
가 (입력 데이터로서) 주어졌을 때, 구간
Figure pat00035
에서의
Figure pat00036
에 대한 푸리에 계수에 대한 근사 벡터를 구하기 위한 것이다. 이때,
Figure pat00037
은 음수가 아닌 정수(non-negative integer)이고,
Figure pat00038
는 정수(integer)이다.
FPFT는 크게 '전처리 단계'와 '계산 단계'로 구성되며 각각의 단계에 대해서 아래에서 자세히 설명한다.
1. 전처리 단계
입력과 출력에 대한 정보로부터 필요한 연산의 일부를 사전에 수행하는 단계이다.
전처리 단계를 수행하기 위해 필요한 정보는, 입력 벡터
Figure pat00039
의 크기
Figure pat00040
, 출력 구간을 특정하기 위한 정보
Figure pat00041
Figure pat00042
(이때, 출력 구간은
Figure pat00043
로 특정됨), 인자(divisor)
Figure pat00044
, 허용오차(tolerance)
Figure pat00045
이다.
전처리 단계를 수행하면 전처리 행렬
Figure pat00046
, 파라미터
Figure pat00047
,
Figure pat00048
,
Figure pat00049
를 얻을 수 있다. (이때,
Figure pat00050
는 인자(divisor)이고,
Figure pat00051
Figure pat00052
은 각각 행렬
Figure pat00053
의 행과 열의 개수임)
전처리 단계를 수행함에 있어서, 사전에 계산된
Figure pat00054
Figure pat00055
를 이용하며, 전처리 단계를 수행하기 위한 알고리즘 1을 다음의 표 1에 나타내었다.
Figure pat00056
Figure pat00057
를 사전에 계산하는 방법을 비롯해 알고리즘 1에 대한 자세한 설명은 아래에서 '연산 이론' 부분에 기재하였다.
Figure pat00058
도 2를 참고하면, 상기 알고리즘 1에 따라 입력 벡터(210) 및 출력 구간에 대한 정보를 이용하여 전처리 행렬(230)을 사전에 계산할 수 있다.
이렇게 계산된 전처리 행렬(230)은 입력 벡터의 크기와 출력 구간만 동일하다면, 임의의 입력 벡터에 대해서 푸리에 계수의 근사 벡터를 구할 때 사용될 수 있다. 따라서, 런타임 동안에 수행해야 하는 연산량을 줄일 수 있다.
2. 계산 단계
계산 단계는 사전에 계산된 전처리 행렬(230)을 이용하여, 크기가
Figure pat00059
인 임의의 벡터
Figure pat00060
에 대해서, 구간
Figure pat00061
에서의 푸리에 계수에 대한 근사 벡터를 계산하는 단계이다.
계산 단계에서 수행되는 프로세스들을 정리하면 다음과 같다.
1)
Figure pat00062
로부터 변환 행렬
Figure pat00063
(220)를 구한다. 이때, 사전 계산된 전처리 행렬의 행의 개수를 이용하여 변환 행렬(220)을 구하는데, 그에 따라 변환 행렬(220)은 전처리 행렬(230)과 행렬곱이 가능한 형태가 된다.
(
Figure pat00064
)
2)
Figure pat00065
Figure pat00066
의 행렬곱을 제1 중간 행렬
Figure pat00067
(240)로 저장한다.
3) 제1 중간 행렬
Figure pat00068
(240)의 각 열에 대해서 FFT 수행하여 제2 중간 행렬(250)을 구한다.
4) 제2 중간 행렬(250)의 각 행에 대한 내적을 통해
Figure pat00069
의 푸리에 계수를 근사화한다.
5) 구간
Figure pat00070
에서의 벡터
Figure pat00071
의 푸리에 계수의 근사 벡터(260)를 출력한다.
계산 단계를 수행하기 위한 알고리즘 2를 다음의 표 2에 나타내었다. 알고리즘 2와 관련한 자세한 설명은 아래에서 '연산 이론' 부분에 기재하였다.
Figure pat00072
이하에서는 상술한 바와 같은 컴퓨팅 장치(100)를 이용하여 FPFT를 수행하는 방법을 설명한다. 도 3 및 도 4는 실시예들에 따른 FPFT 방법을 설명하기 위한 순서도들이다.
도 3 및 도 4는 실시예들에 따른 FPFT 방법은 도 1에 도시된 컴퓨팅 장치(100)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1의 컴퓨팅 장치(100)에 관하여 이상에서 기술한 내용은 도 3 및 도 4는 실시예들에 따른 FPFT 방법에도 적용될 수 있다.
도 3을 참고하면, 301 단계에서 제어부(130)는 입출력부(110)를 통해 입력 벡터 및 입력 벡터에 대한 푸리에 계수를 구하고자 하는 출력 구간을 수신한다. 302 단계에서 제어부(130)는 입력 벡터 및 출력 구간에 대한 정보를 이용하여 사전에 계산된 전처리 행렬을 이용하여, 출력 구간에 대한 입력 벡터의 푸리에 계수를 근사화한 벡터를 계산한다.
302 단계에 포함되는 세부 단계들을 도 4에 도시하였다.
도 4를 참고하면, 401 단계에서 제어부(130)는 입력 벡터로부터, 전처리 행렬과 행렬곱이 가능한 형태의 변환 행렬을 구한다. 402 단계에서 제어부(130)는 변환 행렬과 전처리 행렬의 행렬곱을 계산하여 제1 중간 행렬을 구한다. 403 단계에서 제어부(130)는 제1 중간 행렬의 각 열에 대해 고속 푸리에 변환(FFT)을 수행하여 제2 중간 행렬을 구한다. 404 단계에서 제어부(130)는 제2 중간 행렬의 각 행에 대한 내적을 계산함으로써 출력 구간에 대한 입력 벡터의 푸리에 계수를 근사화한 벡터를 구한다.
이하에서는 어떻게 위에서 설명한 바와 같은 알고리즘 1 및 2에 따라 특정 출력 구간에 대한 푸리에 계수의 근사 벡터를 구할 수 있는지, 어떻게 전처리 행렬을 사전에 계산에 놓았다가 임의의 입력 벡터에 대한 푸리에 계수 계산 시 사용할 수 있는지를 뒷받침하기 위한 '연산 이론'에 대해서 설명한다.
3. FPFT와 관련된 연산 이론
본 명세서에서 제안된 FPFT에 따르면 푸리에 계수 중 일부만을 구하기 위해서 쿨리-튜키 알고리즘(Cooley-Tukey algorithm)을 수정하여 적용하고, 진동성이 작은 회전인자들만을 추출하여 다항식으로 근사화하는데, 근사화 과정에서의 연산 부담을 줄이기 위해 기저 지수 함수(base exponential function)를 이용하고, 전체적인 연산량을 감소시키기 위해 연산을 재배열(reordering operations)하고, 인자를 분해(factorizing terms)한다.
가. 회전인자(twiddle factor)들의 근사화
회전인자들 중 진동성(oscillation)이 작은 것들을 추출하고, 이를 다항함수 형태로 근사화 한다. 이와 같이 함으로써 많은 회전인자들로 인해 복잡한 DFT 연산을 줄일 수 있다.
(1) 진동성이 작은 회전인자의 추출
먼저 진동성이 작은 회전인자를 찾는 방법에 대해서 설명하면 다음과 같다.
크기가
Figure pat00073
인 입력 벡터
Figure pat00074
에 대한 DFT는 다음의 수학식 1과 같이 정의된다.
Figure pat00075
이때, 양의 정수
Figure pat00076
에 대해서
Figure pat00077
Figure pat00078
를 의미한다. 또한,
Figure pat00079
을 만족하는
Figure pat00080
가 존재한다고 가정한다. 쿨리-튜키 알고리즘에 따르면 수학식 1은 다음의 수학식 2와 같이 나타낼 수 있다.
Figure pat00081
수학식 2로부터 2개의 회전인자 모음을 얻을 수 있다. 첫 번째 회전인자 모음은
Figure pat00082
이고, 두 번째 회전인자 모음은
Figure pat00083
이다.
Figure pat00084
은 음이 아닌 정수이면서
Figure pat00085
를 만족한다고 할 때,
Figure pat00086
인 구간에 대해서
Figure pat00087
을 구하는 경우를 생각해 보면,
Figure pat00088
의 지수는
Figure pat00089
에서
Figure pat00090
사이의 범위에 존재하고,
Figure pat00091
의 지수는
Figure pat00092
에서
Figure pat00093
사이의 범위에 존재하는데,
Figure pat00094
이므로 첫 번째 회전인자 모음이 두 번째 회전인자 모음에 비해 상대적으로 작은 진동수의 회전인자들을 포함하고 있음을 알 수 있다.
일반적으로, 작은 진동수의 함수들을 다항식으로 근사화할 경우 더 좋은 근사화 결과를 얻을 수 있다. 따라서, 첫 번째 회전인자 모듬에 포함된 회전인자들을 다항함수로 근사화한다. 또한 이때, 수학식 1의 첫 번째 항을 다음의 수학식 3과 같이 조금 변경함으로써 근사화 연산의 복잡도를 줄일 수 있다.
Figure pat00095
수학식 3에서의 첫 번째 회전인자 모음인
Figure pat00096
의 지수의 범위는
Figure pat00097
이고, 이는 수학식 2에 따른 첫 번째 회전인자 모음의 지수의 범위였던
Figure pat00098
와 비교할 때 거의 절반으로 줄어들었다.
따라서, 수학식 3에서의 첫 번째 회전인자 모음에 포함된 회전인자들이, 수학식 2에서의 첫 번째 회전인자 모음에 포함된 회전인자들에 비해 진동성이 더 작다.
수학식 3에서는 추가적인 회전인자인
Figure pat00099
이 포함되어 있지만, 이는
Figure pat00100
Figure pat00101
에 의존적이지 않기 때문에 이를 구하기 위한 연산량은 상대적으로 작다.
(2) 기저 지수 함수(base exponential function)의 이용
수학식 3에서의 첫 번째 회전인자 모음은
Figure pat00102
개의 지수함수들로 구성된다. 각각의 지수함수에 대해서 근사화를 수행할 수도 있지만, 이렇게 할 경우 계산에 많은 시간이 소요된다. 따라서, 연산량을 감소시키기 위해 다음과 같은 프로세스를 이용한다.
1)
Figure pat00103
를 기저 지수 함수로 선택함. 이때,
Figure pat00104
는 임의의 고정된 값임.
2)
Figure pat00105
를 다항식으로 근사화함.
3) 지수 함수의 특성을 이용하여,
Figure pat00106
를 근사화한 다항식으로부터
Figure pat00107
를 근사화한 다항식을 구함.
3)번 프로세스에 대해서 구체적으로 설명하면 다음과 같다.
Figure pat00108
에서
Figure pat00109
를 근사화한 다항식
Figure pat00110
를 얻었다고 가정한다. 이때,
Figure pat00111
Figure pat00112
는 0이 아닌 실수다.
Figure pat00113
인 또 다른 지수 함수
Figure pat00114
가 있다고 할 때,
Figure pat00115
이기 때문에 리스케일링(re-scaling)된 다항 함수
Figure pat00116
는 구간
Figure pat00117
에서
Figure pat00118
를 근사화하는 것이다.
이러한 사실로부터 다음을 알 수 있다.
적절하게 선택된
Figure pat00119
Figure pat00120
에 대해서 구간
Figure pat00121
에 대한
Figure pat00122
의 근사 다항식
Figure pat00123
를 구한다면,
Figure pat00124
에 포함된 모든 성분들은
Figure pat00125
를 리스케일링함으로써 근사화할 수 있다.
따라서, 기저 지수 함수를 고정한다면 해당 기저 지수 함수를 근사화한 다항식을 사전에 구해놓을 수 있고, 따라서 FDFT를 수행하는 런타임(run-time) 동안에 수행해야 하는 근사화 연산을 줄일 수 있다.
몇 가지 정리(definition 1 및 2)를 한 후에 이에 대해서 더 자세히 설명한다.
정리를 위해 다음과 같이 가정한다.
Figure pat00126
를 세트
Figure pat00127
로 제한된 유니폼 놈(uniform norm)이라고 가정한다. 즉,
Figure pat00128
Figure pat00129
이고,
Figure pat00130
는 최대 차수가
Figure pat00131
인 다항식 세트이다.
정리 1 (definition 1)
양의 정수
Figure pat00132
와 0이 아닌 실수
Figure pat00133
Figure pat00134
가 주어질 때,
Figure pat00135
인 조건에서 공간
Figure pat00136
에서의
Figure pat00137
에 대한 최적 근사화 다항식
Figure pat00138
는 다음의 수학식 4와 같이 정의된다.
Figure pat00139
Figure pat00140
또는
Figure pat00141
일 때
Figure pat00142
이다.
정리 2 (definition 2)
허용 오차
Figure pat00143
와 양의 정수
Figure pat00144
이 주어졌을 때,
Figure pat00145
를 아래의 수학식 5와 같이 원점에 대한 범위로 정의함으로써 지수 함수
Figure pat00146
를 오차한계
Figure pat00147
이며 차수가
Figure pat00148
미만인 다항식으로 근사화 할 수 있다.
Figure pat00149
또한, 위 범위에 대응되는 다항식을 아래의 수학식 6과 같이 표현할 수 있다.
Figure pat00150
정리 2에서
Figure pat00151
를 기저 지수 함수로 선택하는데, 이렇게 선택한 이유는 다음과 같다.
첫 번째로 최소극대화(minimax) 알고리즘을 이용하여, 몇몇의 오차한계
Figure pat00152
와 양의 정수
Figure pat00153
에 대해서
Figure pat00154
Figure pat00155
를 사전 계산할 수 있다. 그리고
Figure pat00156
,
Figure pat00157
,
Figure pat00158
그리고
Figure pat00159
가 주어졌을 때,
Figure pat00160
를 만족하는
Figure pat00161
의 최소값을 찾을 수 있다.
리스케일링된 다항 함수
Figure pat00162
는 각각의
Figure pat00163
에 대한 구간
Figure pat00164
에서
Figure pat00165
를 근사화한다.
모든
Figure pat00166
에 대해서
Figure pat00167
를 만족하고, 구간
Figure pat00168
에서 수학식 3의 첫 번째 회전인자 모음인
Figure pat00169
Figure pat00170
와 같이 다항식으로 근사화 할 수 있다.
이와 같이, 수학식 3의 첫 번째 회전인자 모음을 근사화함으로써 구간
Figure pat00171
에 대한
Figure pat00172
의 근사값을 다음의 수학식 7과 같이 구할 수 있다.
Figure pat00173
나. 목표구간(target range)을 임의로 설정하는 방법
지금까지는
Figure pat00174
의 구간에 속한
Figure pat00175
에 대한
Figure pat00176
를 근사화하는 방법에 대해서 설명했다. 이제부터는 푸리에 계수를 구하고자 하는 구간을 '목표구간(target range)'이라고 하고,
Figure pat00177
Figure pat00178
를 의미한다고 가정한다. (이때,
Figure pat00179
) 위에서 살펴본 방법들은
Figure pat00180
으로 목표구간의 중심이 설정되었을 때 사용 가능한 방법들이다.
알고리즘을 조금만 변경한다면 목표구간의 중심이 임의로 설정되더라도 사용 가능하다. 예를 들어, 다음과 같은 방법을 생각할 수 있다. 크기
Figure pat00181
의 복소벡터
Figure pat00182
가 주어지고, 벡터
Figure pat00183
Figure pat00184
Figure pat00185
를 의미한다고 가정할 때,
Figure pat00186
Figure pat00187
의 푸리에 계수는 다음의 수학식 8의 관계를 만족한다.
Figure pat00188
따라서,
Figure pat00189
Figure pat00190
에 대한
Figure pat00191
를 계산한다면
Figure pat00192
에 대한
Figure pat00193
도 구할 수 있다. 그런데 이 방법은,
Figure pat00194
의 계산으로 인해 추가적인
Figure pat00195
개의 곱셈을 필요로 한다. 런타임 동안에 추가적인 연산 프로세스를 수행하지 않도록 하기 위해서 다음과 같은 보조정리(lemma)를 이용할 수 있다.
보조정리 1 (lemma 1)
음이 아닌 정수
Figure pat00196
, 0이 아닌 실수
Figure pat00197
Figure pat00198
, 임의의 실수
Figure pat00199
가 주어졌을 때, 다음의 수학식 9와 같은 관계가 성립한다.
Figure pat00200
따라서, 구간
Figure pat00201
에서
Figure pat00202
를 근사화한 다항식을 구하기 위해서는, 첫 번째로
Figure pat00203
에서
Figure pat00204
를 근사화한 다항식
Figure pat00205
을 구하고,
Figure pat00206
를 반영하여
Figure pat00207
를 변환한 것을 스칼라
Figure pat00208
와 곱하는 방식을 이용할 수 있다.
이러한 방식을 이용한다면 앞서 구했던 수학식 3의 첫 번째 회전인자 모음인
Figure pat00209
를,
Figure pat00210
인 구간에 대해서
Figure pat00211
와 같이 다항식으로 근사화할 수 있다.
따라서,
Figure pat00212
에 대해
Figure pat00213
를 근사화한 결과는 수학식 3으로부터 다음의 수학식 10과 같이 표현할 수 있다.
Figure pat00214
이때,
Figure pat00215
,
Figure pat00216
Figure pat00217
이다.
다. 효율적인 합계(summation)를 위한 연산 순서 재배열 및 인자 분해
수학식 10을 참고하면 부분 푸리에 계수(partial Fourier coefficient)를 계산하기 위해 3가지 합계(summation)를 수행해야 함을 알 수 있다.
또한 수학식 10을 참고하면, 두 번째 줄에서 가장 안쪽의(innermost) 합계인
Figure pat00218
이 세 번째 줄에서는 가장 바깥쪽 위치(outermost position)로 이동되면서,
Figure pat00219
이 두 개의 독립적인 항인
Figure pat00220
Figure pat00221
으로 분해되었다. 이와 같이 합계의 순서를 바꾸고 인자를 분해함으로써 연산의 효율성을 높일 수 있다.
수학식 10에서 연산을 재배열한 결과 가장 안쪽에 위치한 합계인,
Figure pat00222
에 대한 합계는 행렬곱에 해당된다. 그리고, 두 번째로 안쪽에 위치한 합계인,
Figure pat00223
에 대한 합계는 복수의 DFT로 볼 수 있고, 마지막으로 가장 바깥쪽에 위치한 합계인,
Figure pat00224
에 대한 합계는 내적(inner product)에 해당된다.
행렬
Figure pat00225
Figure pat00226
를 각각 다음의 수학식 11 및 12와 같이 정의하면, 수학식 10은 다음의 수학식 13과 같이 표현할 수 있다.
Figure pat00227
Figure pat00228
Figure pat00229
행렬
Figure pat00230
는 데이터 독립적(data-independent)이므로, 즉 입력 벡터
Figure pat00231
의 영향을 받지 않으므로 사전에 계산될 수 있다. 앞서 정리 2의 수학식 6 부분에서 살펴본 바와 같이
Figure pat00232
도 사전에 계산될 수 있다. 또한,
Figure pat00233
를 안다면 행렬
Figure pat00234
를 구성하는 다른 인자들인
Figure pat00235
Figure pat00236
도 사전에 계산될 수 있다.
따라서,
Figure pat00237
에 대한 설정이 변경되지 않는다면, 상기 표 1에 기재된 PFT의 환경설정 단계(configuration phase)를 한 번만 수행하면, 어떤 입력 데이터
Figure pat00238
에 대해서도 사전에 계산된 행렬
Figure pat00239
를 다시 사용할 수 있다.
한편, 행렬곱
Figure pat00240
Figure pat00241
라고 한다면 수학식 13은 아래의 수학식 14와 같이 표현될 수 있다.
Figure pat00242
각각의
Figure pat00243
에 대해서, 합계
Figure pat00244
는 크기
Figure pat00245
인 DFT이다. 이에 대해서 FFT를
Figure pat00246
번 수행하고 대응되는 푸리에 계수를
Figure pat00247
라고 하면 다음의 수학식 15와 같이
Figure pat00248
을 근사화할 수 있다.
Figure pat00249
Figure pat00250
Figure pat00251
에 대한 주기
Figure pat00252
인 주기 함수이므로,
Figure pat00253
또는
Figure pat00254
를 만족할 때 '
Figure pat00255
modulo
Figure pat00256
'에 대해서 위 계수를 사용할 수 있다. 따라서,
Figure pat00257
Figure pat00258
번째 푸리에 계수는
Figure pat00259
에 대한
Figure pat00260
Figure pat00261
의 내적으로 근사화 될 수 있으며, 이어서 추가적인 회전인자인
Figure pat00262
와의 곱셈을 수행할 수 있다. 이때,
Figure pat00263
Figure pat00264
는 사전 계산이 가능하다. 전체적인 계산 과정은 상기 표 2에 나타난 알고리즘과 같다.
이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.
도 3 및 도 4를 통해 설명된 실시예들에 따른 FPFT 방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다. 예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다.
또한 도 3 및 도 4를 통해 설명된 실시예들에 따른 FPFT 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 도 3 및 도 4를 통해 설명된 실시예들에 따른 FPFT 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 명세서를 통해 보호 받고자 하는 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태를 포함하는 것으로 해석되어야 한다.
100: 컴퓨팅 장치 110: 입출력부
120: 저장부 130: 제어부
210: 입력 벡터 220: 변환 행렬
230: 전처리 행렬 240: 제1 중간 행렬
250: 제2 중간 행렬 260: 근사 벡터

Claims (12)

  1. 고속 부분 푸리에 변환(fast partial Fourier transform) 방법에 있어서,
    입력 벡터(
    Figure pat00265
    ) 및 상기 입력 벡터(
    Figure pat00266
    )에 대한 푸리에 계수를 구하고자 하는 출력 구간(
    Figure pat00267
    )을 입력받는 단계; 및
    상기 입력 벡터(
    Figure pat00268
    ) 및 상기 출력 구간(
    Figure pat00269
    )에 대한 정보를 이용하여 사전에 계산된 전처리 행렬(
    Figure pat00270
    )을 이용하여, 상기 출력 구간(
    Figure pat00271
    )에 대한 상기 입력 벡터(
    Figure pat00272
    )의 푸리에 계수를 근사화한 벡터를 구하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 전처리 행렬(
    Figure pat00273
    )은 상기 입력 벡터(
    Figure pat00274
    )의 크기(
    Figure pat00275
    ), 상기 출력 구간을 특정하기 위한 정보(
    Figure pat00276
    Figure pat00277
    ), 인자(divisor)(
    Figure pat00278
    ) 및 허용오차(
    Figure pat00279
    )를 이용하여 사전에 계산되는 것을 특징으로 하는, 방법.
  3. 제2항에 있어서,
    상기 전처리 행렬(
    Figure pat00280
    )은 다음의 알고리즘 1에 따라 계산되는 것을 특징으로 하는 방법.
    [알고리즘 1]
    Figure pat00281
  4. 제2항에 있어서,
    상기 근사화한 벡터를 구하는 단계는,
    상기 입력 벡터(
    Figure pat00282
    )로부터, 상기 전처리 행렬(
    Figure pat00283
    )과 행렬곱이 가능한 형태의 변환 행렬(
    Figure pat00284
    )을 구하는 단계;
    상기 변환 행렬(
    Figure pat00285
    )과 상기 전처리 행렬(
    Figure pat00286
    )의 행렬곱을 계산하여 제1 중간 행렬(
    Figure pat00287
    )을 구하는 단계;
    제1 중간 행렬(
    Figure pat00288
    )의 각 열에 대해 고속 푸리에 변환(FFT)을 수행하여 제2 중간 행렬을 구하는 단계; 및
    상기 제2 중간 행렬의 각 행에 대한 내적(inner product)을 계산함으로써 출력 구간에 대한 상기 입력 벡터(
    Figure pat00289
    )의 푸리에 계수를 근사화한 벡터를 구하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 변환 행렬(
    Figure pat00290
    )을 구하는 단계는,
    다음의 수학식 1에 따라 수행되는 것을 특징으로 하는 방법.
    [수학식 1]
    Figure pat00291
  6. 제1항에 있어서,
    컴퓨터에 제1항에 기재된 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  7. 컴퓨팅 장치에 의해 수행되며, 제1항에 기재된 방법을 수행하기 위해 기록 매체에 저장된 컴퓨터 프로그램.
  8. 고속 부분 푸리에 변환(fast partial Fourier transform) 방법을 수행하기 위한 컴퓨팅 장치에 있어서,
    데이터를 입력 받고, 이를 연산 처리한 결과를 출력하기 위한 입출력부;
    고속 부분 푸리에 변환을 수행하기 위한 프로그램 및 데이터가 저장되는 저장부; 및
    적어도 하나의 프로세서를 포함하며, 상기 프로그램을 실행시킴으로써 상기 고속 부분 푸리에 변환을 수행하는 제어부를 포함하며,
    상기 제어부는 상기 입출력부를 통해 입력 벡터(
    Figure pat00292
    ) 및 상기 입력 벡터(
    Figure pat00293
    )에 대한 푸리에 계수를 구하고자 하는 출력 구간(
    Figure pat00294
    )을 입력받으면, 상기 프로그램을 실행시킴으로써 상기 입력 벡터(
    Figure pat00295
    ) 및 상기 출력 구간(
    Figure pat00296
    )에 대한 정보를 이용하여 사전에 계산된 전처리 행렬(
    Figure pat00297
    )을 이용하여, 상기 출력 구간(
    Figure pat00298
    )에 대한 상기 입력 벡터(
    Figure pat00299
    )의 푸리에 계수를 근사화한 벡터를 구하는, 컴퓨팅 장치.
  9. 제8항에 있어서,
    상기 제어부는 상기 입력 벡터(
    Figure pat00300
    )의 크기(
    Figure pat00301
    ), 상기 출력 구간을 특정하기 위한 정보(
    Figure pat00302
    Figure pat00303
    ), 인자(divisor)(
    Figure pat00304
    ) 및 허용오차(
    Figure pat00305
    )를 이용하여 사전에 상기 전처리 행렬(
    Figure pat00306
    )을 계산하는 것을 특징으로 하는 컴퓨팅 장치.
  10. 제9항에 있어서,
    상기 제어부는 다음의 알고리즘 1에 따라 상기 전처리 행렬(B)을 계산하는 것을 특징으로 하는 컴퓨팅 장치.
    [알고리즘 1]
    Figure pat00307
  11. 제9항에 있어서,
    상기 제어부는 상기 근사화한 벡터를 구함에 있어서,
    상기 입력 벡터(
    Figure pat00308
    )로부터, 상기 전처리 행렬(
    Figure pat00309
    )과 행렬곱이 가능한 형태의 변환 행렬(
    Figure pat00310
    )을 구하고, 상기 변환 행렬(
    Figure pat00311
    )과 상기 전처리 행렬(
    Figure pat00312
    )의 행렬곱을 계산하여 제1 중간 행렬(
    Figure pat00313
    )을 구하고, 제1 중간 행렬(
    Figure pat00314
    )의 각 열에 대해 고속 푸리에 변환(FFT)을 수행하여 제2 중간 행렬을 구한 후, 상기 제2 중간 행렬의 각 행에 대한 내적(inner product)을 계산함으로써 출력 구간에 대한 상기 입력 벡터(
    Figure pat00315
    )의 푸리에 계수를 근사화한 벡터를 구하는 것을 특징으로 하는 컴퓨팅 장치.
  12. 제11항에 있어서,
    상기 제어부는 다음의 수학식 1에 따라 상기 변환 행렬()를 구하는 것을 특징으로 하는 컴퓨팅 장치.
    [수학식 1]
    Figure pat00316


KR1020210048081A 2021-04-13 2021-04-13 고속 부분 푸리에 변환 방법 및 이를 수행하기 위한 컴퓨팅 장치 KR102514264B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210048081A KR102514264B1 (ko) 2021-04-13 2021-04-13 고속 부분 푸리에 변환 방법 및 이를 수행하기 위한 컴퓨팅 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210048081A KR102514264B1 (ko) 2021-04-13 2021-04-13 고속 부분 푸리에 변환 방법 및 이를 수행하기 위한 컴퓨팅 장치

Publications (2)

Publication Number Publication Date
KR20220141680A true KR20220141680A (ko) 2022-10-20
KR102514264B1 KR102514264B1 (ko) 2023-03-24

Family

ID=83804734

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210048081A KR102514264B1 (ko) 2021-04-13 2021-04-13 고속 부분 푸리에 변환 방법 및 이를 수행하기 위한 컴퓨팅 장치

Country Status (1)

Country Link
KR (1) KR102514264B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070020131A (ko) * 2004-06-10 2007-02-16 하산 세히토글루 신호 처리를 위한 행렬-값 방법 및 장치
KR20160099712A (ko) * 2014-04-30 2016-08-22 후아웨이 테크놀러지 컴퍼니 리미티드 복수의 입력 오디오 신호를 잔향제거하기 위한 신호 처리 장치, 방법 및 컴퓨터가 판독 가능한 저장매체

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070020131A (ko) * 2004-06-10 2007-02-16 하산 세히토글루 신호 처리를 위한 행렬-값 방법 및 장치
KR20160099712A (ko) * 2014-04-30 2016-08-22 후아웨이 테크놀러지 컴퍼니 리미티드 복수의 입력 오디오 신호를 잔향제거하기 위한 신호 처리 장치, 방법 및 컴퓨터가 판독 가능한 저장매체

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
John C. Bowman외 1 명, "The Partial Fast Fourier Transform", Journal of Scientific Computing volume 76, (2018.2.22.)* *

Also Published As

Publication number Publication date
KR102514264B1 (ko) 2023-03-24

Similar Documents

Publication Publication Date Title
US20110302371A1 (en) Method of operating a computing device to perform memoization
US20170206089A1 (en) Information processing apparatus and computational method
US9934199B2 (en) Digital filter device, digital filtering method, and storage medium having digital filter program stored thereon
JP2012216207A (ja) 複数の画像の記述的情報を取得する方法及び装置、並びに画像マッチング方法
US11899741B2 (en) Memory device and method
KR20190013162A (ko) 컨볼루션 뉴럴 네트워크를 위한 하드웨어 가속기 및 컨볼루션 연산량 감소 방법
US20220391471A1 (en) Method, circuit, and soc for performing matrix multiplication operation
KR102514264B1 (ko) 고속 부분 푸리에 변환 방법 및 이를 수행하기 위한 컴퓨팅 장치
KR102376492B1 (ko) 실수값을 입력으로 하는 고속푸리에 변환장치 및 방법
US11435941B1 (en) Matrix transpose hardware acceleration
CN113378108B (zh) 音频处理装置的快速傅立叶变换电路
US20210334648A1 (en) Statically Generated Compiled Representations for Processing Data in Neural Networks
Shi et al. A sequential multiple change-point detection procedure via VIF regression
WO2023045516A1 (zh) 执行fft的方法、装置及设备
US20230171084A1 (en) Appratus and method with homomorphic encryption
US20130307858A1 (en) Hilbert-huang transform data processing real-time system with 2-d capabilities
KR102447870B1 (ko) 텐서 분해 방법 및 이를 수행하기 위한 장치
US9792533B2 (en) Processing apparatus, processing method, and program for determining an image taking position
WO2022266920A1 (en) METHODS AND APPARATUS TO PERFORM MIXED RADIX FAST FOURIER TRANSFORM (FFT) CALCULATIONS ON GRAPHICS PROCESSING UNITS (GPUs)
US11507371B2 (en) Column data driven arithmetic expression evaluation
US10853445B2 (en) Digital filter device, digital filtering method, and program recording medium
US9311274B2 (en) Approach for significant improvement of FFT performance in microcontrollers
KR102469374B1 (ko) 시간 연속성을 고려한 텐서 분해 방법 및 그 장치
Borowicz GPU implementation of adaptive Fourier decomposition
US20230205500A1 (en) Computation architecture synthesis

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant