REMI Lab강의 노트

Signals and Systems L07

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

정리

  • 수열의 스펙트럼은 DTFT X(Ω)=∑n=−∞∞x[n] e−jΩnX(\Omega)=\sum_{n=-\infty}^{\infty}x[n]\,e^{-j\Omega n}이고 2π2\pi마다 되풀이된다. 연속 주파수와는 Ω=ωTs=2πf/fs\Omega=\omega T_s=2\pi f/f_s로 이어진다.
  • ejΩne^{j\Omega n}은 샘플마다 Ω\Omega씩 도는 회전이고, Ω\Omega는 그 회전 속도(rad/sample)이다. 이산시간 정현파는 Ω/2π\Omega/2\pi가 유리수일 때만 주기적이고, Ω\Omega와 2π−Ω2\pi-\Omega는 같은 코사인 샘플을 만든다. 가장 빠른 진동은 Ω=π\Omega=\pi, 곧 f=fs/2f=f_s/2이다.
  • DFT는 입력과 회전 ej2πkn/Ne^{j2\pi kn/N}의 내적 X[k]=∑n=0N−1x[n] e−j2πkn/NX[k]=\sum_{n=0}^{N-1}x[n]\,e^{-j2\pi kn/N}이다. bin kk는 fk=k fs/Nf_k=k\,f_s/N에 해당하고, 입력이 실수이면 X[N−k]=X[k]‾X[N-k]=\overline{X[k]}이다.
  • DFT 행렬 WW의 서로 다른 행은 직교하므로 W−1=W‾/NW^{-1}=\overline W/N이고, 역변환은 x[n]=1N∑k=0N−1X[k] ej2πkn/Nx[n]=\frac{1}{N}\sum_{k=0}^{N-1}X[k]\,e^{j2\pi kn/N}이다.
  • 샘플링은 스펙트럼을 fsf_s마다 되풀이하고 1/Ts1/T_s배 한다: S(f)=1Ts∑ℓX(f−ℓfs)S(f)=\frac{1}{T_s}\sum_\ell X(f-\ell f_s). ∣f∣<f0|f|<f_0로 대역이 제한되고 fs>2f0f_s>2f_0이면 replica가 닿지 않는다. fs<2f0f_s<2f_0이면 replica가 겹쳐 aliasing이 생긴다.
  • 주파수 간격 Δf=fs/N=1/Tobs\Delta f=f_s/N=1/T_{\mathrm{obs}}는 관측 시간이 정한다. DFT의 곱은 원형 컨볼루션이므로, 선형 컨볼루션을 얻으려면 N≥L1+L2−1N\ge L_1+L_2-1로 0을 붙인다.

개념 확인

다음 문장이 참인지 거짓인지 고르라. "x=[1,  j,  −1,  −j]\mathbf x=[1,\;j,\;-1,\;-j](N=4N=4)이면 ∣X[1]∣=∣X[3]∣|X[1]|=|X[3]|이다."

  1. 참
  2. 거짓
풀이

답 거짓

  • 참 켤레 대칭 ∣X[N−k]∣=∣X[k]∣|X[N-k]|=|X[k]|는 실수 입력에서만 성립한다. 이 입력은 복소수이다.

x[n]=jn=ej2π⋅1⋅n/4x[n]=j^n=e^{j2\pi\cdot1\cdot n/4}은 bin 1의 회전 하나이다. 그래서 X=[0,  4,  0,  0]\mathbf X=[0,\;4,\;0,\;0]이고 ∣X[1]∣=4|X[1]|=4, ∣X[3]∣=0|X[3]|=0이다.

주기적인 수열과 그 주기가 바르게 짝지어진 것을 모두 고르라.

  1. (가) cos⁡(0.5n)\cos(0.5n), 주기 4π4\pi
  2. (나) cos⁡(3πn/7)\cos(3\pi n/7), 주기 14
  3. (다) cos⁡(πn/4)\cos(\pi n/4), 주기 8
  4. (라) cos⁡(3πn/7)\cos(3\pi n/7), 주기 7
