권찡's 공학이야기

공학에서 Fourier Series,Transform 본문

mathematics/engineering math

공학에서 Fourier Series,Transform

권찡 2019. 3. 31. 15:50

공학에서 푸리에 급수, 적분, 변환이 어떻게 적용되는지 알아봅시다.

 

간단하게 이전에 한 내용을 리뷰해봅시다.

 

편미분 방정식의 해가 푸리에 급수로 표현되고, 이런 푸리에 급수는 아래의 식을 가진다고 했죠

 

각각의 계수는

 

였습니다.

 

 

세부적으로 언급한 것은 링크달은 곳에서도 이미 설명했습니다.

 

급수를 변환으로 바꾸는 것은 오일러 공식을 통해서 변환했습니다.

 

 

이 식을 이용해서

 

위의 푸리에 급수를 지수함수로 표현하면

 

 

 

이런식으로 바뀌었고,  푸리에 적분과 같이 뮤로 고친후 구간확장을 하게 되면

 

 

 

되었습니다.

 

 

 

딱 여기까지는 수학적 도구로써 설명입니다.

 

 

 

이제 공학에서 갖는 물리적 의미를 부여 해봅시다.

 

나중에 기계공학에 대해서 정리할때도 나오겠지만,  진동학,열전달 등등에서도 푸리에 변환이 이용되고, 전자공학에서는 신호의 분석, 시간영역과 주파수 영역의 시점 변환 등등의 하나의 수학적 툴로 많이 사용됩니다.

 

 

바로 이전에 우리는 수학에서 말하는 space에서 기저라는 것을 배웠습니다.  이때 함수공간의 부분공간중에 cos함수와 sin함수를 기저로 같는 space가 존재합니다.

이 공간이 바로 자연현상에서 볼수있는 형태의 공간입니다.  자연계에서 무한히 발산하는 것은 없고, 시간이 무한으로 간다거나 할때 크기나 power가 결국에 발산하지 않는 것을 표현하는 기저는 삼각함수입니다.

 

 

특히 전자공학에서는 푸리에 급수나 변환은 시간영역에서 표현된 함수를 주파수영역으로 고치는데 많이 사용됩니다.

 

시간영역의 함수의 특징에 따라서 주파수 영역의 함수가 가지는 특성에 따라서 몇가지 분류해봅시다.

 

 

CTFS , CTFT ,DTFS ,DTFT

 

컴퓨터로 푸리에 변환하기 위한

DFT,FFT

 

 

제가 공학을 정리하면서 여러번 언급했던 내용이 신호는 삼각함수의 합의 꼴로 표현하는 것이 가능하다 였습니다.

 

심지어 rect함수 역시 많은 삼각함수를 합치는 것(깁스 현상)으로 표현할수 있다고 했죠. 

 

통신에서 정리했던 것중에 그림을 좀 따오면

 

 

 

 

이런식으로 각기 다른 주파수와 위상을 가지는 삼각함수의 합 형태로 표현이 가능하다는 것을 말합니다.

 

기본적으로 시간과 주파수의 개념은 당연히 알고 있을 것이라고 생각됩니다. 때문에 이 설명을 스킵할께요.

 

 

수학에서 푸리에 급수는 아래의 형태를 가집니다.

 

 

 

 

 

이때 x는 시간 t이고 , Cn은 주파수 영역에서의 에너지 값에 해당합니다.

 

가령 아래의 그림을 보면

 

 

이렇게 변환시키기 위해서 하는 것이죠

 

유형을 나눈 만큼 나눠서 차례차례 해봅시다.

 

 

 

 

 

시간영역에서 주기함수 ---> CTFS(continuous time fourier series)

 

시간 영역에서 존재하는 신호함수는 기저인 삼각함수의 합으로 표현 가능하다는 개념에서

 

 

로 표현이 가능합니다. 이때 F0는 신호를 분해 했을때 가장 낮은 주파수를 나타냅니다. 여러개의 삼각함수가 주기를 갖게 되려면, 가장 기본이 되는 주파수 F0의 정수배에 해당하는 주파수를 가진 것들의 합이 시간영역에서 주기함수가 됩니다.

이때 시간 함수는 T를 주기로 갖는 함수입니다.

 

이것을 오일러 공식을 통해서 식을 바꾸면

 

 

 

 

가 됩니다.

 

죽 기저가 exp함수가 되고, 그 앞의 Ck가 계수 값들이 되는 것입니다. 영어로 coefficient라고 합니다.

잘보면 시간함수는 실수만 존재하는 함수인데,  그것을 표현하는 기저가 복소수입니다. 때문에 Ck역시 복소수가 되어야지만 시간함수를 표현할수 있습니다.

 

Ck를 구하기 위해서는 space에서 기본적인 기저들의 내적의 성질을 이용해야 합니다.

 

함수의 내적에 대해서는 앞서 여러번 설명했으니 다시 하진 않겠습니다.

 

