6장. 고속푸리에 변환 6.1 개 요 6.2 시간솎음 알고리즘 6.3 주파수솎음 알고리즘 6.4 IDFT 알고리즘

Slides:



Advertisements
Similar presentations
10-7 부동소수점 (Floating-Point) 계산  컴퓨터에서 숫자를 표기하는 방법  가수 (Fraction) : 부호화된 고정소수점 숫자 지수 (Exponent) : 소수점의 위치를 표시 ( 예 )10 진수 를 표기하면 Fraction Exponent.
Advertisements

42 강 신호 변환 방식 5 과목 데이터통신 강사 이 민 욱. 42 강 신호 변환 방식  신호 변환 방식 1. 데이터와 신호 변환기 (1) 신호 변환기 ① Modem : 디지털 데이터 (Data) 를 아날로그 신호 (Signal) 로 변환시키는 장비로 PSTN( 공중.
중원대학교 의료공학과 신 진솔 (WED). 영상의 밝기 & 명암 조절 영상의 감마보정 영상의 잡음 감소.
Signal Processing & Systems ( 신호 및 시스템 ) 연속 주기 신호의 주파수 해석 Prof. Jae Young Choi ( 최재영 교수 ) Signal Processing & Systems (2014 Fall) Prof. Jae Young Choi.
제 4 장 이산시간신호와 변환. 2/50 1. 서론  이산푸리에 변환 ( discrete Fourier transform; DFT ) – 연속 함수의 표본들에 적용가능 푸리에 변환  아날로그 시스템 이산푸리에 변환  디지털 시스템 – 이산푸리에 변환 푸리에 적분에.
재료수치해석 HW # 박재혁.
담당교수 : 이봉운 아날로그 및 디지털 통신이론 ’12-1 학기 담당교수 : 이봉운
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
제8장 이산 푸리에 변환.
제 3 장의 구성 3.1 푸리에 변환 (Fourier transform) 3.2 푸리에 변환의 성질
제2장 주파수 영역에서의 모델링.
                                  7장 D/A 변환기 D/A Converter? D/A Converter 원리 Bit 수와 최대범위 및 해상도와의 관계.
신호처리 실험 (Signal Processing Lab)
원자 스펙트럼 1조 서우석 김도현 김종태.
디지털 신호처리
통신시스템 공학 < 강의 자료 > 제 4 장 : AM (DSB-SC,DSB-LC)
#include <stdio.h> int main(void) { float radius; // 원의 반지름
수치해석 6장 예제문제 환경공학과 천대길.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
Pspice를 이용한 회로설계 기초이론 및 실습 4
10장 랜덤 디지털 신호처리 1.
디지털 신호처리
실험 3 - 비선형 연산 증폭기 회로와 능동 필터 전자전기컴퓨터공학부 방 기 영.
디지털영상처리 및 실습 대구보건대학 방사선과.
2장. 데이터의 표현 Lecture #2.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Error Detection and Correction
멀티미디어 시스템 (아날로그 이미지,신호를 디지털로 변환 방법) 이름 : 김대진 학번 :
Modulo 연산.
5장. 이산푸리에변환 5.1 연속신호의 푸리에변환 5.2 이산신호의 푸리에변환 5.3 이산푸리에변환
FFT using MATLAB 3조 개미핥기 박창원 유현우.
2007 1학기 11 프로젝트 기초 실습.
상관함수 correlation function
CH 4. 확률변수와 확률분포 4.1 확률 확률실험 (Random Experiment, 시행, Trial) : 결과를 확률적으로 예측 가능, 똑 같은 조건에서 반복 근원사상 (Elementary Event, e) : 시행 때 마다 나타날 수 있는 결과 표본공간.
근사값과 반올림 오차 절단 오차와 Taylor 급수 오차의 전파
담당교수 : 이봉운 아날로그 및 디지털 통신이론 ’12-1 학기 담당교수 : 이봉운
일차방정식의 풀이 일차방정식의 풀이 순서 ① 괄호가 있으면 괄호를 먼저 푼다.
제4장 제어 시스템의 성능.
Ⅲ. 이 차 방 정 식 1. 이차방정식과 그 풀이 2. 근 의 공 식.
프로그래밍 개요
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
Quiz #7 다음 수들을 합병 정렬과 퀵 정렬 알고리즘을 이용하여 오름 차순으로 정렬하였을 때, 데이터 이동 회수를 각각 구하라. 여러분은 정렬 과정을 단계별로 보이면서 이동 회수를 추적해야 한다. 단, 퀵 정렬시에 피봇으로 배열의 왼쪽 첫 번째 원소를 선택한다. 5.
(independent variable)
담당교수 : 이봉운 공학 수학 (10-2 학기) 담당교수 : 이봉운
4 장 신호(Signals) 4.1 아날로그와 디지털(Analog and Digital)
논리회로 설계 및 실험 5주차.
2장. 변수와 타입.
8장. spss statistics 20의 데이터 변환
Frequency distributions and Graphic presentation of data
3 장 주파수 영역 해석: 이산 Fourier 급수 및 Fourier 변환.
Chapter 3 Frequency Domain Analysis
1. 2진 시스템.
Fitting / Matrix / Excel
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
아날로그-디지털 부호화(1/7) 아날로그 정보를 디지털 신호로 변환 아날로그-디지털 부호화 과정.
Ch.6 주파수 응답과 시스템개념 김하린 오희재 이연재
차세대통신시스템 3. 진폭 변조 (2) April 11 – 12, 2011 Yongwon Lee
미분방정식.
Excel 일차 강사 : 박영민.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
3. 반/전 가산기, 반/전 감산기 제작 컴퓨터 구조 실습 안내서.
쉽게 배우는 알고리즘 2장. 점화식과 점근적 복잡도 분석
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
상관계수.
Automatic Music Transcription
수치해석 ch3 환경공학과 김지숙.
아날로그 신호를 디지털 신호로 변환하는 A/D 변환기 A/D 변환 시 고려하여 할 샘플링 주파수 D/A 변환기
6 객체.
Presentation transcript:

6장. 고속푸리에 변환 6.1 개 요 6.2 시간솎음 알고리즘 6.3 주파수솎음 알고리즘 6.4 IDFT 알고리즘 6.5 FFT 응용 Circuits & Systems Lab.

6.1 개 요 고속푸리에변환(Fast Fourier transform : FFT) 6.1 개 요 고속푸리에변환(Fast Fourier transform : FFT)  이산푸리에 변환(DFT)을 고속으로 산출하기 위한 하나의 알고리즘.  시간솎음(시간영역 분해), 주파솎음(주파수영역분해)알고리즘  이산푸리에변환을 집적 계산할 경우, X(k)복소계산 → N·N=N2회의 곱셈과 N(N-1)회의 덧셈이 필요. N이 커질수록 계산량은 비약적으로 증가.  고속 푸리에 변환을 이용해 계산량을 산출하면 → (N log2N)/2회의 곱셈과 2log2N회의 덧셈이 필요, 계산시간은 곱셈의 회수에 좌우되므로 N의 값이 클수록 고속푸리에 변환의 필요성을 알수 있다. Circuits & Systems Lab.

6.1 개 요  데이터 수 N = 2r(r는 양의 정수)이라 할 때 DFT 직접계산과 FFT의 곱셈회수 비교 6.1 개 요  데이터 수 N = 2r(r는 양의 정수)이라 할 때 DFT 직접계산과 FFT의 곱셈회수 비교 Circuits & Systems Lab.

6.2 시간솎음 알고리즘  N점 DFT X(k)를 구할때, 수열 x(n)을 n이 짝수인 것과 여기서, N = 2r  식 (6.1)의 우변을 n이 짝수인 항과 홀수인 항으로 분류하면  식 (6.3)에서 우변의 제1,2항에 속하는 x(n)개수는 동일하며 n이 짝수일 때는 n = 2r, 홀수일 때는 n = 2r + 1로 표시. Circuits & Systems Lab.

6.2 시간솎음 알고리즘  X(k)는 N점 DFT이지만, G(k)와 H(k)는 모두 N/2점 DFT이다. 그런데 WN/2rk는 k에 관하여 주기가 N/2인 주기함수, 그 이유는  G(k)와 H(k)를 구할 때 k=0, 1,…, (N/2) - 1에 대한 값만 산출하면, k = N/2, (N/2)+1, … , N-1에 대한 값은 자동적으로 알게 된다. ∴ 계산량은 현저히 감소함. Circuits & Systems Lab.

6.2 시간솎음 알고리즘  식 (6.5)를 이용해 N=8일 때 X(k)를 구하는 과정의 흐름선도 Circuits & Systems Lab.

6.2 시간솎음 알고리즘  g(r) = x(2r)이기 때문에 g(2 l) = x (4 l), g (2 l + 1) = x (4 l + 2)로 된다. 그림 6.2 N/2점 FFT로 분해한 선도 Circuits & Systems Lab.

6.2 시간솎음 알고리즘  WN/2 =WN2의 관계가 성립함. 그림 6.3 그림6.2를 그림 6.1에 대입한 선도 Circuits & Systems Lab.

6.2 시간솎음 알고리즘 그림 6.4 2점 FFT  N = 8일 경우의 계산량.  좌단에서 우단에 도착하는데 3단계 계산과정을 거침.  각 과정마다 WNk를 곱하는 회수는 8로 됨. ∴ N의 일반적인 값에 대해 좌단에서 우단에 도착하는 데는 log2 N단계를 거쳐야 하며 각 단계마다 WNk 를 곱하는회수는 N Circuits & Systems Lab. 그림 6.5 8점 FFT를 산출하는 과정

6.2 시간솎음 알고리즘 1. 역비트순 (bit-reversed order) 역비트순의 과정  DFT를 산출하는 과정에서 입력수열의 나열은 순서대로 되어 있지 않기 때문에 입력순서를 얻어내기 위한 방법. 역비트순의 과정 step 1 : x(n)의 n을 2진수로 표시한다. step 2 : bit의 순서를 역으로 한다. step 3 : 다시 10진수로 표시한다. 예) N = 8인 경우 8 = 2k 이므로 k = 3 [bit] Circuits & Systems Lab.

