Wykład 6: Dyskretna Transformata Fouriera, FFT i Algorytm Goertzela
PG – Katedra Systemów Mikroelektronicznych
ZASTOSOWANIE PROCESORÓW SYGNAŁOWYCH
Marek Wroński
Zastosowania DFT (zawartość harmonicznych ciągów)
Szereg Fouriera (pochodzenie DFT to ciągłe
przekształcenie Fouriera )
Postać zespolona
Postać czasowa zespolonego szeregu Fouriera
Przekształcenie Fouriera
Dyskretna postać transformaty Fouriera: DFT i IDFT
Szybka transformata Fouriera - FFT
4 punktowa FFT (podział czasowy)
8 punktowa FFT
8 punktowa FFT (podział częstotliwościowy)
Wady obliczania FFT
prowadzi do obliczenia wszystkich próbek transformaty DFT, podczas gdy czasem potrzebny jest jedynie niewielki ich podzbiór, np. te próbki, które odpowiadają częstotliwościom DTMF i ewentua1nie ich drugim harmonicznym[1]; algorytmy FFT mają więc w tym zastosowaniu nadmierną złożoność obliczeniową,
wymaga zgromadzenia pełnego bloku N próbek przed rozpoczęciem transformacji sygnału, co uniemożliwia realizację
algorytmu analizy sygnału on line, tzn.
próbka po próbce.
• wymaga wyznaczania lub pamiętania
wartości współczynników W
N:
FFT dla sygnałów rzeczywistych
Widmo Fouriera X(k), k=0,1,2,...N-1, sygnału rzeczywistego x(n) jest symetryczne wzgl. k=N/2
Dwa N-punktowe sygnały rzeczywiste, jedno N -punktowe FFT
Tworzymy sygnał zespolony:
Odzyskujemy widma X
1i X
2:
N-punktowy sygnał rzeczywisty, N/2-punktowe FFT
Wg. podziału w dziedzinie czasu widmo X(k) może być odtworzone wg. widma X
2n(k) jego próbek parzystych i widma X
2n+1(k) jego próbek nieparzystych na podstawie wzoru:
Tworzymy:
Dwuwymiarowa DFT
Wyznaczenie DCT metodą FFT
Transformacja kosinusowa stosowana jest w standardach kompresji obrazów nieruchomych JPEG i ruchomych MPEG oraz w algorytmie kompresji dźwięku MPEG audio. Zdefiniowana jest poprzez równanie baz kosinusowych:
Sumując oddzielnie parzyste i nieparzyste próbki sygnału x(n) i oznaczając:
następnie łącząc połówki sum otrzymamy:
Algorytm Goertzela Korzystając z zależności:
można przez to pomnożyć
prawą stronę równania DFT co da
2
1
) / 2
(
kn
j N Nk j kN
e e
W
10
)
)
(( )
(
Nn
n N k
W
Nn x k
X
Wyrażenie to jest dyskretnym splotem ciągu x(n) o skończonej długości N i ciągu (W
N-k)
n, n= 1,2,...,N także o długości N próbek. Wprowadzając oznaczenie:
1 ,...,
1 , 0
, )
( )
(
( )0
x v W
W k N
n
y
n Nk n vv
k N
k
X(k) y
k(n)
nN-1Ciąg y
k(n) może być traktowany jako odpowiedź układu (filtru cyfrowego) o odpowiedzi impulsowej (W
N-k)
n+1na pobudzenie ciągiem wejściowym x(n).
Próbka X(k) jest N-tą próbką ciągu wyjściowego, tzn. próbką o indeksie n=N-1.
Graf realizujący algorytm Goertzela
W celu zmniejszenia liczby mnożeń omawiany algorytm można przekształcić zgodnie ze wzorem:
2 1
1 2
1 1
1
1 2 cos( 2 / ) 1 2 cos( 2 / )
) 1
( )
1 ) (
(
z z
N k
z W
z z
N k
z W
W z
W z W
H
k N k
N k
N k
N k N
k
Zalety algorytmu Goertzela
Aby zrealizować pętle sprzężenia zwrotnego tego układu, wystarczy wykonać tylko jedno mnożenie i dwa sumowania rzeczywiste. Ponieważ interesuje nas jedynie wyznaczenie próbki y
k(N-1), więc mnożenie przez zespolony
współczynnik W
N-knie musi być wykonywane w każdym kroku, lecz jedynie w ostatnim (N-1) kroku. Tak więc obliczenia związane z realizacją pętli sprzężenia zwrotnego wymagają wykonania N -1 mnożeń liczb rzeczywistych oraz 2(N-1) sumowań liczb rzeczywistych, a obliczenie y
k(N -1) jest związane z 2
dodatkowymi mnożeniami oraz 1 sumowaniem liczb rzeczywistych. Łącznie
należy więc wykonać N+1 mnożeń liczb rzeczywistych oraz 2N-1 sumowań liczb
rzeczywistych.
Energia sygnału (kwadrat amplitudy prążka)
Wybór N alg. Goertzela dla DTMF
W celu unikania przecieków DFT jest pożądane aby częstotliwości wszystkich tonów
podlegających detekcji odpowiadały częstotliwością próbek DFT, tj. k(f
s/N). Więc
Zagadnienie okna w DFT
Przeciek DFT i widmo fali sinusoidalnej dla niecałkowitej
liczby okresów w oknie
Odpowiedzi częstotliwościowe DFT dla pobudzenia sinusoidalnego
Wartości prążków:
(szerokość głównego f
s/N) ( )
)]
( sin[
) 2
( k m
m k
m N
X
Powielenia widmowe
Zwiększenie czułości wykrywania sygnałów
Okna wygładzające końcowe nieciągłości
Okienkowanie w dziedzinie częstotliwości
Zastosowanie okien Hanninga i Hamminga dla zredukowania przecieku widma FFT mb.
dokonane w dziedzinie częstotliwości po obliczeniu FFT dla danych nieokienkowanych.
DFT funkcji okna: (splot zamiast * w(n) N-punktową)
tj. superpozycja 3-ch funkcji
sin(x)/x w dziedzinie częstotliwości mających listki boczne o fazie przeciwnej niż środkowa (więc minimalizują jej listki boczne)
Minimalizacja tłumienia wprowadzanego przez okienkowanie
Okna nieprostokątne ograniczają poziomy próbek sygnału poddawanego FFT. Wartość maksymalna widma amplitudowego funkcji okna Hanninga jest równa połowie wartości otrzymanej dla okna prostokątnego,
ponieważ sygnał wejściowy jest tłumiony na początku i na końcu zakresu objętego oknem (tłumienie mocy 6 dB) Więc trudne jest wykrycie tam sygnału impulsowego dlatego można zastosować okno dualne do obliczeń 2 FFT, a następniewynikowe FFT są uśredniane. Ale może pojawić się zwiększony przeciek widma powodowany przez okno odwrotne ( nie gwarantuje równości 1-szej i ostatniej próbki ciągu poddawanego FFT).
Dużo lepsza jest metoda nakładających się (dobrych pojedyńczych) okien stosowanych wielokrotnie (np.. 4*) dla ciągu danych wejściowych, co daje oddzielne N-punktowe ciągi danych dla których wyznacza się FFT,
a ich wyniki zostają uśrednione. Zauważmy że próbki tłumione przez jedno okno są wzmacniane przez następne, a funkcja okna ogranicza przeciek do minimum (mb. różne funkcje okna i różne nakładanie, np.. 75% i 3 FFT dla każdej próbki co poprawia czułość ale zwiększa liczbę operacji).