복소지수함수를 기저로 갖는 것은 그것의 켤레가 직교가 됩니다.

 

 

 

함수의 직교 즉, 내적에 대해서는 space에 대해서 정리할때도 언급했습니다. 

 

아래의 관계 였죠

 

 

 

우리가 지금 건드리고 있는 함수는 주기함수입니다. 따라서 한주기에 대해서 적분을 할시 0이 되는 orthogonal한 특징을 이용해서 Ck를 구합니다.  간단히 유도 해보죠

 

 

 

 

 

 

계수에 관해서 정리를 하게 되면

 

 

가 됩니다.  

 

즉 한주기안에서 직교성질을 이용해서 계수 값을 구해낼수 있습니다. 즉 주기함수의 가장 낮은 주파수를 기준으로 정수배에 해당하는 값들만  스펙트럼을 가집니다.

 

 

 

 

 

정리를 하면 시간영역에서 주기함수는 주파수 영역에서 이산적인 line 스펙트럼을 가진다 로 정리할수 있겠네요.

 

기본적은 주파수의 정수배에 해당하는 주파수에서만 값이 존재합니다.

 

이것이 CTFS 입니다.  주기함수에 대해서 적용되는 것이죠.

 

개념적으로는 음수를 가지는 주파수는 존재하지 않지만, 계수의Ck가 복소수이기 때문에 수학적으로 표시되는 것 뿐 입니다.

 

 

예를 2가지 정도 들어봅시다.  시간 영역에서 삼각함수를 예로 들어보죠

 

먼저 코사인 함수는 2ㅠ를 주기로 갖는 함수입니다.

 

 

이 함수를 CTFS를 적용시켜서 주파수 스펙트럼을 구해봅시다.

 

기본적인 주파수가 3Hz인것을 알수있습니다.

 

계수를 구하는 식을 이용하게 되면

 

 

 

 

 

 

 

이것을 스펙트럼을 그리게 되면 삼각함수의 주파수에 값이 존재하고,  대칭성을 가지고 음의 주파수에도 존재하게 되죠

 

 

 

자 이번에는 개념을 조금 확장시켜봅시다.  일반적으로 주기함수는 자연현상에서 보기 드물죠.. 대부분의 현상은 비주기함수입니다.

 

 

즉 위 CTFS 식에서 주기를 무한대로 보내는 것으로 비주기 함수에 대한 푸리에 변환을 구할수있습니다.

 

그에 따른 주파수 스펙트럼은 이산적인 스펙트럼에서 연속적인 스펙트럼으로 변하게 되는 것이죠

 

 

 

 

 

 

유도과정을 간략하게 설명하면

 

 

 

 

 

 

 

이 푸리에 계수 값을 CTFS의 시간 함수식에 넣게되면

 

 

 

 

이렇게 되면 우리가 알고 있는 기본적인 푸리에 변환식이 됩니다. 

 

비교해볼까요????

 

수학에서 푸리에 변환

 

 

공학에서 푸리에 변환

 

 

수학에서 뮤로 정리한 것이 각주파수 에 대한 것인것이었습니다.

 

 

근데 보면 조금 다른것이 있습니다.

 

수학에서는 뮤와 각주파수의 부호가 조금 다릅니다.

 

 

 

나중에 FFT에서 설명할 내용이지만 미리 설명을 하면,  중요하게 여기는것이 다른 것입니다.

 

기계공학 파트에서 나중에 정리할때도 나올 내용이지만,  기존의 푸리에는 진동에 대해서 정리할때 이런 변환을 만들어 냈습니다. 

그리고, 이 변환이 주파수를 해석하는데에도 용이한것 같아서 나중에 이용한 것입니다.

 

 

기존의 수학적 푸리에 변환은 운동량등의 값에 의한 변환식이고, 전자공학에서는 주파수 를 중요하게 여긴것이 차이입니다.

즉, 보는 관점이 조금 달라서 생기는 식의 차이일뿐입니다. 

 

 

 

 

위의 내용까지는 시간함수가 연속적인 함수일때 푸리에 급수와 변환이었습니다.

 

정리하면,

 

시간함수가 주기함수라면, 주파수 스펙트럼은 이산함수,

시간함수가 비주기함수라면, 주파수 스펙트럼은 연속함수

 

 

이런 푸리에 변환이 존재하기 위한 조건이 있는데, 디리클레조건 이라는 내용입니다. (Dirichlet condition)

 

푸리에 급수가 존재하기 위한 필요충분 조건을 말하는데

모든경우에 있어서

1.  함수는 유한개의 유한 불연속점을 제외하고 연속이어야 한다.

2.  유한 개의 최대와 최소를 가져야 한다.

 

입니다. 이 것이 만족되어야만, 푸리에 급수나 변환이 가능합니다.

 

 

 

 

이번에는 이산 함수에 대한 푸리에 급수와 변환을 다뤄봅시다.

 

지금까지 제가 포스팅한 공학수학에서는 이산함수에 대해서 다루적이 없긴 하지만 , 통신 에서 샘플링에 대해서 다루면서 조금 보여드린적이 있습니다.

 

