Spektrum mocy - problemy

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
Awatar użytkownika
fajfi
Posty: 185
Rejestracja: 28 sty 2004 00:00
Wersja środowiska: LabVIEW 2010
Lokalizacja: Wrocław

Spektrum mocy - problemy

Post autor: fajfi »

Cześć,
popełniłem małego vi-ja, którego zadanie polega na znalezieniu spektrum mocy rejestrowanego dźwięku.
Zrobiłem to na dwa sposoby: raz za pomocą vi-expressa "Aquire sound", dwa (jako, że nie ufam expressom) za pomocą podstawowych funkcji dźwiękowych.
Zarejestrowałem swoją głoskę "U" oboma sposobami i oto co się dzieje:
1. na wykresie zrobionym przez wykorzystanie podstawowych funkcji coś dziwnego dzieje się z osią związaną z częstotliwościami - jej wartości są zaniżone mniej więcej 50000 razy.
2. o ile wartość tonu podstawowego odczytanego za pomocą "Aquire sound" jest prawidłowa (ok. 120 Hz), to wartości amplitudy różnią się o 9 rzędów w stosunku do pierwszej metody.
3. Bardzo często przed wykrytym tonem podstawowym pojawia się jakiś dziwny prążek w okolicach 15 - 20 Hz. Tym razem był stosunkowo niewielki, ale bywa, że jest wyższy nawet od tonu podstawowego.
W związku z tym mam pytania:
1. Jak za pomocą podstawowych funkcji uzyskać prawidłowe częstotliwości?
2. W jakich jednostkach jest mierzona amplituda i na którym wykresie skala jest prawidłowa?
3. Czym jest ten "zerowy prążek" w okolicach 15 Hz i jak się go pozbyć?
Pozdrawiam
Fajfi
Załączniki
spektrum-mocy-diagram.jpg
spektrum-mocy-front.jpg
Awatar użytkownika
Nowszy
Posty: 504
Rejestracja: 30 maja 2008 08:33
Wersja środowiska: LabVIEW 2011
Lokalizacja: Katowice
Kontakt:

Spektrum mocy - problemy

Post autor: Nowszy »

Nie mam jak teraz przetestować, ale coś może pomogę:
1/ W jedym VIu pobierasz dane z tego samego mikrofonu w dwóch miejscach czy to osobne mikorofny?
2/ Pozostałe prążki to albo aliasing z wyższych częstotliwości, albo nie do końca czyste to twoje UUUU :D
3/ Stwórz Grapha na którego podasz przebiegi czasowe z Expressa i porównaj z tym co masz z funkcji niższego poziomu - może coś wyczaisz
Pozdrawiam, Maciek Antonik
Edu4Industry
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Spektrum mocy - problemy

Post autor: jogurt_owocowy »

1. na wykresie zrobionym przez wykorzystanie podstawowych funkcji coś dziwnego dzieje się z osią związaną z częstotliwościami - jej wartości są zaniżone mniej więcej 50000 razy.
2. o ile wartość tonu podstawowego odczytanego za pomocą "Aquire sound" jest prawidłowa (ok. 120 Hz), to wartości amplitudy różnią się o 9 rzędów w stosunku do pierwszej metody.
Wartości z pierwszego wykresu (z Expressa) są prawdziwe.
Problemy, z powodu których drugi wykres pokazuje złe wartości są dwa.
Pierwszy dotyczy osi częstotliwości i polega na tym, że do funkcji FFT Power Spectrum przekazujesz tylko wektor próbek (bez częstotliwości próbkowania). Funkcja to łyka, oblicza widmo, ale nie jest w stanie wyskalować dla Ciebie osi nie znając częstotliwości próbkowania. Dlatego oś jest wyskalowana, jako znormalizowana względem częstotliwości Nyquista. Możesz ją wyskalować w hercach samodzielnie (wtedy zaglądnij tutaj) albo - łatwiej - na wejście FFT Power Spectrum podać sygnał wraz z częstotliwością próbkowania w postaci waveforma (jak na obrazku).
solution for invalid axis values on fft power spectrum.png
solution for invalid axis values on fft power spectrum.png (1.49 KiB) Przejrzano 15169 razy
Drugi problem dotyczy skalowania osi amplitudy i wynika z tego, że funkcja SI Read zwraca "surowe" 16-bitowe próbki z zakresu [-32768, 32767], a Acquire Sound normalizuje wartości próbek do przedziału [-1,1] (z dokładnością do którejś wartości brzegowej). Tutaj wystarczy zrobić na wektorze wyjściowym z SI Read dzielenie przez 32768 i różnice znikną.
3. Czym jest ten "zerowy prążek" w okolicach 15 Hz i jak się go pozbyć?
To jest ciekawsza sprawa.
2/ Pozostałe prążki to albo aliasing z wyższych częstotliwości, albo nie do końca czyste to twoje UUUU
To nie jest aliasing, choćby dlatego, że na wejściach karty dźwiękowej stosuje się oczywiście filtry antyaliasingowe. I na pewno nie jest to też żaden produkt uboczny UUUU z powodu chociażby sposobu działania mechanizmu artykulacji (choć podobno jest jakieś plemię indiańskie, którego szamani uczą się techniki śpiewu, która się tym mechanizmem nie przejmuje ;]).

