Witam,
Pracuję nad akwizycją i analizą zdarzeń akustycznych. Zbieram je za pomocą czujników piezoelektrycznych, wzmacniacza i karty PCI6111. Napisałem już sporo wersji VI do zbierania danych i do analizy ich pod różnym kątem, głównie robiłem na tym JTFA. Teraz pojawia się nowa koncepcja, ale w tym celu muszę z mojego sygnału (próbkowanie 2Msample/s) wyekstrahować poszczególne zdarzenia akustyczne. Zdarzenie wygląda mniej więcej tak:
A więc jest to wyraźny burst na tle monotonicznego niskoamplitudowego szumu, na oko od razu da się to wyekstrahować, ale że tych burstów mam bardzo dużo to chciałbym to zautomatyzować.
Wymyśliłem że muszę sprawdzać kiedy oscylacje przekroczą pewną wartość progową średniej szumu i od tego momentu czasowego wycinać sygnał aż dojdę do czasu w którym oscylacje spadną poniżej tej granicy.
Nie mam jednak koncepcji jak to zrealizować w praktyce, do dyspozycji mam LabView 8.5 i pakiet Advanced Signal Processing Toolkit, czyli JTFA i falki.
Ma ktoś jakąś koncepcję jakby to ugryźć?
Pozdrawiam Kacper
Ekstakcja zdarzeń akustycznych z sygnału
Re: Ekstakcja zdarzeń akustycznych z sygnału
Tu masz przykładowy sposób... Górną pętlą się nie przejmuj, to tylko taki zrobiony na szybko generator sygnału mniej lub bardziej przypominającego Twój burst ;)
Dolna pętla pamięta 100 ostatnich próbek (rejestr FIFO). Kontrolką 'Rozmiar bufora' ustalasz sobie ile spośród tych zapamiętanych próbek ( "najświeższych" ) bierzesz do analizy. Analiza jest prosta - wyznaczenie wartości średniej. Gdy wartość przekroczy średni poziom szumów (domyslnie 4) - wykrywana jest obecność burst'a (zapalony LED).
Co będzie się działo gdy led się pali - to już zależy od Ciebie ;)
A 100 próbek jest pamietanych tak na zapas - jakbyś chciał wiedzieć co stało się jeszcze zanim burst się pojawił.
Dolna pętla pamięta 100 ostatnich próbek (rejestr FIFO). Kontrolką 'Rozmiar bufora' ustalasz sobie ile spośród tych zapamiętanych próbek ( "najświeższych" ) bierzesz do analizy. Analiza jest prosta - wyznaczenie wartości średniej. Gdy wartość przekroczy średni poziom szumów (domyslnie 4) - wykrywana jest obecność burst'a (zapalony LED).
Co będzie się działo gdy led się pali - to już zależy od Ciebie ;)
A 100 próbek jest pamietanych tak na zapas - jakbyś chciał wiedzieć co stało się jeszcze zanim burst się pojawił.
Ostatnio zmieniony 01 mar 2009 17:11 przez coolfon, łącznie zmieniany 2 razy.
Re: Ekstakcja zdarzeń akustycznych z sygnału
Panie kolego Kulfonie jesteś wielki Dziękuję teraz muszę tylko to przerobić - z każdego takiego burstu wyznaczyć dominującą częstotliwość za pomocą FFT, energię, i ewentualnie inne paramtetry a potem wyrzucić sobie do excela czas i koniec każdego bursta, oraz właśnie te parametry jak częstotliwość i energia aby dało się to ująć jakoś statystycznie w dziedzienie czasu.
Ale to se chyba poradzę, jak coś będę pytał i lecę analizować Twój VI. Dzieki jeszcze raz!
Ale to se chyba poradzę, jak coś będę pytał i lecę analizować Twój VI. Dzieki jeszcze raz!