Fourier Transform, DFT, FFT - Yunjong-Lee/WiKi GitHub Wiki

Index

  1. Domain
    - 1.1. Time Domain
    - 1.2. Frequency Domain

  2. Fourier Transform
    - 2.1. Fourier Transform
    - 2.2. DFT
    - 2.3. FFT


1. Domain

  • 관점에 따라 λΆ„μ„λ‚΄μš©κ³Ό 방식이 λ‹¬λΌμ§€λŠ”λ°, κ³΅ν•™μ—μ„œλŠ” 2κ°€μ§€ 관점(μ‹œκ°„κ³Ό 주파수)μ—μ„œ 주둜 뢄석이 이루어짐

1.1. Time Domain (μ‹œκ°„ μ˜μ—­)

  • μ‹œκ°„μ˜ κ΄€μ μ—μ„œ 해석

  • μ‹œκ°„μ— λ”°λ₯Έ μ‹ ν˜Έ 크기의 λ³€ν™”(X좕은 μ‹œκ°„, Y좕은 μ‹ ν˜Έμ˜ 크기)

    • μ•„λž˜ 그림의 Clock Wave form을 보면, Clock μ£ΌκΈ°, Rise time λ“±μ˜ 정보 확인 및 clock frequency 계산 κ°€λŠ₯

1.2. Frequency Domain (주파수 μ˜μ—­)

  • 주파수(주기적인 ν˜„μƒμ΄ λ‹¨μœ„ μ‹œκ°„ λ™μ•ˆ λͺ‡ 번 μΌμ–΄λ‚¬λŠ”μ§€λ₯Ό λœ»ν•˜λŠ” μš©μ–΄, 1μ΄ˆλ‹Ή λ°œμƒν•˜λŠ” 반볡의 수, λ‹¨μœ„λŠ” $[Hz]$) κ΄€μ μ—μ„œ 해석(Signal/Powerλ₯Ό λΆ„μ„ν•˜λŠ” 것에 μœ μš©ν•˜μ—¬ μ‚¬μš©)
    • μ—¬κΈ°μ„œ, λͺ¨λ“  μ£ΌνŒŒμˆ˜λŠ” Sine Wave(사인 ν•¨μˆ˜)λ₯Ό ν†΅ν•΄μ„œ λ‚˜νƒ€λ‚Ό 수 있음
        β€» Sine ν•¨μˆ˜μ˜ 4κ°€μ§€ νŠΉμ„±(이 νŠΉμ„±μœΌλ‘œ 주파수λ₯Ό ν‘œν˜„ν•˜κ³  해석할 수 있음)
          - Time Domain의 ν•¨μˆ˜λ₯Ό λ‹¨μΌν•œ ν•¨μˆ˜λ‘œ λ¬˜μ‚¬ν•  수 μžˆλ‹€.
          - λ‹€λ₯Έ 주파수λ₯Ό κ°€μ§€κ³  μžˆλŠ” Sine waveλŠ” μ§κ΅ν•œλ‹€(직ꡐ ν•¨μˆ˜λž€ ν•¨μˆ˜λ₯Ό κ³±ν•΄μ„œ 내적 ν•  경우 0의 μ„ΈκΈ°λ₯Ό κ°–λŠ” ν•¨μˆ˜λ₯Ό λœ»ν•˜λŠ” μš©μ–΄λ‘œ, 직ꡐ성을 μ΄μš©ν•˜λ©΄ 두 ν•¨μˆ˜λ₯Ό 뢄리할 수 μžˆλ‹€)
          - μˆ˜ν•™μ μœΌλ‘œ 잘 μ •λ¦¬λ˜μ–΄μ§
          - λͺ¨λ“  λΆ€λΆ„μ—μ„œ 값이 쑴재(λ―ΈλΆ„ κ°’ λ˜ν•œ μ‘΄μž¬ν•¨)

