Transformacja Z Chirpa

Chirp Z-transform ( CZT ) jest uogólnieniem dyskretnej transformaty Fouriera (DFT). Podczas gdy DFT próbkuje płaszczyznę Z w równomiernie rozmieszczonych punktach wzdłuż okręgu jednostkowego, chirp Z przekształca próbki wzdłuż łuków spiralnych w płaszczyźnie Z, odpowiadających liniom prostym w płaszczyźnie S. DFT, rzeczywisty DFT i zoom DFT można obliczyć jako specjalne przypadki CZT.

Konkretnie, transformacja chirp Z oblicza transformatę Z w skończonej liczbie punktów zk wzdłuż konturu spirali logarytmicznej , zdefiniowanej jako:

gdzie A to złożony punkt początkowy, W to złożony stosunek punktów, a M to liczba punktów do obliczenia.

Podobnie jak DFT, transformatę chirp Z można obliczyć w operacjach O( n log n ), gdzie . Algorytm O ( N log N ) dla odwrotnej transformacji chirp Z (ICZT) został opisany w 2003 i 2019 roku.

Algorytm Bluesteina

Algorytm Bluesteina wyraża CZT jako splot i skutecznie go implementuje za pomocą FFT /IFFT.

Ponieważ DFT jest szczególnym przypadkiem CZT, pozwala to na wydajne obliczenie dyskretnej transformaty Fouriera (DFT) dowolnych rozmiarów, w tym rozmiarów pierwszych . (Inny algorytm FFT o rozmiarach pierwszych, algorytm Radera , również działa poprzez przepisanie DFT jako splot). Został wymyślony w 1968 roku przez Leo Bluesteina. Algorytm Bluesteina może być użyty do obliczenia bardziej ogólnych przekształceń niż DFT, w oparciu o (jednostronną) transformację z (Rabiner i in. , 1969).

Przypomnijmy, że DFT jest zdefiniowany przez formułę

Jeśli zastąpimy iloczyn nk w wykładniku przez tożsamość

otrzymujemy w ten sposób:

Sumowanie to jest dokładnie splotem dwóch ciągów a n i b n zdefiniowanych przez:

z wyjściem splotu pomnożonym przez N współczynników fazowych b k * . To jest:

Ten splot z kolei można wykonać za pomocą pary FFT (plus wstępnie obliczona FFT złożonego chirp b n ) za pomocą twierdzenia o splotach . Kluczową kwestią jest to, że te FFT nie mają tej samej długości N : taki splot można obliczyć dokładnie z FFT tylko przez wypełnienie go zerami do długości większej lub równej 2 N –1. W szczególności można dopasowywać do potęgi dwóch lub innego wysoce złożonego rozmiaru, dla którego FFT można skutecznie wykonać np. algorytmem Cooleya-Tukeya w czasie O ( N log N ). Zatem algorytm Bluesteina zapewnia sposób O ( N log N ) obliczania DFT w rozmiarze pierwszym, aczkolwiek kilka razy wolniejszy niż algorytm Cooleya-Tukeya dla rozmiarów złożonych.

00 Użycie dopełnienia zerami dla splotu w algorytmie Bluesteina zasługuje na dodatkowy komentarz. Załóżmy, że zerujemy do długości M ≥ 2 N –1. Oznacza to, że a n jest rozszerzone do tablicy A n o długości M , gdzie A n = a n dla 0 ≤ n < N i A n = 0 w przeciwnym razie — zwykłe znaczenie „dopełniania zerami”. Jednak ze względu na b k n w splocie, dla b n wymagane są zarówno dodatnie, jak i ujemne wartości n (zauważ, że b n = b n ). Okresowe granice implikowane przez DFT tablicy wypełnionej zerami oznaczają, że – n jest równoważne M n . Zatem b n jest rozszerzone do tablicy B n o długości M , gdzie B = b , B n = B M n = b n dla 0 < n < N , a B n = 0 w przeciwnym razie. A i B są następnie poddawane FFT, mnożone punktowo i odwrotne FFT w celu uzyskania splotu aib , zgodnie ze zwykłym twierdzeniem o splotach.

Określmy też dokładniej, jaki typ splotu jest wymagany w algorytmie Bluesteina dla DFT. Gdyby sekwencja b n była okresowa w n z okresem N , to byłby to cykliczny splot o długości N , a dopełnienie zerami byłoby tylko dla wygody obliczeniowej. Jednak na ogół tak nie jest:

Dlatego dla N nawet splot jest cykliczny, ale w tym przypadku N jest złożony i normalnie należałoby użyć bardziej wydajnego algorytmu FFT, takiego jak Cooley – Tukey. Jednak dla N nieparzystych b n jest antyokresowe i technicznie mamy splot negacykliczny o długości N . Jednak takie rozróżnienia znikają, gdy jeden wstawia zera n do długości co najmniej 2 N -1, jak opisano powyżej. Dlatego być może najłatwiej jest myśleć o tym jako o podzbiorze danych wyjściowych prostego splotu liniowego (tj. bez pojęciowych „rozszerzeń” danych, okresowych lub innych).

przekształcenia z

Algorytm Bluesteina może być również użyty do obliczenia bardziej ogólnej transformacji opartej na (jednostronnej) transformacji z (Rabiner i in. , 1969). W szczególności może obliczyć dowolne przekształcenie postaci:

dla dowolnej liczby zespolonej z oraz dla różnych liczb N i M wejść i wyjść. Biorąc pod uwagę algorytm Bluesteina, taka transformacja może być wykorzystana na przykład do uzyskania dokładniejszej interpolacji pewnej części widma (chociaż rozdzielczość częstotliwościowa jest nadal ograniczona całkowitym czasem próbkowania, podobnie jak w przypadku Zoom FFT), zwiększenia arbitralnej bieguny w analizach funkcji przenoszenia itp.

Algorytm został nazwany algorytmem chirp z-transform, ponieważ w przypadku transformacji Fouriera (| z | = 1) sekwencja b n z góry jest złożoną sinusoidą o liniowo rosnącej częstotliwości, która jest nazywana (liniowym) chirp w systemy radarowe .

Zobacz też

Ogólny

Linki zewnętrzne