풀이

답 (나) cos⁡(3πn/7)\cos(3\pi n/7), 주기 14, (다) cos⁡(πn/4)\cos(\pi n/4), 주기 8

  • (가) nn은 정수라 4π4\pi 뒤의 샘플이 없다. Ω/2π=1/(4π)\Omega/2\pi=1/(4\pi)가 무리수라 주기적이지 않다.
  • (라) Ω/2π=3/14\Omega/2\pi=3/14이다. 주기는 기약분수의 분모 14이다. 7샘플 동안에는 3π3\pi만 돌아 제자리에 오지 않는다.

x[n+N]=x[n]x[n+N]=x[n]이려면 ΩN\Omega N이 2π2\pi의 정수배여야 한다. Ω/2π\Omega/2\pi를 기약분수 m/Nm/N으로 쓸 수 있을 때만 주기적이고, 주기는 분모 NN이다. cos⁡(3πn/7)\cos(3\pi n/7)은 3/143/14, cos⁡(πn/4)\cos(\pi n/4)는 1/81/8이다. cos⁡(0.5n)\cos(0.5n)은 1/(4π)1/(4\pi)가 무리수라 주기가 없다.

x=[1,  1,  −1,  −1]\mathbf x=[1,\;1,\;-1,\;-1](N=4N=4)의 X[1]X[1]을 고르라.

  1. (가) 0.5−j0.50.5-j0.5
  2. (나) 00
  3. (다) 2−j22-j2
  4. (라) 2+j22+j2
풀이

답 (다) 2−j22-j2

  • (가) 1/N1/N은 역변환에만 붙는다. 이 장의 X[k]X[k]는 NN으로 나누지 않은 값이다.
  • (나) X[0]X[0]과 X[2]X[2]가 0이다. 행 1의 원소는 1,−j,−1,j1,-j,-1,j이다.
  • (라) 지수를 ++로 계산하면 켤레가 나온다. 순변환은 회전의 켤레 e−j2πkn/Ne^{-j2\pi kn/N}을 곱한다. 이 값은 X[3]X[3]이다.

W4W_4의 행 1은 [1,  −j,  −1,  j][1,\;-j,\;-1,\;j]이다. X[1]=1+(−j)+(−1)(−1)+(−1)(j)=2−j2X[1]=1+(-j)+(-1)(-1)+(-1)(j)=2-j2이다. 입력이 실수라 X[3]=X[1]‾=2+j2X[3]=\overline{X[1]}=2+j2이고, X[0]=X[2]=0X[0]=X[2]=0이다.

10 Hz와 10.5 Hz 복소 톤이 섞인 신호를 fs=100f_s=100 Hz로 N=50N=50개 모았더니 스펙트럼에 피크가 하나만 보였다. 두 피크로 가르려면 어떻게 해야 하는지 고르라.

  1. (가) N=50N=50을 두고 fsf_s를 200 Hz로 올린다.
  2. (나) 같은 fsf_s로 10배 길게 관측해 N=500N=500개를 모은다.
  3. (다) 관측 시간 0.5 s를 두고 fsf_s를 200 Hz로 올린다(N=100N=100).
  4. (라) 제로 패딩해 DFT 길이를 16N16N으로 늘린다.
풀이

답 (나) 같은 fsf_s로 10배 길게 관측해 N=500N=500개를 모은다.

  • (가) 관측 시간이 0.25 s로 줄어 곡선이 오히려 넓어진다.
  • (다) 1/Tobs1/T_{\mathrm{obs}}는 2 Hz 그대로이고, 볼 수 있는 최대 주파수 fs/2f_s/2만 커진다.
  • (라) 점은 촘촘해지지만 곡선의 폭을 정하는 1/Tobs=21/T_{\mathrm{obs}}=2 Hz는 그대로라 피크가 하나로 남는다.

