인공지능 - 음성 인식 DFT (Discrete Fourier Transform)

4 분 소요

DFT (Discrete Fourier Transform, 이산 푸리에 변환)

1. DFT (Discrete Fourier Transform)란?

DFT는 입력 신호를 주파수 영역으로 변환하는 중요한 수학적 도구입니다. 주어진 공식을 통해서 수집된 데이터를 주파수 성분으로 분석할 수 있습니다.

목적은! 음향을 주파수로 분해하는것!

  • 주파수 성분 분석: 음성 신호를 구성하는 다양한 주파수 성분을 추출하여, 각 주파수 성분의 크기와 위상을 분석합니다.

  • 특징 추출: 음성 인식에 중요한 주파수 대역을 강조하고, 노이즈를 줄여 음성의 특징을 더 명확하게 합니다.

  • 시간-주파수 변환: 시간 도메인의 신호를 주파수 도메인으로 변환하여, 주파수 특성을 기반으로 신호를 분석하고 처리합니다.

음성 신호를 다양한 주파수 성분으로 분해하는 과정을 악기에 비유하자면, 이는 여러 악기가 동시에 연주하는 곡을 각 악기의 소리로 분리하는 것과 비슷합니다. 이렇게 분리된 각 악기의 소리를 분석하면, 전체 곡의 구조와 특징을 더 잘 이해할 수 있습니다.

이산 푸리에 변환(DFT)은 이산적인 시간 신호를 주파수 성분으로 변환하는 도구입니다. DFT는 다음과 같은 수식으로 정의됩니다:

\[y_n = \frac{1}{N} \sum_{k=0}^{N-1} Y_k \cdot \exp \left( i \cdot 2 \pi \frac{k}{N} n \right)\]

구성 요소:

  1. $ y_n $
    • 수집한 데이터(input signal)
    • 입력 신호의 n번째 샘플입니다.
  2. $ N $
    • 주기(Discrete time index)
    • 신호의 샘플 수, 즉 주기입니다. 데이터의 총 샘플 개수를 나타냅니다.
  3. $ k $
    • discrete frequency index
    • 주파수 인덱스입니다. 0부터 N-1까지의 값을 가지며, 각 주파수 성분을 나타냅니다.
  4. $ Y_k $

    • k번째 frequency에 대한 Spectrum의 값
    • k번째 주파수 성분에 대한 스펙트럼 값입니다. DFT의 출력으로, 각 주파수 성분의 크기와 위상을 나타냅니다.
  5. \(\exp \left( i \cdot 2 \pi \frac{k}{N} n \right)\)

    • 복소 지수 함수
    • 이 항은 복소 지수 함수로, 각 주파수 성분을 시간 영역으로 변환하는 역할을 합니다.
    • $ i $는 허수 단위로, \(\exp \left( i \cdot \theta \right) = \cos(\theta) + i \sin(\theta)\)로 표현됩니다.

설명:

DFT는 이산 시간 신호를 주기적으로 반복된다고 가정할 때, 주파수 영역으로 변환하여 주파수 성분들을 분석합니다. 주파수 성분 $ Y_k $ 들을 다시 시간 영역 신호로 변환할 때, 모든 주파수 성분들의 사인 함수와 코사인 함수의 합으로 나타낼 수 있습니다.

즉, 입력 신호가 다양한 주파수 성분으로 구성되어 있을 때, DFT를 통해 이러한 주파수 성분들을 분리하여 각각의 크기와 위상을 구할 수 있습니다. 이 과정은 신호 처리, 통신, 음성 및 영상 처리 등 다양한 분야에서 매우 유용하게 사용됩니다.

비유

이 과정을 오케스트라의 연주로 비유할 수 있습니다.

  • 주파수 성분 $ Y_k $: 각 악기의 소리입니다. 오케스트라에는 여러 악기가 있고, 각각의 악기가 고유한 주파수 성분을 가지고 있습니다.
  • 복소 지수 함수 $ \exp \left( i \cdot 2 \pi \frac{k}{N} n \right) $: 각 악기가 특정 시간에 어떤 소리를 내야 하는지를 결정하는 악보입니다.
  • 합산 $ \sum_{k=0}^{N-1} $: 모든 악기의 소리를 합쳐서 하나의 음악을 만듭니다.
  • 평균 $ \frac{1}{N} $: 전체 음악을 조화롭게 만들기 위해 각 악기의 소리를 조절합니다.

2. 오일러의 공식(Euler’s formula)? 복소지수함수란?

오일러의 공식은 복소 지수 함수와 삼각 함수를 연결하는 중요한 수학적 정리입니다. 복소 지수 함수는 복소수 $ z = a + bi $의 지수 함수 형태로, 실수부와 허수부로 이루어진 복소수의 지수 함수를 의미합니다. 특히, 복소 지수 함수는 오일러의 공식(Euler’s formula)을 통해 주로 설명됩니다.

오일러의 공식 (Euler’s formula)

오일러의 공식은 다음과 같이 표현됩니다: \(e^{ix} = \cos(x) + i\sin(x)\)