6.2 시간솎음 알고리즘 2. 나비선도 ∴  N이 주어졌을 때 DFT를 시간솎음 FFT로 산출할 경우, 각 계산단계에 따른 p , q , r 값의 결정 ⇒ 식 (6.6), (6.7)등 그림 6.7 기본적인 나비흐름 선도 그림 6.8 간소화된 나비흐름 선도  나비계산 (butterfly computation) ⇒ 여기서 ∴ Circuits & Systems Lab.

6.2 시간솎음 알고리즘  일반적으로 각 단계마다 N/2개의 나비가 존재. 그림 6.9 나비계산을 이용한 FFT 흐름 선도  일반적으로 각 단계마다 N/2개의 나비가 존재.  하나의 나비에는 1회의 곱셈이 필요하므로 그림 6.9에 의한 DFT 산출에 필요한 곱셈의 총 회수는 (N/2) log2 N  DFT 산출에 필요한 총 곱셈회수 Nlog2N과 비교하면 곱셈회수가 절반으로 감소함. Circuits & Systems Lab.

6.3 주파수솎음 알고리즘 주파수솎음(decimation-in-frequency) FFT 알고리즘  출력 DFT X(k)를 순차적으로 산출할 수 있음.  DFT X(k)를 순차적으로 작은 부수열로 분할하는 것에 기초.  주파수라는 용어는 X(k)의 k가 주파수를 나타내기 때문임.  N = 2r 이라 하고, 입력수열 x(n)을 순서대로 위 절반과 아래 절반으로 나누면 (식 6.12) ⇒ 우변 제2항을 변수치환하면 Circuits & Systems Lab.