피크의 폭은 관측 시간 Tobs=N/fsT_{\mathrm{obs}}=N/f_s가 정하고, 사각 윈도우의 메인로브 폭은 2/Tobs2/T_{\mathrm{obs}}이다. N=50N=50이면 Tobs=0.5T_{\mathrm{obs}}=0.5 s라 메인로브 폭이 4 Hz로, 0.5 Hz 떨어진 두 톤이 한 피크에 묻힌다. N=500N=500이면 Tobs=5T_{\mathrm{obs}}=5 s, 메인로브 폭 0.4 Hz가 간격 0.5 Hz보다 좁아 피크가 둘로 갈린다. 제로 패딩과 fsf_s는 관측 시간을 늘리지 않는다.

대역이 ∣f∣<4|f|<4 kHz로 제한된 신호를 fs=10f_s=10 kHz로 샘플링했다. 샘플의 스펙트럼으로 옳은 것을 고르라.

  1. (가) replica가 5 kHz마다 선다.
  2. (나) 원래 스펙트럼이 10 kHz마다 되풀이되고, 각 replica는 1/Ts=1041/T_s=10^4 s⁻¹배가 되며, replica끼리 겹치지 않는다.
  3. (다) replica가 겹쳐 aliasing이 생긴다.
  4. (라) 각 replica의 높이는 1/(2πTs)1/(2\pi T_s)배이다.
풀이

답 (나) 원래 스펙트럼이 10 kHz마다 되풀이되고, 각 replica는 1/Ts=1041/T_s=10^4 s⁻¹배가 되며, replica끼리 겹치지 않는다.

  • (가) replica 간격은 fsf_s이다. fs/2=5f_s/2=5 kHz는 보이는 범위의 끝이다.
  • (다) replica가 겹치려면 fs<2×4=8f_s<2\times4=8 kHz여야 한다. 10 kHz는 이보다 크다.
  • (라) 각주파수 ω\omega로 계산해도 12π⋅2πTs\frac{1}{2\pi}\cdot\frac{2\pi}{T_s}에서 2π2\pi가 지워져 1/Ts1/T_s이다.

S(f)=1Ts∑ℓX(f−ℓfs)S(f)=\frac{1}{T_s}\sum_\ell X(f-\ell f_s)이다. replica 간격은 fs=10f_s=10 kHz, 높이 배율은 1/Ts=fs=1041/T_s=f_s=10^4 s⁻¹이다. 원본의 끝 4 kHz와 첫 replica의 시작 10−4=610-4=6 kHz 사이에 틈이 있다. replica가 서로 닿지 않으려면 fs>8f_s>8 kHz이면 된다.

x(t)=cos⁡(2π⋅700t+π/6)x(t)=\cos(2\pi\cdot700t+\pi/6)을 fs=1000f_s=1000 Hz로 샘플링했다. x[n]=cos⁡(Ωn+ϕ)x[n]=\cos(\Omega n+\phi), 0≤Ω≤π0\le\Omega\le\pi 꼴로 쓸 때의 Ω\Omega와 ϕ\phi를 고르라.

  1. (가) Ω=0.4π\Omega=0.4\pi, ϕ=π/6\phi=\pi/6
  2. (나) Ω=0.6π\Omega=0.6\pi, ϕ=−π/6\phi=-\pi/6
  3. (다) Ω=0.6π\Omega=0.6\pi, ϕ=π/6\phi=\pi/6
  4. (라) Ω=1.4π\Omega=1.4\pi, ϕ=π/6\phi=\pi/6
풀이

답 (나) Ω=0.6π\Omega=0.6\pi, ϕ=−π/6\phi=-\pi/6

  • (가) 1.4π1.4\pi에서 π\pi를 뺀 값이다. 같은 수열을 주는 것은 2π2\pi의 정수배 차이뿐이다.
  • (다) 코사인이 짝함수라 Ω\Omega의 부호를 바꿀 때 위상의 부호도 함께 바뀐다.
  • (라) 같은 수열이지만 0≤Ω≤π0\le\Omega\le\pi 밖이다. 2π2\pi를 빼서 범위 안으로 옮긴다.

