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
- Leo I. Bluestein, „Podejście z filtrowaniem liniowym do obliczeń dyskretnej transformaty Fouriera”, Northeast Electronics Research and Engineering Meeting Record 10 , 218-219 (1968).
- Lawrence R. Rabiner, Ronald W. Schafer i Charles M. Rader, „ Algorytm transformacji Z chirp i jego zastosowanie ”, Bell Syst. Technika J.48 1249-1292 (1969). Opublikowano także w: Rabiner, Shafer i Rader, „ The chirp z-transform Algorytm ”, IEEE Trans. Audio Electroacoustics 17 (2), 86–92 (1969).
- DH Bailey i PN Swarztrauber, „Ułamkowa transformata Fouriera i zastosowania”, SIAM Review 33 , 389-404 (1991). (Zauważ, że ta terminologia dotycząca transformacji z jest niestandardowa: ułamkowa transformata Fouriera konwencjonalnie odnosi się do zupełnie innej, ciągłej transformacji).
- Lawrence Rabiner, „Algorytm przekształcenia chirp z-transform — lekcja szczęścia”, IEEE Signal Processing Magazine 21 , 118-119 (marzec 2004). (Komentarz historyczny).
- Vladimir Sukhoy i Alexander Stoytchev: „Uogólnienie odwrotnej FFT poza okręgiem jednostkowym” (październik 2019). # Otwarty dostęp.
- Vladimir Sukhoy i Alexander Stoytchev: „Numeryczna analiza błędów algorytmu ICZT dla konturów chirp na okręgu jednostkowym” , Sci Rep 10, 4852 (2020).
Linki zewnętrzne
- Algorytm DSP do analizy częstotliwościowej – transformacja Chirp-Z (CZT)
- Rozwiązanie zagadki sprzed 50 lat w przetwarzaniu sygnałów, część druga