6.3 주파수솎음 알고리즘 ⇒ 여기서, WN(N/2)k = (-1)k 이므로 식 (6.13)은  K = 0, 1, … , N-1이므로 식 (6.14)에서 X(k)를 k가 짝수인 것과 홀수인 것으로 나누어 쓰면 ⇒ WN2rn = WN/2rn의 관계에 의해 Circuits & Systems Lab.

6.3 주파수솎음 알고리즘  주파수솎음에 의하여 8점 DFT를 2개의 4점 DFT로 분할할 경우, 식 (6.16) 및 식 (6.17)에 따라 DFT X(k)를 구하기 위한 DFT 흐름선도 그림 6.10 2개의 4점 FFT 흐름 선도  N점 DFT를 두 개의 N/2점 DFT로 분할함. Circuits & Systems Lab.

6.3 주파수솎음 알고리즘  N/2점 DFT를 2개의 N/4점 DFT로 분할할 수가 있다. ⇒ 여기에서 의 관계가 성립함. 그림 6.11 N/4점 FFT로 분할한 FFT 흐름 선도 ⇒ 여기에서 의 관계가 성립함. Circuits & Systems Lab.

6.3 주파수솎음 알고리즘  N = 2r의 경우 주파수솎음 알고리즘에 필요한 곱셈 ⇒ (N/2)log2N,  N/4점 DFT를 N/8점 DFT로 분할 그림 6.12 N=8의 주파수솎음 FFT  N = 2r의 경우 주파수솎음 알고리즘에 필요한 곱셈 ⇒ (N/2)log2N, 가산회수 ⇒ Nlog2N ∴ 총 계산량은 시간솎음의 경우와 동일함. 시간솎음 FFT 선도와 주파수솎음 FFT 선도는 전치(transpose)의 관계임. Circuits & Systems Lab.