이산 함수는 간단합니다.  연속적인 시간함수에서 어떠한 주기를 가지고 그값을 취하는 것입니다.

 

예를 들면

 

  cos (2ㅠ2 t )의 2Hz의 주파수를 가지는 연속적인 함수 를  구간내에서 일정한 간격마다 값을 취하는 것입니다.

 

나이퀴스트 샘플링 이론 이라고 있는데 주파수의 2배 이상으로 값을 취해야만 나중에 이산함수를 연속 신호로 다시 바꿀수 있습니다.

 

5번 취한다고 생각해보면

 

 

 

 

이런식으로 취하게 되는 것입니다. 

 

연속적인 함수에서 이산적인 함수로 바꾸게 되면 표시하는 것을 조금 다른식으로 해야 겠네요 헷깔리지 않게

 

위의 이산 함수를 아래의 식으로 쓰겠습니다.

 

 

변수를 t 에서 n으로 바꿨으니 축의 값을 조금 바꿔야 겠네요

 

 

 

 

이렇게 되면  이제 부터 이산 함수에 대한 주기, 비주기 함수로 나눠서 위의 연속적인 함수에 대해 푸리에 급수,변환을 한것의 과정을 반복할수있습니다.

 

 

이산적인 삼각함수에서 뭐가 주기함수이고, 비주기 함수인지 구분할수있어야 겠죠

 

 

이산적인 삼각함수는 주파수가 유리수일때만  주기함수가 되는 성질을 가지고 있습니다.

 

 

 

 

즉 주기 함수는 아래의 주기 함수 성질을 가진다고 할수있습니다.

 

 

이렇게 정의된 n은 정수값만을 가지는 것이죠

 

 

 

즉 위 내용을 정리하면 이산 주기함수의 경우 푸리에 급수로 표현하면 N개의 주파수 성분만 포함된다는 것을 의미하고,

 

더 쉽게 얘기하면 이산 주기함수의 space에서 기저의 갯수가 N개로 제한된다는 의미입니다.

 

 

때문에 이산적 주기함수의 푸리에 급수는 연속적인 경우와 조금 다르게 됩니다.

 

 

 

연속 함수에 대한 기저는 기저의 갯수가 무한개 였지만, 이산 함수는 N개만 존재하기 때문이죠, 위에서 말한 반복성에 의해서도

 

설명이 가능합니다.

 

 

즉 N번째가 될때마다 기저도 반복됩니다.

 

 

그렇다면 이제 푸리에 급수의 계수를 구해봅시다. 이전과 동일하게 양변에 내적을 취합니다.

 

마찬가지로 k=l 이 같아지거나 혹은 N씩의 주기를 가지게 되면 직교성질에 의해 아래 식이 성립합니다.

 

 

따라서

 

계수는

 

 

 

 

 

 

이것을 동일하게 비주기 함수에 대한 것으로 바꾸기 위해서 기본 주기 N을 무한대로 하는 것으로 구할수 있습니다.

 

 

과정이 기니깐 생략할께요,  연속 비주기함수처럼 하면 됩니다

 

그렇게 되면

 

 

가 됩니다.

 

 

종합적으로 정리를 하고 다음장에서 DFT ,FFT를 다뤄봅시다.

 

 

 

시간과 주파수에 관해서는 상대성이 존재하며,

 

한쪽에서 주기이면 , 이산

비주기 이면, 연속

 

즉  변환하면서 아래의 관계를 가집니다.

 

 

 

즉 시간 영역에서 이산 주기 함수의 경우 변환하게 되면  , 주기적인 이산함수의 스펙트럼을 가지고

시간영역에서 이산 비주기 함수라면,  연속적인 주기함수가 됩니다.

 

 

 

 

 

실제 이런 푸리에 변환을 손으로 계산하는 것은 매우 힘든 일이겠죠. 엄청난 양의 데이터를 손으로 직접 계산한다는 것은 굉장히 힘들고 무리입니다.

 

그렇다면 컴퓨터를 통해서 계산하여야 하는데, 컴퓨터는 신호가 이산적이어야만 처리가 가능합니다.

 

즉 DTFT를 사용하면 될것 같지만 위의 그림에서 보는 것과 같이 비주기적인 이산함수를 푸리에 변환하면 연속 주기 스펙트럼이 나타납니다.

 

이런 연속적 신호는 정보량이 굉장히 많기 때문에 오래 걸리고 효율도 좋지 못합니다.

 

때문에 DFT란 시간영역의 이산 함수를 주파수 영역의 이산 함수로 변환하는 것을 말하고, 디지털 장치에서 쓰기 위한 푸리에 변환의 한 종류입니다.

 

FFT는 특정 알고리즘을 도입해서 계산속도를 빠르게 하는 것입니다.

 

이 내용은 디지털신호처리나 알고리즘에 해당하므로 여기서는 다루지 않겠습니다.