DSP_2
이전 글에서 언급한대로 오늘은 fourier transform의 몇가지 property들을 정리해볼 생각이다.
글을 쓰기에 앞서 우리는 이 퓨리에 변환을 왜 알아야하는지 간단히 언급하고 가겠다.
Wireless Communication System에서 과거에는 신호를 수신할 때 Equalization이라는 원래 signal을 검출하는 기술을 사용했었다. input signal과 channel impulse response를 convolution하여 output을 내었는데 이 모든 과정은 time domain에서 이루어졌었다. 어떠한 신호가 수신되었을때 원래의 신호뿐만 아니라 엄청나게 많은 신호들이 섞여 하나의 신호가 수신되는데, 이것을 송신측에서 보낸 신호를 time domain만을 이용하여 복원하기는 굉장히 어려운 일이다.
예를들어, 송신측에서 1이라는 숫자를 보냈는데, 전송과정에서 잡다한 정보들이 섞여 수신측에서 10이라는 숫자를 받았다고 해보자. 과연 10이라는 숫자를 가지고 아 송신측에서 1이라는 숫자를 보내줬구나라고 판단을 쉽게 할 수 있을까? 조금만 생각해봐도 쉽지 않다라는것을 알 수 있을 것이다.
기술이 발전하면서 OFDM(Orthogonal Frequency Division Multiplexing)이라는 기술을 사용할 수 있게 되었고, 이 기술은 송신측에서 IFFT를 활용하여 freq-domain을 time-domain으로, 수신측에서 FFT를 활용하여 time-domain을 freq-domain으로 바꾸어 정보는 time-domain을 이용하여 보내고 그 외의 곳에서는 freq-domain을 활용하여 작업을 하게 된다.
예시를 들어 보겠다.
1) 신호를 천천히 보내준다 -> 작은 freq만 사용.
2) 약간의 freq 차이를 두고 2번째 신호를 보낸다. -> 다른 freq 사용
위 두 신호는 orthogonal하게 전송하여 "Inference가 없다" 즉, 분리가 가능하다는 이야기다.
이렇게 보낸 신호는 orthogonal하게 freq-domain에서 전송하기 때문에 IFFT block을 거쳐 time-domain으로 전달 후, 수신측에서 FFT를 이용하여 freq-domain으로 변환하게 되면 추출을 쉽게 할 수 있게 된다.
간단히 우리가 왜 fourier transform을 왜 배워야 하는지 살펴보았고, 이제 property에 대해 살펴보자.
위 필기본은 오늘 다룰 내용들에관한 식들이다.
우선 Continuous-time signal에 대해 살펴보자. (시간영역에서의 신호는 비주기 함수이다.)
1. Linearity : z(t) = a*x(t) + b*y(t) <---> Z(w) = a* X(w) + b* Y(w) (위 사진에 식 없음)
2. Time shift : 시간축에서 tau만큼의 delaty는 "시작점"만 다름을 의미한다. w는 각속도로, 원 위에서 움직임을 생각해보았을때, 위 사진의 식의 e^(-jwtau) 부분만큼의 "시작점"의 변화가 생긴다. (오일러공식을 생각해보면 exp함수는 x축이 real, y축이 imag인 원을 떠올릴 수 있는데 이 점을 고려하여 생각해보면 된다.)
정리하면, time delay가 없을때의 퓨리에 변환 결과 값이 time delay가 생길 경우에 그 크기는 같고, 시작점만 다른 결과를 내게 된다.
3. Scaling : time이 커지면, freq가 작아지게 되는점을 생각해보면 time축에서 a배커지면, 주파수축에서 a배작아지고, 크기 또한 a배 작아지게 된다.
4. Convolution : 이전 글에서 convolution은 physically하게 filtering이라고 하였다. 가장 편리한 filtering방법은 추출하고 싶은 부분을 커버할수있는 만큼의 크기로 곱하고 나머지 영역은 0으로 곱하면 그대로 함수가 나오는 것이다.
시간축에서 convolution은 주파수 영역에서 multiply로 작용하게 되는게 특징이다.
반대로 시간축에서 multiply는 주파수축에서 convolution으로 계산되는 특성이있다.
5. Parseval's theorem: 이 식은 시간 축에서의 신호의 에너지를 주파수 축에서의 신호의 에너지로 계산할 수 있다는 의의가 있다. 즉, 주파수 성분들로 신호의 에너지 분석이 가능하다는 특징이 있다.
그 다음은 Discrete-time signal에 관한 내용이다. (여기서는 time domain에서 sampling, freq 영역은 continous할 때를 가정하고있다.)
대체적으로 continuous-time signal들과 특성이 거의 다 똑같다.
continuous를 다룰 때, 시간축에서의 변수를 t, 주파수축에서의 변수를 w를 사용하였는데, discrete를 다룰 때는, 시간축에서의 변수를 n, 주파수 축에서의 변수를 theta를 사용하였다.
1. Linearity : z[n] = a*x[n] + b*y[n] <---> Z(theta) = a* X(theta) + b* Y(theta) (위 사진에 식 없음)
2. Time shift : continuous일때와 마찬가지로 원 위에서의 "시작점"만 달라지게 된다.
3. convolution: continuous일때와 마찬가지로 conv <-> multiply의 관계인 특성이 있다.
4. Periodicity: 정말 중요한 특성인데, time 영역을 sampling하는 순간, 주파수 영역은 주기가 2pi로 끊임없이 반복되는 특성이 나타나게 된다. 정말 중요해서 조만간 관련 내용의 글을 쓸 예정이다.
마무리하기전에,
x[n] = cos(theta_0 *n + pi_0)라는 식을 fourer transform 해보겠다.
여담)
뭔가 머리에 든것을 꺼내어 명료하게 설명하는게 힘들다는것을 블로그를 시작하면서 알게 되었다. ㅠㅡㅠ
다음 글에서는 Specific Signal들과 그 신호들의 transform 된것을 정리할 예정이다.
+ 생각보다 글 쓰는게 시간이 오래 걸려서 원래 계획했던 하루 1글은 힘들지도 모르겠다 라는 생각이 들었다. (아무래도 학기중이다보니)
그래도 최대한 쓰려고 노력할 생각이다. 파이팅