제 4 장 이산시간신호와 변환
2/50 1. 서론 이산푸리에 변환 ( discrete Fourier transform; DFT ) – 연속 함수의 표본들에 적용가능 푸리에 변환 아날로그 시스템 이산푸리에 변환 디지털 시스템 – 이산푸리에 변환 푸리에 적분에 대한 근사화 푸리에 변환과 표본화 정리에 대한 관계 이산푸리에 역변환과 표본화된 파형의 복원 표본 신호의 스펙트럼 추정에서 절단의 효과와 이에 기인한 누출, 이를 보정하기위한 데이터 창, 이산상승적분 – 고속 푸리에 변환 (fast Fourier transform; FFT) 이산푸리에 변환을 빠르게 계산하는 알고리즘
3/50 이산신호 – 연속시간의 신호를 표본화 주기, T 의 간격으로 신호를 표본화 한 신호 2. 이산시간신호 여기서 은 각 n 에 해당하는 신호의 값을 나타낸다. 그림 4-1. 연속시간 신호와 그의 이산시간 신호
4/50 표본화된 푸리에 변환을 사용한 이산 푸리에 변환 – 연속 푸리에 변환 – 임펄스 열을 사용한 이산시간 형태의 x(t) 3. 이산 푸리에 변환 여기서 S(t) 는 주기 T 를 가지는 임펄스 열이다. (4-1) (4-2)
5/50 – 표본화된 신호 x s (t) 의 푸리에 변환을 통한 이산푸리에 변환 여기서 x(nt) = x n. (4-3)
6/50 이산 푸리에 변환의 특성 – 실수부와 허수부의 분리를 통한 특성 관찰 x(t) 가 표본점들에서 우함수이면, 즉 x n =x -n 이면, 는 실수 이며 우함수이다. 그 역도 성립된다. x(t) 가 표본점들에서 기함수이면, 즉 x n =-x -n 이면, 는 허수 이며 기함수이다. 그 역도 성립된다. 와 는 켤레복소수 (complex conjugate) 이다. 는 주기 로써 에 대해 주기적임을 알 수 있다. 이 는 다음의 수식과 같다. (4-4)
7/50 이산 푸리에 변환의 계산 – 유한의 합을 사용한 계산 주기적 신호에 대해서는 0 이 아닌 한정된 구간의 표본화 필요 임의의 신호에 대해서는 데이터 창을 사용한 유한구간 한정 여기서 N 은 주기적 신호에 대해서 한 주기 동안의 표본화된 수를 나타내고, 임의의 신호에 대해서는 데이터 창을 사용한 구간에서 표본화된 수를 나타낸다. (4-5)
8/50 – 이산푸리에 변환의 독립적인 값들을 계산하기 위한 공식 N 개의 표본들만 존재 함으로 의 부분들은 독립적 – 에서 까지만 계산 되어야 함 – 이산푸리에 변환의 독립적인 값의 계산 이산푸리에 변환의 특성 (4-6) (4-8) (4-7) (4-9) (4-10)
9/50 이산푸리에 역변환 – 정의 – 이산 푸리에 변환을 이용한 증명 여기서 (4-11) (4-12) (4-13)
10/50 이산푸리에 변환쌍 여기서 과 관련한 주파수는 이며, 과 는 각각 표본의 수와 표본사이의 시간 간격을 의미한다. (4-14) (4-15)
11/50 예제 4-1 – 이산시간 신호 열 {1, 0, 0, 1} 을 DFT 하라. 다음의 이산푸리에 변환 이용 m=0 에 대해 m=1 에 대해 m=2 에 대해 m=3 에 대해
12/50 예제 4-2 – 그림 4-2 에 주어진 이산시간 신호에 대해 DFT 를 구하고 그의 스펙트럼을 구하라. 그림 4-2. 정현파 이산시간 신호
13/50 n =4 에 대한 푸리에 변환 –m=0 에 대하여 –m=1 에 대하여 –m=2 와 m=3 에 대하여
14/50 – 이산주파수 계산 – 스펙트럼의 계산 잡음 주파수 그림 4-3. 이산푸리에 변환 스펙트럼
15/50 와 의 관계 – 푸리에변환 가 존재하는 경우 는 언제든지 존재 하며 이 둘간의 관계는 근사화 관계로 여겨짐으로 이에 대한 정 확성의 근거 필요 적분기호 안의 항은 가 변함에 따라 급격히 커짐으로 T 가 매우 작아져야 하며, 1/T 는 x(t) 의 최고 주파수 보다 2 배 이상이 되어야 함을 표본화 정리가 요구함 4. 푸리에 변환과의 관계
16/50 – 푸리에 역변환을 적용한 증명 임펄스 함수를 적용한 x s (t) x(t) 와 임펄스 열 (unit impulse train) 사용한 x s (t) 여기서 이며 임펄스 열을 타나내고, (4-16) (4-17) (4-18) (4-19)
17/50 식 (4-18) 과 (4-19) 를 사용한 x s (t) 의 계산 x s (t) 에 대한 푸리에 변환 (4-20) (4-21) (4-22)
18/50 – 푸리에 변환과 이순푸리에 변환 사이의 관계 이산 푸리에 변환은 크기가 1/T 로 곱해진 무한 개수의 푸리에 변 환에 대한 중첩 중복에 대하여 의 바깥 구간은 푸리에 변환으로도 복원 될 수 없음 그림 개의 T 값에 대한 이산 푸리에 변환 (a) x(t) 의 푸리에 변환, (b) T=T 1 일 때의 이산 푸리에 변환, (c) T=T 2 (T 2 =2T 1 ) 일 때의 이산 푸리에 변환 (a)(b) (c)
19/50 절단 (truncation) – 실용적 처리를 위하여 무한 신호에 대하여 스펙트럼이 크게 영 향을 받지 않는 범위 내에서 자름 5. 절단 및 스펙트럼 누출 그림 4-5. 절단의 영향 (a) x(t)=2e -t 의 표본들, (b) x(t) 의 진폭 스펙트럼, (c) NT=2[sec] 로 절단했을 때의 진폭 스펙트럼 (a)
20/50 그림 4-5. 절단의 영향 (a) x(t)=2e -t 의 표본들, (b) x(t) 의 진폭 스펙트럼, (c) NT=2[sec] 로 절단했을 때의 진폭 스펙트럼 (b)
21/50 절단의 영향 –x(t) 의 절단 –t = NT 를 적용한 절단된 x(t) 푸리에 변환 여기서 은 에러로써 스펙트럼 파상 (ripple) 로 나타난다. (4-23) (4-24)
22/50 – 그림을 통한 x(t) 의 절단에 대한 영향 분석 절단은 x(t) 에 구형파를 곱한 것과 같음 이는 스펙트럼 영역에서 구형파의 푸리에 변환인 싱크함수 (sinc function) 을 에 상승적분한 결과임 싱크함수의 부엽 (side lobe) 들이 파상을 나타내며 이를 누출 (leakage) 이라고 함 그림 4-6. 시간영역과 주파수 영역에서의 절단의 영향 (a) x(t) 와 그의 진폭 스펙트럼, (b) NT=2 의 크기에 해당하는 구형함수 w(t) 와 그의 스펙트럼, (c) 구형함수 w(t) 가 곱해진 x(t) 와 그의 진폭 스펙트럼 (a)
23/50 그림 4-6. 시간영역과 주파수 영역에서의 절단의 영향 (a) x(t) 와 그의 진폭 스펙트럼, (b) NT=2 의 크기에 해당하는 구형함수 w(t) 와 그의 스펙트럼, (c) 구형함수 w(t) 가 곱해진 x(t) 와 그의 진폭 스펙트럼 (b) (c)
24/50 데이터 창 – 누출의 원인은 급격한 변화를 가지는 구형창 (rectangular window) 으로 절단을 함에 따라 나타나는 원인임 – 이를 감소 시키기 위한 간단한 방법으로 급격한 부분을 부드럽 게 한 창을 데이터 창 (w(t)) 라 함 6. 스펙트럼 누출의 감소를 위한 창 함수의 역할
25/50 창종류창함수창 스펙트럼 함수 구형창 (Rectangular) 바틀렛창 (Bartlett) 해닝창 (Hanning) 해밍창 (Hamming) 파풀리스창 (Papoulis) 블랙맨창 (Blackman) 파젠창 (Parzen) Table 창함수와 그의 스펙트럼
26/50 – 해닝창 (Hanning window) 데이터 창의 대표정인 예 해닝창의 정의 이산 시간에서의 해닝창 (4-25) (4-26)
27/50 – 해닝 창과 구형 창과의 비교 해닝창은 누출을 감소시켜 스펙트럼에 나타나는 파상을 상당히 감소 시킴 그림 4-7. 표본들로부터 계산된 스펙트럼과 창함수의 영향 (a) 창함수가 단순한 구형창일 때 ( 절단의 효과 ), (b) 해닝 창함수를 사용하였을 때의 효과 (a) (b)
28/50 해닝창의 이산 푸리에 변환 –m=-1, 0,1 에 대한 해닝 창의 스펙트럼 값 (4-27) (4-28) 그림 4-8. 해닝창의 이산푸리에 변환
29/50 이산상승적분 – 입력열로 임펄스 응답 ( 시스템의 전달한수 ) 를 상승적분하는 것 – 주파수 영역에서 이산 푸리에 변환들의 곱 시간영역에서 이산상승적분정리 – 연속신호의 상승적분의 경우 의 역변환은 x(t) 와 h(t) 의 상승적분으로 표현됨 – 이산상승적분의 경우 의 역변환은 표본 집합인 x n 과 다 른 표본 집합의 주기적 연장인 h n 의 상승적분으로 나타남 주기적 표본집합 7. 이산상승적분 (4-29)
30/50 시간영역에서의 이산 상승적분 – 이산푸리에 역변환은 주기적 상승적분 (periodic 또는 circular convolution) 이다 시간에서의 이산상승적분 이산푸리에 역변환 공식을 사용한 증명 (4-30) (4-31) (4-32)
31/50 –Xi 와 Hi 를 대체한 후 재배치 이산상승적분 여기서 (4-33) (4-34) (4-35) 그림 4-9. 주기적 상승 적분 (a) 두 표본 집합 x n 과 h n, (b) 주기적인 상승적분을 위한 두 표본집합 x m 과 h n-m (a)(b)
32/50 – 주기적 상승적분의 예 수식 (4-35) 를 적용한 N=4 에 대한 주기적 상승적분 주기적 성질을 이용한 이산상승적분 –h -1 =h 3, h -2 =h 2, and h -3 =h 1 그림 표본집합에 영의 값을 첨가함으로써 얻어진 연속상승적분의 추정 (a) 입력 표본집합 x n, (b) 영이 첨가된 주기적 표본 집합 h n (a)(b)
33/50 예제 4-3 – 다음 두 표본 값들에 대해 통상적인 상승적분을 구하라. 한편, 이들로부터 주기적인 상승적분을 구하고 서로 비교하라. 이산상승적분 주기적 상승적분 0 의 참가를 이용한 이산상승적분으로 부터의 통상적인 상승적분
34/50 주파수영역에서의 이산 상승적분 – 두 개 표본 집합들의 곱의 이산푸리에 변환 주파수 영역에서의 표현 시간영역 상승적분을 이용한 증명 (4-36) (4-37) (4-38)
35/50 고속푸리에 변환 (fast Fourier transform; FFT) – 이산푸리에 변환공식에서 반복되는 계산의 제거를 통해 빠르 게 변환 함 이산푸리에 변환에서의 중복항 – 이산푸리에 변환 지수함수의 주기적 특성으로 인하여 일부 혹은 전체 계산과정이 한번 또는 그 이상 중복 (redundancy) 계산됨 8. 고속푸리에 변환 여기서 m 은 주파수를 나타내는 상수 지수로써 를 나타내는데 사용되며 x n 은 x(t) 의 n 번째 표본이고, N 은 표본의 개수를 나타낸다. (4-39)
36/50 – 지수항의 변하지 않는 항목을 표현한 이산푸리에 변환 지수항의 변하지 않는 항목 – 주기적인 특성을 나타냄 이산푸리에 변환 (4-40) (4-41) 그림 N=8 인 경우 W N 의 주기적 특성
37/50 –N=8 에 대한 이산푸리에 변환 주기적 특성을 이용하기 위한 짝수항과 홀수항의 분해 각 합에 대한 이산푸리에 변환 – 짝수항과 홀수항으로의 분할 여기서 (4-42) (4-43) (4-44) (4-45)
38/50 – 반복성을 이용한 에 대한 이산푸리에 변환 –N 개 표본들에 대한 완전한 이산푸리에 변환 » 각 푸리에 변환은 (N/2) 2 의 곱을 요구 » 모두 2 ⅹ (N/2)2+N=N(N/2+1) 의 곱을 필요 » 원래의 N 2 의 원래 연산양에서 N 으로 연산량 줄임 (4-46) (4-47)
39/50 시간 영역 분해의 고속 푸리에 변환 –N=8 의 예제를 통한 에 대한 고속 푸리에 변환 짝수항과 홀수항의 분리 (4-48) (4-49) (4-50)
40/50 – 짝수항 에 대한 짝수항과 홀수항의 분리 » 최대 분해 항인 에 대한 특성 주기성 (4-51) (4-52) (4-53)
41/50 » 최대 분해 항인 에 대한 특성 주기성 (4-54)
42/50 – 짝수항 에 대한 특성 » 와 의 주기성을 이용 주기성 (4-55)
43/50 – 홀수항 에 대한 특성 주기성 (4-56)
44/50 » 홀수항의 짝수항 ( ) 과 홀수항 ( ) 에 대한 특성 주기성 (4-57) (4-58)
45/50 N=2 에 대한 신호 흐름도 (signal-flow graph) – 흐름은 왼쪽에서 오른쪽으로 나타남 – 선분위의 숫자는 W N 의 멱지수를 나타냄 – 끊어지지 않는 선분은 영의 지수를 나타냄 – 이산푸리에 변환공식으로 3 번 적용 후 함축된 합과 곱 그림 N=2 인 경우의 이산푸리에 변환 또는 고속푸리에 변환을 위한 신호 흐름도
46/50 N=8 에 대한 신호 흐름도 (signal-flow graph) – 신호통로를 추적하여 이산푸리에 변환 합 증명 – 입력표본들에 대하여 홀수항과 짝수항으로 마지막 2 개의 짝이 남을 때 까지 완전 분해 (decomposition) » 정수 값들은 기호를 간략화 하기 위한 표본의 위치 그림 입력 비트 역전의 시간영역분해를 사용한 고속푸리에 변환 ( N=8)
47/50 –N=8 에 대한 완전 분해 (decomposition) 그림 표본들의 분해
48/50 비트 역전 (Bit reversal) –N 의 개수가 큰 경우 완전 분해의 짝이 어려운 경우 사용 – 분해 과정을 N=2 k 인 2 의 멱이 되는데 기초를 둠 –K=3 인 경우의 분해 과정에 예 그림 비트 역전을 보여주는 표본들의 완전분해 ( N=8 의 경우 )
49/50 비트 역전 (Bit reversal) 의 응용 –K 가 1 증가되는 경우 각 지수들을 두 배로 하고 현재 신호도의 옆과 밑에 같은 신호도를 그대로 반복 수 오른쪽 끝에 네 번째 구간 넣음 –K 가 1 감소되는 경우 4 개의 절점과 3 개의 행 (column) 을 같은 위쪽 좌 측 신호도 망을 취하고 지수를 각각 2 로 나눔
50/50 – 복소곱 (Complex multiplication) 의 고속푸리에 변환 하나의 지수로 표현됨으로 K 행의 곱들이 중복 n ≥ N/2 일 때, 이기 때문에 각 행에서 곱의 반은 중복 복소곱들의 수 이산푸리에 변환에서의 복소곱들의 수인 N 2 과 비교 복소곱들의 연산비교 N 이산푸리에 변환고속푸리에 변환 Table 복소곱 연산수의 비교 (4-59) (4-60)