Ω=2π⋅700/1000=1.4π\Omega=2\pi\cdot700/1000=1.4\pi이고 2π2\pi를 빼면 −0.6π-0.6\pi이다. cos⁡(−0.6πn+π/6)=cos⁡(0.6πn−π/6)\cos(-0.6\pi n+\pi/6)=\cos(0.6\pi n-\pi/6)이므로 Ω=0.6π\Omega=0.6\pi, ϕ=−π/6\phi=-\pi/6이다. 샘플은 300 Hz 코사인과 같고 위상의 부호가 바뀐다.

fs=200f_s=200 Hz, N=40N=40으로 진폭 1인 130 Hz 코사인을 DFT 했다. 선이 서는 bin 번호 kk(0≤k≤N−10\le k\le N-1)를 모두 고르라.

  1. (가) 6
  2. (나) 14
  3. (다) 34
  4. (라) 26
풀이

답 (나) 14, (라) 26

  • (가) fs/2=100f_s/2=100 Hz를 빼서 30 Hz로 본 것이다. 같은 샘플을 주는 주파수는 fsf_s의 정수배만큼 다르므로 130−200=−70130-200=-70 Hz이다.
  • (다) −30-30 Hz로 본 것이다. ±130\pm130 Hz는 ∓70\mp70 Hz로 aliasing된다.

코사인은 +130+130 Hz와 −130-130 Hz 두 회전의 합이다. +130+130 Hz는 −70-70 Hz, 곧 bin 26에 서고, −130-130 Hz는 +70+70 Hz, 곧 bin 14에 선다. 주파수 간격은 Δf=200/40=5\Delta f=200/40=5 Hz이고, 각 bin의 크기는 N/2=20N/2=20이다. 같은 주파수의 복소 톤 ej2π⋅130te^{j2\pi\cdot130t}이었다면 bin 26 한 곳에만 섰을 것이다.

그림의 '행 k'와 '행 j'를 서로 다르게 골라, 켤레를 붙인 곱의 합이 0이 되게 하라.

풀이

답 서로 다른 두 행이면 어느 쌍이든 된다(예: 행 1과 행 2).

서로 다른 두 행은 모두 직교하므로 어느 쌍을 골라도 된다. 둘째 행을 mm이라 하면 곱 W[k,n]W[m,n]‾=e−j2π(k−m)n/NW[k,n]\overline{W[m,n]}=e^{-j2\pi(k-m)n/N}은 NN샘플 동안 ∣k−m∣|k-m|바퀴를 돌며 원 위에 고르게 놓이고, 이어 더하면 원점으로 돌아온다.

켤레를 빼고 곱하는 상태이다. 서로 다른 두 행을 골라 곱의 합이 N=8N=8이 되게 하라.

풀이

답 행 1과 7, 행 2와 6, 행 3과 5 가운데 한 쌍.

켤레 없이 곱하면 W[k,n]W[m,n]=e−j2π(k+m)n/NW[k,n]W[m,n]=e^{-j2\pi(k+m)n/N}이다. k+mk+m이 NN의 배수이면 곱이 모두 1이라 합이 NN이다. N=8N=8에서는 (1, 7), (2, 6), (3, 5) 쌍이다. 다른 행인데 합이 0이 아니므로, 복소 회전의 직교를 재려면 켤레가 필요하다.

입력 cos⁡(2πmn/8)\cos(2\pi mn/8)의 bin 번호 mm을 바꿔 X[3]=4X[3]=4가 되게 하라.

풀이

답 m = 3 또는 m = 5.

진폭 1인 코사인은 bin mm과 N−mN-m에 N/2=4N/2=4씩 나뉜다. X[3]=4X[3]=4가 되려면 m=3m=3이거나 N−m=3N-m=3, 곧 m=5m=5이다. mm이 정수가 아니면 곱이 닫히지 않고 값이 모든 bin으로 번진다.

함께 읽을 자료