2. 퓨리에 λ³€ν™˜(Fourier Transform)

  • 푸리에 λ³€ν™˜μ€ 푸리에 κΈ‰μˆ˜λ‘œλΆ€ν„° μœ λ„λœλ‹€.

  • 퓨리에 λ³€ν™˜μ€ μ‹œκ°„μ΄λ‚˜ 곡간에 λŒ€ν•œ ν•¨μˆ˜λ₯Ό μ‹œκ°„ λ˜λŠ” 곡간 주파수 μ„±λΆ„μœΌλ‘œ λΆ„ν•΄ν•˜λŠ” κ²ƒμœΌλ‘œ,
    μ‹œκ°„μ— λŒ€ν•œ ν•¨μˆ˜λ₯Ό 푸리에 λ³€ν™˜ν•˜λ©΄ λ³΅μ†Œμˆ˜ ν•¨μˆ˜ ν˜•νƒœλ₯Ό κ°€μ§€λŠ” 주파수의 진폭과 각도가 μ–»μ–΄μ§„λ‹€.
    μ£ΌνŒŒμˆ˜μ—μ„œμ˜ 진폭은 μ›λž˜ ν•¨μˆ˜λ₯Ό κ΅¬μ„±ν•˜λ˜ κ·Έ 주파수 μ„±λΆ„μ˜ 크기λ₯Ό λ‚˜νƒ€λ‚΄κ³ , νŽΈκ°μ€ κΈ°λ³Έ 사인 κ³‘μ„ κ³Όμ˜ μœ„μƒ μ°¨λ₯Ό λ‚˜νƒ€λ‚Έλ‹€.
    β€» 푸리에 λ³€ν™˜λœ κ²°κ³Όλ¬Όλ‘œλΆ€ν„° μ›λž˜ ν•¨μˆ˜λ‘œ 볡원할 μˆ˜λ„ μžˆλŠ”λ°, 이λ₯Ό 푸리에 μ—­λ³€ν™˜μ΄λΌ ν•œλ‹€.

  • μ™Όμͺ½μ˜ μ‹œκ°„μ— λŒ€ν•œ νŒŒν˜•μ΄ 푸리에 λ³€ν™˜μ— μ˜ν•΄ 였λ₯Έμͺ½μ˜ 주파수 νŒŒν˜•μœΌλ‘œ λ°”λ€” 수 μžˆλ‹€.

  • λ°˜λŒ€λ‘œ, 주파수 νŒŒν˜•μ΄ 푸리에 μ—­λ³€ν™˜ 식에 μ˜ν•΄ μ™Όμͺ½μ˜ μ‹œκ°„μ— λŒ€ν•œ νŒŒν˜•μœΌλ‘œ λ³€ν™˜λ  수 μžˆλ‹€
    β€» 푸리에 λ³€ν™˜μ‹μ˜ μ˜λ―ΈλŠ” μ›λž˜μ˜ "μ‹ ν˜Έ"λ₯Ό κ·Έ "μ‹ ν˜Έλ₯Ό μ΄λ£¨λŠ” 주파수 μ„±λΆ„μ˜ 그림자둜 ν‘œν˜„ν•˜λŠ” 것"이닀.

2.1. 이산 푸리에 λ³€ν™˜ (Discrete Fourier Transform, DFT)

  • DFT은 이산적인 μ‹œκ°„ μ‹ ν˜Έ(μž…λ ₯)λ₯Ό 이산적인 주파수 μ‹ ν˜Έ(좜λ ₯)둜 λ³€ν™˜ν•˜λŠ” κ²ƒμœΌλ‘œ, λ””μ§€ν„Έ μ‹ ν˜Έ 뢄석과 같은 뢄야에 μ‚¬μš©λœλ‹€.
    : 이산 μ‹œκ°„ μ‹ ν˜Έ β†’ 이산 주파수 μ‹ ν˜Έ
  • DFT은 고속 푸리에 λ³€ν™˜(Fast Fourier Transform, FFT)을 μ΄μš©ν•΄ λΉ λ₯΄κ²Œ 계산할 수 μžˆλ‹€.