Wygląda na to, że coś Ci buczy w pokoju, a że częstotliwość tego buczenia jest poza zakresem słyszalnym, to dopiero w taki sposób to odkryłeś. Jakiego komputera używasz? Obstawiałbym że desktopa i że to odgłos wiatraka od zasilacza. Zakres częstotliwości tego prążka tj. 15-20 Hz dobrze pasowałby do prędkości wiatraków w zasilaczu (900-1200 RPM). Przystaw tam mikrofon i zobacz, co wyjdzie na widmie.
Awatar użytkownika
fajfi
Posty: 185
Rejestracja: 28 sty 2004 00:00
Wersja środowiska: LabVIEW 2010
Lokalizacja: Wrocław

Re: Spektrum mocy - problemy

Post autor: fajfi »

Mate pravdu! :)
Dziękuję Jogurcie_owocowy.
Używam zwykłego komputera stacjonarnego.
Pozwoliłem sobie nagrać ciszę i załączyć jej wykres (częstotliwość wyszła jeszcze mniejsza niż sądziłem, bo ok. 10 Hz).
Jakby nie było, to już są infradźwięki, może dlatego mam problemy z koncentracją? ;)
Pozdrawiam
Fajfi
Załączniki
cisza.jpg
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Spektrum mocy - problemy

Post autor: jogurt_owocowy »

Jakby nie było, to już są infradźwięki, może dlatego mam problemy z koncentracją?
Kto wie :] Wieści mówią, że jest więcej złych objawów (do "brain damage" włącznie).
Na tym wykresie to ten pomruk wygląda już naprawdę imponująco, szczególnie biorąc pod uwagę, że charakterystyka częstotliwościowa przeciętnego mikrofonu w okolicach 10 Hz jest już bardzo nisko.
  1. W jakich jednostkach wyskalowana jest oś pionowa tego wykresu (pokaż diagram, którym uzyskałeś ten wykres)?
  2. Spróbuj odłączyć mikrofon i nagraj coś bez niego - będziemy wiedzieć czy to odgłos rejestrowany przez mikrofon czy z wewnątrz komputera.
  3. Zarejestruj taką ciszę kilka razy z różnym umiejscowieniem mikrofonu i zobacz czy amplituda się zmienia.
  4. Dobrze byłoby gdybyś mógł nagrać kawałek ciszy przy użyciu innego komputera.
PS. I podziel się wynikami śledztwa :)
Awatar użytkownika
fajfi
Posty: 185
Rejestracja: 28 sty 2004 00:00
Wersja środowiska: LabVIEW 2010
Lokalizacja: Wrocław

Re: Spektrum mocy - problemy

Post autor: fajfi »

