2012년 8월 5일 일요일

형보다 나은 아우: 푸리에 변환(Fourier Transform)

[경고] 아래 글을 읽지 않고 "푸리에 변환"을 보면 바보로 느껴질 수 있습니다.
1. 푸리에 급수의 시작
2. 디랙 델타 함수
3. 복소 함수론의 이해


[푸리에 변환 소개]

수학 분야에서 푸리에 급수(Fourier series)는 아주 성공적이지만, 푸리에 변환(Fourier transform)은 기법의 폭발력에서 푸리에 급수를 훨씬 넘어선다. 현대 통신의 시작과 끝이 푸리에 변환이기 때문에 통신 전분야에서 광범위하게 쓰이는 개념이 푸리에 변환이다. 청출어람(靑出於藍)이란 말에 딱 맞는 경우가 바로 푸리에 변환이다.

[그림 1] 통신의 개념(출처: wikipedia.org)

푸리에 변환은 푸리에 급수의 약점을 보완하기 위해 제안된 적분 변환(integral transform)이다. 이름에서도 알 수 있듯이 최초 제안자는 푸리에Joseph Fourier(1768–1830)이다. 식 (1)의 푸리에 급수는 유용하지만 함수가 반드시 주기적이어야 한다는 제약 조건이 있다.

                       (1)

이 문제를 해결하는 방법은 주기($T$)를 무한대로 보내기이다. 그러면 비주기 함수도 푸리에 급수로 변환할 수 있다. 다만 주기를 무한대로 보낸 경우는 푸리에 급수라 하지 않고 푸리에 적분(Fourier integral) 혹은 푸리에 변환(Fourier transform)이라 한다. 푸리에 적분과 푸리에 변환은 같은 공식을 다른 관점에서 표현한 적분이다. 푸리에 급수의 주기를 늘려서 급수를 적분 형태로 만들면 푸리에 적분이라 한다. 푸리에 변환은 시간 함수를 주파수 함수로 바꾸어 생각한다. 즉 푸리에 적분과 푸리에 변환은 설명이 약간 다르지만 같은 수식의 서로 다른 이름이다.
식 (1)을 이용해 푸리에 적분 혹은 푸리에 변환을 정의한다. 먼저 식 (1)에서 $F_m \cdot T$를 만들고 주기 $T$를 무한대로 보낸다. 그러면 새로운 변수 $F(\omega)$는 다음처럼 정의된다.

                        (2a)

여기서 $m$은 식 (1)의 푸리에 급수를 표현하고 있으므로 먼저 무한대로 가야 한다. 이런 푸리에 급수 조건을 만족시킨 후, 그 다음에 $T$를 무한대로 보낸다. 시간 범위 $T$가 유한한 경우 정의되는 $F_T(\omega)$ = $F_m \cdot T$는 절단된 푸리에 변환(truncated Fourier transform)이라 명한다. 절단된 푸리에 변환은 모든 시간을 관측하기 어려워 특정 시간 동안만 관찰해서 만드는 근사적인 푸리에 변환이다.

                        (2b)

이산적인 $m \cdot \omega_0$가 연속적인 $\omega$가 되는 이유를 알려면 적분(integration)의 의미를 봐야 한다. 단순하게 생각하면 $\omega_0$는 이산적인 각주파수(angular frequency)의 간격이므로 주기 $T$가 커질수록 $\omega_0$는 $2 \pi /T$에 의해 작아진다. 그러면 주기 $T$가 커짐에 따라 각주파수 간격 $\omega_0$는 계속 줄어들어 이산적인 값이 연속적인 값으로 바뀌는 모습을 상상할 수 있다. 또한 $m$은 무한대로 발산하고 있으므로 각주파수가 변할 수 있는 범위는 $-\infty$에서 $\infty$임을 알 수 있다.
식 (2)의 개념과 이산적 각주파수의 특성을 식 (1)의 첫째식에 도입하면 함수 $f(t)$를 푸리에 변환 $F(\omega)$로 표현할 수 있다.

                        (3)

식 (3)의 유도 과정을 정확히 이해하려면 적분법(integration)을 반드시 이해해야 한다. 추가로 식 (3)은 푸리에 변환의 매우 중요한 특징이다. 원래 함수 $f(t)$와 그 푸리에 변환 $F(\omega)$가 일대일 대응(一對一對應, one-to-one mapping)함을 보여준다. 만약 서로 다른 함수 $f_1(t)$와 $f_2(t)$가 동일한 푸리에 변환 $F(\omega)$를 가진다면 어떻게 될까? 푸리에 역변환(inverse Fourier transform)을 의미하는 식 (3)에 의해 $f_1(t) = f_2(t)$가 반드시 성립해야 한다. 즉, 푸리에 변환 $F(\omega)$가 같으면 변환의 원래 함수 $f(t)$는 유일하다. 식 (2)를 식 (3)에 대입하면 재미있는 관계 하나를 유도할 수 있다.

                       (4)

식 (4)는 모든 $t$에 대해 성립하므로 디랙 델타 함수(Dirac delta function)를 쓰면 다음처럼 멋진 적분식이 증명된다.

                       (5)

식 (5)는 복소 함수론(complex analysis or complex function theory)을 이용해서도 증명 가능하다.

[그림 2] 복소 적분을 위한 닫힌 경로(출처: wikipedia.org)

[푸리에 변환과 디랙 델타 함수]

                        (6)

[증명: 복소 함수론]
복소 지수 함수 $e^{i \omega |t - t'|}$은 적분이 잘 되지만, 식 (6)처럼 적분 구간이 무한하면 정적분이 정의되지 않는다. 이를 해결하기 위해 해석 함수를 다루는 복소 함수론을 적극적으로 활용한다. 적분 변수 $\omega$에 대해 $e^{i \omega |t - t'|}$은 해석적이어서 복소 평면 상에 어떤 적분 경로를 잡더라도 적분이 가능하고 유수(residue)도 없다. 먼저 $t > t'$인 경우로 가정해서 식 (6)의 우변을 계산한다. 식 (6)의 우변을 있는 그대로 적분하기는 어려우므로[∵ 함수 $e^{i \omega |t - t'|}$를 제외한 나머지 부분이 상수이기 때문에], 시간 $t$에 대해 식 (6)을 다시 적분한다. 

                       (7)

여기서 $\Delta > 0$, $T > 0$, $T > \Delta$이다. 식 (7)의 둘째 줄에서 적분 순서를 바꿀 수 있는 이유는 조르당의 보조 정리(Jordan's lemma)에 의해 $\omega$에 대한 적분[= $\int_{-\infty}^\infty e^{i \omega (t-t')}\,d\omega$]의 절대값이 $\pi \mathbin{/} |t - t'|$보다 작은 성질에 기인한다. 식 (7)과 같은 접근법은 디랙 델타 함수의 정의에 쓰는 슈바르츠Laurent Schwartz(1915–2002)가 제안한 분포(distribution)에 해당한다. 분포 관점에서는 함수를 그대로 두지 않고 정적분해서 그 결과를 관찰한다. 구간 선택에 관계없이 정적분된 결과가 하나로 고정되면, 이 함수는 디랙 델타 함수의 성질을 가진다.
다음 단계로 식 (7)의 마지막 적분 구간을 전체 실수에서 [그림 2]처럼 닫힌 복소 경로로 바꾼다. 이 절차는 [그림 2]에 있는 $c_1$을 따라가는 적분이 조르당의 보조 정리로 $0$이 되는 결과를 이용한다. 새로운 닫힌 경로 $c_1 + c_2$ 내부에 극점(pole)이 없어서 유수는 없으므로, 유수 정리(residue theorem)에 따라 [그림 2]의 닫힌 경로 적분은 $0$이 된다. 그래서 식 (7)의 적분도 $0$이 된다.

                       (8)

양의 실수 $\Delta$를 한없이 줄이거나 $T$를 아주 크게 만들더라도 식 (8)은 언제나 성립한다. 그러면 복소 적분의 영인자(nullity of complex integration)에 의해 피적분 함수인 식 (6)의 우변은 항상 $0$이 된다.

                        (9)

쉽게 생각해서 피적분 함수가 0이면 적분도 0이다. 하지만 적분이 0이라고 해서 피적분 함수가 0이 될 필요는 없다. 하지만 식 (9)의 관계가 성립하는 적분은 피적분 함수가 반드시 0이어야 하기 때문에[적분 구간을 계속 바꾸어도 적분이 항상 0이라면 피적분 함수가 꼭 0이어야 하므로], 식 (7)의 피적분 함수는 당연히 0으로 나온다. 시간이 $t < t'$인 경우도 식 (7)–(9)와 비슷한 과정을 거쳐서 적분값이 $0$임을 확인한다. 다음 단계로 $t$ $\approx$ $t'$ 근방에서 식 (6)의 우변을 적분한다.

                        (10)

여기서 $\Delta$는 임의로 작게 잡을 수 있다. 식 (10)의 둘째 줄에 있는 피적분 함수에는 $e^{-i \omega \Delta}$가 있기 때문에, $c_1$에서 적분이 발산해서 전체 실수에 대한 적분을 [그림 2]와 같은 경로로 바꿀 수 없다.[즉, 그림 2의 큰 반원에서 $e^{-i \omega \Delta}$가 발산한다.] 그래서 $\omega$의 부호를 바꾸어서 [그림 2]의 $c_1$ 경로에서 발산하지 않게 한다.[$\omega \to -u$] 또한 식 (10)의 마지막 과정은 손쉽게 유수 정리(留數定理, residue theorem)를 이용할 수도 있다.

[그림 3] 양뱡향으로 감쇠하는 지수 함수

[증명: 로렌츠–코쉬 함수(Lorentz–Cauchy function)]
식 (6)의 우변을 정적분하기 위해, [그림 3]처럼 양방향으로 감쇠하는 지수 함수의 푸리에 변환을 구한다.

                       (11)

여기서 $\sigma$는 임의의 작은 양의 실수이다. 식 (11)에서 $\sigma \to 0$일 때, 성급하게 푸리에 변환값을 $0$이라고 하면 안된다. 대부분은 $0$이 되지만 $\omega$까지 $0$이 되면 분모가 $0$이 되는 문제가 생긴다. 아래에 제시한 디랙 델타 함수를 만드는 로렌츠–코쉬 함수(Lorentz–Cauchy function)를 고려한다. 

                       (12)

따라서 다음 관계가 성립해서 식 (6)이 증명된다.

                       (13)
______________________________

식 (2)처럼 푸리에 급수로부터 푸리에 변환을 유도함이 일반적이지만 푸리에 변환으로부터 푸리에 급수를 유도할 수도 있다. $f(t)$가 주기 함수(periodic function)인 경우도 식 (2)를 이용해 푸리에 변환을 구할 수 있다. 즉, 주기 함수도 함수이므로 푸리에 변환식에 넣어 아래와 같이 적분을 해본다.

                       (14)

그러면 식 (14)처럼 한 주기에 대한 적분과 무한 급수(infinite series)의 곱으로 이루어진 결과를 얻을 수 있다. 더 진행하기 위해 충격 열(impulse train)에 대한 다음 관계를 이용한다.

                       (15)

식 (15)에 의해 식 (14)에 있는 무한 급수는 디랙 델타 함수로 표현될 수 있다. 식 (15)를 식 (14)에 대입하여 정리하면 다음 푸리에 급수를 얻을 수 있다.

             (16)

여기서 $\omega_0$ = $2 \pi/T$이다. 식 (16)에 의해 주기 함수의 푸리에 변환 $F(\omega)$은 충격 열(impulse train)로 표현된다. 충격 열에 있는 각 디랙 델타 함수의 크기는 푸리에 계수 $F_m$이다. 식 (16)에서 주기 함수의 푸리에 변환이 발산하는 이유는 푸리에 변환의 적분 구간인 음의 무한대에서 양의 무한대까지 함수값이 계속 존재하기 때문이다.[∵ 주기 함수의 정의에 의해 모든 시간에서 함수가 주기적으로 존재해야 한다.]
식 (2)와 (3)을 종합하여 다음의 푸리에 변환쌍(Fourier transform pair)을 정의할 수 있다.

                        (17)

푸리에 변환쌍은 서로 일대일 대응이 되므로 시간 영역 $f(t)$를 풀든지, 주파수 영역 $F(\omega)$를 풀든지 동일한 결과를 얻는다. 이건 굉장히 중요한 관점을 보여준다. 시간 함수 $f(t)$로 특성 해석이 어려운 경우 다른 영역인 $F(\omega)$를 고려하면 시간 함수 $f(t)$의 특성을 쉽게 얻을 수도 있다. 물론 이건 그때 그때 다르다.
푸리에 변환이 내포하고 있는 특성을 좀더 고민한다. 식 (3)의 최종 결과를 보면 푸리에 변환은 다음과 같다.

                       (18)

식 (18)의 좌변은 우리가 흔히 보는 시간 영역(time domain) 신호이다. 시간 영역 신호는 [그림 4]처럼 시간에 따라 진폭이 변화되는 신호이다.

[그림 4] 시간 영역 신호의 파형(출처: wikipedia.org)

우리가 신호의 특성을 관측하는 방법 중의 하나는 시간에 대해 진폭 특성이 어떻게 변하는 가를 관찰하기이다. 즉, 특정 지점의 진폭 관측하기는 시간 영역의 관측법이다. 식 (18)의 우변은 시간 영역 관측과는 전혀 다르게 빈도수[혹은 주파수]의 분포를 구해 이 빈도수 분포를 무한히 합친다. [그림 5]처럼 시간에 따라 주기적으로 변하는 신호들을 분포[혹은 주파수별 진폭]에 맞게 모으면 신기하게도 시간 영역 관측과 일치한다는 개념이 푸리에 변환의 의미이다.

[그림 5] 주파수가 일정한 신호들(출처: wikipedia.org)

이 성질은 상식적으로 이해할 수 없는 결과이다. 하지만 식 (18)의 좌변과 우변이 같다는 증명은 이미 식 (3)에 나와있다. 이 부분이 푸리에 변환을 처음 배울 때 헷갈리는 점이다. 초보자 눈에는 함수를 표현할 때 식 (18)의 우변처럼 $f(t)$로 쓰면 쉬울 것 같다. 하지만 [그림 4]를 다시 본다. 실제 시간 영역 파형은 시간적으로 복잡하며 더군다나 계속 변하고 있다. 예를 들어, [그림 4]의 파형을 수학 함수로 표현본다. 잘 할 수 있는가? [그림 4]와 같은 파형을 수학적으로 효과적이게 표현하려면 빈도수[혹은 주파수]를 기준으로 함수를 표현하면 된다. 시간적으로 변하는 성분은 잘 알려진 지수 함수(exponential function) $\exp(i \omega t)$로 표현하고 주파수별 진폭[실제로는 복소수]에 해당하는 $F(\omega)$에만 집중하면 [그림 4]의 시간 파형을 [그림 5]와 같은 주기 함수의 무한 합으로 표현할 수 있다. 주파수별 진폭을 표현하는 공간은 주파수 영역(frequency domain)이라 한다. 다른 관점으로 보면 식 (18)의 좌변에 표시한 함수 $f(t)$는 시간 $t$와 어떤 함수 관계를 가지고 있는지 전혀 알 수 없다.[∵ 함수 이름이 $f(t)$라는 부분 외에 아무런 정보도 없다.] 하지만 식 (18)의 우변을 보라. 이 함수 $f(t)$는 시간 변화가 분명히 $\exp(i \omega t)$에 연관되어 있다. 믿을 수 없지만 임의의 모든 함수 $f(t)$가 $\exp(i \omega t)$에 연관되어 있다.