β€» 이산(ι›’ζ•£) μ‹ ν˜ΈλŠ” μ‹œκ°„κ³Ό μ‹œκ°„ 사이가 연속이 μ•„λ‹Œ, 간격이 μžˆλŠ” μ‹ ν˜Έλ₯Ό μ˜λ―Έν•œλ‹€. 즉, 1초, 2초, 3초, ...처럼 1초 κ°„κ²©μœΌλ‘œλ§Œ 값이 μžˆκ±°λ‚˜, 0.1ms λ§ˆλ‹€ 값이 μžˆκ±°λ‚˜ ν•˜λŠ” λ“±, μ‹œκ°„μ„ κΈ°μ€€μœΌλ‘œ ν•΄μ„œ λ“œλ¬Έλ“œλ¬Έ 값이 μžˆλŠ” μ‹ ν˜Έλ₯Ό 말함.
연속 μ‹ ν˜ΈλŠ” μ‹œκ°„κ³Ό μ‹œκ°„ 사이에 λΉˆν‹ˆμ΄ μ—†λ‹€. 주파수 μ—°μ†μ΄λž€ 것도 μ£ΌνŒŒμˆ˜μ™€ 주파수 사이에 μ–΄λ– ν•œ μ£ΌνŒŒμˆ˜λΌλ„ μžˆλ‹€λŠ” 것을 μ˜λ―Έν•œλ‹€.
예λ₯Ό λ“€μ–΄, mp3둜 μ €μž₯된 μŒμ•…, mp4둜 μ €μž₯된 μ˜μƒ. μ΄λŸ¬ν•œ 것듀 λͺ¨λ‘ μ‹œκ°„μ— λŒ€ν•΄ μ—°μ†λœ μŒμ•…μ‹ ν˜Έ, μ˜μƒμ‹ ν˜Έκ°€ μ•„λ‹Œ, μœ ν•œν•œ 간격을 κ°€μ§„ μ‹ ν˜Έλ“€μ„ μ—°κ²°ν•œ 것이고, κ·Έ 간격이 μ‚¬λžŒμ΄ μΈμ§€ν•˜μ§€ λͺ»ν•  μ •λ„λ‘œ μ§§κΈ°λ•Œλ¬Έμ— 연속 μ‹ ν˜Έ 처럼 λ°›μ•„λ“€μ΄λŠ” 것이닀.

2.2. 고속 푸리에 λ³€ν™˜(Fast Fourier Transform, FFT)

  • FFTλŠ” DFT와 μ—­λ³€ν™˜μ„ λΉ λ₯΄κ²Œ μˆ˜ν–‰(κ³„μ‚°λŸ‰μ„ 쀄여 속도λ₯Ό μ€„μ΄λŠ” 방식)ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜
    • μ‹œκ°„ ν”„λ ˆμž„μœΌλ‘œ μž˜λΌμ„œ 처리.
    • ν”„λ ˆμž„μœΌλ‘œ 자λ₯Έ μ‹ ν˜Έλ₯Ό 뢄석 μ‹œ, ν”„λ ˆμž„μ˜ μ–‘ 끝에 λΆˆμ—°μ†μ„±μ΄ λ°œμƒν•¨.
      β€» 이 λΆˆμ—°μ†μ„±μ€ 주파수 μŠ€νŽ™νŠΈλŸΌμ—μ„œ λ…Έμ΄μ¦ˆ 처럼 λ™μž‘ν•˜λ©°, μ΄λŸ¬ν•œ λ…Έμ΄μ¦ˆ ν˜„μƒμ„ spectal leakage 라고 λΆ€λ₯Έλ‹€.
      μ΄λŸ¬ν•œ λ…Έμ΄μ¦ˆλ₯Ό μ œκ±°ν•˜κΈ° μœ„ν•΄ μœˆλ„μš° ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•΄μ„œ λΆˆμ—°μ†μ„±μ„ 쀄인닀.

β€» DFT의 μˆ˜μ‹μ„ κ·ΈλŒ€λ‘œ μ΄μš©ν•΄μ„œ, μ‹€μ œ μ‹ ν˜Έμ— λŒ€ν•œ 푸리에 λ³€ν™˜μ„ ν•˜λ©΄, κ³„μ‚°λŸ‰μ΄ λ„ˆλ¬΄ 많음.
  - μ‹€μˆ˜μ™€ λ³΅μ†Œμˆ˜μ™€μ˜ κ³± 연산을 $N^2$회 λ§μ…ˆμ—°μ‚°μ€ $N(N-1)$회 μˆ˜ν–‰ν•œλ‹€.