Jak usunąć artefakt z sygnału

2016-10-27 17:41
0

Mam sobie taki oto sygnał:

Signal_Artifacts.png

Jego źródłem jest bifazowy impuls w postaci jednego okresu fali kwadratowej. W jaki sposób mogę się go pozbyć, wyrządzając najmniej szkód dla sygnału, który jest przez artefakt przykryty?


The quieter you become, the more you are able to hear.

Pozostało 580 znaków

2016-10-27 18:23
Wybitny Terrorysta
0

Hmmy, nie mógłbyś po prostu wykryć tego piku i odjąć jeden okres tego sygnału prostokątnego? Nie napisałeś, czy ten sygnał się sumuje z Twoim, czy to jakieś zakłócenie, i czy znasz dokładnie charakter tego prostokątnego.

Pozostało 580 znaków

2016-10-27 18:45
0
Wybitny Terrorysta napisał(a):

Nie napisałeś, czy ten sygnał się sumuje z Twoim, czy to jakieś zakłócenie, i czy znasz dokładnie charakter tego prostokątnego.

Ogólnie rzecz biorąc źródło artefaktu sumuje się z właściwym sygnałem. Źródłem artefaktu są impulsy prądowe aplikowane przez elektrody rozlokowane na skórze przy oczach, a sygnał właściwy, jest sygnałem elektroencefalograficznym (EEG) rejestrowanym przez 21 elektrod rozlokowanych na skórze głowy. Impulsy prądowe mają kształt jednego okresu fali prostokątnej. Cały okres trwa 40 ms, a zakres amplitudy, to 0.1 mA.

Próbowałem między innymi uśredniać reprezentację artefaktu na podstawie wszystkich artefaktów występujących w sygnale i następnie tę uśrednioną reprezentację odejmować od pojedynczych artefaktów. Jest jednak problem związany z tym, że zbocza pojedynczych artefaktów są próbkowane małą ilością próbek:

figure_1.png

Odjęcie od takiego artefaktu uśrednionej reprezentacji artefaktu skutkuje mniej więcej czymś takim (nie zwracaj uwagi na czerwony sygnał):

figure_2.png

PS W sumie wpadłem teraz na pomysł, że może warto zwiększyć ilość próbek (odwrótny downsampling) i wtedy odejmowanie będzie skuteczniejsze i dokładniejsze.

Hmmy, nie mógłbyś po prostu wykryć tego piku i odjąć jeden okres tego sygnału prostokątnego?

Jak to widzisz? Bo jeżeli chodzi o zlokalizowanie tego artefaktu w sygnale, to nie ma problemu. Mogę też w miarę dokładnie wyznaczyć np. jego środek. Problem w tym, jak określić artefakt, który powinienem odjąć? Do tej pory używałem uśrednienia.


The quieter you become, the more you are able to hear.
edytowany 3x, ostatnio: Gjorni, 2016-10-27 18:53

Pozostało 580 znaków

2016-10-27 19:44
Zimny Szczur
0

Ciekawy problem. Też myślałem o uśrednianiu. Czy może ten impuls prądowy daje zawsze taką samą amplitudę sygnału na EEG? Jeżeli tak można by się pozbyć tych próbek będących na zboczach, a całą resztę przesunąć odpowiednio w dół i w górę o tą amplitudę. Aczkolwiek podejrzewa, że w zależności od czynników zewnętrznych amplituda może być różna. Tak myślę, czy nie określić tej amplitudy na podstawie poprzednich właściwych próbek? To znaczy sygnał tam waha się w granicach jakiś stałych wartości i o tyle redukujemy ten pik (wycinając próbki na zboczach i przesuwając resztę w dół, tak żeby zachowany był trend).

Można widzieć co za ciekawą rzecz tworzysz?

Pozostało 580 znaków

2016-10-27 20:50
0

Skoro znasz częstotliwość i fazę sygnału, to po prostu wytnij ten fragment. Nie jestem specem w przetwarzaniu sygnałów, bo nigdy się tym nie zajmowałem, ale FFT a potem Inv FFT powinno dać radę.


Nie da się. Źródłem artefaktu jest impuls kwadratowy. Tak więc odjęcie jednej składowej częstotliwościowej nic nie da. - Gjorni 2016-10-28 14:22

Pozostało 580 znaków

2016-10-27 21:47
Zimny Szczur
0

Tylko, że sygnał prostokątny to nieskończenie dużo prążków od jego właściwej częstotliwości w górę. Po za tym, że wyciełoby to też zapewne sygnał, to jedyne co mógłbyś uzyskać to wygładzenie tego prostokąta, a w skrajnym przypadku same zerowe próbki. Tu właśnie leży problem. Tak sobie pomyślałem, nie dałoby rady zamiast ukrztałtowywać sygnał impulsu w prostokąt, ukrztałtować go w sinusa o znanej częstotliwości? Wtedy wycięcie byłoby zdecydowanie łatwiejsze.

Pozostało 580 znaków

2016-10-28 13:03
Czarny Terrorysta
0

Możesz podać wycinek sygnału (tzn wartości próbek). Spróbuję coś pokombinować.

Pozostało 580 znaków

2016-10-28 14:44
0
Zimny Szczur napisał(a):

Tak sobie pomyślałem, nie dałoby rady zamiast ukrztałtowywać sygnał impulsu w prostokąt, ukrztałtować go w sinusa o znanej częstotliwości? Wtedy wycięcie byłoby zdecydowanie łatwiejsze.

No właśnie impuls będący jednym okresem jakiejś "normalnej" fali np. sinusoidalnej byłby najlepszym rozwiązaniem pod względem późniejszej analizy sygnału. W praktyce jednak impuls kwadratowy o wiele lepiej sprawdza się w tym, co ma robić, bo robi to gwałtowniej, już nie wchodząc w szczegóły o co chodzi.

Możesz podać wycinek sygnału (tzn wartości próbek). Spróbuję coś pokombinować.

Tak, oczywiście. W załączniku 10^5 próbek sygnału o częstotliwości 1024 Hz. Sygnał niefiltrowany.

DATA_VECTOR.zip


The quieter you become, the more you are able to hear.

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0