[그림 6] 천지창조(출처: wikipedia.org): 벽화의 3차원 영상은 [여기]

계속 강조하고 있는 푸리에 변환의 핵심은 현재 시간 $t$와 전혀 관계없는 새로운 영역인 빈도수 $f$로 해석 관점을 바꾸기이다. 현재 시점에 집중하지 않고[시간 영역] 신의 영역에 해당하는 태초부터 세상 끝까지 퍼져 있는 주기 함수[혹은 빈도수]의 분포[주파수 영역]를 본다. 따라서, 현재를 관찰하지 말고 처음부터 끝까지 나타나는 빈도를 봄이 푸리에 변환이다. 푸리에 변환이 시간에 대해 적용되면 시간-주파수가 서로 쌍이 된다. 시간에 대한 봄과 주파수의 분포에 대해 봄은 서로 동일하다. 공간의 경우에는 공간과 파수(wavenumber)가 서로의 쌍이다. 즉, 공간에 집중하지 않고 공간적 주기의 빈도수 분포를 본다. 푸리에 변환은 시간과 공간에만 적용되지는 않는다. 현재 상태($t$)와 빈도수($\omega$)를 정의할 수 있는 어떤 곳에도 쓰일 수 있다. 식 (18)은 말 그대로 수학적 관계이므로 $t$-$\omega$ 대신 다른 변수를 써도 문제없다. 예를 들면 푸리에 변환은 사진 압축에도 쓰일 수 있다. 대표적인 압축 형태인 JPEG(Joint Photographic Experts Group)는 푸리에 변환의 일종인 이산 코사인 변환(discrete cosine transform, DCF) 기반하고 있다.

[그림 7] JPEG의 기저 함수(출처: wikipedia.org)

JPEG에서는 [그림 8]과 같은 사진을 있는 그대로 저장하지 않고 영상 처리(image processing)를 통해 [그림 7]과 같은 빈도수를 가진 기저 함수(basis function)의 진폭으로 저장한다. 즉, 영상 처리를 위해 JPEG는 사진을 8×8 픽셀(pixel) 단위로 쪼갠다. 8×8 픽셀은 하나의 블록(block)이 된다. HDTV의 기준 해상도인 1024×768 픽셀은 JPEG 블록 기준으로는 128×96 블록이 된다. 블록이 상하좌우로 변할 수 있는 빈도의 특성은 DCT를 따르므로 푸리에 급수(Fourier series)를 구성하는 기저 함수는 [그림 7]처럼 생겨야 한다. 이 기저 함수는 푸리에 급수의 삼각 함수 역할을 하므로, 우리가 결정할 부분은 삼각 함수의 계수이다. 즉 계산한 삼각 함수의 계수는 [그림 8]을 복원할 [그림 7]에 있는 기저 함수의 진폭으로 쓰인다. 이 진폭을 적당히 압축하면 저장되는 그림 파일의 크기를 획기적으로 줄일 수 있다.

[그림 8] 영상 처리의 시험 사진: 레나(출처: lenna.org)

영상 처리에 빈번하게 사용하는 사진은 [그림 8]의 레나(lena or lenna)이다[1]. [그림 8]처럼 레나는 영상 처리를 위한 다양한 시각적 요소들(곡선, 평면, 거울, 그림자, 살색, 질감 등)을 가지고 있으며 더군다나 대상이 아름다운 여인(?)이다[1]. 역사를 추적해 보면 '레나'는 원래 도색 잡지인 플레이보이(Playboy)에 나오는 사진이었다. 1970년 즈음 이를 불법으로 복사해서 영상 처리에 몰래 사용했고 용기 있는 누군가가 학술지에 영상 처리 이론과 함께 이 사진을 공개해서 사진이 급속도로 퍼졌다. 이후에 이 사진은 레나라는 이름도 가지게 되었고 사진의 주인공은 인터넷의 으뜸 여인 혹은 영부인(First Lady of the Internet)이 된다. 그래서 [그림 8]은 원래 상업적 사진이었으나 워낙 많이 사용되었기 때문에 저작권이 희미해진 사진 중의 하나이다.

푸리에 변환쌍은 식 (17)이 기본이기는 하지만, 푸리에 변환과 역변환의 정의가 $1/(2\pi)$만큼 다르다. 그래서 식 (17)의 둘째 정의에서 적분 변수를 $\omega$에서 $2 \pi f$로 바꾸어서 대칭적인 푸리에 변환쌍을 정의할 수 있다.

                       (19)

여기서 $df$ = $d\omega/(2 \pi)$이다. 그러면 주파수 영역의 변수만 $\omega$에서 $f$로 바뀔 뿐, 푸리에 변환된 결과는 $\hat g(f)$ = $F(\omega)$로 동일하다. 변수를 바꾸기 싫을 때는 상수 항 $1/(2\pi)$을 푸리에 변환과 역변환에 동등하게 나누면 된다.

                       (20)

식 (17)과 비교하면, $F(\omega)$ = $\sqrt{2 \pi} \hat F(\omega)$이어서 기준 변환과 상수배만큼 차이가 난다. 푸리에 변환쌍의 정의가 여러 개일 수 있어서, 관련 자료를 볼 때는 주의를 기울여야 한다. 약간 귀찮고 혼란스러운 느낌이 있지만, 푸리에 변환이 워낙 유명하고 많이 쓰이기 때문에 이런 번잡함이 생긴다. 그래서 푸리에 변환쌍에 대한 여러 정의도 잘 공부해둔다. 앞서간 선배 연구자의 어깨 위에 굳세게 서서 나만의 새로운 응용을 멋지게 만들 수 있을 것이다.
푸리에 변환은 여러 변수를 함께 쓸 수 있어서 다차원으로 쉽게 확장된다. 푸리에 변환쌍인 식 (7)이 여러 변수에 대해 곱해진다고 생각한다. 만약 $n$차원 위치 벡터(position vector)를 $\bar x$ = $(x_1, x_2, \cdots, x_n)$로 두면, 파수 벡터(wavenumber vector) $\bar k$ = $(k_1, k_2, \cdots, k_n)$에 대해 다차원 푸리에 변환(multidimensional Fourier transform) $\mathfrak{F}_n[\cdot]$과 역변환 $\mathfrak{F}_n^{-1}[\cdot]$은 다음과 같이 공식화된다[2].

                  (21)

여기서 벡터 내적(inner product)은 $\bar k \cdot \bar x$ = $k_1 x_1 + k_2 x_2 + \cdots + k_n x_n$이다.

[참고문헌]
[1] L.-M. Po, "Lenna 97: A complete story of Lenna," City University of Hong Kong, Hong Kong, 2001.
[2] E. M. Stein and G. Weiss, Introduction to Fourier Analysis on Euclidean Spaces, Princeton University Press, 1971.
[3] 박원우, 딥러닝을 위한 푸리에 영상처리, 홍릉, 2023.

[다음 읽을거리]
1. 평면파를 이용한 푸리에 변환 기법
2. 한켈 변환

