DFT - Usuwanie efektu okna w domenie spektralnej ze splotem

11

Myślałem o temacie DFT i przyszła mi do głowy myśl. DFT daje widmo sygnału splecionego z widmem zastosowanego okna, a zatem ma główne płaty i płaty boczne.

Uznałem, że możliwe byłoby usunięcie efektu okna na widmo sygnału poprzez ponowne zwojenie zarówno sygnału, jak i wielkości widma okna, i rzeczywiście działało to, jak widać na poniższym obrazie.

wprowadź opis zdjęcia tutaj

Po lewej stronie znajduje się oryginalne widmo wygenerowane za pomocą okna hanning. Po prawej widmo zwojone przez DFT okna hanning. Góra to samo spektrum, dół to findpeakswynik MATLAB .

Nigdy nie czytałem nic na temat tej techniki, ale jestem pewien, że niczego tam nie wymyśliłem. Zastanawiam się więc, czy takie przetwarzanie w spektrum ma jakąś korzyść, czy też jest wada, której nie widzę.

Z tego, co widzę, mogłoby to pomóc w wykrywaniu pików, jak widać na poprzednim obrazie. Wygląda na to, że widmo jest nieco zniekształcone, co widać na 2 poniższych obrazach. :

wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj

Gdzie niebieski wykres jest widmem, a czerwony wykres widmem po zawinięciu.

  • Czy ktoś o tym pomyślał?
  • Czy istnieje problem, który mógłby wyniknąć z tego splotu po FFT?
  • Jakiś artykuł na ten temat?

EDYTOWAĆ

Tutaj możesz znaleźć skrypt , który wygeneruje następujący wykres:

wprowadź opis zdjęcia tutaj

Pier-Yves Lessard
źródło
1
Czy możesz podać kod użyty do wykreślenia liczb? Zakładam, że płynność złożonej funkcji jest tylko kwestią rozdzielczości. Nie można cofnąć okienkowanie przez splatanie jeszcze jeden więcej czasu z tego samego okna (byś rzeczywiście trzeba de convolve, która jest co RBJ odpowiedź odnosi się do). Ponadto prawdziwą poprawą byłaby zwiększona rozdzielczość częstotliwości i / lub zwiększone tłumienie linii bocznej, której tutaj nie osiąga się. Znalezienie „poprawnych” pików jest względnie łatwe dla obu funkcji.
Matt L.
Właśnie edytowałem swój post, aby dodać przykładowy kod.
Pier-Yves Lessard

Odpowiedzi:

1

Sugestia ma jednak pewną wadę: wszystkie pokazane sygnały są bardzo wyraźnie podzielone na komponenty częstotliwości, ale ogólnie rzecz biorąc, rzeczywiste sygnały wydają się być bardziej hałaśliwe.

W zależności od zastosowania, chcesz uzyskać jak najwięcej tłumienia upływu (wyższe płaty główne / mniejsze płaty boczne częstotliwości sygnału w spektrum przekształconym) lub, jako inny przykład, najwęższy możliwy płat główny.

Na twoich wykresach widać, że wygładzenie widm wielkości za pomocą okna robi coś przeciwnego: główne płaty stają się szersze i mniejsze, a produkty wycieku po przekształceniu skończonego wzrostu sygnału w czasie. W przypadku hałaśliwych sygnałów miałoby to znaczną wadę.

Twoja sugestia jest jednak nadal bardzo przydatna do identyfikacji pików!

Jonas Schwarz
źródło
1

pozostając wiernym tematowi „usuwania efektu okna w domenie freq przez konwolucję” (pomimo, że OP chciał być może osiągnąć coś innego lub coś podobnego), dodam swój komentarz, mając osobiste doświadczenie z tym konkretnym tematem.

Często muszę usunąć okno Hann w dziedzinie częstotliwości, pracując w frameworku STFT, który domyślnie wykorzystuje ramki okienne Hann, aby przeprowadzić zaawansowane przetwarzanie widmowe, w którym zamiast widma wejściowego spodziewane jest okienko NIE (np. Splot-zapisz-zapisz lub filtracja).

Jednym słowem: tak, możesz. Pomimo matematycznego usunięcia okna (w dziedzinie czasu lub częstotliwości) wymaga rekonstrukcji danych, które zostały utracone na zawsze, w praktyce możesz przy minimalnej utracie.

Weźmy okno Hann (podniesionego cosinusa). Jego formuła w dziedzinie czasu to y = (1-cos (pi * x)) / 2, przy czym x wynosi od zera do z wyłączeniem jednego przez ramkę. Jego odpowiednikiem w dziedzinie częstotliwości jest bin0 = (0,5,0i), bin1 = (- 0,5,0i). Aby usunąć jego efekt w dziedzinie czasu, możesz po prostu podzielić sygnał przez powyższą funkcję okna. Aby zrobić to samo w dziedzinie częstotliwości, wystarczy po prostu sprowadzić widmo, aby nie było okienkowane z widmem odwrotności wspomnianej funkcji. Ponieważ ta funkcja jest zerowa na obu końcach (w rzeczywistości jest matematycznie zerowa tylko w pierwszym punkcie, chyba że występują błędy zaokrąglania), aby uniknąć nieskończoności, możesz po prostu wymienić nieskończoność na dużą wartość, na przykład około 10000. Rezultatem takiego splotu jest widmo bez okien. Przekształcając go w domenę czasu,

