전체 글
-
Fast Fourier Transform (FFT)Math♾️/Fourier Analysis 2022. 9. 17. 00:35
FFT 이산 푸리에 변환은 데이터들이 이산적인 형태로 주어졌을 때 이를 벡터로 나타내어 각 데이터점이 어떠한 진동수들로 구성되어 있는지 푸리에 변환을 통해 쪼개고 같은 진동수끼리 합하여 전체 데이터들이 어떠한 진동수를 가지고 있는지 푸리에 domain에서 나타내는 방법이다. 이산 푸리에 변환(DFT)를 이용할 경우에는 $n$개의 $f_n$이 $w^{jk}$ 행렬의 각 행에서 $n$번 곱을 수행하며 이런한 연산을 모든 $n$개의 행에 대해서 반복적으로 수행하므로 빅오 표기법으로 나타내면 DFT 알고리즘의 계산 복잡도는 $O(N^2)$이다. $O(N^2)$의 경우 주어진 데이터의 개수가 늘어날 때 연산 횟수가 제곱에 비례하여 늘어나므로 연산에 필요한 자원이 엄청나다. 따라서 DFT는 데이터의 개수가 조금만 ..
-
Discrete Fourier Transform (DFT)Math♾️/Fourier Analysis 2022. 9. 15. 22:11
DFT 해석 함수가 존재할 때에는 푸리에 변환식에 이를 넣어 계산하면 되지만 현실에서는 많은 경우 실험과 측정을 통해서 데이터를 얻게 된다. 따라서 해석 함수의 형태가 아닌 이산적인 데이터의 나열을 푸리에 변환하기 위한 방법이 필요하게 된다. 위와 같이 함수 $f(x)$가 연속인 해석함수로 주어졌을 때 이를 푸리에 변환 식에 대입하면 푸리에 변환을 할 수 있었다. 하지만 위의 빨간색 점과 같이 데이터가 이산적으로 존재하게 되면 이를 푸리에 변환식을 이용하기 어렵다. 따라서 이산적 데이터를 푸리에변환하는 방법이 필요하게 된다. 해석적 함수의 경우 전체함수에 대하여 한번에 각 진동수를 갖는 파형으로 분해하였다면 이산적 데이터의 경우에는 각 데이터점이 어떠한 진동수를 가지고 있는지 분해하여 동일한 진동수끼리 ..
-
합성 곱과 푸리에 변환Math♾️/Fourier Analysis 2022. 9. 6. 14:13
Convolution 합성곱 (convolution)은 하나의 함수와 또 다른 함수를 반전 이동한 값을 곱한 다음 구간에 대해 적분하여 새로운 함수를 구하는 연산자이다. 두개의 함수 $f$와 $g$가 있을 때 두 함수의 합성곱은 다음과 같이 나타난다. 합성곱 연산은 두 함수 f, g 가운데 하나의 함수를 반전(reverse), 전이(shift)시킨 다음, 다른 하나의 함수와 곱한 결과를 적분하는 것을 의미한다. 위의 경우에는 함수 $g$를 반전후 전이시킨 경우이다. 위와 같이 나타내면 함수 $f$를 반전후 전이시킨 경우이다. 어떠한 함수를 반전후 전이시켰는지와 상관없이 두 식은 형태는 다르지만 항상 같은 값을 갖는다. 함수 $f(t)$와 $g(t)$가 위와 같이 주어졌다. 이 함수들을 시간에 대한 입력이..
-
The Fourier Transform and DerivativesMath♾️/Fourier Analysis 2022. 9. 6. 11:54
The Fourier Transform and Derivatives 함수 $f(x)$의 푸리에 변환과 푸리에 역변환 식은 다음과 같다. 함수 $f(x)$ x에 대하여 미분한 것의 푸리에 변환을 구하는 과정은 다음과 같다. 1. 푸리에 변환 식에 $f(x)$대신 $f'(x)$를 넣는다. 2. $f'(x)$를 $dv$ $e^{-iwx}$를 $u$로 보고 부분적분을 한다. 함수 $f'(x)$의 푸리에 변환은 함수 $f(x)$를 먼저 푸리에 변환한 뒤 $iw$ 항을 곱해줌으로서 얻을 수 있다. 위와 같이 푸리에 변환시 미분항이 변환되는 성질을 이용하면 함수 $f(x)$가 미분 계산이 어려운 경우 푸리에 변환을 통해 함수 $f'(x)$를 푸리에 변환한 것을 먼저 구한뒤 이를 푸리에 역변환 함으로서 함수 $f'(x..
-
푸리에 변환에 대하여Math♾️/Fourier Analysis 2022. 9. 5. 23:13
푸리에 급수 푸리에 급수란 임의의 주기 함수 $f(x)$를 각 진동수 $k$로 분해하는 과정이다. 분해된 각 진동수 $k$는 실수 영역에서는 sin 과 cos를 기저로 하여 함수 $f(x)$와 내적을 통해서 해당 진동수를 갖는 파 중 함수 $f(x)$를 구성하는 특정 $k$ 진동수의 파형을 나타내었다. 복소수 영역에서는 각 진동수 $k$를 $\psi_k$($k$는 서로 다른 정수)를 직교 기저로 하여 함수 $f(x)$와의 내적을 통하여 파형을 나타 내었다. - 주기가 $2\pi$인 경우 푸리에 급수의 형태 - 일반화한 주기가 $L$일때 푸리에 급수의 형태 - 복소수 공간에서 서로 직교하는 $\psi_k$를 직교 기저로 하여 각 진동수 $k$를 분해하였을 때 푸리에 급수의 형태 ( * 주기를 $2L$로 하..
-
Gibbs PhenomenaMath♾️/Fourier Analysis 2022. 9. 2. 23:19
Gibbs Phenomena 위와 같이 함수에 급격하게 값이 뛰는 점이 존재할 때 이를 불연속 점이라고 한다. 불연속점이 존재하는 함수를 푸리에 급수로 나타내게 되면 아래와 같이 나타난다. 불연속점이 존재하는 근방에서 푸리에 급수를 통해 근사시킨 값들이 진동하는 것을 알 수 있다. 이러한 현상을 깁스 현상이라고 한다. 임의의 주기함수를 푸리에 급수를 이용해 각 진동수 $k$로 분해할 때 진동수 $k$의 파형은 $cos(kx)$과 $sin(kx)$를 기저로 하여 구성되게 된다. 이때 $cos(kx),sin(kx)$ 모두 연속 함수이기 때문에 이들을 결합하여 값이 급격하게 변화하는 불연속 값을 나타내기 어렵다. 파이썬을 이용하여 나타낸 gibbs 현상 import numpy as np import matpl..
-
푸리에 급수/ 파이썬으로 확인하기Math♾️/Fourier Analysis 2022. 9. 2. 10:25
푸리에 급수 의미 생각 해보기 푸리에 급수는 임의의 연속인 주기함수 $f(x)$ 를 여러 진동수 $k$로 분해하여 나타낸다. 이때 각 진동수는 실수범위 내에서 $coskx$ 와 $sinkx$ 를 직교 기저로 하여 표현된다. 함수간의 내적은 두 함수가 얼마나 닮은가를 측정하므로 분해하려는 주기함수 $f(x)$를 $coskx$, $sinkx$ 와 내적하면 진동수 $k$를 갖는 파장 중 어떠한 모양을 갖는 파장이 함수 $f(x)$에 들어있는지 알 수 있다. * 같은 진동수를 갖는 파장이더라도 파장의 구체적인 형태가 다를 수 있다. 이러한 파장의 구체적인 형태는 $coskx$, $sinkx$의 크기 성분들을 조절하여 해당 모양을 나타낸다. 즉 푸리에 급수를 통해 주기 함수를 나타내게 되면 해당 주기 함수가 어떠..