jogurt_owocowy pisze:# 1. W jakich jednostkach wyskalowana jest oś pionowa tego wykresu (pokaż diagram, którym uzyskałeś ten wykres)?
# 2. Spróbuj odłączyć mikrofon i nagraj coś bez niego - będziemy wiedzieć czy to odgłos rejestrowany przez mikrofon czy z wewnątrz komputera.
# 3. Zarejestruj taką ciszę kilka razy z różnym umiejscowieniem mikrofonu i zobacz czy amplituda się zmienia.
# 4. Dobrze byłoby gdybyś mógł nagrać kawałek ciszy przy użyciu innego komputera.
Odpowiadam po kolei:
1. Diagram znajduje się na rysunku pt. "spektrum-mocy-program". Niestety nie wiem w jakich jednostkach on skaluje, ale z tego co pisałeś są to chyba te 16 bitowe, surowe próbki.
spektrum-mocy-program.jpg
Jako, że mam załączników rysunkowych więcej niż 5, zatem dołączam całość spakowaną rarem.
Nagrałem jeszcze dwa przykłady mojego "U" i jak widać "zerowy prążek" bardzo znacznie różni się wysokością, nawet w porównaniu z tonem podstawowym:
Są to pliku u1.jpg i u2.jpg
2. Załączam wykresy z odłączonym mikrofonem, w skali normalnej i przy dużym powiększeniu. Na mój nos, jest to jednak "dźwięk" rejestrowany przez mikrofon.
Pliki "bez-mikrofonu" i "bez-mikrofonu-pow"
3. Amplituda się zmienia, ale to chyba nie zależy od odległości. Załączam wykresy dla dwóch odległości r0 i r3, zarejestrowane w różnych momentach. r0 i r01 nagrane przy bliskiej odległości (kwestia centymetrów od komputera), zaś r3 i r3-1 dla odległości ok 1,5 m. Jak widać, wysokość piku bardziej zależy od chwili rejestracji niż od odległości.
4. Na innym komputerze efekt jest podobny, chociaż tam nieśmiało wyłania się jeszcze składowa sieciowa - 50 Hz. Plik "inny-komp"

A teraz mam pytanie zasadnicze - skoro nie mogę pozbyć się tego "artefaktu", to jak go wyciąć programowo?
Pozdrawiam
Fajfi
Załączniki
spektrum-mocy.rar
(171.45 KiB) Pobrany 511 razy
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Spektrum mocy - problemy

Post autor: jogurt_owocowy »

Na mój nos, jest to jednak "dźwięk" rejestrowany przez mikrofon.
Na to wygląda i to jest dobra wiadomość (bo jest ciekawie :) )
Amplituda się zmienia, ale to chyba nie zależy od odległości. Załączam wykresy dla dwóch odległości r0 i r3, zarejestrowane w różnych momentach. r0 i r01 nagrane przy bliskiej odległości (kwestia centymetrów od komputera), zaś r3 i r3-1 dla odległości ok 1,5 m. Jak widać, wysokość piku bardziej zależy od chwili rejestracji niż od odległości.
W sumie to tylko dwa pomiary (z bliska: duży pik i mały, z daleka: średni i mały), więc nie wysnuwałbym wniosków, że natężenie tego dźwięku nie zależy od położenia. Tym bardziej, że na logikę musi zależeć od odległości od źródła - cudów nie ma. Z drugiej strony: prawie na pewno można stwierdzić, że amplituda tych drgań fluktuuje w czasie i to znacząco.
Na innym komputerze efekt jest podobny
Dla świętego spokoju, spróbowałbym jeszcze z innym mikrofonem i jeśli się potwierdzi, to można zacząć szukać źródła Twoich problemów z koncentracją ;]
W załączniku znajdziesz mały programik odczytujący na bieżąco sygnał z mikrofonu i wyświetlający jego widmo (zapisałem w 8.6 do wersji 8.5 - mam nadzieję, że nie będzie problemów). Spróbuj poobserwować jak wygląda ten pik w zależności od czasu i położenia mikrofonu.
Obstawiałbym wciąż ten drgający, na wskutek jakiegoś uszkodzenia, wiatrak zasilacza, chociaż vugie podsunął (trochę zakulisowo) ciekawy pomysł jakichś rezonansów w pionie centralnego ogrzewania. Możliwe to jest u Ciebie?
skoro nie mogę pozbyć się tego "artefaktu", to jak go wyciąć programowo?
Oczywiście, że możesz się go pozbyć, jak tylko odkryjesz, co jest jego źródłem (i zrób to koniecznie!).
Skoro już jednak pytasz o możliwość programowego wycięcia tego piku, to być może wystarczy użyć filtru. Na początek możesz spróbować górnoprzepustowego filtru Butterwortha (funkcja Butterworth Filter) o częstotliwości odcięcia 20 Hz, rzędu - powiedzmy - dziesiątego:

filter type = Highpass
low cutoff freq = 20
order = 10
Załączniki
Continuous Sound Input.vi
LV 8.5
(32.52 KiB) Pobrany 413 razy
Awatar użytkownika
fajfi
Posty: 185
Rejestracja: 28 sty 2004 00:00
Wersja środowiska: LabVIEW 2010
Lokalizacja: Wrocław

Re: Spektrum mocy - problemy

Post autor: fajfi »

