REMI Lab강의 노트

Signals and Systems L07

이산시간 시스템의 푸리에 해석

컴퓨터는 연속 신호를 그대로 다루지 못하고, 일정한 간격으로 잰 샘플의 수열을 다룬다. 샘플링하면 스펙트럼은 어떻게 바뀌고, 샘플 N개로 주파수 성분은 어떻게 계산할까? 이 장에서 주파수는 샘플 하나마다 도는 각, 곧 회전 속도이다. 주파수 성분은 신호와 회전의 내적으로 잰다.

이산시간 푸리에 변환

샘플로 바꾼 수열에도 스펙트럼이 있을까? 있다면 원래 연속 신호의 스펙트럼과 어떻게 이어질까?

연속 신호 xc(t)x_c(t)를 TsT_s초마다 재면 수열 x[n]=xc(nTs)x[n]=x_c(nT_s)를 얻는다. nn은 샘플 번호이고 정수이다. TsT_s는 2장에서 정의한 샘플 간격이고 fs=1/Tsf_s=1/T_s는 샘플링 주파수(Hz)이다.

6장의 푸리에 변환은 e−jωte^{-j\omega t}를 곱해 시간 tt로 적분했다. 수열에는 정수 nn만 있으므로 적분 대신 합을 쓴다. 이것이 이산시간 푸리에 변환(discrete-time Fourier transform, DTFT)이다.

X(Ω)=∑n=−∞∞x[n] e−jΩnX(\Omega)=\sum_{n=-\infty}^{\infty}x[n]\,e^{-j\Omega n}

Ω\Omega는 샘플 하나마다 도는 각이라 단위가 rad/sample이다. 연속 신호의 각주파수 ω=2πf\omega=2\pi f(rad/s)와는 Ω=ωTs=2πf/fs\Omega=\omega T_s=2\pi f/f_s로 이어진다. 샘플 하나 사이에 TsT_s초가 지나므로, 그동안 도는 각이 ωTs\omega T_s이다.

nn이 정수이므로 e−j(Ω+2π)n=e−jΩne^{-j(\Omega+2\pi)n}=e^{-j\Omega n}이고, X(Ω)X(\Omega)는 2π2\pi마다 같은 값을 되풀이한다. 이 주기성이 표기에 드러나도록 X(ejΩ)X(e^{j\Omega})로 쓰는 교재도 많다.

DTFT는 두 과정을 차례로 거친 결과로 볼 수 있다. 6장의 푸리에 변환으로 연속 신호의 스펙트럼 Xc(f)X_c(f)를 구하고, 샘플링이 그 스펙트럼을 fsf_s마다 되풀이하고 1/Ts1/T_s배 한다.

X(Ω)∣Ω=2πf/fs=1Ts∑ℓ=−∞∞Xc(f−ℓfs)X(\Omega)\Big|_{\Omega=2\pi f/f_s}=\frac{1}{T_s}\sum_{\ell=-\infty}^{\infty}X_c(f-\ell f_s)

ℓ\ell은 replica의 번호(정수)이다. 이 식이 왜 성립하는지는 샘플링 절에서 유도한다.

예를 들어 xc(t)=e−∣t∣x_c(t)=e^{-|t|}이면 Xc(f)=2/(1+(2πf)2)X_c(f)=2/(1+(2\pi f)^2)이고 피크는 2이다. Ts=1/3T_s=1/3 s(fs=3f_s=3 Hz)로 샘플링하면 같은 피크가 0, ±3\pm3, ±6\pm6 Hz, …에 서고 높이는 1/Ts=31/T_s=3배가 되어 약 6.06이다(이웃 replica의 꼬리가 조금 더해진다). Ω 축에서는 f=±3f=\pm3 Hz가 Ω=2πf/fs=±2π\Omega=2\pi f/f_s=\pm2\pi에 놓인다.

replica를 하나씩 놓아 그 합이 DTFT가 되는 과정은 샘플링 절의 그림이 ℓ\ell 하나씩 보인다. 샘플링 전후의 스펙트럼을 같은 높이로 비교하려면 TsT_s를 곱해 그린다. 이렇게 그렸다면 축 이름에 Ts⋅XT_s\cdot X라고 밝혀 둔다.

DTFT는 연속 변수 Ω\Omega의 함수라서, 컴퓨터로는 그중 점 몇 개만 계산할 수 있다. 그 NN개 점을 계산하는 것이 'DFT: 회전과의 내적' 절의 DFT이다.