Strona 1 z 2
Pomiar poziomu natezenia dzwieku (w dB)
: 23 maja 2008 13:05
autor: naru
Witam wszystkich serdecznie
Przegladalem forum, ale nie znalazlem na nim rozwiazania mojego problemu...
Mam do zrobienia w Labview (korzystam z wersji 7.1) aplikacje ktora mierzy poziom natezenia dzwieku pobieranego z mikrofonu. Wiem jak obsluzyc mikrofon, natomiast nie moge znalezc odpowiedniej funkcji, ktora pozwolilaby mi na pobranie poziomu natezenia dzwieku w dB (na podstawie pomiaru np. 5 sekundowego i wyliczenia sredniej). Przegladalem przykladowe aplikacje, przeszukiwalem internet, ale wydaje mi sie ze zaden z napotkanych przykladow nie pasuje....
Uzyskanie w ten sposob dane zamierzam zapisywac do bazy danych (ten modul juz mam gotowy, zostala juz rzecz najwazniejsza - czyli obsluga mikrofonu)
Z gory dziekuje za pomoc
Pozdrawiam
Pomiar poziomu natezenia dzwieku (w dB)
: 23 maja 2008 15:17
autor: Mikrobi
Powinieneś zaopatrzyć się w moduł Sound and Vibration Toolkit, Jest między innymi w wersji akademickiej i Professional. Sygnal z mikrofonu powinien być w postaci waveform, a nie tablicy ale to nie powinno sprawić kłopotu, zawsze możesz zwrócić się na forum o pomoć.
Re: Pomiar poziomu natezenia dzwieku (w dB)
: 23 maja 2008 15:21
autor: naru
Mam zainstalowany ten toolkit, natomiast nie wiem ktora z kontrolek w nim zawartych umozliwia pomiar poziomu natezenia dzwieku... (w dB, albo w formie ktora pozniej umozliwia wyliczenie z tego dB)(przegladalem helpa, dokumentacje i jakos nie moge znalezc odpowiedniej funkcji)
Pozdrawiam i dziekuje za pomoc
Pomiar poziomu natezenia dzwieku (w dB)
: 23 maja 2008 15:32
autor: Mikrobi
Proponuję przeszukać przykłady.
Sprawdź czy na przykład Total Band Power nie jest tym czego potrzebujesz.
Re: Pomiar poziomu natezenia dzwieku (w dB)
: 23 maja 2008 15:44
autor: jogurt_owocowy
Hej,
Nie wiem jak wygląda Sound and Vibration Toolkit, bo nie korzystałem, ale to co chcesz zrobić chyba szybciej zrobisz sam, niż znajdziesz w helpie:
1. Na wyjściu klocka
SI Read dostajesz tablicę próbek. 2. Podnieś wartość jej elementów do kwadratu (
Square), dodaj do siebie (
Add Array Elements) i podziel przez liczbę próbek (
Array Size) - otrzymasz moc tej części sygnału. 3. Z otrzymanej wartości wyciągnij logarytm dziesiętny (
Logarithm Base 10), pomnóż przez 10 i masz moc sygnału w decybelach.
Pamiętaj, że decybel odnosi się do stosunku mocy względem wartości odniesienia Po, której w takim rozwiązaniu nie masz podanej, więc możesz przyjąć jeden (jak wyżej) czy jakąś inną wartość i wstawić do wzorku
[img]
http://www.labview.pl/uploads/veir/db_eq.png[/img]
Pozdrawiam
Re: Pomiar poziomu natezenia dzwieku (w dB)
: 26 maja 2008 08:29
autor: karasm
Witam.
Ja proponowałbym tak zacząc od tego ze poziom dzwieku w dB odnosi sie do cisnienia akustycznego 20 uPa. Czyli poziom dzwieku [db]= 10 log(P_akustyczne/20uPa)^2 Trzeba by zanleść ch-kę przetwornika (mikrofonu) i sygnał elektryczny zamienić na cisnienie.
Re: Pomiar poziomu natezenia dzwieku (w dB)
: 27 maja 2008 12:16
autor: kosto
Witam
Jogurcie czy mógłbyś umieścić tą aplikacje przeliczającą napięcie na dB
pozdrawiam
Re: Pomiar poziomu natezenia dzwieku (w dB)
: 27 maja 2008 19:45
autor: jogurt_owocowy
"Aplikacja" w załączniku.
Warto przemyśleć, to co napisał karasm - miara decybelowa dotyczy stosunku dwóch wartości. Jeśli nie mamy poziomu odniesienia albo jeśli interesują nas względne różnice sygnału, możemy przyjąć sobie wartość jeden (jak na obrazku). Jeśli chcemy mierzyć jakąś rzeczywistą wielkość fizyczną, to już nie jest tak łatwo (tylko wtedy zapewne nie robimy tego przy pomocy karty dźwiękowej).
Pozdrawiam
PS. Nie chce mi się wierzyć, ale... Czy mnie oczy mylą czy w LabVIEW 7.1 nie ma funkcji podnoszącej do kwadratu ??
Pomiar poziomu natezenia dzwieku (w dB)
: 28 maja 2008 07:47
autor: Mikrobi
Owszem, nie ma. Kiedyś panie takie operacje to sie Multiplajem robiło...
Re: Pomiar poziomu natezenia dzwieku (w dB)
: 28 maja 2008 14:01
autor: karasm
Ja robilem miernik poziomu dzwieku na karcie NI serii USB6000 lub 6008 plus do tego mikrofon (wspołczynnik przetwornika, ch-ka czestotliwosciowa) plus przeliczenia tak jak to podaja w sonopanie
http://www.sonopan.com.pl/pliki/pobierz/definicje_a.pdf
Re: Pomiar poziomu natezenia dzwieku (w dB)
: 17 cze 2012 02:13
autor: katze750
Witam!
Odświeżam temat ;)
Dopiero co zaczęłam przygodę z LabView, od kilku dni usiłuje wykorzystać ten program do zbudowania aplikacji służącej do pomiaru natężenia dźwięku (hałasu) przy pomocy karty dźwiękowej komputera. Czy jeśli wyjście Acquire Sound podłączę do wejscia task id Sound Input read a następnie wg opisu
jogurt_owocowy i na końcu jakiś wyświetlacz, to będzie działać? Póki co, nie działa
Nie rozumiem jak utworzyć tą tablicę próbek, z Acquire Sound? Wybaczcie za moją niewiedzę ;)
pozdrawiam Ania
Pomiar poziomu natezenia dzwieku (w dB)
: 17 cze 2012 09:52
autor: Pitol
Witaj Aniu,
Na początek najlepiej załączyć kod, czy też jego kawałek, z którym masz problem. Będzie nam łatwiej zdiagnozować gdzie leży błąd. Rozwiń też opis "nie działa", bo to może znaczyć, że nic nie ściąga z karty, jak również, że występuje błąd, itd, itp.
Pomiar poziomu natezenia dzwieku (w dB)
: 17 cze 2012 10:31
autor: Garreth
Witaj na forum:)
Na zbieranie dźwięku z urządzeń w komputerze masz co najmniej dwa sposoby, oba przedstawiam na screenshocie (oczywiście wartości podane na wejścia bloczków są domyślne, więc nie zapomnij przeczytać pomocy bloczków, aby sprawdzić co gdzie podłączyć). Teraz tak, górne rozwiązanie opiera się o Express VI, są to przygotowane "gotowe" bloczki, które posiadają ustawienia w formie kreatora. Wygodne, gdy zaczyna się przygodę z LV, ale w krótkim czasie zauważysz, że nie dają one kontroli nad tym co program dokładnie robi. W tym momencie przychodzi drugie rozwiązanie, które de facto jest rozbiciem express VI na części składowe. Wtedy sama decydujesz co, kiedy ma być inicjalizowane, zbierane, zatrzymywane, etc. Dodatkowo, express VI generują typ danych dynamic data (o czym za moment) - niektórzy go lubią, dobrze on działa z innymi bloczkami typu express, ale już do innych bloków, trzeba przeważnie dane zamieniać do innych typów.
Druga rzecz to typy danych. Nie możesz podłączyć wyjścia z Acquire Sound do task id Sound Input. To pierwsze jest w formie Dynamic data jak wspomniałem i zawiera przede wszystkim zebrane próbki, a task id z drugiej strony, jest to informacja o numerze zadania utworzonego przez sound input configure. Jaki to typ danych to nieistotne, ale nie zawiera wyników pomiarowych. Wiem, że LV pozwala na podłączenie dynamic data do task id, ale zwróć uwagę, że na terminalu od sound input read masz czerwoną kropkę, która oznacza zmianę typu danych. Takich kropek też unikaj, bo jak widzisz, nie wiadomo co wtedy dokładnie labview robi;) Są bloczki do jawnej konwersji danych, które jak najbardziej należy stosować.
Na początek poczytaj może o typach danych w LV (jeżeli jeszcze nie odkryłaś tego, to jak włączysz pomoc kontekstową ctrl-H i najedziesz kursorem na kabelek, to będziesz miała napisane jaki typ danych tym kabelkiem jest przesyłany).
Pomiar poziomu natezenia dzwieku (w dB)
: 17 cze 2012 12:23
autor: katze750
Witam!
Dziękuję za odpowiedzi.
Rozumiem ze w Sound Input Configure konfiguruje próbkowanie, czyli id sprzętu, ilość próbek itp. Następnie dane są pobierane z karty za pomocą Sound Input Start,w Sound Input Read dane pobrane są analizowane i też jest tu ustawienie czasu oraz ilości próbek. Mowa o schemacie nr 2, przedstawionym przez Garretha. Sound input Stop zatrzymuje próbkowanie oraz czyści bufor. Zgadza się mniej więcej?
Teraz pytania
Miernik na pewno oprę o jakiś wskaźnik wskazówkowy. Czy dane do takiego wskaźnika powinnam pobrać właśnie z Sound Input Stop ? Na schemacie nr2 wyjście Sound Input Read jest podłączon do wykresu, który mnie jednak nie interesuje
Jak połączyć w jedność 3 wartości przy Sound Input Configure? Nie mogę tego znaleźć...
pozdrawiam Ania
Pomiar poziomu natezenia dzwieku (w dB)
: 17 cze 2012 12:36
autor: Garreth
Ach,przepraszam, ale zapomniałem o jeszcze sound input clear, który powinien być wywołany na zakończenie programu (za Stop).
Trochę inaczej, Read czyta próbki i wyrzuca je na swoje wyjście w formie waveform, a jaką dalszą analizę na tych próbkach przeprowadzisz, to już będzie Twoja inwencja. Ja użyłem wykresu, Ty możesz użyć jakiejś analizy spektrum, albo wzoru podanego przez @jogurt_owocowy, etc. etc. Wykres dałem, żeby wskazać w którym miejscu znajdują się zebrane z urządzenia, czyste i nieobrobione próbki.
Aha, jak klikniesz na wejście bloczku sound input configure prawym klawiszem i wybierzesz "constant" lub "control" to LV automatycznie utworzy stałą lub kontrolkę o odpowiednim typie danych.