여기서,

  • $ e $: 자연로그의 밑
  • $ i $: 허수 단위, $ i^2 = -1 $
  • $ x $: 실수 값

의미와 사용

오일러의 공식은 복소 지수 함수가 주기적인 성질을 갖고 있으며, 복소수 평면에서 회전 운동을 나타낼 수 있음을 보여줍니다. 이를 통해 복소 지수 함수는 사인 함수와 코사인 함수를 이용하여 주기적인 신호를 표현할 수 있습니다.

삼각 함수의 필요성

  • $ \cos(x) $: 실수 부분을 나타냅니다. 복소 평면에서의 $ x $축 성분입니다.
  • $ \sin(x) $: 허수 부분을 나타냅니다. 복소 평면에서의 $ y $축 성분입니다.

오일러의 공식에서 삼각 함수 $ \cos(x) $와 $ \sin(x) $가 필요한 이유는, 복소 지수 함수가 복소 평면에서의 회전을 나타내기 때문입니다. 이는 복소수의 실수 및 허수 부분을 각각 $ \cos(x) $와 $ \sin(x) $로 나타내어, 복소 평면에서의 위치를 정확히 정의할 수 있게 합니다.

예시

예를 들어, 복소 지수 함수 $ e^{i\theta} $는 단위원(반지름이 1인 원) 상의 한 점을 나타냅니다:

\[e^{i\theta} = \cos(\theta) + i\sin(\theta)\]

이로써, 복소 지수 함수는 주파수 신호의 위상과 진폭을 효과적으로 표현할 수 있게 됩니다. DFT에서 사용하는 복소 지수 함수 $ \exp \left( i \cdot 2 \pi \frac{k}{N} n \right) $는 주어진 주파수 성분이 시간 도메인에서 어떻게 변하는지를 나타내는 데 사용됩니다.

활용 예

DFT에서는 각 주파수 성분을 계산할 때, 복소 지수 함수를 사용하여 시간 영역 신호를 주파수 영역으로 변환합니다. 예를 들어, $ \exp \left( i \cdot 2 \pi \frac{k}{N} n \right) $는 주파수 $ \frac{k}{N} $인 성분이 시간 $ n $에서 어떤 값을 가지는지를 나타냅니다.

복소 지수 함수의 중요한 특성은 주기적이고, 실수부(코사인)와 허수부(사인)로 구성되어 있다는 점입니다. 이를 통해 신호의 주파수 성분을 효과적으로 분석하고 합성할 수 있습니다.

3. 지수, 실수부, 허수부, 복소수 란?

지수 (Exponent)

지수는 특정 숫자가 얼마나 많이 곱해지는지를 나타내는 수학적 표현입니다. 예를 들어, $ a^b $에서 $ a $는 밑(base)이고, $ b $는 지수(exponent)입니다. 지수 함수는 이런 형태로 표현됩니다. 일반적으로 지수 함수는 $ e $를 밑으로 사용하는 경우가 많으며, 이는 자연 지수 함수라고 불립니다.

실수부 (Real Part)

복소수는 실수부와 허수부로 이루어져 있습니다. 복소수 $ z $는 다음과 같이 나타낼 수 있습니다: \(z = a + bi\) 여기서 $ a $는 복소수의 실수부(real part)입니다. 이는 복소수의 실제 값 부분을 나타냅니다.

허수부 (Imaginary Part)

복소수에서 $ b $는 허수부(imaginary part)라고 불립니다. 이는 허수 단위 $ i $와 곱해진 값으로 구성됩니다. 허수 단위 $ i $는 다음과 같은 특성을 가집니다:

\[i^2 = -1\]

즉, 허수부는 복소수의 상상의 부분을 나타냅니다.

예시 - 복소수 $ z = 3 + 4i $를 예로 들면:

  • 실수부는 3
  • 허수부는 4

복소수 (Complex Number)

복소수는 실수와 허수의 합으로 이루어진 수입니다.

일반적으로 다음과 같이 표현됩니다:

\[z = a + bi\]

여기서,

  • $ a $: 실수 부분
  • $ bi $: 허수 부분, $ i $는 허수 단위로 $ i^2 = -1 $

복소수는 실수 축과 허수 축으로 구성된 복소 평면에서 나타낼 수 있습니다.

복소수의 시각화

복소수를 복소수 평면(complex plane)에서 표현할 때, 실수부는 수평축(실수축, x축)에, 허수부는 수직축(허수축, y축)에 대응됩니다. 복소수는 이 평면에서 한 점으로 나타낼 수 있습니다.

복소 지수 함수 예시

복소 지수 함수는 오일러의 공식을 통해 이해할 수 있습니다: \(e^{ix} = \cos(x) + i\sin(x)\) 이때, $ e^{ix} $는 복소 지수 함수이며, 이를 풀면 실수부와 허수부로 나누어집니다:

  • 실수부는 $ \cos(x) $
  • 허수부는 $ \sin(x) $

복소 지수 함수는 주기적이며, 복소수 평면에서 원을 그리며 회전하는 형태를 가집니다. 이러한 특성 때문에 주파수 분석이나 신호 처리에서 매우 유용하게 사용됩니다.

댓글남기기