Dziękuję Jogurcie za tak wyczerpujące wyjaśnienia.
Filtr górnoprzepustowy bardzo ładnie się spisał.
Niestety nie mogłem kontynuować prób z nagrywaniem ciszy, gdyż od rana, bez przerwy buczą mi pod oknem maszyny budowlane - można się wściec.
Co do rezonansów w pionie centralnego ogrzewania jest to o tyle możliwe, że mam w pokoju centralne ogrzewanie (warunek konieczny jest spełniony :) )
Próby jednak muszę odłożyć.
Testowałem Twój program, ale chyba czegoś nie rozumiem, gdyż za każdym razem, niezależnie czy była "względna cisza" czy coś mówiłem do mikrofonu,
to zawsze otrzymywałem obrazki tego typu jak załączyłem.
Pozdrawiam
Fajfi
Załączniki
widmo.jpg
sygnal.jpg
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Spektrum mocy - problemy

Post autor: jogurt_owocowy »

Próby jednak muszę odłożyć.
Testowałem Twój program, ale chyba czegoś nie rozumiem, gdyż za każdym razem, niezależnie czy była "względna cisza" czy coś mówiłem do mikrofonu,
to zawsze otrzymywałem obrazki tego typu jak załączyłem.
Na obrazkach, które załączyłeś wygląda jakby mikrofon nie był podpięty, bo jednak jakiś tam szum nagrywa, ale kto wie. Może to rzeczywiście jakiś programowy problem.
W załączniku jeszcze raz ten sam programik, ale zrobiony na starych funkcjach. Jak maszyny odjadą, to poeksperymentuj i napisz co Ci wyszło :]
Załączniki
Continuous Sound Input.vi
LV 8.2
(42.65 KiB) Pobrany 413 razy
Awatar użytkownika
fajfi
Posty: 185
Rejestracja: 28 sty 2004 00:00
Wersja środowiska: LabVIEW 2010
Lokalizacja: Wrocław

Spektrum mocy - problemy

Post autor: fajfi »

Ten drugi program działa bardzo dobrze.
Rejestracja ciągła wykazuje, że w okolicach 10 Hz pojawia się pik, którego wysokość zmienia się w sposób nieregularny.
Niestety nie miałem dziś zbyt dużo czasu, żeby się tym zająć, dokończę w poniedziałek.
Spróbuję dopisać do programu rejestrację zmiany natężenia "dźwięku" o częst. 10 Hz w zależności od czasu.
I zapuszczę pomiary dla różnych punktów w pokoju :)
Może z tego uda się wyciągnąć jakieś wnioski...
Fajfi
vugie
Posty: 383
Rejestracja: 17 lis 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Warszawa

Re: Spektrum mocy - problemy

Post autor: vugie »

Jakbyś miał mikrofon stereo, albo najlepiej dwa identyczne mikrofony mono na statywie i podpięte jedną wtyczką stereo, to mógłbyś spróbować namierzyć źródło przez pomiar przesunięcia fazowego. Można też zmajstrować mikrofon kierunkowy z miednicy...
Awatar użytkownika
fajfi
Posty: 185
Rejestracja: 28 sty 2004 00:00
Wersja środowiska: LabVIEW 2010
Lokalizacja: Wrocław

Re: Spektrum mocy - problemy

Post autor: fajfi »

Wczoraj po godzinach zrobiłem kilka pomiarów i nie zauważyłem niczego niezwykłego.
Podobnie jak dzisiaj rano.
Okazuje się, że wtedy i teraz nie działał nasz warsztat mechaniczny.
Może więc to jest wyjaśnieniem zagadki?
Pozdrawiam
Fajfi
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Spektrum mocy - problemy

Post autor: jogurt_owocowy »

Jakieś postępy śledztwa?
Udało Ci się potwierdzić, że to wina warsztatu?
Awatar użytkownika
fajfi
Posty: 185
Rejestracja: 28 sty 2004 00:00
Wersja środowiska: LabVIEW 2010
Lokalizacja: Wrocław

Re: Spektrum mocy - problemy

Post autor: fajfi »

Cześć, dopiero teraz zauważyłem tę wiadomość.
Pogadałem z naszym mechanikiem i raczej wszystko wskazuje na warsztat.
Mam w tej chwili 0,9 pewności (nawiasem pisząc nie uznaję procentów, wolę przedział 0 - 1, stąd te 0,9 pewności ;) )
Nie mogłem zlokalizować źródła, gdyż zapewne przenosiło się to po ścianach.
Jednak amplitudy nie są duże i odpowiadają cichej rozmowie.
Fajfi
ODPOWIEDZ