2017, 28(5),1001–1019
신호 처리를 위한 R활용서†
ᄇ ᅡ ᆨ노진1
1단국대학교 응용통계학과 저
ᆸ수 2017년 7월 13일, 수정 2017년 9월 5일, 게재확정 2017년 9월 7일
요 약 ᄉ
ᅵᆫ호 처리는전자 공학의 한 분야로서 시계열 분석과 매우 깊은연관성을갖고 있다. 신호 처리를 ᄋ
ᅱ해 현재는상용프로그램이 널리 사용되고 있는데 적지 않은비용을지불해야 한다. 반면 통계 분석 ᄋ
ᅳᆯ위해서는 R이라는무상 프로그램이 널리 사용되고 있다. 본연구에서는 신호 처리를위한 R-프로 ᄀ
ᅳ램활용서를만들어 보았다. 본연구의 구성은 신호 처리에 대한 이론을간단히 정리하고 적당한 예 ᄌ
ᅦ들을택하여 R을활용하여 구현하는방식으로 되어있다. 각 단원에 서술된이론을 읽고 해당하는 ᄀ
ᅳ림과 R 코드를제8장에서 찾아서 구현해보는방법으로 본활용서를사용할 수 있겠다. 연구의 순서 ᄂ
ᅳᆫ (1). 푸리에 변환과 역변환(2). 스펙트럼분석 (3). 비모수적 주기도와 모수적 주기도 (4). 필터 ᄋ
ᅴ 구성과 소음처리 순서로 되어있다. 본활용서는 신호 처리를완벽하게 이해하기에는 분명 부족하 ᄌ
ᅵ만 처음시작하는단계로서 도움이됐으면 한다.
ᄌ
ᅮ요용어: R-패키지, 시계열, 푸리에 변환, 필터링.
1. 서론 ᄒ
ᅧᆫ재까지 신호 처리를 위해 matlab이라는 가장 선호되는 소프트웨어가 사용되고 있다. 문제는 matlab을사용하는데 많은비용을지불해야 한다는것이다. 그런데 무료인 R을사용하여 신호 처리가 ᄀ
ᅡ능하게 되었다. 이미 많은연구자들이 R을사용하여 신호 처리를수행하고 있으나 잘 정리된 문서를 ᄎ
ᅡᆽ기 어렵다. R을사용하여 신호 처리를처음수행하는데 도움이 되기를 원하는마음에서 짧은활용서 르
ᆯ만들었다.
ᄉ
ᅵᆫ호 (signal)이라 함은 심전도, 강우량, 주식가격 등시간의 흐름에 따라 나타나는 물리적 양을의미 ᄒ
ᅡᆫ다. 우선 시간이 연속적인가 혹은이산적인가에 따라 연속시간 신호 혹은이산 시간 신호로 나눈다.
ᄐ ᅩ
ᆼ계학 연구자에게 익숙한 시계열은 이산 시간 신호에 해당한다고 하겠다. 본 활용서에서도 이산시간 ᄉ
ᅵᆫ호를다루는방법만 소개하려고 한다.
ᄉ
ᅵᆫ호는 ‘주파수 (frequency)’와 ‘주기 (period)’라는 특성치를갖는데 주파수는단위시간당 신호의 변 ᄒ
ᅪ를의미하고 주기는 신호가 반복되는데 걸리는시간이라고 간단히 정의할 수 있다. 통계학에서의 시 ᄀ
ᅨ열 분석이 주기에 집중한다면 공학에서는주파수에관심이 더 많다고 하겠다. 그 이유 중하나는주기 ᄋ
ᅴ 정의역이 무한대인 반면 주파수의 정의역은 0에서 1 혹은 -1/2에서 1/2로 유한하여 공학적으로 다루 ᄀ
ᅵ 가능하다는것이다. 그래서 시간 영역에서 신호가 주어지면 주파수 영역으로 변환을하여 분석 및 공 ᄒ
ᅡᆨ적 작용을가한 후 다시 시간 영역으로 역변환하는과정을수행하게된다. 이 과정에서 시계열 분석
† 이 연구는 2017학년도 단국대학교 대학연구비 지원으로 연구되었음.
1 (16890) 경기도 용인시 기흥구 죽전동단국대학교, 응용통계학과, 교수. E-mail: [email protected]
ᄀ
ᅪ 공유되는내용이 많이 있다. 국내에서도 Ha (1999), Kim 등 (2015)에 의해 공간상에서의 분석 그리 ᄀ
ᅩ 기상에관한 분석들이 각각 시도되었다.
ᄇ
ᅩᆫ 활용서의 서술 방식은 신호를 처리하는 방법에 대한 간단한 기술을 하고 관련된 예제를 택하여 R을 이용하여 풀어내는 방법을 제시하였다. 각 절에 서술된 이론은 읽고 해당하는 그림과 R 코드를 ᄌ
ᅦ8장에서 찾아서 구현해보는 방법으로 본활용서를 사용할 수 있겠다. 논문의 구성은 (1). 푸리에 변 화
ᆫ과 역변환 (2). 스펙트럼분석 (3). 비모수적 주기도와 모수적 주기도 (4). 필터의 구성과 소음처리 순 ᄉ
ᅥ로 되어있다.
ᄉ
ᅵᆫ호 처리에 대한 일반적인 내용은 Hayes (1996), Lee (2013), Oppenheim과 Schafer (1999) 그리고 Proakis와 Manolakis (1996)를참조하였다. 신호에 대한 시계열적 설명은 Bloomfield (1976)와 Priest- ley (1981)을참조하였다. 웹사이트 http://www.wikipedia.com, http://www.dsprelated.com 그리 ᄀ
ᅩ http://www.gwinst.com의 내용도 참조하였다.
2. 이산 푸리에 변환과 역변환 ᄋ
ᅵ산 시간 신호 x[n]이 n = 0, . . . N − 1과 같은유한 시간에 대하여 주어지면,
X[k] =
N −1
X
n=0
x[n] · e−j2πkn/N 르
ᆯ DFT (discrete fourier transform;이산 푸리에 변환)라 정의하고 IDFT (inverse DFT; 이산 푸리에 ᄋ
ᅧ
ᆨ변환)를 통해 본래 신호
x[n] = 1 N
N −1
X
k=0
X[k] · ej2πkn/N ᄀ
ᅡ 얻어진다.
ᄋ
ᅩ일러의 공식에 의해
X[k] =
N −1
X
n=0
x[n] · {cos(−2πkn/N ) + j sin(−2πkn/N )},
x[n] = 1 N
N −1
X
k=0
X[k] · {cos(2πkn/N ) + j sin(2πkn/N )}
ᄅ
ᅩ 표시할 수도 있다. 통계학에서 다루는 시계열은 DFT의 대상으로 이해될 수 있다. X[k]는 복소수 혀
ᆼ태를 띠고 있어서 실수부분과 허수부분으로 나누어 그림을그릴 수 있고 |X[k]|를 이용하여 한 번에 ᄀ
ᅳ리기도 한다. 특별히 크기 (magnitude)의 제곱 (|X[k]|2)을평균전력 (average power) 혹은전력이 ᄅ
ᅡ고 하고 모든 k에 대하여 전개한 것을전력 스펙트럼 (power spectrum)이라고 한다.
ᄋ
ᅨ제로서 이산 시간 신호 x[n] = 5 sin(2πn/10) + 5 sin(2πn/25), n = 0, . . . , 49에 대하여 전력 스 페
ᆨ트럼을 구하면 k=2와 5에서 강한 막대기를 볼 수 있고 이는 신호의 주파수 1/25 (=2/50)와 1/10 (=5/50)에 해당한다 (Figure 8.1).
ᄋ
ᅵ제 x[n]에 백색잡음 (ϵ[n])을더한 y[n] = x[n] + ϵ[n]의 DFT인 Y [k]를 fft함수를이용하여 구하고 ᄀ
ᅵᆯ이가 3인 이동평균의 DFT인 H[k]를 Y [k]에 곱한 후 역변환(IDFT)을 ifft함수를이용하여 백색잡음 으
ᆯ감소시킨 신호를구하는과정을 Figure 8.2에 그려보았다. 이동평균의 DFT는 k가 15에서 35근방 ᄋ
ᅴ Y [k]의 값을제한하는 효과를내며 역변환을 취하면 위아래로 크게 존재하는 신호값 들의 안쪽으로
혀
ᆼ성되는이동평균값들을 얻게 되는데 어느 정도 잡음이 해소되어 Figure 8.2의 원신호와 비슷한 신호 르
ᆯ얻을수 있다.
3. Z-변환 ᄌ
ᅮ어진 순열 {. . . , x[−1], x[0], x[1], . . .}을간단한 함수 형식으로 바꾸어주는변환으로 z-변환(trans- formation)이 아래와 같이 정의된다.
X(z) =
∞
X
n=−∞
x[n]z−n.
ᄋ
ᅨ를 들어, 순열 {x[n] = an; n = 0, 1, 2, . . .} 혹은 x[n] = anu(n), u(n) = 1, n = 0, 1, 2, . . .에 대한 z-변 화
ᆫ은
X(z) =
∞
X
n=0
anu(n)z−n=
∞
X
n=0
(az−1)n ᄀ
ᅡ 되고 만일 |az−1| < 1이라면
X(z) = 1
1 − az−1 = z
z − a, |z| > |a|
ᄅ
ᅩ 표현된다. 즉, 시간 축에서 표현되던 순열이 이차원 (혹은, 복소수 차원)에서 하나의 함수로 표현된 ᄃ
ᅡ. 이때, |z| > |a|를수렴구역 (region of convergence)이라고 한다. 때때로 z = ejΩ로 놓고 z-변환을 ᄃ
ᅡ시 쓰면
X(Ω) =
∞
X
n=−∞
x[n]e−jΩn ᄀ
ᅡ 되고 이 급수가 수렴하면 이를푸리에 변환 (fourier transform)이라고 한다. 푸리에 변환은 z-변환 ᄋ
ᅦ서 z가 반지름이 1인 원이라고 할 때와 동일하다. 위의 예제에서 만일 |a| < 1이면 (즉, 수렴구역이 ᄇ
ᅡᆫ지름이 1인 원이 포함한다면) 푸리에 변환이 존재한다. 또한, 오일러의 공식을이용하면
X(Ω) =
∞
X
n=−∞
x[n](cos(Ωn) − j sin(Ωn))
ᄅ
ᅡ고 표현할 수 있고 적분을이용하여
x[n] = 1 2π
Z
2π
X(Ω)ejΩndΩ 으
ᆯ 역으로 구할 수 있다. 위의 과정을 이산 시간 푸리에 변환 (discrete time fourier transform;
DTFT)과 역 이산 시간 푸리에 변환 (inverse discrete time fourier transform; IDTF)이라고 한 ᄃ
ᅡ.
4. 전력 스펙트럼과 피리오도그램 ᄉ
ᅵᆫ호처리에서는 신호 x[n]와 켤레복소수 신호 x∗[n]를이용하여 자기상관함수 (autocorrelation func- tion)를 (i) 결정적 (deterministic) 신호에 대하여는
rx(k) =
∞
X
n=−∞
x(n + k)x∗(n) =
∞
X
n=−∞
x[n]x∗(n − k)