푸리에변환
-
FFT가 빠른 이유Math♾️/Fourier Analysis 2023. 6. 22. 15:58
다항식 A(x)와 B(x)의 곱을 C(x)라고 하자. 이때 다항식 C(x)의 각 항의 계수들은 다음과 같이 각 항을 차례대로 곱하는 분배법칙을 통해서 구할 수 있다. 다항식 간의 곱 연산 시 계산되는 요소는 각 항의 계수이므로 다음과 같이 다항식의 각 항의 계수들만 배열의 형태로 나타내는 방법을 Coefficient Representation이라고 한다. Coefficient Representation을 이용해 각 항을 곱해나가며 계산을 할 경우 A(x)의 각 항은 B(x)의 모든 항과 한 번씩 곱연산을 수행해야 한다. 따라서 A(x), B(x)를 최고차항이 d라고 하면 A(x)의 하나의 항당 B(x)의 모든 d개의 항에 대해서 곱연산을 하며 이를 A(x)의 모든 d개 항에 실시하므로 기본적으로 총 d*..
-
불확정성의 원리 with Fourier TransformMath♾️/Fourier Analysis 2022. 9. 21. 23:14
각 시점에서 파형이 어떠한 진동수로 구성되어 있는지 분해하기 위하여 Gabor Transform을 이용하였다. Gabor Transform을 하게 되면 진동수와 시간을 같은 좌표에서 나타낼 수 있어 특정 시점에서의 진동수들의 분해가 가능하기 때문이다. 하지만 시간 $t$에 대해서만 나타냈을 때와 푸리에 변환하여 진동수 $w$에 대해서만 나타냈을 때와 비교하면 각 축에 대한 해상도가 떨어지는 점을 알 수 있다. ( $\Delta x, \Delta w$가 증가한다.)-> 구분 가능한 개수가 줄어든다. - 불확정성의 원리 Gabor transform을 하였을 때 각각 $t$와 $w$로 나타내었을 때보다 해상도가 떨어지는 이유를 불확정성 원리에 의해 설명된다. 하이젠베르크의 불확정원리는 입자의 위치와 운동량을 ..
-
The Spectrogram and the Gabor TransformMath♾️/Fourier Analysis 2022. 9. 21. 21:01
Gabor Transform 음악을 듣는다 했을 때 소리는 공기의 진동으로 나타나는 파동의 형태로 귀로 들어오게 될것이다. 이러한 파동을 시간에 대하여 나타내면 아래와 같이 나타난다. 시간 domain에서는 특정시간($t_0$)에서의 파동의 형태를 알 수는 있지만 그 파동이 어떠한 진동수로 구성되어 있는지 알 수가 없다. 위와 같은 파동을 푸리에 변환하게 되면 파동이 어떠한 진동수들로 구성되어 있는지 또 해당 진동수들은 얼마나 포함되어 있는지 알 수 있다. 하지만 진동수 domain에서는 특정 진동수($c$)가 어느 시점(시간)에 나타나는지 알 수 없다. 시간 domain에서는 진동수에 대한 정보가 진동수 domain에서는 시간에 대한 정보가 없어서 특정 시점에서 파동이 어느 진동수로 구성되어 있는지에 ..
-
FFT를 이용한 PDE 풀이Math♾️/Fourier Analysis 2022. 9. 21. 00:13
Heat Equation (1D) 위의 방정식은 1차원에서의 시간과 위치(x)에 따른 열분포의 변화를 나타내는 편미분방정식이다. 온도 $u$가 시간 $t$와 공간 $t$에 대하여 변화하므로 두가지 변수에 대한 변화를 동시에 고려해야하므로 해를 구하기가 어렵다. 이때 공간 $x$에 대하여 푸리에 변환을 취하게 되면 $x$를 $k$로 상수의 형태로 바뀌므로 시간과 공간에 대한 편미분 방정식이 오로지 시간에만 대한 상미분 방정식으로 바뀌게 된다. 따라서 해를 구하기에 용이해진다. 미분 텀에 대하여 푸리에 변환을 하게 되면 아래와 같은 형태로 나타난다. 따라서 편미분 방정식을 푸리에 변환하게 되면 다음과 같이 바뀌게 된다. 이산적인 데이터에 대하여 FFT를 이용하여 계산할 때는 공간 term에 대한 푸리에 변환..
-
FFT를 이용한 noise 제거하기Math♾️/Fourier Analysis 2022. 9. 17. 22:59
nosie 제거 방법 신호를 측정시 신호에는 측정 대상이 되는 신호이외의 여러 noise들이 끼어 들어오게 된다. 이는 원래의 신호를 분석하는데 noise들이 방해가 되므로 이들을 제거해야한다. 신호를 측정시 측정된 신호간에는 측정기기로 인한 term이 생겨 이산적인 데이터를 얻게 되므로 이를 푸리에 변환하기 위해서는 DFT를 이용해하지만 해당 방법은 연산에 드는 자원이 많이 든다. DFT와 같이 이산적 데이터들을 푸리에 변환하면서 연산의 횟수를 줄이는 방법인 FFT를 사용한다. 데이터들을 FFT하여 시간 domain에서 진동수 domain으로 바꾸면 각 데이터점들이 어떠한 진동수들을 가지고 있는지 알 수 있다. 이때 측정하려는 신호는 일정한 진동수들의 조합으로 되어있으므로 각 데이터들점들은 해당 진동수..