6.4 IDFT 알고리즘  IFFT(Inverse Fast Fourier Transform) 알고리즘 ⇒ IDFT에 대한 x(n)의 산출 알고리즘.  DFT와 IDFT(Inverse DFT)의 식 Circuits & Systems Lab. 그림 6.13 주파수솎음 IFFT 알고리즘

6.5 기타 FFT 알고리즘  FFT보다 더욱 고속인 WFT(Winograd Fourier Transform) 알고리즘. PFF(Prime Factor FFT) 알고리즘. ⇒ 데이터수가 서로 소(素)인 수의 곱으로 되어 있을 때 적용하는 알고리즘. ⇒ 승산회수가 종래 2를 기수로 하는 FFT보다 약 20∼30[%]로 줄어듬.  LSI 기술의 발달에 의해 승산의 연산이 가감산의 연산과 거의 같은 속도로 실행가능한 디지털 시그날 프로세서(DSP)가 개발.  DSP의 특징을 고려한 FFT 알고리즘 출시.  삼각함수대신 구형파 함수를 이용한 Walsh 변환. Circuits & Systems Lab.

6.6 FFT 응용 1. 스펙트럼분석 1) 저역통과 필터를 통과시킨다. 2) A/D 변환  어떠한 신호에 포함되어 있는 주파수성분의 분포를 구하는 것. 1) 저역통과 필터를 통과시킨다.  신호의 최고주파수를 맞추어 놓기 위하여 먼저 저역통과 필터를 통과 ⇒ 신호처리에서 대상이 되는 신호의 최고주파수를 사전에 정확히 아는 것은 상당히 어렵기 때문임. ∴ 저역통과 필터를 이용하여 필요한 정보가 없어지지 않을 정도로 대역제한을 하여 최고주파수를 강제적으로 결정함. 2) A/D 변환  컴퓨터에 신호를 입력하기 위하여 아날로그 신호를 디지털 신호로 변환. Circuits & Systems Lab.

6.6 FFT 응용 3) 평균값(신호의 직류성분)을 0으로 데이터 변환한다. 4) 트랜드 제거  디지털 신호의 데이터 수가 N일 경우 평균치를 구함.  각 표본치로부터 이 값을 뺀 값을 새로운 데이터로 설정함. 4) 트랜드 제거  트랜드(trend) : 해석할 데이터 길이보다 긴 주기를 가진 성분.  트랜드를 포함하게 되면 신호는 시간과 함께 변화함. Circuits & Systems Lab.

6.6 FFT 응용  10[Hz]에서 스펙트럼의 최대치인 0[dB]이 되지 않고 1[Hz] 부근에 상당한 피크치가 존재함. Circuits & Systems Lab.

6.6 FFT 응용 ∴ FFT에 의한 스펙트럼분석을 하기 전에 이것을 제거해야함.  Hanning 창함수를 이용해도 정확한 스펙트럼은 얻어지지 않는다. ⇒ 트랜드에 의해 스펙트럼에 커다란 오차가 발생하기 때문 ∴ FFT에 의한 스펙트럼분석을 하기 전에 이것을 제거해야함. Circuits & Systems Lab.

6.6 FFT 응용  일반적으로 트랜드를 제거하기 위해서 최소자승법을 많이 이용함.  표본화 간격 t[sec]로 A/D 변환한 N개의 데이터  데이터에 포함된 트랜드 trn이 x의 R차 다항식으로 표현.  최소자승법 ⇒ x(n)과 trn의 차(差)의 자승이 최소가 되도록 계수 ar를 구하는 것.  계수 ar 를 구하기 위해서 Circuits & Systems Lab.

6.6 FFT 응용 선형 트랜드 성분을 제거하는 경우의 예 ⇒ 식 (6.21)에서 차수 R = 1의 경우 그림 6.15 최소자승법에 의한 트랜드 제거 ⇒ 식 (6.21)에서 차수 R = 1의 경우 ⇒ By 식 (6.23)으로부터 계수 a0 , a1 을 구하면 Circuits & Systems Lab.

