Mam wiele sygnałów EEG i chcę je analizować metodami liniowymi, takimi jak STFT (Short Time Fourier Transform). W STFT: Jak mogę zoptymalizować długość okna analizy, aby odpowiednio odzwierciedlić widmo częstotliwości każdego okna analizy?
fourier-transform
stft
Maen
źródło
źródło
Odpowiedzi:
Jest to klasyczna „zasada nieoznaczoności” transformacji Fouriera. Możesz mieć wysoką rozdzielczość w czasie lub wysoką rozdzielczość w częstotliwości, ale nie jednocześnie jednocześnie. Długości okien pozwalają na wymianę między nimi.
Jeśli chcesz wykryć „zdarzenia” w sygnale EEG z rozdzielczością powiedzmy 10ms, powinna to być długość okna. To daje rozdzielczość częstotliwości około 100 Hz.
źródło
Optymalna długość okna zależy od zastosowania. Jeśli aplikacja wymaga dokładniejszych informacji o domenie czasu, zmniejsz rozmiar okien. Jeśli aplikacja wymaga bardziej szczegółowych informacji w domenie częstotliwości, zwiększ rozmiar okien. Jak wspomniał Hilmar,
Uncertainty Principle
naprawdę nie ma innego wyboru. Nie można uzyskać idealnej rozdzielczości w obu domenach jednocześnie. Możesz uzyskać idealną rozdzielczość tylko w jednej domenie kosztem zerowej rozdzielczości w drugiej (domeny czasu i częstotliwości) lub pomiędzy nimi, ale w obu domenach.Nie wiem, czy to odpowiada na twoje pytanie, ponieważ pytałeś konkretnie o STFT. Możesz spróbować użyć,
wavelet transforms
aby uzyskać informacje w sygnale.Wavelet transforms
da ci rozdzielczość w znacznie większym zakresie, analizując sygnał przy wielu rozdzielczościach okna.źródło
Nie znam EEG, ale podstawowym (może powinienem powiedzieć fundamentalnym) problemem podczas korzystania z STFT jest wybór odpowiedniej długości okna. Jeśli twoje EEG ma charakter okresowy i chcesz rozwiązać podstawowe i harmoniczne, powinieneś użyć „długiego” okna. Jeśli zamiast tego chcesz wykryć początek lub obecność jakiegoś zdarzenia lub bardziej interesuje Cię obwiednia widma, możesz użyć „krótkiego” okna.
źródło
Spędziłem dużo czasu na optymalizacji okien w analizie częstotliwości i czasu lub banków filtrów . Można je zoptymalizować pod kątem wykrywania, usuwania szumów, separacji sygnałów ... Jest to bardzo zależne od aplikacji. Ponieważ analiza czasowo-częstotliwościowa jest na ogół zbędna, optymalizacja okien analizy lub syntezy to różne zadania. I długość tylko jeden parametr w projekcie okna.
Problem jest jeszcze bardziej złożony, ponieważ dyskretne sformułowanie optymalności jest znacznie bardziej skomplikowane niż przypadek ciągłej dziedziny czasu (patrz np . Optymalnie skoncentrowana transformata Gabora dla zlokalizowanych składników czasowo-częstotliwościowych ).
Więc moja obecna praktyczna zasada brzmi: zacznij od kształtu i długości okna, które wydają się w porządku. Następnie powtórz analizę z dwoma oknami o długości dwa i pół długości i połącz wyniki.
źródło
Zwykle szeroki rozmiar okna zapewnia lepszą rozdzielczość częstotliwości, ale słabą rozdzielczość czasową i odwrotnie. Spójrz na ten przykład, w którym wygenerowałem spektrogram fali sinusoidalnej o częstotliwości 5 kHz i częstotliwości próbkowania 22050 Hz, z mojego kodu C ++.
Powyższy spektrogram ma rozmiar okna 2048 próbek i nakłada się na 1024 próbki.
Spójrz na ten spektrogram:
Ten ma rozmiar okna 512 próbek i nakłada się na 256 próbek.
Czy widzisz różnicę? Pierwszy ma lepszą rozdzielczość częstotliwości niż drugi. Ale drugi ma lepszą rozdzielczość czasową w porównaniu do pierwszego. Zatem wybór rozmiaru okna zależy od aplikacji. Jeśli masz do czynienia z próbkami mowy do śledzenia wysokości tonu, wybór większego rozmiaru okna powinien być odpowiedni.
źródło