2011/02
-
2011.02.25 Selection Sort (선택 정렬)
알고리즘 정렬은 Array를 기반으로 이야기 하도록 하겠다. 정렬에는 상당히 여러가지 방법이 있는데, 선택 정렬은 가장 기초적인 방법이라고 할 수 있다. 첫번째 패스에서는 Array 전체를 검사한 다음, 가장 작은 숫자를 첫번째 Index와 맞바꿔준다. 두번째 패스에서는 첫번째 Index를 제외한 나머지에 대해서 같은 방식으로 가장 작은 숫자를 두번째 Index와 맞바꿔준다. 이런 식으로 배열의 끝까지 검사하게 되면 오름차순의 선택정렬이 완성된다. 내림차순의 정렬을 하고 싶다면, 작은 숫자 대신 큰 숫자를 선택하는 방법을 택하면 된다. 아마도 부등호의 방향만 바꿔주면 될 것으로 본다. 효율성을 조금 더 증가시키기 위해서 몇 가지를 생각해 보자면 각각의 패스에서 자기 자신은 생각할 필요가 없을것이다. 그리..
-
2011.02.25 Visual Studio C++ 2010 Express 다운받아 설치하기
시작 Visual Studio는 설치하고 싶을 때 어둠의 경로를 찾을 필요가 없다. 정말 단순한 몇 가지 절차를 통해서 인터넷을 통해 다운로드 받아 설치하고, Registration KEY를 받아 등록할 수 있다. Visual Studio 2010을 설치하길 원한다면 아래에 소개된 절차를 따라하면 된다. 먼저 Windows Live ID가 필요하다. 이미 Hotmail 계정이나, MSN 메신저 등의 계정이 있다면 상관 없지만 없다면 계정을 생성해야한다. 계정 생성은 http://home.live.com/ 에서 가능하다. Registration KEY를 받으려면 계정이 필요하다. 순서는 상관 없지만 좀 더 스무스하게 진행시키고 싶다면 계정을 미리 만들어 두도록 하자. 프로그램 다운 및 설치 링크: http..
-
2011.02.22 [Continuous-time] Introduce to Fourier Series
Signals and Systems에서의 Fourier Series 이전 포스트에서 Signal을 Decompose하는 방법 중 하나인 Convolution에 대해 다뤄보았다. Convolution은 어떤 Signal을 수많은 Basic Elementary Function들로 나눌 수 있게 만드는 도구가 된다. 여기서 소개하려는 것은 Fourier Series라고 하는 새로운 Decompose Tool이다. Convolution이 Impulse들의 합이었다면, 여기서는 Sinusoid의 합으로 어떤 Signal을 나타내게 될 것이다. 물론 Real Form이 나올 수도 있고, Complex Form이 될 수도 있다. 이러한 발상을 통해 Signal을 Frequency Domain으로 나타낼 수 있는 방법..
-
2011.02.21 [Discrete-time] Unit-sequence Response
유도 Unit-sequence에 대한 Response를 g[n]이라고 잡자. 그려면 다음과 같이 식을 쓸 수 있다. 이미 알다시피 u[n]은 δ[n]의 묶음이라고 볼 수 있다. 식을 통해서는 다음과 같이 나타낼 수 있다. 이제 두개의 식을 서로 묶어보자. 혼동을 막기 위해 u[n]쪽 Summation의 notation m 대신 p를 사용하겠다. 위 식의 괄호를 풀어내고 나서, 보면, δ[p]h[n-m]은 p = 0 일때만 0이 아닌 값을 가질 수 있다. 안쪽의 Summation에서 p는 -∞ 에서 m의 범위를 갖는데, 여기서 m은 바깥쪽 Summation의 범위를 따른다. 생각해보자. 바깥쪽이 m < 0 인 경우라면, 값은 언제나 0이 된다. 따라서 그러한 것들은 범위로 잡을 필요가 없다. 결론적으로 m..
-
2011.02.21 [Discrete-time] Convolution Sum
본론에 앞서 Discrete-time LTI System에서 Impulse Response는 개별적으로 적용된다. 예를 들어 x[n] = δ[n] + δ[n-1] 이라고 한다면, 이 때의 Response y[n]은 x_1[n] = δ[n] 일때의 Response y_1[n] 과 x_2[n] = δ[n-1] 일때의 Response y_2[n] 의 합으로 구성 된다. 즉, y[n] = y_1[n] + y_2[n] 이 된다. 여기서 설명하려는 Convolution 역시 이런 성질을 십분 이용하고 있다. 유도 위와 같은 x[n]과 h[n]이 존재한다고 하자. x[n]은 무수히 많은 Impulse들의 합으로 이루어져 있다. 다만 그 Magnitude가 Cosine함수를 따라가고 있을 뿐이다. 굳이 수학식으로 나타..
-
2011.02.20 [Discrete-time] Impulse Response
개요 Continuous-time에서와 마찬가지로, Discrete-time에서도 Convolution이 존재한다. 또한 여기에서도 Impulse Response를 통해 LTI System의 다른 Input Signal의 Response를 분석할 수 있다. 따라서, 본격적으로 Convolution에 대해 다루기 전에, Discrete-time의 Impulse Response를 먼저 다루도록 하겠다. (Discrete-time에서는 Convolution Sum 이라고 하기도 한다.) Finding Impulse Response Unit-impulse Function δ[n]은 n=0 일때만 크기 1의 Signal을 가지는 녀석이다. Impulse Response에서 어떠한 System에 들어갈 Input ..