6.6 FFT 응용 그림 6.15(b) ⇒ 최소자승법에서 선형 트랜드 성분을 추정한 것. 그림 6.15 최소자승법에 의한 트랜드 제거 그림 6.15(b) ⇒ 최소자승법에서 선형 트랜드 성분을 추정한 것. ⇒ 계수 a0는 절편을, a1은 직선의 기울기를 나타냄. 그림 6.15(c) ⇒ 원 신호로부터 선형 트랜드를 제거한 것. Circuits & Systems Lab.

6.6 FFT 응용 5) 창함수 적용 6) FFT 처리  추출한 신호에 불연속점이발생할 가능성이 있을 경우에는 창함수를 이용하여 처리한다. 6) FFT 처리  전(前) 처리가 끝난 신호에 대하여 FFT에 의한 주파수분석이 가능.  샘플수 N을 2r으로 만들기 위해 나머지 부분에 0을 첨가시켜 보다 정확한 스펙트럼을 얻음. 예) N = 100인 경우 0을 28개 채워 샘플수를 128개로 함. Circuits & Systems Lab.

6.6 FFT 응용 그림 6.16 뇌파 스펙트럼 ① 성인이 안정하고 있을 때 뇌파의 스펙트럼.(그림 6.16) ② 0.1~30[Hz]의 대역통과 필터를 통과후, T=5[ms]의 표본화 간격으로 A/D변환 ③ FFT 처리의 샘플수는 256개(1.28[sec])로 함. ④ 뇌파는 불규칙 신호이므로 1.28[sec]의 파워스펙트럼을 구하여 50회 반복, 파워스펙트럼의 가산평균을 구함. ⑤ FFT의 해석시간은 1.28[sec]이므로 파워스펙트럼은 약 0.78[Hz] 간격마다 선스펙트럼이 나온다. ⑥ 안정 상태의 뇌파는10[Hz] 부근의 대역에서 가장 큰 값을 갖는다. Circuits & Systems Lab.

6.6 FFT 응용 2. 자기상관함수 계산 상호상관함수(cross correlation) 상관함수 자기상관함수(auto correlation)  상호상관함수  두 신호의 유사성, 시간차를 나타내며 잡음이 포함되어 있는 신호의 검출 및 복원 등에 응용. 예) 레이다(radar) 신호의 탐지, 패턴매칭(pattern matching), 지연측정 등에 사용  자기상관함수  상호상관함수의 특별한 형태로서 어떠한 신호가 잡음과 함께 있을 때 그 신호의 주기검출에 주로 이용 Circuits & Systems Lab.

6.6 FFT 응용  자기상관함수는 시간적으로 연속인 신호에 대하여 정의됨. 그림 6.17 자기상관함수 그림 6.17 자기상관함수  자기상관함수는 시간적으로 연속인 신호에 대하여 정의됨. 여기서  ⇒ x(t)와 x(t+ )의 시간차 Circuits & Systems Lab.

6.6 FFT 응용  표본화한 이산신호 x(n)(n = 0, 1, …, N-1)의 자기상관함수 여기서, m ⇒ x(n)이 x(n+m)과 얼마나 어긋나고 있나를 샘플점의 수로 표현한 것.  m에 표본화 간격 t를 곱하면 시간차가 된다.  자기상관함수의 스펙트럼 P XX(h) Circuits & Systems Lab.

6.6 FFT 응용  자기상관함수의 계산은 N의 값이 클 때는 많은 시간이 소요 주기함수라야 함. 그림 6.18 자기상관함수 계산의 순서 Circuits & Systems Lab.

6.6 FFT 응용 3. 켑스트럼 계산  신호 x(n)의 켑스트(cepstrum) cx(m)  켑스트럼 X(k) : 길이 N인 이산신호 x(n)의 이산푸리에변환 m : 케프런시(quefrency) log|X(k)| : 대수진폭(log magnitude) 그림 6.19 켑스트럼 계산의 순서  켑스트럼 ⇒ 핏치의 영향을 없애고 평활한 스펙트럼 포락을 추출하는 방법. ⇒ 스펙트럼(spectrum)의 앞의 4문자를 역순으로 한 조어(造語). ⇒ 켑스트럼 해석 : 지진파, 음성해석 혹은 영상처리 등에 사용. Circuits & Systems Lab.