Być może nie możesz usunąć prostokątnego okna, ponieważ ilość danych utraconych przez pomnożenie dużych obszarów sygnału przez zero jest teoretycznie niemożliwa do odzyskania. Myślę jednak, że zależy to od zawartości widma. Na przykład, jeśli jest to widmo zwykłej sinusoidy, przez usunięcie prostokątnego wzoru okna przez splot z widmem funkcji o wysokiej wartości, w której prostokąt był zerowy, i jednej, w której był jeden (tj. Jego odwrotność), nadal możesz uzyskać (zasadniczo) spektrum sinusoidy w celu zrekonstruowania całego sygnału.

Elena
źródło
0

to dobre pytanie i dobry wgląd, który jestem prawie pewien, że inni mieli. de -convolution w dziedzinie częstotliwości jest jak mnożenie w dziedzinie czasu i jeśli deconvolving efekt okna Hanna w dziedzinie częstotliwości, to jest jak twój podzielenie przez efekt okna Hann w dziedzinie czasu. przy ogonach, w których okno Hann osiąga zero, liczba jest dzielona przez zbyt małą liczbę, aby się martwić.

zwykle pozostaje efekt okna, ponieważ jeśli dokonujesz transformacji z powrotem, możesz chcieć efektu okna w dziedzinie czasu. lub jeśli nigdy nie przekształcamy z powrotem (jest to alg analizujący lub modelujący, a nie alg modyfikujący), to interesują was tylko parametry, które są właściwościami tych pików, i po prostu macie do czynienia ze znanym efektem splotu ze znanym jądro, które może modyfikować wyodrębniony parametr w sposób deterministyczny. wtedy po prostu kompensujesz to w wyodrębnionym parametrze.

wreszcie, w zależności od tego, co robisz, możesz rozważyć użycie okna guassian do analizy. ma bardzo mały problem z sidelobe i w warunkach liniowych (jak filtr), każda sinusoida w oknie zachowuje kształt okna po przekształceniu z powrotem do dziedziny czasu. to okno można cofnąć i zastosować okno Hann po przekształceniu z powrotem do dziedziny czasu.

Robert Bristol-Johnson
źródło
6
Zasadniczo zgadzam się na twoje oświadczenia. Chociaż OP nie mówi o dekonwolucji, ale zwołuje uzyskane widmo z widmem okna zarządzania. (tzn. zasadniczo okienko z kwadratowym oknem)
Maximilian Matthé
1
nie, OP mówi o usunięciu efektu, a nie podwojeniu efektu. podział jest taki sam jak pomnożenie przez odwrotność. mnoży się przez taką liczbę, która daje wynik, który nazywamy ilorazem . skoro splot w jednej domenie jest taki sam jak pomnożenie w drugiej domenie, to dekonwolucja to to samo, co splot z czymś specjalnie określonym.
Robert Bristol-Johnson
2
OP mówi o usunięciu zmarszczek poprzez wykonanie splotu uzyskanego widma z widmem okna. Daje to zwielokrotnienie sygnału przez kwadratowe okno (jedno okno od początkowego zwielokrotnienia w czasie, drugie od splotu częstotliwości)
Maximilian Matthé
1
Nie do końca. Dokonuję splotu wielkości widma, które dają inne wyniki niż mnożenie kwadratowego okna. Nie jestem pewien, co reprezentuje matematycznie ... Widzę to jako korelację krzyżową między obydwoma wielkościami widma (ponieważ widma okna są symetryczne).
Pier-Yves Lessard
0

Technika wygładzania widma jest często używana podczas analizy samego widma i nie przejmujesz się efektami w dziedzinie czasu (np. Wykrywanie sygnału na podstawie częstotliwości lub pomiar szerokości pasma). Nie ma nawet wymogu, aby okno używane do wygładzania było takie samo jak okno używane w dziedzinie czasu. Jednym z głównych powodów zastosowania okna w dziedzinie czasu przed DFT jest zminimalizowanie nieciągłości w zawijaniu, którą DFT zakłada na końcach sygnału (DFT jest z natury okrągły). Wygładzanie w dziedzinie częstotliwości ma ułatwić analizę, taką jak wykrywanie pików lub pomiar szerokości pasma. „Najlepsze” okno dla jednego może nie być „najlepszym” oknem dla drugiego. W rzeczywistości nigdy nie widziałem DFT okna używanego do wygładzania spektralnego.

Cassman
źródło
Sposób, w jaki to rozumiem, polega na tym, że wykonuję korelację krzyżową z widmem, tym samym uzyskując szczyty w środku głównych płatów. Korzystanie z okien w domenie czasu wydaje się oczywistym wyborem i nie rozumiem, dlaczego użyłbym korelacji krzyżowej okna boxcara, aby znaleźć miejsce, w którym znajduje się spektrum okien hanning. Dlaczego mielibyśmy chcieć czegoś innego niż to samo okno?
Pier-Yves Lessard
Tak, wynik, który opisujesz, to splot z autokorelacją okna, ale to tylko splot z innym oknem. Autokorelacja spowoduje BARDZO ciasny pik przy DC. Tak więc skutecznie splotłeś widmo sygnału za pomocą bardzo ciasnego filtra dolnoprzepustowego. To odpowiedź częstotliwościowa tego filtra daje wynik, który widzisz, a nie fakt, że jest to autokorelacja. Fakt, że jest to autokorelacja, jest zbiegiem okoliczności.
cassman