Pomiar poziomu natezenia dzwieku (w dB)

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.
naru
Posty: 2
Rejestracja: 23 maja 2008 12:52
Kontakt:

Pomiar poziomu natezenia dzwieku (w dB)

Post 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
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Pomiar poziomu natezenia dzwieku (w dB)

Post 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ć.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
naru
Posty: 2
Rejestracja: 23 maja 2008 12:52
Kontakt:

Re: Pomiar poziomu natezenia dzwieku (w dB)

Post 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
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Pomiar poziomu natezenia dzwieku (w dB)

Post autor: Mikrobi »

Proponuję przeszukać przykłady.
Sprawdź czy na przykład Total Band Power nie jest tym czego potrzebujesz.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Pomiar poziomu natezenia dzwieku (w dB)

Post 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
karasm
Posty: 23
Rejestracja: 13 maja 2005 00:00
Lokalizacja: Krakow

Re: Pomiar poziomu natezenia dzwieku (w dB)

Post 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.
kosto
Posty: 10
Rejestracja: 07 maja 2008 13:23
Lokalizacja: Kraków
Kontakt:

Re: Pomiar poziomu natezenia dzwieku (w dB)

Post autor: kosto »

Witam

Jogurcie czy mógłbyś umieścić tą aplikacje przeliczającą napięcie na dB

pozdrawiam
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Pomiar poziomu natezenia dzwieku (w dB)

Post 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 ??
Ostatnio zmieniony 27 maja 2008 19:46 przez jogurt_owocowy, łącznie zmieniany 1 raz.
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Pomiar poziomu natezenia dzwieku (w dB)

Post autor: Mikrobi »

Owszem, nie ma. Kiedyś panie takie operacje to sie Multiplajem robiło...
Ostatnio zmieniony 28 maja 2008 07:48 przez Mikrobi, łącznie zmieniany 1 raz.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
karasm
Posty: 23
Rejestracja: 13 maja 2005 00:00
Lokalizacja: Krakow

Re: Pomiar poziomu natezenia dzwieku (w dB)

Post 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
katze750
Posty: 6
Rejestracja: 17 cze 2012 01:09
Wersja środowiska: LabVIEW 2011
Lokalizacja: Szczecin

Re: Pomiar poziomu natezenia dzwieku (w dB)

Post 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
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Pomiar poziomu natezenia dzwieku (w dB)

Post 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.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Garreth
Posty: 74
Rejestracja: 28 gru 2011 14:13
Wersja środowiska: LabVIEW 2011

Pomiar poziomu natezenia dzwieku (w dB)

Post 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ć.

Obrazek

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).
katze750
Posty: 6
Rejestracja: 17 cze 2012 01:09
Wersja środowiska: LabVIEW 2011
Lokalizacja: Szczecin

Pomiar poziomu natezenia dzwieku (w dB)

Post 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
Garreth
Posty: 74
Rejestracja: 28 gru 2011 14:13
Wersja środowiska: LabVIEW 2011

Pomiar poziomu natezenia dzwieku (w dB)

Post 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.
ODPOWIEDZ