반반속 푸리에 변환 알고리즘 관계 분석
** 본 논문은 GF(2^m) 위에서 정의되는 n‑점 푸리에 변환을 수행하는 여러 반반속(semifast) 알고리즘들을 체계적으로 비교한다. Goertzel 알고리즘, Blahut의 변형, Fedorenko‑Trifonov 계열 등 각 방법을 행렬 형태로 전개하고, 정상 기저(normal basis)와 순환 행렬(circulant) 구조를 이용한 구현 방식을 제시한다. 또한 두 단계(다항식 나눗셈·선형화와 이진 행렬·블록 대각 행렬 곱)로 …
저자: ** *저자 정보가 논문에 명시되지 않음* **
**
본 논문은 “반반속(semifast) 푸리에 변환 알고리즘”이라는 주제로, GF(2^m) 위에서 정의되는 n‑점 푸리에 변환을 효율적으로 계산하는 여러 기존 방법들을 체계적으로 비교·분석한다. 서두에서 반반속 알고리즘을 “곱셈 연산을 자연적인 O(n²)에서 O(n log n) 수준으로 크게 감소시키지만, 덧셈 연산은 여전히 O(n²) 수준으로 남는 알고리즘”이라고 정의하고, 이러한 정의에 부합하는 대표적인 알고리즘들을 소개한다.
논문은 먼저 푸리에 변환을 Vandenmonde 행렬 W와 입력 벡터 f 로 표현한다. 여기서 α∈GF(2^m) 은 차수 n을 만족하는 원시 원소이며, W는 (α^{ij}) 형태의 행렬이다. 이 기본 정의를 바탕으로, 저자는 GF(2³)에서 n=7인 경우를 구체적인 예시로 삼아 각 알고리즘을 행렬 형태로 전개한다.
1. **Goertzel 알고리즘(1958)**
- 입력 다항식 f(x)를 최소 다항식 (x+1), (x³+x+1), (x³+x²+1) 로 순차적으로 나눈다.
- 각 나머지 r₀, r₁, r₂ 를 직접 평가하여 F₀…F₆을 얻는다.
- 행렬식으로는 7×7 행렬을 두 개의 3×3 부분 행렬과 1×1 스칼라로 분해해, αⁱ 를 이용한 가중치를 부여한다.
2. **Blahut의 변형(2008)**
- 입력 벡터를 세 개의 부분 (f₀, f₁…f₆) 로 나누고, 각각에 대해 서로 다른 행렬을 적용한다.
- 첫 번째 부분은 전부 1 로 채워진 행렬, 두 번째와 세 번째 부분은 정상 기저(β₁,β₂,β₄)를 이용한 3×3 블록 순환 행렬을 사용한다.
- 결과적으로 전체 변환은 7×7 행렬을 3개의 블록 행렬 합으로 표현한다.
3. **Fedorenko‑Trifonov 알고리즘(2002)**
- 다항식 f(x)를 선형화 다항식 L₀, L₁, L₂ 로 분해한다. 각 Lᵢ는 2ⁱ 거듭제곱 지수만을 포함하므로, 평가가 매우 간단하다.
- 정상 기저(β₁,β₂,β₄)를 이용해 Lᵢ(αʲ) 를 행렬 형태로 전개하고, 이를 3개의 3×3 블록과 1개의 스칼라 블록으로 결합한다.
- 최종 변환 행렬은 이진 행렬 A와 블록 대각 행렬 D 로 구성된 A·D 형태가 된다.
4. **Trifonov‑Fedorenko(2003)**
- 정상 기저(β₁,β₂,β₄)를 첫 행으로 하는 순환 행렬을 정의하고, 이를 여러 개의 블록으로 나눈다.
- Aₑ는 이진 행렬이며, Dₑ는 각 블록이 정상 기저 순환 행렬인 블록 대각 행렬이다.
- 전체 변환은 Aₑ·Dₑ·f 형태로 구현되며, Aₑ 내부는 순환 행렬과 블록 순환 행렬이 교차 배치된다.
5. **Fedorenko(2006) – 두 번째 버전**
- 정상 기저(γ₁,γ₂,γ₄)를 이용해 행렬을 재구성하고, 이전 버전과 동일한 A·D 구조를 유지한다.
- 여기서는 γ₁=α⁶, γ₂=α⁵, γ₄=α³ 로 정의된 다른 정상 기저를 사용해 행렬 요소가 바뀌지만, 전체 구조는 변하지 않는다.
**복잡도 분석**
논문은 위 알고리즘들이 모두 두 단계로 이루어진다고 정리한다.
- **첫 단계**: l개의 m‑점 순환 컨볼루션을 수행한다. 이는 n log n 수준의 곱셈·덧셈을 요구한다.
- **두 번째 단계**: 이진 행렬 Aₑ와 블록 대각 행렬 Dₑ 를 곱한다. 여기서는 주로 덧셈 연산이 사용되며, 복잡도는 O(n²/ log n) 이하로 추정된다.
따라서 전체 알고리즘은 곱셈 측면에서 거의 최적에 가깝지만, 덧셈 비용이 여전히 큰 비중을 차지한다는 점을 강조한다. 저자는 정상 기저와 순환 행렬을 활용한 구현이 핵심적인 최적화 포인트이며, 향후 연구에서는 덧셈 비용을 감소시키는 구조적 변형이 필요하다고 제언한다.
**결론**
본 논문은 GF(2^m) 위의 푸리에 변환을 위한 여러 반반속 알고리즘을 행렬적 관점에서 통합적으로 제시하고, 각 방법이 실제로는 동일한 기본 구조(정상 기저·순환 행렬·블록 대각 행렬) 위에 놓여 있음을 밝힌다. 이를 통해 알고리즘 설계 시 어떤 요소를 조정하면 곱셈·덧셈 균형을 맞출 수 있는지에 대한 실용적인 가이드를 제공한다.
**
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기