댓글 203개 :

  1. 안녕하세요
    최근 전자파에 의해서 Flash Memory의 전하가 이동하는 양을 증가시킬수 있다는
    논문을 읽고 궁금해서 그에 관련한 물리학적 이론을 찾아보고 있는데,
    무식하여 좀 처럼 찾기어렵네요. (반도체설계엔지니어 입니다

    답글삭제
  2. 방문 감사합니다.
    제시하신 내용으로는 정확한 판단이 어렵네요. 더 구체적인 내용이나 논문이 있으면 알려주세요.

    대충 생각하면 전자파도 에너지이므로 전하에 에너지를 줄 수도 있고 뺏어올 수도 있습니다. 물론 주파수, 입사방법 등등에 따라 특성이 달라지겠지요.

    답글삭제
  3. 전파거북이님 교수님이신가요??
    방대한 학식에 감탄하고 갑니다.

    답글삭제
    답글
    1. 전자과 학부생입니다 ㅠ 식 1에서 2로 넘어가는게 이해가 잘 안가네요 ㅠ thtlfltm@naver.com로 설명해주실수있나요 ? ㅜㅜ

      삭제
    2. 설명을 더 추가하기 어렵네요, Unknown님 ㅠㅠ 이해가 잘 안되시면 적분법을 먼저 보시고, 주기가 무한대가 될 때 적분법에 따라 급수가 적분이 되는 관계를 생각해보세요.

      삭제
  4. 감사합니다. 덕분에 학문을 대하는 자세가 달라졌습니다.

    답글삭제
    답글
    1. 좋은 영향을 끼친 것이겠지요? ^^
      감사합니다.

      삭제
  5. 안녕하세요! 푸리에 변환에 대해 궁금한 점이 있어 문의드립니다.
    푸리에 변환의 대상이 되는 함수f(t)를 모르고, time과 amplitude값만을 알고 있을 때
    이 것을 푸리에 변환을 통하여, ,frequency domain으로 변환시킬수 있나요?
    가능하다면 어떻게 할 수 있는지 알려 주셨으면 합니다.
    제가 신호 처리에 관심은 있지만, 아직 초보라 이런 질문을 드립니다.
    감사합니다...

    답글삭제
    답글
    1. 예, 가능합니다. DFT(Discrete Fourier Transform, 이산 푸리에 변환)나 FFT(Fast Fourier Transform, 고속 푸리에 변환)를 찾아보시면 방법을 아실 것입니다.

      연속함수인 f(t)를 모르더라도 이산정보인 f(t)의 표본점 정보만 알면 푸리에 변환이 가능합니다. 이것의 기본 원리는 섀넌의 표본화 정리(Shannon's sampling theorem)에 있습니다. 신호 f(t)의 주파수 특성이 한정되어 있는 경우 신호가 가진 최대 주파수의 2배보다 빠르게 표본을 추출하면 원래 신호가 정확히 복원됩니다.

      상식적으로는 이해가 안되지만 천재 섀넌의 증명이니 믿으세요.

      삭제
    2. 안녕하세요. 3년도 더 된 글과 댓글이네요... 궁금한 점이 있어 질문을 드립니다.
      DFT에서는 N개의 값을 한 주기라고 생각하고 FT를 시행하게 되는데,
      이 말은 음성 처리 등에서 사용되는 frequency function을 얻으려면 표본의 '한 주기'를 정확히 알아야 된다는 말이 됩니다.
      표본의 양이 한 주기를 추출할 수 있을 정도로 충분할 때 한 주기가 얼만큼인지 정확하게 알 수 있는 방법이 있나요?

      삭제
    3. 표본이 변화하는 가장 빠른 주파수를 예상하여 그것보다 2배 빠르게 추출하면 됩니다. 이렇게 하면 자연적으로 기본 주파수도 포함되게 됩니다. (주기 신호인 경우, 기본 주파수의 정수배로 신호가 합성됩니다.)

      삭제
  6. 안녕하세요. 우연하게 방문한 블로그가 너무나도 인상에 남아 이렇게 글을 남깁니다. 저는 현재 다수의 오디오 신호(Microphone Array)를 이용한 음장 가시화에 많은 흥미를 가지고 있습니다. 빔형성기법(Beamforming)에 관하여 여쭙고 싶은것이 있는데 혹시 가능하시다면 E-Mail주소 부탁드리겠습니다.^^ 제 E-mail은 angoang@mju.ac.kr입니다.

    답글삭제
    답글
    1. 제 이메일 주소는 iGhebook@gmail.com입니다. 언제든 연락주세요. ^^

      음장이란 말은 생소해서 사전을 찾아보니 音場, sound field라고 나오는데 맞나요?

      삭제
  7. 전파거북이님
    이해가 잘 가지 않아서 질문드립니다ㅠㅠ

    1. 저의 공수 책에는 '푸리에적분'이라고 해서 무한 구간에서의 비주기 함수를 푸리에급수로 나타내는 방법을 소개하고 있는데 '푸리에변환'과는 어떤점이 다른가요?

    2. 본문에 소개된 식(2)의 개념에 대해 좀 더 자세한 설명 부탁드려요.

    감사합니다

    답글삭제
    답글
    1. 1. 같은 공식의 서로 다른 이름입니다. 푸리에 적분이 포함되도록 본문을 약간 바꾸었습니다.

      2. 식 (1)에서 Fm˙T를 새로운 변수 F(ω)로 정했다고 생각하면 쉽습니다.

      삭제
    2. 정말감사합니다
      최고!!

      삭제
  8. 정말 감사합니다 퓨리에 변환에대한 기초를 전파거북이님께서 다시 정립해 주셨어요ㅜ
    그에 관련해서 몇가지 질문 드리겠습니다. 제가 얼마전 처음 퓨리에를 접해서 너무 기초적인 질문이라 죄송합니다.
    퓨리에급수에서 주기를 무한대로 늘린게 퓨리에변환이라 이해했습니다 그럼 비주기적인 함수말고 주기적인 함수를 한주기만 뽑아서 주기를 무한대로 늘려 퓨리에 변환으로 해석할수도 있나요?!

    답글삭제
  9. 칭찬 감사합니다. ^^
    주기함수도 푸리에 변환 가능합니다. 전체 주기에 대해 식 (10)처럼 적분하면 푸리에 변환이 얻어집니다. 다만 무한대에 걸쳐 값이 존재하므로 푸리에 변환은 식 (12)처럼 발산합니다.

    답글삭제
  10. 안녕하세요~ ㅎ

    궁금한 점이 있어 질문을 남깁니다.ㅎ

    왜 이산신호에서 푸리에변환을 하면 주파수성분이 반복 되는건가요?

    답글삭제
    답글
    1. 주파수 성분이 적당한 간격을 가지고 반복되는 것은 주기신호일 것 같습니다. 적절하게 표본화된 주기신호는 표본화 주파수 간격에 따라 반복됩니다.
      쉽게 이해하려면 푸리에 급수를 생각하면 됩니다. 푸리에 급수는 기본주파수의 정수배되는 주파수가 무한개 있습니다. 즉, 주파수 성분이 반복됩니다.

      삭제
  11. 이 블로그의 좋은 글들 제 부족한 수학흥미를 채우는 데에 정말 많은 도움이 되고있습니다

    그런데 중간쯤에 푸리에 급수의 일부를 디랙 델타함수로 간주하는 부분에서
    t-t'의 항이 0이 될때에 무한이 되는것은 이해가 되는데 그렇지 않은 경우에 0으로 나타나는 것이 잘 이해가 안되네요... 어째서 그럴까요? ㅜㅠ

    답글삭제
    답글
    1. 칭찬 감사합니다. ^^

      질문하신 그 부분이 푸리에 급수의 진정한 핵심입니다. 그걸 증명한 것이 리만-르베그 보조정리입니다. 아래 참고하세요.
      http://ghebook.blogspot.kr/2012/08/riemann-lebesgue-lemma.html

      삭제
  12. 안녕하세요. 최근에 부쩍 이 블로그에서 여러 자료를 읽어보며 좋아하고 있는 공학도 입니다.
    좋은 자료 감사하고요. 제가 너무 수학을 버려둔 것은 아닌가 반성도 하게 됩니다.

    다름 아니라 이 포스트에 (8), (9) 식이 전개되는 과정에서 두 번째 식에서 세 번째 식으로
    어떻게 유도되는 것인지 궁금해서 글을 남깁니다. 보기에 sin함수처럼 보이는데 exponential로
    전개되어서요. 제가 무엇을 놓치고 있는지 궁금합니다.

    답글삭제
    답글
    1. 반갑습니다, 익명님.

      식 (8)의 과정을 이해하려면 복소함수론을 봐야 합니다. 아래 참고하세요.
      http://ghebook.blogspot.kr/2012/08/complex-analysis.html

      말씀하신 것처럼 사인 함수지만 그렇게 되면 무한대로 가는 반원에서 적분이 발산합니다. 이걸 피하기 위해 치환을 통해 지수함수로 만들었습니다.
      다만 복소함수론에서는 치환도 그냥하면 안되고 해석적이 되도록 잘 해주어야 합니다.

      삭제
  13. 전파거북이님, 안녕하십니까!

    푸리에 트랜스폼을 공부하다보니 아직 식의 개념이 오롯이 이해되지 않은 까닭인지,
    제 머릿속에서 그만 라플라스 트랜스폼과 뒤엉켜버리고 말았습니다.

    라플라스 트랜스폼도 역시 마찬가지로 시간 도메인에서의 해석이 갖고 있는 한계를 극복하기 위해
    주파수 도메인으로의 변환을 꾀하는 것이라 알고 있었는데요.
    (사실, 라플라스 트랜스폼을 먼저 접해서인지 저는 푸리에 트랜스폼에 대한
    이 포스트를 보다가 주파수 도메인 이야기가 나와서 깜짝 놀랐습니다.)

    만약 제가 알고 있던 내용이 맞다면, 즉 라플라스 트랜스폼도 주파수 도메인에서의 해석이 갖는
    용이함을 취한 것이라면 푸리에 트랜스폼과 구분되는 목적(용도?)상의 궁극적인 차이는 무엇입니까? 이를 테면, 이런 경우엔 이것이 보다 용이할 수 있기 때문에 존재이유를 달리 한다든지..

    답글삭제
    답글
    1. 수학적으로는 거의 동일하다고 보시면 됩니다. 둘 다 미분방정식을 풀기 위해 제안된 것입니다.
      역사적으로는 푸리에 변환이 먼저 나오고 약 100년 후에 헤비사이드에 의해 라플라스 변환이 다시 등장합니다.

      푸리에 변환 관점에서 라플라스 변환은 함수에 단위계단함수(unit step function)를 곱해 푸리에 변환한 것입니다. 라플라스 변환 관점에서 푸라에 변환은 양방향 라플라스 변환(unilateral Laplace transform)입니다.

      공학적으로는 약간 다릅니다. 푸리에 변환의 ω는 항상 실수(real number)인 각주파수입니다. 라플라스 변환의 s는 복소수이며 감쇄(σ)와 각주파수를 이용해 s = σ+iω로 정의합니다.
      다음으로 푸리에 변환은 시간적으로 계속 변하는 주기적인 신호분석(교류)에 쓰입니다. 그래서 푸리에 변환의 주요 사용처는 통신이론입니다.
      라플라스 변환은 감쇄항이 있으므로 일정한 시간에만 존재하는 신호분석(펄스)에 쓰입니다. 그래서 신호의 과도 응답(transient response) 특성이나 제어이론 등에 쓰입니다.

      삭제
    2. 캬.. 정말 진심으로 감사드립니다.
      (저는 오프라인에서도 '진심'이란 말은, 뱉기 전에 꼭 3번 생각해봅니다.)

      세심한 설명 덕분에 많이 배웠습니다.
      다시 한 번 감사드립니다. 좋은 밤 되십시오. :)

      p.s. 레나의 원본 사진 링크 역시 감사드립니다.
      p.s.2 양방향(bilateral)을 말씀하신 거죠?

      삭제
    3. 감사에 감사드립니다. ^^;;

      레나 사진을 보더라도 미국이든 한국이든 공학도는 남자가 많은 것 같습니다.

      위에 오타가 났네요. 양방향은 bilateral이 맞습니다. Unilateral은 단방향이라 틀렸습니다.

      삭제
  14. 지식 잘읽구 갑니다 감사합니다 머리속에서 사라졌던 지식이었는데 많은 도움이 되었습니다.

    답글삭제
  15. 방대하고 자세한 지식 설명 잘 읽고 갑니다.

    공학도 학부생으로서 아주 좋은 곳인것 같습니다^^

    답글삭제
  16. 와 정말 정리 잘하셨네요 많이 배우고갑니다... 실례지만 어디서 공부중이신지 물어도될가요?

    답글삭제
  17. ㅋㅋㅋ 전자기학을 공부하다가 요즘 나 자신의 사고의 한계를 느꼈었는데,
    프리에 급수 변환은 대학때 나름 공부 하였다고 생각 했는데, 지금 보니 이해를 하지 않고 공식만 왜운 거였네요. 그래서 OTL이었는데,
    이상하게 레나 관련 글을 보니, 동기 부여가 되네요. 말이 안되지요?
    감사드립니다.

    답글삭제
    답글
    1. 이것 저것 많이 보시면 언젠가는 지식이 폭발할 것입니다. ^^

      삭제
  18. http://blog.naver.com/junghan42422013년 12월 5일 오후 1:17

    이해하기 쉽지않지만 잘봤습니다^^.그리고 혹시 질문 하나 해도될까요? 마땅히 어디에 쓸곳이 없어서요. 저는 전자공학을 전공하는 대학생입니다. 이번 프로젝트에서 사람의 음성을 푸리에변환을 이용해 time domain -> frequency domain 으로 변환하여 추출된값을 음계와 매칭시켜 음계측정을 하는 프로젝트에 있습니다. 최근까지 FFT가 빠르다는 이유만으로 DFT보단 무조건 FFT만을 생각해서 프로젝트를 준비했는데요, 저희가 최근에 저희 프로그램이라면 굳이 FFT를 사용하지않아도 DFT를 사용해도 된다고 하더라구요.
    둘의차이라면 FFT 에서 2^n개만큼만 셈플링하여 그속도를 증대시킨다고 알고있는데, 이정도론 부족하다고 느끼고 있습니다. 그래서 죄송하지만 DFT 와 FFT의 정확한 차이점을 좀 여쭤봐도 될까요??? 감사합니다.

    답글삭제
    답글
    1. DFT와 FFT의 결과는 동일합니다. 특별한 문제가 없다면 FFT를 쓰셔야 합니다. DFT는 개념적으로 쓰는 것이지 실무에는 대부분 쓰지 않습니다.
      DFT와 FFT의 차이점은 아래 참고하세요.

      [DFT]
      1. 속도가 매우 느림: 복소수 연산으로 인해 매우 느림
      2. 어떤 표본이든 처리 가능
      3. 프로그램 작성이 간편함

      [FFT]
      1. 속도가 매우 빠름: 곱셈 연산도 적고 삼각 함수 계산도 쓰지 않아 빠름
      2. 특별한 처리를 하지 않으면 $2^M$ 표본만 처리 가능
      3. 프로그램 작성이 어려우나 다양한 공개 코드가 있으므로 프로젝트에 삽입 용이

      삭제
    2. http://blog.naver.com/junghan424220132013년 12월 5일 오후 7:21

      아 확실한 답변 감사합니다^^ 이 블로그를 통해 많은 정보를 얻고있어요. 앞으로도 계속 활동해주셨으면 좋겠어요. 감사합니다.

      삭제
  19. 안녕하세요

    궁금한 점이 있어서 검색을 해보다가 여기까지 오게 됐습니다.

    이산시간신호를 주파수영역으로 변환할 때 주파수성분이 반복된다는 것에 대해서 찾아보고 있었는데요

    그냥 퓨리에 공식을 외우고만 있었다가 개념을 이해하려니 잘 되지가 않네요.

    어떤분이 질문을 하셨는데 답변을 봐도 잘 이해가 되지 않아 다시 여쭙니다.

    이산시간, 주기신호의 퓨리에 계수는 N 주기성을 갖고
    이산시간, 비주기신호는 퓨리에 적분은 2pi의 주기성을 갖는다는 것은 알고 있습니다.
    그런데 왜 그런건가요?
    연속시간을 샘플링한게 이산신호인데 여기서부터 어떻게 생각해야 될지 모르겠습니다.
    그리고 이산시간 비주기신호의 퓨리에적분에서 함수의 단위원인자가 바로 2pi주기성을
    나타낸다고 하는데 이해가 될듯 하면서도 잘 이해가 되지 않습니다. ㅜㅜ

    현재 학교에서 신호 및 시스템의 퓨리에 급수, 변환의 쌍대성까지 배운 상태입니다.
    도와주세요

    답글삭제
    답글
    1. 주기적으로 반복되는 것은 푸리에 급수를 생각하시면 됩니다. 삼각 함수(or 복소 지수 함수)를 쓰기 때문에 필연적으로 반복되게 됩니다.

      그러면 푸리에 변환을 쓰지 않고 왜 DFT or FFT를 다시 정의하는지 생각해보세요. 푸리에 변환은 무한대를 포함하지만 컴퓨터로는 무한대를 표현할 수 없습니다. 필연적으로 어느 정도 범위에서 잘라야 하고 이 과정이 FFT 결과가 주기성을 가진 이유입니다.

      거꾸로 생각하면 계산 범위를 길게 늘리면 DFT or FFT 결과들이 반복되는 주기가 길어지게 됩니다. 다만 계산 시간은 좀 늘어납니다.

      삭제
  20. 안녕하십니까?
    현재 HPC 컴퓨터로 시스템레벨 EMC Simulation 를 수행하고 Spectrum Analyzer 로 측정된 값을 수치적 정합 프로젝트를 수행하고 있읍니다.
    몇가지 질문을 드리겠읍니다.
    1. 주기신호 ( 30MHz Clock ) 를 주파수영역으로 변환하기 위해 퓨리에시리즈를 사용한 경우와 퓨리에변환을 수행한 경우를 비교해 보면 FT 인 경우 Ttotal= 100ns/1000ns/10000ns 입력신호에 따라 Normalization=1 인 경우 정확히 20dB 씩 그 Amplitude 가 커집니다. 따라서 FS 와 일치시키기 위해서 Normalization = 1/T 로 해 주어야 됩니다. 물론 Wo=2pi/T 이므로 Fsample 은 작아지고 있고요.

    그러면 비주기 신호 : EMC 노이즈전압신호를 측정시간을 100ns / 1000ns 두 가지로 시뮬레이션을 수행하여 EMC Receiver ( Spectrum Analyzer ) 로 측정한 값과 비교하기 위해서는 퓨리에변환에서 Normalization = 1/T 로 해주어야 하는지요?

    감사합니다.

    답글삭제
    답글
    1. 아마 식 (2)를 말씀하시는 것 같습니다. 적분과 급수라는 차이 때문에 푸리에 계수와 푸리에 변환값의 상호 변환은 주기 $T$를 고려해야 합니다.
      이런 부분을 제외한다면 푸리에 급수와 FFT는 동일한 결과를 냅니다.

      측정 장비 입장에서는 주기 신호와 비주기 신호의 차이는 없습니다. 특정 영역만 관측해 FFT해서 보여줄 뿐입니다.

      질문에서 측정하고자 하는 것이 일반 신호인지 잡음인지 명확하지는 않네요. 잡음인 경우 관측 시간을 늘리면 대역폭이 줄어 전력이 작게 측정됩니다.

      삭제
    2. 감사합니다.
      측정신호는 EMC Conductive Emission 으로 LISN 에서 측정한 EMC Noise 입니다. 따라서 일반신호로 보는 것이 맞을 것 같읍니다.
      이 경우는 FFT 를 수행시
      현재 과제에서 어려움점은 충분히 작은 대역폭( 낮은 화이트노이즈 ) 을 확보하기 위해 10uS 정도의 긴 관측시간을 요구하여 PCB 를 포함한 시뮬레이션 시간이 현재 사용가능한 HPC 컴퓨터로 15일이상 소요되고 있읍니다. 작은 관측시간으로도 긴 관측시간동안의 대역폭과 샘플링간격과 같은 데이타를 도출할 수 있느냐가 관건입니다.

      삭제
    3. 재미있는 연구 주제네요.

      일반적으로 짧은 관측 시간으로 긴 관측 시간을 예측하는 것은 불가능히지요. 이런 접근법은 외삽이라서 오차가 얼마 나올지도 알 수 없고요.

      하지만 현재 신호 특성을 나타내는 기저 함수(or 급수)들을 잘 정의할 수 있다면 예측도 가능하지요. 예를 들면 FDTD로 필터 계산할 때 관측 시간을 줄이기 위해 사용하는 AR(자기 회귀, autoregressive) 필터 같은 게 있습니다.

      삭제
    4. 다른 질문을 드리겠읍니다.
      일반적으로 EMC Receiver 는 Swept-Turned. 병렬 FFT. Real-Time ( Hybrid Technique ) 가 있읍니다. Swept-Turned 는 슈퍼헤테로다인 방식으로 라디오안테나와 같은 원리로 순차적으로 하나씩 주파수 스윕을 하는 것으로 이해하고 있읍니다.
      Swept-Turned 방식도 FFT와 마찬가지로 수치적으로 푸리에변환으로 해석되고, Sweep TIme 및 RBW/VBW는 수치적 퓨리에변환에서 관측시간과 샘플링스텝과 같은 의미로 이해하면 될련지요.
      다시 말해 시뮬레이션을 통한 계산값을 측정값과 매칭시키기 위해 시뮬레이션 조건을 SWT/RBW/VBW을 맞추어 주면 두 값의 일치성을 검증할수 있는지 있는지가 궁금합니다.

      삭제
    5. 주파수 훑기(frequency sweep or step, swept-tuning frequency)는 직접적인 측정법이며 시간 훑기(time sweep)는 FFT 과정을 거쳐 답을 찾으므로 간접적인 측정법입니다.
      하지만 시간 훑기가 충분히 빠르고 측정 신호에 너무 큰 고주파 신호가 없다면 표본화 정리에 의해 이 둘은 동일한 결과를 내야 합니다.
      측정의 나머지 요소들은 측정법에 맞추어 환산하면 될 것이고요.

      삭제
  21. 식(2)의 이산적인 m⋅ω0이 연속적인 ω가 되려면, m이 무한대 조건이 있어야 하는건가요?
    m⋅ω0를 T를 무한대로 하면, m⋅dω 가 되는거 같아서요.
    식(3)과 같이 생각하고 전계를 해야 하는건가요?

    답글삭제
    답글
    1. 푸리에 급수에서 출발했기 때문에 $m$은 무한대로 가야 합니다. ^^

      삭제
    2. 식(10)에서 어떻게 전계가 되는지 전혀 모르겠습니다. T.T
      힌트좀...
      특히 첫줄에서 둘째줄로 어떻게 넘어가는건가요?

      삭제
    3. $m=0$이라면 구간은 $[-T/2, T/2]$가 됩니다. $m = 1$이면 $[T-T/2, T+T/2]$입니다. 이 둘을 합치면 전체 구간은 $[-T/2, T+T/2]$로 늘어납니다. $m$을 계속 늘리면 전체 구간은 계속 늘어납니다.

      삭제
  22. 안녕하세요 궁금한게 있어 웹서핑하다 들어왔습니다

    식(2) 번에서 w가 대신 w / b(복소수) 이면 오른쪽 F(w)를 F(w/b)로 쓸수 있습니까?

    답글삭제
    답글
    1. 말씀하신 것은 단순한 변수 치환이니 가능합니다.

      삭제
    2. 답변감사합니다
      새해복많이 받으세요

      삭제
  23. 안녕하세요 제가 요즘 퓨리에변환에 대해서 관심이 많아서 구글링을 하다 보니 여기까지 오게 되었습니다.

    요즘 행렬 공부를 하고 있는데
    정방행렬 A라는 것이 대칭행렬이면 고유값을 가지는 대칭행렬과
    이에 대응하는 정규직교집합을 이루는 고유벡터로 이루어진 직교행렬으로 분해할 수 있습니다.

    그런데 문뜩 드는 생각이 퓨리에급수를 보면 어떤 신호를 정규직교기저들의 선형결합으로써 표현할 수 있는데,
    그렇다면 신호에 대한 각각의 고조파 성분들을 고유벡터 또는 고유함수라고 말할 수 있나요?
    또 그에 대응하는 진폭과 위상스펙트럼은 고유값들의 집합으로 말할 수 있나요?
    또 A라는 변환행렬연산자는 퓨리에변환을 수행하는 연산자라고 말할 수 있나요?

    만약 위의 질문이 성립한다면 k고조파들과 진폭,위상정보들은 A라는 변환에 대해서 상태변화를 측정할 수 있는 척도가 되는 것 같은데,
    참고로 여기서 정규직교집합을 이루는 고유벡터들로 이루어진 직교행렬은 변환에서 크기와 내적을 보존한다고 합니다.
    그렇다면 위에서 말한 고유벡터와 고유값들이 나타내는 상태의 척도가 무엇을 말하려는 것인가요?
    혹시 에너지 보존성과 관련이 있나요?

    답글삭제
  24. 새로운 관점 제시 감사합니다, 익명님.

    푸리에 변환 자체가 미분 방정식을 풀기 위해 제안되었기 때문에 말씀하신 고유치와 고유함수는 정확히 연계되어 있습니다. 이 부분은 아래 소개한 스투름-리우빌 이론의 결과중 하나입니다.

    http://ghebook.blogspot.kr/2011/11/sturm-liouville-theory.html

    하지만 고유치는 진폭이 아니고 주파수 성분입니다. 진폭은 어떤 값이든 될 수 있기 때문에 고유치는 아닙니다.

    답글삭제
    답글
    1. 그렇다면 고유값이라는 것은 어떤 신호에서
      기본파에 대한 k배 즉, 어떠한(무슨) k고조파를 포함하고 있는 지를 나타내고
      고유벡터 또는 고유함수는 그것에 대응하는 진폭과 위상을 가진(임의의 복소수에 대하여 곱해진) 정현파를 나타낸다고 할 수 있는 것인가요?

      또 궁금한 점을 질문하자면 상태를 변화하는 선형변환에 있어서 그 크기와 내적을 보존한다는 것은 어떤 의미가 있죠?

      번거로우시겠지만 답변해주신다면 정말 감사하겠습니다!

      삭제
    2. 위에서 말한 고유치와 고유 함수는 철저히 미분 방정식 관점에서 바라본 것입니다. 스투름-리우빌 이론에 의하면 고유치 하나당 고유 함수 하나씩이 연결됩니다.
      따라서, $m$배 고조파 신호 하나당 정현파 하나가 대응하는 것이 맞습니다.

      질문에서 이미 언급하신 것처럼 내적값 보존은 전력이나 에너지 보존을 나타내는 것이 맞습니다. 행렬이 직교 행렬이면(or 손실없는 선형 시스템)이면 내적값 보존이 성립합니다.

      삭제
  25. 안녕하세요!! 전파거북이님 !!
    퓨리에의 내용이 너무 어려워 검색하다가 들어왔는데 질문 하나 드려도 될까요??
    우리가 해석할 때 시간영역에서의 해석과 주파수영역에서의 해석으로 나눠지는 것 같던데
    이들은 퓨리에 변환에 의해서 서로 변한것이라 본질적으로 같은거라는 것인가요??
    만약 그렇다면 시간영역에서 주파수 영역으로 해석할 때 이점이 무엇인가요?? 정확하게 차이를 잘 모르겟네요..ㅠ 보통 주파수영역에서 해석하는 것 같더라고요..

    답글삭제
    답글
    1. 연속 함수라면 수학적으로 시간과 주파수 영역은 동일합니다.

      익명님, 전공이 전파 분야라면 측정을 생각해 보시면 됩니다. 시간 영역은 주로 오실로스코프(oscilloscope)로 측정하고 주파수 영역은 주파수 대역 분석기(spectrum analyzer)로 합니다. 시간축에서 파형을 보면 오실로스코프 신호는 심하게 흔들립니다. (이걸 수학적으로 표현하기도 어렵죠.) 하지만 주파수 영역에서는 주파수별 진폭은 약간 바뀌지만 모양이 비슷하게 유지되는 것을 볼 수 있습니다.

      따라서, 어떤 파형을 수학적으로 표현할 때는 시간 영역보다 삼각 함수로 분해하는 주파수 영역이 훨씬 쉽습니다.

      삭제
  26. 안녕하세요. 전파거북이님...

    내용은 너무 잘 보았습니다. 궁금한게 있는데요. FFT를 수행할때 2^N의 데이터를 기반으로 처리를 하는것을 이해했는데요. DSP를 가지고 2^15데이터를 처리하려고 하면 에러가 발생하는데, 이정도 데이터를 풀려면 다른 알고리즘을 사용해야 하는것인가요? 혹시 공개된 알고리즘 정보를 알 수 있을까요? 조언 부탁드립니다.

    답글삭제
    답글
    1. 안녕하세요, Jinyoung님. $2^{15}$ 정도는 큰 크기가 아닌데요, 만약 DSP 소자로 처리가 안된다면 FFT 관련 알고리즘 문제는 아닌 것 같습니다. DSP 설명서 잘 보세요. ^^

      삭제
  27. 너무 감사합니다.
    시험기간이 끝나면 블로그 처음부터 끝까지 보면서 공부할까 생각중입니다.
    너무 감사합니다

    답글삭제
    답글
    1. 감사를 두 번이나 하시다니 영광입니다, Jun iL Yune님. ^^

      삭제
  28. FFT 이론을 공부하다 우연히 구글링하다 들어온 1인입니다.
    세세한 설명에 감복 또 감복 했습니다.
    일하는 틈틈히 차근차근 정독해야겠어요.

    전파거북이님 지식을 시간과 정성을 들여 나눠주시니 정말 감사합니다. ^^

    답글삭제
    답글
    1. 별것 아닌 지식을 칭찬해주셔서 감사드립니다. ^^
      우리나라도 공유 정신이 많이 퍼져야죠!

      삭제
  29. 좋은글 감사합니다.
    다 배웠던 내용인데도 너무 자세히 설명을 잘해주셔서 새롭게 배운 느낌이네요 ^^;

    그런데 혹시 Fractional Fourier Transform의 개념에 대해 아시나요?
    여기저기서 찾아봐도 쉽게 와닿지가 않아서 혹시 대략 어떤내용인지 아시는지 여쭤봅니다..☞☜

    감사합니다!

    답글삭제
    답글
    1. 질문하신 내용은 저도 처음 들어보는 거네요. 시간날 때 한 번 공부해봐야겠습니다. 정보 감사합니다, 익명님. ^^

      삭제
  30. 안녕하세요 전파거북이님 ㅎㅎㅎ
    신호및 시스템을 수강중인데 질문해도될까요?ㅎㅎ
    1.선형시스템의 특성을 설명하기 위하여 푸리에 변환이 널리 쓰이는 이유는 무엇일까요?
    2.푸리에변환은 궁극적으로 무엇을 하자는 것일까요?
    3.sifting property와 푸리에변환을 표현하는 방법이 공통점이 있는데 그 공통점은 시스템의 어떤특성을 활용하기 위함일까요?
    아무리 찾아도 알방법이없어서...ㅎㅎ..

    감사합ㄴㅣ당.ㅎㅎㅎ 가능하시다면 빠른답변 부탁드립니다><

    답글삭제
    답글
    1. 1, 2. 현재 시간 영역에서 문제 푸는 것이 어렵기 때문에 영역을 바꾸어 $s$나 주파수 영역을 보는 것입니다. 선형 시스템에서 푸리에 변환만 쓰이는 것은 아닙니다. 라플라스 변환이 더 많이 쓰입니다.

      3은 질문자가 고민할 부분 같습니다. 쓰신 의도를 잘 모르겠습니다.

      삭제
    2. ㅎㅎ 답변 감사드립니다 ㅎㅎ 진짜 똑똑하시네용.!!!!
      제가 아직 라플라스변환은 배우지 않고 시프팅정리와 푸리에변환을 이용해서 시험을 치는것이라서요...ㅠ.ㅠ.
      그리고 2번은 푸리에변환으로 결국 할수있는것? 이런거를 말해용...ㅠ.ㅠ.
      그리고 3번은 sifitng정리와 푸리에변환이 시프팅정리는 임펄스를이용하고 푸리에변환은 정현파를 이용한다는 점말고는 전체적인 방법은 divide and conquer 방법으로 결국은 서로 같은 방식이라고 할수있는데 이 공통점이 시스템(신호)의 어떤특성을 활용하기 위한것일까요?ㅠㅠ.....3번은 문젠데 저도 이해를 잘못하긴 해요...ㅠ....ㅠ.. 답변부탁드려용

      삭제
    3. 푸리에 변환은 푸리에가 미분 방정식을 풀기 위해 제안한 것이지만 요즘은 통신 분석에 약방의 감초처럼 쓰입니다. 이를 위한 장비가 주파수 대역 분석기(spectrum analyzer)입니다.

      체로 거르기 특성(sifting property)은 델타 함수의 성질중 하나입니다. 문맥에 따라 다른 답이 나올 수 있습니다. 보통은 선형 시스템 전달 함수의 특성을 구하기 위해 사용합니다.

      삭제
  31. 전파거북님 항상 좋은 글 보고 많이 배우고가요 궁금한게 있어서 이렇게 물어보게 됐어요. 연속시간에서의 푸리에 급수와 푸리에 변환이 이산시간으로 넘어가게 되면 약간 변화가 생기잖아요.
    첫 번째로, 연속시간의 푸리에 급수에서는 입력 정현파가 기본 주파수의 K의 배수 만큼의 주파수가 무한 개 생성될 수 있었는데 이산시간으로 넘어가면 N개의 구별된 입력 정현파 함수만 가지게 되잖아요. 이 경우는 이산시간의 경우 time축이 정수 해로 고정되어 있어서 N을 주기라고 할 때, N배 이상이 되면 표현 될 수없기 때문에 N개의 입력 함수만 가진다고 생각을 했어요.

    근데 두번째로, 이산시간의 푸리에 변환의 경우는 2pi의 배수만큼 떨어진 주파수를 갖는 이산시간 정현파 함수들이 서로 동일하기 때문에 연속시간과 다르게 범위가 2pi로 주어진다고 하는데 이부분은 잘이해가 안가요 좀 설명해주실 수 있나요?ㅜ

    답글삭제
    답글
    1. 1. 실제 문제에서는 모든 고차 고조파(higher-order harmonics)를 표현할 수는 없기 때문에 적당한 고조파에서 잘라야 합니다. (푸리에 계수가 매우 작은 고조파는 0으로 가정합니다.) 이산 푸리에 변환(DFT: Discrete Fourier Transform)도 이 개념을 사용합니다.

      2. 주기가 달라지면 DFT 공식이 달라지는 문제가 있어 DFT에서는 주기를 1로 정규화합니다. 1로 정규화하더라도 푸리에 계수는 변화하지 않기 때문에, 임의의 주기에 대한 푸리에 계수를 DFT로 표현할 수 있습니다. (주기가 1에서 바뀌면 시간 크기 조정을 통해 쉽게 다른 주기값을 표현할 수 있습니다.)

      삭제
    2. 1번은 이해가 가는데요. 2번엣 FT 자체가 비주기 함수를 표현하는데 이산시간에서는 주기를 1로 정규화 하여 다른 주기값을 표현한다는게 잘이해가 안되네요 ㅜ

      삭제
    3. 1. DFT는 비주기 함수도 주기 함수로 간주하여 계산합니다. 그래서, DFT의 특성은 계속 반복됩니다.

      2. 주기 $T$를 1로 정규화한다는 것은 푸리에 급수나 변환의 척도(scaling) 특성을 의미합니다. 어떤 주기든지 적당한 치환을 통해 주기 1인 함수로 변환이 가능하고, 이 함수의 푸리에 변환을 DFT로 구해 놓으면 척도 특성을 통해 간단히 원함수의 푸리에 변환을 얻을 수 있습니다.

      삭제
  32. 신호와 시스템 을 공부중인 학생인데 궁금한게 있어요

    X(jw)=2*pi*delt(w) 가 있을 때 이거를 역 푸리에 변환을 써서 구하면

    x(t)=1는 이렇게 된대요 공식에 대입하면 되는 부분이라 여기까진 이해가 가는데,

    반대로 제가 x(t)=1을 푸리에 변환 공식에 넣어서 구하면 2*pi*delta(w)가 안나오는 거같더라구요

    1<---------FT--------> 2*pi*delta(w)라고 만 적혀있는데 왜그런거죠 ㅠ

    두번째로

    시간 영역의 상수 c를 푸리에 급수이용하여 주파수 영역으로 보내면 c*delta(k)가 된다고 하더라구요

    시간영역의 상수 c가 DC 성분의 신호라고 볼때, 주파수 영역에서 DC신호는 0Hz를 가지므로 저렇게 표시

    될수 있다고 이해는 가는데 실제 푸리에 급수 식에 대입을 해보면 계산이 안되는데 제가 적분을 잘못하고

    있는 건지 헷갈려요

    그리고 같은 상수더라도 푸리에 급수를 이용할 때와 푸리에 변환을 이용할 때의 결과가 같은지도 궁금합니

    다. 아 자주 질문하는데 다음엔 꼭 가입해서 질문을 하도록하겠습니다 항상 많은 도움을 받고있어서 정말 감사드려요!

    답글삭제
    답글
    1. 자유로운 인터넷인데 편하게 하세요. 가입할 필요는 없습니다. ^^

      1. 공식으로 생각할 수 있지만 식 (13)에 대입하면 바로 나옵니다. (식 (5)를 참고하세요.)

      2. 적분을 잘못 했을 것입니다. 상수인 경우 푸리에 급수의 고차 고조파항은 모두 0이 되므로 상수항만 남습니다. 푸리에 급수와 푸리에 변환은 비슷하긴 하지만 같지는 않습니다. (식 (2)의 관계를 가집니다.)

      삭제
    2. 아 감사합니다 근데 저 식 (4)에서 (5)를 증명할 때, 모든 t에 대하여 적용되므로 델타 함수를 쓰면 이라는 말이 이해가 안가는데 어떻게 (5)로 넘어가고 있는건가요?

      삭제
    3. 임의의 $t$에 대해 $f(t')$와 어떤 함수의 곱을 적분한 값이 다시 $f(t)$가 되었다면 어떤 함수는 델타 함수가 되어야 합니다.
      물론 엄밀한 증명은 매우 어렵습니다. 그나마 복소 함수론을 사용한 것이 쉬워요.

      삭제
  33. 안녕하세요? ㅎㅎ 글 잘읽고 있습니다.
    한가지 궁금한 점이 생겨서 물어보고자 글 남기고 갑니다
    예전에 학부생때 Discrete Signal Processing이라는 과목을 들으면서
    Lena라는 사진파일을 Matlab을 이용하여 JPEG로 압축해봤던 기억이 나네요 ㅎㅎ
    그 당시에는 아무 생각 없이 과제를 했던건데
    이제와서 생각해보니 JEPG의 압축원리에 대해 정확하게 기억이 나지않아서
    조금 더 세세한 설명이나 참고문헌 부탁드려도 될까요?ㅎㅎ
    감사합니다 !

    답글삭제
    답글
    1. 이산 코사인 변환(DCT: discrete cosine transform)으로 검색해 보세요. 많은 자료가 있을 것입니다.

      삭제
  34. 신호와 시스템을 수강하고 있는 학부생인데 궁금한 게 있어서 질문좀 드리겠습니다. 제가 수식에만 빠지다 보니까 의미에 대해 소홀한 거 같습니다.

    1. FT는 nonperiodic signal, FS는 periodic signal에 적용이 되잖아요? 그런데 적용한다는 말이 nonperiodic signal에 FT를 적용하면 수렴하는 값을 얻을 수 있다는 말인가요? 제가 배운 건 FT란 nonperiodic signal을 이루고 있는 e^jwt라는 basis의 w에 대한 크기라고 배웠거든요. 그러면 각 basis가 갖고 있는 크기는 수렴하는 값을 갖는다는 걸 말하는 건가요? 물론 nonperiodic signal에 대해서요.

    2. periodic signal에 FT를 적용하는 방법을 배웠습니다. 이 때 periodic signal에 FT를 적용하면 결국 델타 함수의 조합으로 나오거든요? 그러면 이 때는 FT는 수렴하지 않는 값을 갖는 건가요? 제가 알고 있는 periodic signal에 FT를 적용하는 이유는 비록 그 값이 수렴하지 않지만 그래도 유용하기 때문에 하는 것으로 알고 있는데 맞나요?

    3. 이건 블로그의 글과는 상관이 없는 내용인 것 같은데 혹시나 해서 질문 드립니다.

    y''+ay'+by=x

    linear constant coefficient differential equation의 해는 input x에 대한 lti 즉 선형 시불변 시스템을 나타낼 수 있잖아요? 그런데 linear constant coeffiecient equation이 표현할 수 있는 lti는 causal인 시스템밖에 없나요? 즉 저 방정식의 해는 homogeneous solution, complete solution, natural response, forced response 등의 해들이 존재할 수 있을탠데 이 때 forced response만이 lti가 되는 것으로 알고 있는데 맞나요? 물론 forced response는 causal인 해이구요.

    4. DFT 즉 discrete signal에 FT를 적용할 때 질문이 있습니다. discrete signal x[n]이 주어진 상태에서 FT를 적용하려고 하면 x[n]을 연속 함수 x(t)의 sampling으로 봐서 y(t)=x(t)p(t) 즉 x(t)를 impulse sampling한 함수인 y(t)에 FT를 적용하는 게 DFT의 개념이 맞나요? 이 때 p(t)는 impulse train입니다. 그리고 제가 알기론 굳이 discrete signal에 FT를 적용하는 이유는 컴퓨터가 continuous signal을 처리하지 못하기 때문에 discrete signal로 sampling을 한 후 여기에 FT를 적용하기 위해서라고 알고 있는데 맞나요?

    너무 무책임한 질문을 드린 것 같습니다. 제가 모르는 걸 막 질문하니까 좀 죄송하네요.

    언제나 많은 것을 배우고 갑니다.

    답글삭제
    답글
    1. 필요하면 언제든 질문하세요. 시간이나 제 능력이 허락하는 한은 답해드립니다.

      1. 푸리에 변환이 적용되는 경우는 비주기라 할 때는 애매한 점이 있습니다. 비주기라는 표현보다는 시간 영역에서 유한하게 존재한다는 게 더 좋습니다. 그래야, 푸리에 변환이 존재합니다. (파르세발의 정리 생각해보세요.)

      2. 맞습니다. 주기 함수는 적분이 발산해 푸리에 변환이 존재하지 않습니다. 편의를 위해 델타 함수를 도입했을 뿐입니다.

      3. 제시하신 미분 방정식은 해의 존재성과 유일성이 이미 증명되었습니다. 답이 하나인데요, 일반해와 특수해로 완벽하게 기술할 수 있습니다. 일반해는 복소 지수 함수이므로 인과 함수(causal function)가 됩니다. 입력항을 뜻하는 $x$도 푸리에 급수로 표현 가능하고, 이를 풀면 인과 관계를 만족하는 특수해를 얻을 수 있어 해는 항상 인과 함수 특성을 가집니다.

      4. 맞습니다.

      삭제
  35. 안녕하십니까 웹서핑 중 우연찮게 들리게 되어 블로그를 훑던 중 제가 고민하고 있는 주제가 포스팅 되어 질문 드립니다.
    matlab을 이용하여 음성 파일을 읽은 후 음성 파일을 fft를 이용하여 변환하고, 그 변환한 값에 적절하게 unit step을 곱하여 저 주파수를 날리고 고 주파수만 남겨 남성 목소리를 여성 목소리로 변환 하려고 했습니다.
    그렇게 150hz미만의 fft를 0으로 날린 후 ifft를 이용하여 역변환 한 결과 plot에선 시간에 대해서 파형이 잘 나오는데 soundsc함수로 들어보려고 하면 소리가 나오지 않습니다.

    이러한 경우, 제가 fft의 결과에 unit step을 곱하여 ifft한 결과가 원 음원에서 저주파수 영역을 필터링 한 결과와 같다. 하는 개념이 틀린것인지 혹은 제 코드 실력이 부족해서 오류로 인해 안들리는 것인지 여쭈어 보고 싶습니다. 수고하십시오!

    답글삭제
    답글
    1. 1. 음성 일률(voice power)은 주로 1 [kHz] 이하의 저주파에 분포되어 있지만, 다른 주파수 성분도 있어 150 [Hz] 이하를 자르더라도 소리는 나올텐데요.

      2. 음색은 주파수 분포이기 때문에 남자 목소리를 여자로 바꾸려면 현재 추출한 주파수 전체를 한 옥타브나 두 옥타브 정도를 높여야 할 것 같네요.

      삭제
    2. 1. 네, ifft한 변수를 보니 +-0.0001i 같이 아주 작은 i값이 더해져 있어서 soundsc함수가 작동을 안한것 같아서 real()로 바꾸어서 하니 출력되었습니다!
      2. 아 저는 저주파수를 없애는 방법을 생각했었는데 전체적으로 더해져도 되겠군요! 감사합니다

      삭제
  36. 안녕하세요~ 매번 좋은 글을 읽어서 미약하나마 실력이 조금씩 느는것 같아서 정말 감사합니다.~~
    삼각함수 부터 시작하여 열심히 푸리에 변환까지 왔습니다.
    몇 가지 실험을 돌렸는데... 당췌 이해가 되지 않아 구독만 하다가 질문 남깁니다~

    제가 간단한 1차원 시그널을 임의로 만들고
    이 시그널을 푸리에 변환을 하였습니다.
    그래서 0 번째 주파수 대역의 값을 0으로 변경하여 이를 역푸리에 변환을 하였습니다.

    그런데, 공부한 바로는 0번째 주파수 대역이 사라지게 되면 (0으로 변경) 원래의 시그널의
    형태는 변하지 않고 시작점(푸리에 계수에서 a0)만 이동하는 것이 맞을 것 같은데
    푸리에 변환 후 0번째 주파수 대역을 0으로 변경하고 이를 다시 역푸리에 변환 했을 시 이상한 값들이 나왔습니다.

    2차원 이미지 푸리에 변환에서
    푸리에 변환 후 저주파/고주파 필터링을 거친후
    이를 다시 역푸리에 변환 후 스펙트럼 값(sqrt(실수부^2 + 허수부^2))으로 표현 하는 것 같아서

    저도 1차원 임의의 시그널을 푸리에 변환 후
    변환 값의 0번째 주파수 대역을 0으로 변경 후
    다시 역 푸리에 변환 후 스펙트럼 값으로 원래의 1차원 시그널을 표시하였지만 앞서 말한 바와 같이 예상했던 결과 값이 나오지 않다가
    1차원의 역 푸리에 변환시 스펙트럼 값이 아닌 실수부만을 다루어야 한다고 해서
    역 푸리에 변환 후 실수부만 취했을 때 예상했던 것 처럼 원래의 시그널과 일치하면서 시작점만 다르게 나왔습니다.

    당췌... 왜 1차원에서는 실수부만을 취해야 하는지를 모르겠습니다.....

    답글삭제
    답글
    1. 익명님, 방문 감사합니다. ^^ 전파거북이의 글이 도움이 되었다니 기쁘네요.

      1. 말씀하신 푸리에 변환의 성질은 반드시 그렇게 되어야 합니다. 이게 잘 안되면 푸리에 변환과 역변환을 번갈아 해보세요. 원래 함수로 돌아온다면 계산 방식에 문제는 없는 것입니다.
      이 경우, 0번째 푸리에 계수를 0으로 해서 역변환한 것이 원래 파형(DC는 제외)을 표현하지 못하다면, 0번째 푸리에 계수라 생각한 것이 0번째가 아닌 것입니다.
      FFT 같은 방식을 쓰면 시간 함수의 시작점은 항상 0으로 부터 시작하기 때문에 푸리에 계수에 시간 지연에 해당하는 복소 지수 함수가 곱해진 효과가 생기기도 합니다. 이런 경우는 아닌 지 잘 보세요.

      2. 2차원 경우에도 푸리에 변환과 역변화은 반드시 성립해야 합니다. 1차원과 다를 것은 없습니다.

      삭제
  37. 안녕하세요 전파거북이님, 좋은글 잘 보고 있습니다
    퓨리에 변환 부분에서 한가지 질문을 드리고 싶은데요
    f(t)의 퓨리에 변환이 F(w)라고 할 때, F(w)가 어떤 의미를 갖는지 감이 잡히질 않습니다
    최초에 퓨리에 급수는 '모든 주기 함수는 sine,cosine의 합으로 표현 가능하다'는 것에서부터 출발하여
    주기를 무한으로 확장했을 때 주기성을 갖지 않는 일반 함수도 sine,cosine으로 표현 가능하다는 결론에 도달한 것으로 보입니다
    퓨리에 급수의 경우에 Fm으로 표현되는 퓨리에 계수가 sine과 cosine의 amplitude를 의미함이 개념적으로 잘 이해됩니다
    (따라서 임의의 주기 함수가 삼각함수의 합으로 이루어진다는 것이 자명하게 이해되지요)
    그런데 퓨리에계수에 주기T를 곱한 새로운 함수 F(w)가 등장하면서, 수학적으로는 최종적인 퓨리에변환공식을 받아들일 수 있지만 F(w)의 함수가 최초의 f(t) 함수와 관련해서 어떤 의미를 갖는지 전혀 느껴지지 않습니다
    1.이 때 F(w)함수는 복소수인데 이것에 각 주파수의 amplitude와 phase 정보를 모두 포함되어 있는건가요?
    2.포함되어 있다면 어떤 방식으로 포함되어 있는지 궁금합니다.
    감사합니다

    답글삭제
    답글
    1. 방문 감사합니다, 익명님. ^^

      푸리에 계수의 주파수는 이산적입니다. 푸리에 변환은 주기가 무한대로 가기 때문에 인접 주파수 간의 간격이 줄어들어 연속이 됩니다.

      1. 맞습니다.
      2. 다만, 말씀드린 것처럼 주파수 성분이 이산적이 아닌 연속적으로 분포되어 포함됩니다.

      삭제
    2. 거북이님 말씀 잘 이해했습니다.
      시그마와 인테그럴이 같은 의미이며 단지 이산적 경우-> 연속적 경우로의 확장을 나타낸다는 것을요.
      두 가지 더 질문을 드리고 싶은데요.
      1. 퓨리에변환을 F(w)=A(w)+iB(w)라고 나타낼 때, (퓨리에 급수의 경우와 마찬가지로) A(w)는 cosine 함수의 진폭을 B(w)는 sine 함수의 진폭을 의미하는 것이 맞는거죠? (물론 2pi가 곱해지면서 value가 완전히 같지는 않겠지만..)
      2. phase shift를 포함한 좀 더 확장된 경우를 생각해보고 싶습니다.
      거북이님의 포스팅된 글에는 삼각함수의 일반형(phase shift가 일어나지 않은 경우 sine(0)=0, cosine(0)=1)를 다루셨는데요. 일반적인 임의의 함수를 구성하는 삼각함수들은 기본형태에서 phase shift된 상태로 존재할 것이라고 예상됩니다.
      따라서 임의의 함수의 퓨리에 변환 F(w)=C(w)exp^(i*θ(w))로 나타낼 수 있고, 이 때 C(w)=A(w)+iB(w)이고 sine과 cosine함수의 진폭을 의미하고 θ(w)는 해당하는 주파수를 가진 삼각함수의 phase shift를 의미한다고 생각됩니다.
      정리하면 퓨리에 변환 F(w)의 절대값은 삼각함수의 진폭과 연관되고, 복소편각은 삼각함수의 phase shift와 연관된다고 생각됩니다.
      이러한 결론이 맞는 건가요??
      답변 부탁드리겠습니다. 감사합니다.

      삭제
    3. 2. 질문의 보충질문을 드리고 싶은데요.
      C(w)와 exp^(i*θ(w))를 따로 보면 각각 삼각함수의 진폭과 phase shift를 의미함이 잘 드러나는데, 둘이 곱해지게 되면 mixing이 되면서 절대값과 복소편각 부분이 각각 진폭과 phase shift로 나누어져 생각되지 않고 섞이게 되는것 같습니다.
      아 혼란스럽습니다 ㅠㅠ
      제가 뭘 잘못 알고 있는 걸까요?

      삭제
    4. 1. 맞습니다. 푸리에 변환의 특별한 경우 중에 푸리에 사인 변환(Fourier sine transform)과 푸리에 코사인 변환(Fourier cosine transform)이 있습니다. 사인 변환은 사인 함수의 특성과 유사한 성분을 뽑고, 코사인 변환은 코사인과 유사한 특성을 뽑습니다.

      2. 푸리에 변환은 복소수이므로 크기와 위상으로 나누어 생각할 수 있습니다. 너무 복잡하게 서로 성분을 나누어 생각할 필요가 없습니다. 푸리에 변환은 해당하는 주파수 성분이 얼마나 있는지를 복소수 형태로 표현한 것입니다.

      삭제
    5. 고맙습니다 거북이님
      앞으로도 종종 배우고 질문 드리겠습니다 ^^

      삭제
  38. 감사합니다. 언제나 많은 깨달음 얻고 갑니다.
    이번 글은 특히나 레나.jpg 링크가 인상적이네요.

    답글삭제
  39. 안녕하세요!! 전파거북이님ㅎㅎ
    하나만 여쭤봐도 될까요?? ㅠㅠ
    Fourier Series와 Fourier Transform의 적용 대상과 이를 통해 알 수 있는 것이 무엇인가요??
    ㅠㅠ 제가 솔직히 퓨리에 급수랑 변환을 이해를 잘 못하겠어서.. 부탁드립니다ㅠㅠ

    답글삭제
    답글
    1. 푸리엔 급수는 주기 신호 분석에 쓰이고, 푸리에 변환은 임의의 신호 분석에 사용될 수 있습니다.
      즉, 푸리에 급수에서는 함수가 주기적이라는 조건이 있지만, 푸리에 변환은 조건이 없습니다. 단지, 함수가 제곱해서 적분 가능이면 됩니다.

      삭제
  40. 그럼 공을 떨어뜨랄떄 나오는 압력그래프를 푸리에변환으로 변환가능한가요?

    답글삭제
    답글
    1. 어떻게 해야하나요?
      그래프로 나타냈는데 하는 방법을 모르겠어요

      삭제
    2. 푸리에 변환은 직접 할 필요없이, 상용 SW를 쓰면 됩니다. FFT(Fast Fourier Transform)가 구현된 SW를 찾아서 해보세요. ^^

      삭제
  41. 정말 좋은 글 감사합니다.

    내년부터 대학원에 입학하기로 되어있는데요,

    남은 한 학기동안 수학에 대해 정확히 공부하고 싶습니다.

    그래서 그런데, 여기에 있는 글을 어떤 순서로 보는게 좋을까요?

    수학 카테고리와 전자파 카테고리가 나눠져 전개가 되어 있어

    공부를 어떻게 시작할지가 막연합니다.

    그리고 제가 신호처리 분야로 대학원에 입학 예정인데요.

    이러한 수학적 지식을 많이 늘리려면(단순한 암기가 아닌)

    어떤 공부를 하는게 좋을까요? 찾아보니 해석학 같은 과목을 공부하면 좋다는 얘기도 있더라고요..

    아니면 수치해석 쪽을 공부해야되나요?

    그동안 배운 과목은 미적분학 1,2, 선형대수학, 미분방정식 정도로 했고, 중간중간에

    통신이론 1,2, 신호와 시스템, DSP, DIP 같은 과목을 수강하면서 Fourier Transform 같은

    수학적 tool을 배우기도 했습니다. 조언 부탁드립니다.

    감사합니다!

    답글삭제
    답글
    1. 남은 기간 동안 선형 대수학(linear algebra)과 실함수론(real analysis)을 집중적으로 공부하세요. 저는 수학 공부는 증명이라고 생각합니다. 스스로 증명이 될 때까지 반복과 숙고를 하시면 좋은 성과 있을 것입니다.

      삭제
  42. 안녕하세요 전파거북이님!
    파도의 동적 성분을 공부하고 있는 조선공학도입니다
    Spectrum의 기초가되는 푸리에 트랜스폼 공부에 정말 많은 도움이 되고 있습니다.
    정말 감사합니다

    몇가지 질문이 있습니다!

    1. 식(13)에서 두 쌍의 함수 앞에 있는 계수 1, 1/2pi 는 항상 저러한 형태인지요?
    왜 1/2pi가 붙는지 너무너무 궁금합니다.
    2. 식(1),(3)에서 계수 1/T ,1/2pi 는 어떻게 나온걸까요 ㅠㅠ

    답변부탁드립니다!

    답글삭제
    답글
    1. 반갑습니다, 익명님. ^^ 파도(water wave)를 연구하시는군요.

      1. $1/(2 \pi)$가 붙는 이유는 식 (5)의 디랙 델타 함수 때문입니다. 푸리에 변환쌍은 식 (13) 외에도 $1/\sqrt{2 \pi}$를 붙여 만들 수도 있습니다.

      2. 기본적으로는 푸리에 급수 때문에 계수가 붙습니다. 특히 $1/(2 \pi)$ 계수는 식 (1)의 각주파수 $\omega_0$ 정의와 연관되어 있습니다.

      삭제
  43. 안녕하세요, 오랜만이네요 ㅎㅎ.

    저기 F.T.는 mw_0이 countable infinite set을 만드는데, 이게 완비성을 충족 하는가요? 직관적으론 이해가 가는데 제가 수학 내공이 모자라서..

    답글삭제
    답글
    1. 반갑습니다, Jay Lee님. ^^

      1. 푸리에 변환은 적분을 포함하고 있기 때문에 각주파수의 농도는 실수와 같습니다. 이에 비해 푸리에 급수는 무한 급수이기 때문에 각주파수의 농도는 자연수와 같습니다.

      2. 완비성 증명을 직관적으로 해버리면 허점이 너무 많을겁니다. 완비성의 수학적 증명을 꼭 보셔야 제대로 이해하는 것입니다.

      삭제
    2. 살짝 찝찝한게 있는데, f로 적분할 경우 f_0=1/T 라서 유리수가 되잖아요? 그러면 countable infinite set이 되서 농도는 유리수랑 같아지지 않나요? 각주파수 omega에 대해 적분할 경우 2pi/T 라서 실수 적분이 되는 것 같은데 헷갈리네요 ㅠㅠ 음..

      삭제
    3. 푸리에 변환에서는 $T$가 무한대로 가기 때문에, 유리수만 나오는 것은 아닙니다.

      삭제
  44. 안녕하십니까 전파거북이님. 저는 전기공학을 전공하고자 하는 학생입니다.

    일전에 페이저 관련한 개념을 찾아보다가 이 블로그에 들린적이 있었는데 이번에 또 푸리에 변환에 대해 궁금한 점이 있어 서핑끝에 이 곳에 도달하게 되었습니다.

    다름이 아니고 정말 기본 개념적인 질문을 하나 드리고자 댓글을 답니다. 요즘 Signals and System 이라는 수업을 학교에서 듣고 있는데 저희 교수님이 푸리에 변환을 설명하며 푸리에 변환은 반드시 X(jω)라고 써야한다고 하였습니다. 중요한 이유가 있지만 왜 인지는 차후에 알게될 것이라고만 하고 Imaginary number j를 포함해서 꼭 X(jω)라고 쓰라고 하였습니다.

    그런데 이 곳 블로그 글에서 전파거북이님 께서는 푸리에 변환을 F(ω)라고 표현하셨고, MIT OCW의 signals and systems 강좌에서 Oppenheim 교수도 푸리에 변환을 X(ω)라고만 표현하고 있습니다. 저는 학교 수업과 더불어 MIT OCW도 같이 자주 보는 편인데 이 부분을 명확히 하지 않고 무작정 공부하다 보면 제가 무언가 잘못된 개념을 기억할지도 모른다는 생각이 들어서 확실하게 X(ω)와 X(jω)의 차이와, 왜 저희 교수님은 꼭 X(jω)라고 쓰라고 하는 것인지를 짚고 넘어가고 싶습니다.

    혹시 여유가 되신다면 X(ω)와 X(jω)는 무엇이 다른 것인지 힌트를 얻을 수 있을까요?

    답글삭제
    답글
    1. 반가워요, Simon님. ^^

      1. 함수의 입력 인자를 $\omega$로 쓰든지 $j \omega$로 쓰든지 큰 관계는 없습니다.

      2. 다만, 푸리에 변환을 라플라스 변환(Laplace transform)과 연결하려면 새로운 변수를 $s = \sigma + j \omega$로 정의해야 하므로, 이 점을 염두에 두신 것 같군요. $\sigma = 0$이라 두면 $s = j \omega$가 됩니다.

      삭제
  45. 안녕하세요. 푸리에 분석에 대해서 이해를 잘 못하는 비전공자입니다. 제가 실험에 사용할 이미지가 있는데요. 인터넷을 찾아보니 푸리에 분석으로 이미지 변환을 하였을 때 나오는 이미지 스펙트럼을 보았습니다. 제가 궁금한건 그 이미지의 푸리에 값 f가 원본이미지의 푸리에 값 f와 동일한가 혹은 동일하다고 인정될 수 있는가 입니다. 이미지 스펙트럼이 의미하는 결과가 그냥 주파수(x축)에 주파수 강도(y축)를 표시한 건가요? 아니면 다른 의미가 있는 건가요?

    답글삭제
    답글
    1. Jail님, 반갑습니다. ^^

      1. 원론적으로는 원래 영상이나 푸리에 변환된 영상 스펙트럼이나 동일한 특성을 가집니다. 대역 제한을 하면 푸리에 변환된 영상은 원래 영상과 약간 달라집니다. (반대 급부로 압축 효과가 얻어집니다.)

      2. 위에 설명도 있듯이 푸리에 변환된 결과는 빈도 특성을 보는 것입니다. 변환된 계수는 진폭과 위상 두 가지를 모두 가집니다.

      삭제
    2. 답변 감사드립니다. 제가 제대로 이해한 것이 맞다면 압축효과가 있을지언정 원본이미지와 변환이미지의 공간주파수 진폭과 위상은 동일하다는 것이지요?

      삭제
  46. 잘 봤습니다. 저는 푸리에 급수 복소 표현과 푸리에 계수 복소 표현 부분을 공부하고 있습니다. 푸리에 급수에서 푸리에 급수 복소 표현으로 유도하는 과정은 이해되는데, 푸리에 계수 복소 표현 유도 과정은 제가 가진 책을 봐도 잘 이해가 되지 않습니다. 혹시 이 유도하는 과정이나 관련 참고 게시글을 알 수 있을까요?

    답글삭제
    답글
    1. 질문하신 부분이 복소 푸리에 급수(complex Fourier series)인가요? 관련 증명은 아래에 있습니다.

      http://ghebook.blogspot.kr/2012/07/fourier-series.html

      삭제
    2. 아니오. 푸리에 급수 공식에 오일러 공식을 대입해, 복소 푸리에 "급수"(전파거북이님이 링크 걸어 준 게시글의 (7)번 식)를 유도하는 과정은 잘 나와 있고, 이해가 됩니다. 그런데 문제는 제가 보는 책도 그렇고, 다른 자료를 찾아봐도 복소 푸리에 "계수"구하는 과정의 설명이 부실합니다.
      기존 푸리에 계수는 세 가지 항(a0, an, bn)이 있는데, 이것을 Cn으로 통합함으로써 복소 푸리에 "계수"가 나오는데, 이 과정에 대한 설명이 부실합니다. 어떻게 통합될 수 있는지 이해가 되지 않습니다.

      삭제
    3. 말씀하신 부분은 위 링크의 식 (6)에 있는 내용입니다. 한 번 보세요, 익명님. ^^

      삭제
  47. 그럼 원래 함수에 DFT를 적용해서 도메인을 바꾸고 난 뒤에도 y축값은 그대로 진폭을 의미하나요? 그게 아니라면 y축 값이 의미하는 바가 무엇인가요?

    답글삭제
    답글
    1. $y = f(x)$할 때 $y$를 말씀하시는 거죠? DFT하면 그때의 변환 결과는 진폭이 아니고 푸리에 계수입니다.

      삭제
  48. 안녕하세요 매번 여기서 도움을 얻어갑니다!
    제가 잘 몰라서 기초적인 몇가지 여쭤봐도 될런지요 ㅠㅠ

    1. 퓨리에 시리즈에서 계수가 의미하는건 nw에서의 진폭의 절반크기와 위상 정보가 맞나요?
    (2Cn=an-jbn 에서 진폭의 절반크기를 유추할 수 있다고 생각했는데 이게 맞나요 ㅠㅠ)

    2. 퓨리에 트랜스폼에서 F(w)가 갖는 의미를 모르겠습니다..
    이산적인 도메인이 아니라 연속된 주파수 도메인인것도 알겠는데
    퓨리에 시리즈의 계수처럼 명확한 의미가 와닿지 않습니다.
    예를 들어 특정주파수 w1이 있다고 했을때 F(w1)은 무엇을 의미하는 값인가요?
    크기나 위상 정보를 가진 값인가요? 맞다면 어떤것의 정보인가요?


    답글삭제
    답글
    1. 1. 푸리에 계수는 고유 함수 혹은 기저 함수와 관련되어 있습니다. 복소 푸리에 계수와 일정한 관계를 가질 수 있지만, 그건 고유 함수가 바뀌어서 그런 겁니다.

      2. 식 (2)를 잘 보셔야 합니다. 주기가 늘어나면 푸리에 계수 간의 간격이 줄어들어 연속이 됩니다. 따라서 $F(\omega)$ 특성도 해당 주파수의 푸리에 계수에 비례해야 합니다. 즉 크기와 위상을 가집니다. 다만 푸리에 계수와 다른 점은 주기(이건 무한대)가 곱해져 있다는 것입니다.

      삭제
  49. 재가 이해한 것인 맞는지 좀....
    1. "현재를 관찰하지 말고 처음부터 끝까지 나타나는 빈도를 보는 것이 푸리에 변환이다."
    어떠한 data가 있으면, B라는 domain으로 변환을 하면, B와 관련된 부분을 순서 정렬하면, 이게 프리에 변한이고,
    1-1. 일종의 통계자료가 될 수가 이는 건가요?

    2. 다시 지수함수에 대해서 궁금점이 생겼는데, 꼭 지수함수가 아니라, 목적이나 원하는 data를 얻기 위해서 다른 함수를 쓸수도 있고, 이게 여러가지 transformation이 되는 건가요?

    답글삭제
    답글
    1. 1. 맞습니다만, 빈도가 중심입니다. 빈도를 찾기 위해 정렬하고 통계 처리할 수 있지만, 어디까지나 빈도가 핵심입니다.

      2. 다른 함수를 쓸 수 있지만, 스투름-리우빌 미분 방정식을 만족해야 합니다. 이걸 만족 못하면 고유 함수의 완비성에서 문제가 생깁니다.

      http://ghebook.blogspot.kr/2011/11/sturm-liouville-theory.html

      삭제
    2. "스투름-리우빌 미분 방정식만 이해하고 있으면 공학 분야에 나오는 대부분의 미분 방정식을 두려움없이 대할 수 있다.~~ 스투름-리우빌 이론의 위대한 점은 미분 방정식을 풀지 않고 해답의 특성을 알 수 있다는 것이다. 얼마나 대단한가 풀지 않고 답의 특성을 안다니."
      이렇게 꼬시시길래, 보았었습니다. OTL T.T
      이번엔 안낚일 겁니다. ㅋㅋㅋ

      완비성이라는게 그냥 듣기에는 완벽하다하는 것 같은데 먼말인지도 모르겠구요. T.T
      찾아보면 완비성 공리가 나오기는하는데, 이게 그건지도 몰겠구요. T.T

      감사드립니다.

      삭제
    3. 고유 함수(푸리에 급수에서 사인이나 코사인 함수)라는 것을 계속 더하면 원래 함수가 복원되는 성질이 완비성입니다.
      완비성은 어려워서 공부하다가 태반이 포기하는 개념이니, 처음에는 잘 이해 안 갈 것입니다, 곰유님. ^^

      삭제
    4. 너무 막 질문을 던지는 감이 없지 않은데요.
      완비성과 직교성은 관련이 있는건가요?

      삭제
    5. 잘 보셨습니다, 곰유님. ^^
      언뜻 보기에 관계없어 보이지만, 완비성과 직교성은 서로 같은 개념입니다. 모든 직교 기저를 모으면 완비성을 가진다는 증명은 상당히 난해합니다.

      삭제
    6. 언제나 아낌없이 지식을 공유해 주시니, 감사드립니다.
      더 생각을 해보고 여쭙고 싶은데, 추후에 공부해서 다시여쭙겠습니다.
      (해야할 일들이 있어서... )

      삭제
    7. 기초적인 질문인데요. 약간 아리송해서요.
      sampling function과 window function에 대한 설명을 보면 기초적인 식이 완벽하게 같은거 같은데요.
      sampling은 아주 극한의 미소 구간(?) or 한점.
      window는 transform을 하려고하는 범위 이렇게 쓰임세만 다른건가요?

      삭제
    8. 표본 함수(sampling function)와 창 함수(window function)는 약간 다릅니다. 만약 창 함수가 사각 형태라면, 창 함수의 푸리에 변환이 표본 함수가 됩니다. (시간과 주파수로 영역이 다르지만 같다고 볼 수도 있습니다.) 하지만 이 경우는 고주파 성분이 발생하기 때문에, 사각형에서 변형된 다른 창 함수들이 많이 제안되었습니다. 디지털 신호 쪽으로 찾아보면 알 수 있을 겁니다.

      삭제
  50. cosine 과 sine 과 delt function 을 푸리에변환 한것의 의미를 설명 해주실수 있나요?

    답글삭제
    답글
    1. 오일러 공식을 생각하면 되지 않을까요? 우리가 정의한 복소 지수 함수는 코사인과 사인의 합입니다.

      삭제
  51. 통신 공부할때 이 페이지에서 도움 많이 받았습니다. 감사합니다. 그런데 푸리에 변환과 직접적인 관련은 없지만 질문하나 해도 될까요? x(t)가 비주기 신호이면 lim |τ|→∞
    R(τ)=E^2[x(t)] (단, x(t)가 에르고딕) 지금 이 공식에서 자기상관함수의 x(t)x(t+τ)가 독립이어서 평균이 나누어지는데 왜 독립인지 잘 모르겠어요. 제 생각에는 두 함수가 상관이 없어서일까 했지만 상관없다고해서 독립이 되는건 아닌데요 그리구 비주기함수에서 주기를 무한대로 보내면 원래 본 함수가 나오는? 비주기함수를 푸리에변환하는 것과 비슷한거 같은데 그래서 x(t+τ)가(τ를 무한대로 보냈을때) x(t)처럼 되는것 같은데 잘 모르겠습니다.
    자세한 설명 부탁드릴게요 제발요

    답글삭제
    답글
    1. 익명님, 질문 의도를 잘 모르겠습니다. ^^ 우리가 논증해야 하는 것이 정확히 무엇인가요?

      삭제
    2. lim |τ|→∞
      R(τ)=E^2[x(t)] 이 어떻게 가능한지 잘 모르겠어요!

      삭제
    3. 아 x(t)는 넓은 의미의 정상프로세스입니다..

      삭제
    4. $\tau$가 무한대로 갈 때 공분산(covariance)이 0인 경우이므로 비상관 조건(uncorrelated condition)을 쓴 것이다로 생각하면 되지 않을까요? $\tau$가 무한대로 가면 비상관이라는 조건 없이 증명이 될 것 같지 않은데요.

      삭제
  52. 안녕하세요! 항상 잘보고 있습니다. 다름이 아니라 질문이 있어서요

    한개의 구형펄스를 푸리에 변환하면 sinc함수가 되는데
    펄스폭이 t일 경우 BW는 이의 역수인 1/t입니다

    펄스에너지는 펄스폭 t가 클 수록 크다는게 이해가 가는데
    펄스폭 t가 작아지면 펄스에너지는 작아지고
    BW는 반대로 커지니까 sinc펑션에서 가운데 가장 큰 로브가 커집니다

    그런데 분명 펄스폭이 작으니까 에너지는 작은데
    대역이 넓다는게 그만큼 큰 에너지를 점유한다고 생각되어서 이해가 안갑니다

    답글삭제
    답글
    1. 구형 펄스를 푸리에 변환하면 표본 함수가 나오지만, 그 표본 함수 앞에 펄스 폭이 더 붙습니다. 그래서 시간 영역의 펄스 폭이 줄어들면 푸리에 변환된 값의 진폭도 더불어 줄어들어요.

      삭제
  53. 안녕하세요 !
    요즘 여기를 자주 찾아오게 됩니다. :)
    글을 읽다가 궁금한 점이 생겼습니다.

    (5)에서 좌변의 모습이 exp[iw(t-t')]입니다.
    이 것이 exp[-iw(t-t')]로 표현되어도, (5)-1
    결과로 나올 때에 delta(t-t')로 동일한지 알고 싶습니다.

    혹시, (5)-1 에서의 결과는 delta(t'-t)이고,
    그 값이 delta(t-t')와 다르다면 왜 그런지 설명을 부탁드립니다.

    만약, (5)-1 과 (5)가 동일하다면,
    제가 전파거북이님의 글을 잘 이해했다고 생각합니다. XD

    답글삭제
    답글
    1. 안녕하세요, Sarah님. ^^

      동일합니다. 식 (5)에서 $\omega \to -\omega$해서 증명해도 됩니다.

      삭제
  54. 전파거북이님 안녕하세요.

    질문을 드리고자 글 남깁니다.

    FFT를 공부하는 과정에서 이해가 안가는 부분이 있는데요.

    질문내용 1)
    현재 계측하고 있는 데이터는 1초당 5120개라고 가정했을 때
    이 5120의 데이터들을 각각 복소수로 변환하고 그 복소수를 Magnitude로 변환하는 것이 맞는지 질문드립니다.

    질문내용 2)
    만약 위에 내용을 제가 잘 못알고있다면 기본 과정의 개념만 잡아 주실 수 있을까요?
    그 기준은 1초당 5120이든 2의 N승인 2048 이든 그 Raw데이터들을 어떻게 처리해야 주파수 및 진폭 또는 크기로 표현이 가능할까요??

    답글삭제
    답글
    1. FFT는 기본적으로 2의 거듭제곱만큼의 데이터가 입력되어야 합니다. 데이터가 크기와 위상을 가지면 복소수로 취급하는 것이 편합니다.
      FFT를 이해하려면 스스로 코드 개발을 해보는 것이 편합니다. 인터넷에 코드 관련 자료가 많으니까 시도 해보세요.

      삭제
    2. 작성자가 댓글을 삭제했습니다.

      삭제
    3. 거의 맞습니다. 보통 시간 영역 입력은 실수로 생각하며, FFT 절차에 따라 처리하면 복소 영역의 푸리에 계수(복소수)를 빠르게 얻을 수 있습니다.

      삭제
  55. 안녕하세요 전파거북이님, 유익한 글 정말 감사합니다. 저는 푸리에 급수, 변환이란 것이 고등학교에서 하던대로 단순히 공식에 대입만 하는 숫자놀음인줄 알았는데 진짜 의미를 알고나니 제가 몰랐던 새로운 세상이 보이는것 같네요. 천지창조란 말이 정말 딱 들어맞는것 같습니다.

    푸리에 해석에 대해 몇가지 질문을 드리고 싶은데,
    푸리에 변환이란건 즉 '1' 을 기저함수로 하는 함수공간과 주기성을 가진e^(-j*omega*t) 를 기저함수로 하는 함수공간의 내적을 구하는 것... 으로 해석 가능한가요? 아니면 같은 함수를 단순히 다른 함수공간에서 표현한 것인가요?

    그리고 함수공간 사이의 내적이란 것이 직관적으로 잘 이해가 되지 않는데 이 내적이 수학적으로 의미하는 것이 뭔가요? 두 다른 함수공간? 함수벡터? 가 서로 어느정도 직교하는가를 알아내는 것인가요?

    저희 교수님이 선형대수학을 완벽히 이해하면 통신공학이 쉬워질거라고 하셔서 저 나름대로 생각해 봤는데 제대로 이해한건지 모르겠습니다. 1차원적 계산만 하던 제 단순한 사고회로를 고차원의 대수적 개념으로 확장하려니 머리가 아프네요. ㅎㅎ

    답글삭제
    답글
    1. 안녕하세요, 공머생님. ^^
      푸리에 변환을 함수 공간 관점으로 생각할 수 있지만, 그렇게 하더라도 푸리에 변환이 쉬워지지는 않는다고 생각합니다. 즉 함수 공간으로 추상화해도 푸리에 변환의 완비성이 저절로 증명되지 않아요.
      오히려 푸리에 변환이 나왔던 무한 급수 특성에 집중하는 것이 좋지 않을까요. 제 개인적 생각입니다.

      삭제
  56. 존경하는 전파거북이님 글을 보다가 궁금한게 있어서 여쭤봅니다..ㅜㅜ
    식(3)에서 갑자기 f(t)=1/T lim sigma FmTe^jw0t 에서
    왜 다음으로 넘어갈 때 1/2pi가 되고 FmTe^jw0t 뒤에 [(m+1)w0-mw0]가 붙는지 감을 못잡겠습니다...
    도와주십쇼ㅠㅠ

    답글삭제
    답글
    1. 식 (3) 밑에 있는 내용처럼 적분법을 먼저 보세요. 식 (3)이 의미하는 바는 주기가 무한대로 가는 경우, 차분은 적분이 된다입니다.

      삭제
  57. 전파 거북이님 간단하지만 계속 궁금한것이 있어서 질문드립니다.
    식(2)를 식(3)에 대입해서 식(4)를 유도 했는데 원래 F(W)는 f(t)인데 왜 식(4)에서 t'으로 바뀌었는지 잘 몰르겠습니다...
    그냥 t와 t'의 차이점은 무엇인가요??

    답글삭제
    답글
    1. 적분 변수와 함수의 정의역을 서로 구분하려고 다르게 썼어요. $t'$ 대신 다른 문자를 쓰더라도 큰 문제없어요.

      삭제
    2. 음... 식(2)가 식(3)에 들어가면 함수의 정의역이 왜 달라지는지 몰르겠습니다...ㅜㅜ

      삭제
    3. 식 (2)에 있는 $t$와 식 (3)에 있는 $t$는 서로 다르기 때문에 다른 문자로 써야 합니다.

      삭제
  58. 전파거북이님 안녕하세요? 전자공학도가 공부하다가 모르는게 있어서 읽어주십사 부탁드립니다
    푸리에 변환의 특성 중 하나인 쌍대성(duality)이 이해가 가지 않아 이의 유효함을 증명하려고 하는데 도통 어떻게 하는질 모르겠습니다. 의견 달아주시면 정말 감사하겠습니다^^))

    답글삭제
    답글
    1. X(t) <-> x(-f) 이거 유도하려고 X(t)=식에서 -f=s로 치환하고 -df=ds로 적분인자도 바꾸고 다시 s=f로 치환해서 정리하면 -x(-f)가 나와서요.

      삭제
    2. 익명님, 질문하신 내용은 푸리에 변환 교과서에 잘 나오는 거예요. 식 (13) 정의식에서 $\omega$ 대신 $t$를 넣고 정의식을 한 번 비교해보세요.

      삭제
  59. 안녕하세요, 식 (12)의 두 번째 줄에서 세 번째 줄로의 전개가 어떻게 이루어진건가요? 델타 함수가 바뀐 건 보이지만, T가 왜 분모로 가는지 잘 모르겠습니다.

    항상 블로그 잘 보고 있습니다. 감사합니다.

    답글삭제
    답글
    1. 또 같은 식 세 번째 줄에서 네 번째 줄의 전개에서 적분식 안의 지수 함수가 exp(-iwt)에서 e(-imw_0t)로 어떻게 바뀐건가요?

      삭제
    2. 두 질문에 대한 답은 모두 디랙 델타 함수의 성질과 관계있어요. 관련 교재를 한 번 보세요.
      - 디랙 델타 함수 안에 있는 상수는 바깥으로 나오면 역수가 됩니다.
      - $\omega = m \omega_0$라서 바꾸어 쓸 수 있어요.

      삭제
  60. 혹시 푸리에 변환이 사용되어지는 오늘날 기술이 무엇인지 알 수 있을까요?
    간다하게 고등학교 무리시간에 배우는 LC회로와 RFID기술 그리고 마이크와 스피터의 신호변환 과정에서도 푸리에 변환이 사용되는지 궁금합니다

    답글삭제
    답글
    1. 1. 푸리에 변환은 통신 이론의 가장 기본을 이루는 이론입니다. 넓게 보면 푸리에 변환은 모든 통신 변복조 방식에 사용된다고 볼 수 있어요. 특히 OFDM(Orthogonal Frequency-Division Multiplexing)은 푸리에 변환을 적극적으로 쓰고 있어요.

      2. LC 회로를 페이저(phasor)로 해석할 때 푸리에 변환을 사용합니다.
      RFID와는 직접 관련은 없지만, FSK(Frequency-Shift Keying)를 사용한다면 연관이 있어요.
      마이크에서 스피커로 전달되는 신호는 증폭이 중요하기 때문에 푸리에 변환과는 연관이 적어요. 다만 스피커가 우퍼, 중음 스피터, 트위터 등 여러 개라면 필터 역할을 하는 크로스오버(crossover)가 들어가기 때문에 푸리에 변환으로 설명해야 합니다.

      삭제
  61. 작은 블로그를 운영하고 있습니다.
    나름 전문 블로그에 방문자도 안정적으로 모이는 터에 자만하고 나태해져 있었습니다.
    이 정도의 방대한 내용의 내용을 주석과 검증을 모두 달면서 정리하기가 얼마나 어려운 일인지
    뼈저리게 잘 알고 있습니다.
    많은 전문 블로그들을 돌아다녀보았지만 이정도로 존경의 감정이 이는 블로그는 없었습니다.
    앞으로의 제 행보에도 많은 변화가 있을 것 같습니다.
    너무나 감사합니다.

    답글삭제
    답글
    1. Unknown님, 칭찬 감사합니다. ^^ 요즘은 바빠서 제대로 못 하고 있는데 더 분발해야겠네요. Unknown님도 전문 블로그를 계속 유지하시길 바랍니다.

      삭제
  62. (8), (9) 전개에서 세번째 식에, 분모쪽에 i가 하나만 있어야하는데, 적분안팎으로 두개가 잘못 곱해져 있지 않나 싶습니다. i가 하나만 있어야 두번째, 네번째 식과의 등식관계가 성립하는 것 같습니다.

    답글삭제
  63. 여담인데, 주인장님의 공학수학과 전자기학 게시물들의 수준, 분량을 보니, 공대학부생들이 보는 최고 advanced 서적인 kreyszig 의 공업수학은 물론, 물리학과 학부생들의 최고 advanced 서적인 아프켄의 수리물리학 마저도, 다루는 부분의 깊이만 볼땐 아득히 뛰어넘는듯 하네요. 노고에 경의를 표합니다.

    답글삭제
    답글
    1. 오류 지적 정말 감사해요, buer님 으TL 잘 수정했습니다.
      칭찬도 감사합니다. ^^

      삭제
  64. 전파거북이님. 푸리에변환에 대해 생각해보다가 문득 질문이 떠올라서 글을 올립니다.

    푸리에변환은 푸리에급수를 non-periodic signal을 비가산집합 삼각함수들로 표현한 건데, 그렇다면 푸리에 변환을 통해 주파수 영역에서 신호를 해석할 수 있다고 하는 건, 결국 basis인 "삼각함수의 주파수"로서 어떤 non-periodic signal을 바라볼수 있다는 건데요.

    근데 여기서 왜 삼각함수여야만 할까 의문이 들어서요. 혹시 다른 주기함수 basis로도 푸리에변환처럼 특정 함수를 expansion 할 수 있을까요? 스트룸-리우빌 이론을 보면 꼭 사인이 아니더라도 L^2면 고유함수로 expansion 가능하다고 하는데, 예를 들어서 통신 품질을 개선할 때 필요 없는 주파수 영역대를 푸리에변환한 Band pass filter로 날려버리잖아요. 그렇다면 결국 삼각함수의 주파수 영역대를 기준으로 날려버린다는 건데, 이게 귀가 소리의 주파수를 감별하는 게 삼각함수가 기준인 게 선험적으로 그래서 그렇게 날리는 건지, 아니면 수학적으로 아무 고유함수로 expand한 함수를 BPF로 날려도 똑같은 결과가 나오는지 궁금해서요..

    질문이 너무 중구난방이라 죄송합니다.

    답글삭제
    답글
    1. 적분 변환(integral transform)의 핵심(kernel)으로 삼각 함수만 쓸 필요는 없어요. 삼각 함수를 쓰면 푸리에 변환이 되고, 다른 함수를 핵심으로 쓰면 다른 적분 변환이 됩니다.
      하지만 완비성 증명이 되는 핵심을 써야 해요. 푸리에 변환의 완비성은 이미 증명 되었기 때문에, 다른 적분 변환을 증명할 때 시작점으로 많이 써요. 아래 한켈 변환도 참고해 보세요.
      또한 적분 변환은 좌표계와 밀접히 연계되어 있어요. 데카르트 좌표계에서 다른 좌표계로 바꾸면, 멜린 변환(Mellin transform), 베버 변환(Weber transform), 콘토로비치-레베데프 변환(Kontorovich-Lebedev transform) 등을 얻을 수 있어요. 이런 적분 변환의 완비성 증명은 만만하지 않아요.

      https://ghebook.blogspot.com/2013/02/hankel-transform.html

      삭제
    2. 감사합니다. 질문이 하나 더 있습니다. 예를 들어서 어떤 신호 x(t)를 푸리에 변환해서 band pass filter로 특정 주파수대를 날려버리고 새로운 신호 x_f(t)를 얻었다고 가정합니다. 근데 이 x_f(t)는 삼각함수의 주파수를 기준으로 특정 밴드대역 내의 주파수만 살린 건데, 이 x_f(t)가 다른 삼각함수의 다른 주기함수들의 합으로 나타낼 수 있다면, 그 주기함수들의 주파수 영역대에서는 삼각함수에서 날린 고조파가 살아있을 수도 있지 않을까요? 제가 궁금한 점은 삼각함수에서 날린 고조파 영역이 다른 주기함수(basis)의 주파수에 대해서도 동일하게 날아가야 주파수 해석이 의미가 있을텐데 여기에 대한 수학적 정리가 있는지 여쭤보고 싶습니다.

      삭제
    3. 이상적인 필터는 주파수 영역에서 작용하기 때문에, 대역 통과를 시키면 나머지 주파수 성분은 다 0이 됩니다. 그래서 사라진 주파수 성분이 다시 나타나지 않아요.

      삭제
    4. 감사합니다. 다시 보니까 제가 질문을 이상하게 했네요. x_f(t)가 삼각함수가 아닌 다른 주기함수 basis들의 합으로 나타낼 수 있다면, 삼각함수로 부터 구한 페이저에서 특정 RLC 밴드패스필터로 주파수를 날렸을 때, 다른 모든 주기함수 basis의 주파수에 대해 똑같이 주파수가 날아가는지 안 날아가는지 어떻게 알 수 있을까요. x_f(t)는 삼각함수로 표현된 주파수영역에서 특정 주파수를 가진 삼각함수들을 날리고 나온 함수인데 이때 혹시 삼각함수가 아닌 다른 주기함수 함수로 x_f(t)를 표현할 수 있는지, 그렇다면 그 경우에 삼각함수로 표현된 주파수 영역에서 특정 주파수를 가진 삼각함수들을 밴드패스 하면 다른 주기함수로 표현한 함수들도 똑같이 밴드패스되는지 여줘보고 싶습니다.

      삭제
    5. 푸리에 변환해서 주파수 영역에서 입력 신호 $X(\omega)$를 처리하고 있어요. 그래서 입력 함수가 삼각 함수가 아니라도 문제없어요.
      만약 실제 필터를 쓰는 경우라면, 전달 함수 $H(\omega)$도 구할 수 있어요. 따라서 입력과 전달 함수를 서로 곱함으로써 어떤 경우든 출력을 $Y(\omega)$ = $H(\omega) X(\omega)$로 구할 수 있어요.

      삭제
  65. 전파거북이님 안녕하세요. 만학도 입니다.
    디랙 델타 함수 페이지가 삭제된 것 같은데.. 다시 올려주실 수 있으신지요?

    답글삭제
    답글
    1. 만학도님, 정보 감사해요. 잘못된 링크를 고쳤습니다.

      삭제
  66. 너무 좋은 글들 감사드립니다.
    질문이 있는데요, (8)에서 사용한 residue theorem은 "the degree of the denominator of f(z)
    is at least two units higher than the degree of the numerator" 를 가정으로 하는 것으로 알고있는데요,
    (인용 : kreyszig, Advanced engineering mathematics, 10th edition, 727p)
    그런데 (8)에서는 1/z로 분모가 분자보다 한차수만 높은경우인데, residue theorem을 사용할수 있나요?
    또는 제가 무언가 잘못알고 있는건지 궁금합니다.

    답글삭제
    답글
    1. world님, 유수 정리는 $1/z$가 기준입니다. 아래 링크 참고하세요.

      https://ghebook.blogspot.com/2012/08/complex-analysis.html

      삭제
    2. "유수는 복소 함수 f(z)의 특성이 1/z로 변할 때의 계수로 정의한다. "
      저도 이 말에 동의합니다. 그러나 제 질문은

      from +∞ to -∞ integral of f(z) = 2*pi*i*Resf(z) 이 식을 유도할때

      반원의 contour line을 이용해서 하는데, 이 contour line은 x축상에서 +R에서-R 과 반원 두부분으로 나눌수 있습니다.
      전자에서는 R를 무한대로 보내서 " from +∞ to -∞ integral of f(z)" 라고하고,
      후자는 반원의 적분값은 가정에 의해서 0이 됩니다. 이 가정이 무엇이냐하면
      "the degree of the denominator of f(z) is at least two units higher than the degree of the numerator"라고 저 책에 쓰여 있었는데요.

      그러면 f(z)가 "the degree of the denominator of f(z) is at least two units higher than the degree of the numerator" 인경우만 쓸수있지않은가..(예를 들어 1/(1+z^2)) 라고 생각이 드는데
      먼저 읽어주셔서 감사드리고 틀린부분에 대해 지적해주신다면 더욱 감사합니다.

      삭제
    3. 책의 문맥은 잘 모르겠는데요, 통상적인 유수 정리를 써서 [그림 2]와 같은 방향으로 닫힌 적분을 한 결과가 식 (8)입니다. 식 (8)에 과정을 더 추가했으니 확인해보세요.

      삭제
  67. 좋은글 감사드립니다
    관련과목을 수강중 과제의 문제를 이해하지 못하여 혹시나 하는맘에 질문들려요 두가지 영상에 관한 주파수 진폭응답과 위상응답을 이용하여 합성하라는데 아무리 찾아봐도 진폭응답과 위상응답이 영상처리에서 어떤의미이지 모르겠습니다 혹시 어떤 의미일까요.?

    답글삭제
    답글
    1. 영상 분야는 잘 몰라요. 교수님에게 문의하시길...

      삭제
  68. 안녕하세요.
    블로그 수식 작성하실 때 latex를 이용하시는 것 맞나요?
    배운 내용을 블로그에 정리해보려는데 수식 정리를 어떻게 할까 고민하다가 여쭤봅니다.
    감사합니다.

    답글삭제
    답글
    1. 맞습니다, 익명님 ^^
      아래 내용도 참고하세요.

      https://ghebook.blogspot.com/2010/06/latex.html

      삭제
    2. 답변 감사합니다.
      덕분에 다양한 방면으로 도움 많이 받고 있습니다.
      새해 복 많이 받으세요.

      삭제
  69. 이렇게 방대한 지식으로 세상을보면 즐거우시겠어요
    부럽습니다.
    파우스트가 생각나네요 ㅎㅎ

    답글삭제
  70. 질문 있습니다. 수식 (6)에서 우변의 적분은 하기 쉽지 않으니 경로적분을 사용하는 방법으로 넘어가셨는데, 적분변수는 w이므로 i|t-t'|는 상수로 볼 수 있고 그러면 그냥 {e^wi|t-t'|}/i|t-t'|에 -inf 와 inf를 대입해주면 안되나요?

    답글삭제
    답글
    1. 적분값이 계속 진동하기 때문에 실수 영역에서는 적분 불능이 됩니다. 진동하는 적분값을 결정하려면, [그림 2]와 같은 복소 적분이 꼭 필요합니다.

      삭제
    2. 아 왠지 그냥 적분을 때리면 극한깂이 수렴을 안 해서 곤란했었는데, 그런 방식으로 정의해주는군요 감사합니다!

      삭제
  71. 안녕하세요. 덕분에 도움 많이 받았습니다. 푸리에 변환 관련하여 질문이 있는데요.
    ‘단위원’을 검색했을 때 상위 분류 개념 중에 ‘푸리에 해석학’이 있는데 두 개념이 어떤 상관관계가 있는지 궁금합니다.
    단위원이 푸리에 해석학에서 어떻게 쓰이는 건가요?
    위 글 내용과 약간 동떨어진 느낌이 없지 않아 있지만 작성하신 다른 글들을 읽어보니 푸리에 변환에 대해 잘 알고 계신 게 느껴져서요. 답변 기다리겠습니다.

    답글삭제
    답글
    1. 단위 원(unit circle)과 푸리에 해석(Fourier analysis)는 별로 관계가 없는 것 같은데요.
      굳이 관계를 찾자면, 단위 원은 복소 지수 함수를 표현할 때 쓰이고, 이 복소 지수 함수가 푸리에 급수의 기저 함수입니다.

      삭제
  72. https://www.aladin.co.kr/m/mproduct.aspx?ItemId=309060931

    영상처리로 배우는 푸리에 변환.
    추천합니다 ~!!

    답글삭제
  73. 전파거북이님,
    이 글도 보다보니 이해가 가지 않는 부분이 있습니다 ㅠㅠ
    식 (8)에서 (9)로 넘어가는 과정을 잘 모르겠습니다. 식 (8)과 영인자가 어떤 관련이 있게 되는지 조금 더 자세히 설명해주실 수 있으실까요??

    답글삭제
    답글
    1. 적분이 0이라고 해서 피적분 함수가 0일 필요는 없어요. 하지만 식 (9)를 만족하면 피적분 함수도 0으로 나옵니다.

      삭제
  74. 선생님 안녕하세요?
    양의 실수 Delta를 한없이 줄이거나 T를 아주 크게 만들더라도 식 (8)은 언제나 성립한다. 그러면 복소 적분의 영인자(nullity of complex integration)에 의해 피적분 함수인 식 (6)의 우변은 항상 0이 된다.
    ==> 이 문장 자체가 잘 이해가 가지 않습니다. 며칠간 생각을 해 보았는데, 피적분함수를 고정하고 경로를 바꾸는 것이나, Delta나 T가 변하는 것이 마찬가지여서 이렇게 언급하신 것 같은데요,
    여전히 명쾌하게 이해되지 않습니다.
    조금만 더 풀어서 설명해주실 수 있으실까요??

    답글삭제
    답글
    1. 피적분 함수가 0이 아니더라도 특정 적분 구간에서는 적분이 0이 될 수 있어요. 하지만 적분 구간이 계속 바뀌는데도 적분이 0이면 피적분 함수도 0이라는 뜻입니다.

      삭제

욕설이나 스팸글은 삭제될 수 있습니다. [전파거북이]는 선플운동의 아름다운 인터넷을 지지합니다.