Pomiar poziomu natezenia dzwieku (w dB)
-
- Posty: 6
- Rejestracja: 17 cze 2012 01:09
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Szczecin
Re: Pomiar poziomu natezenia dzwieku (w dB)
Czy coś takiego ma sens?
Cały czas z tym walczę, czytając jednocześnie pomoc i opis bloczków. Niestety nie wszystko jest dla mnie zrozumiałe, ale powoli oswajam się ze środowiskiem LabView
Bo rozumiem, że skoro próbki mam w formie waveform, a chcę ich wartość przedstawić w formie wskaźnika (dB), to potrzebuję bloczka, który zamieni mi te dane.
Może jak pobiorę pakiet The Sound and Vibration Toolkit to znajdę tam więcej informacji ;)
Cały czas z tym walczę, czytając jednocześnie pomoc i opis bloczków. Niestety nie wszystko jest dla mnie zrozumiałe, ale powoli oswajam się ze środowiskiem LabView
Bo rozumiem, że skoro próbki mam w formie waveform, a chcę ich wartość przedstawić w formie wskaźnika (dB), to potrzebuję bloczka, który zamieni mi te dane.
Może jak pobiorę pakiet The Sound and Vibration Toolkit to znajdę tam więcej informacji ;)
Pomiar poziomu natezenia dzwieku (w dB)
Nie jestem pewien czy DC-rms to jest to, co chcesz osiągnąć... Gdybyś chciała wyciągnąć czyste arraye z próbkami, możesz to zrobić tak:
Oczywiście w całej otoczce pętli i niekoniecznie z wykresami (co prawda wstaw sobie testowe wykresy, żeby widzieć, czy coś mikrofon zbiera - później je usuniesz jak już nie będą potrzebne:) ). Na wyjściu z bloczka read samples masz Array z waveformów - czyli jeśli masz jeden kanał, to array ma jednego waveforma, jeśli dwa kanały to dwa, itd. Odpowiednio dla ilości kanałów, musisz rozciągnąć bloczek index array, ale spokojnie, to jest tylko taka moja sugestia, bo rozwiązań jest sporo. Wiele bloków będzie działać na array of waveform jakie wychodzi z bloczka read i najlepiej wtedy nie rozbijać wtedy sygnału.
Sound and Vibration ma sporo użytecznych narzędzi (z niepodstawowych toolkitów, jest to najczęstszy dodatek, z którego korzystam ostatnio).
Oczywiście w całej otoczce pętli i niekoniecznie z wykresami (co prawda wstaw sobie testowe wykresy, żeby widzieć, czy coś mikrofon zbiera - później je usuniesz jak już nie będą potrzebne:) ). Na wyjściu z bloczka read samples masz Array z waveformów - czyli jeśli masz jeden kanał, to array ma jednego waveforma, jeśli dwa kanały to dwa, itd. Odpowiednio dla ilości kanałów, musisz rozciągnąć bloczek index array, ale spokojnie, to jest tylko taka moja sugestia, bo rozwiązań jest sporo. Wiele bloków będzie działać na array of waveform jakie wychodzi z bloczka read i najlepiej wtedy nie rozbijać wtedy sygnału.
Sound and Vibration ma sporo użytecznych narzędzi (z niepodstawowych toolkitów, jest to najczęstszy dodatek, z którego korzystam ostatnio).
-
- Posty: 6
- Rejestracja: 17 cze 2012 01:09
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Szczecin
Pomiar poziomu natezenia dzwieku (w dB)
Zauważyłam właśnie, że jest wiele sposobów wykonania tego programu, co nie zmienia faktu, że nie wiem, jakiego użyć. Co prawda cały czas czytam tutorial ze strony NI i sama coś próbuje stwarzać Koncepcja jest taka, by program pobierał dane z karty dźwiękowej (dźwięki z mikrofonu) i na ich podstawie przeliczał to na wartość wyrażoną w dB. Oczywiści biorę pod uwagę zapewne marnej jakości mikrofon w laptopie. Drugim problemem jest wyskalowanie poziomu natężenia dźwięku, nie wiem czy jest to możliwe bez użycia zewnętrznych kart LabView. Ale myślę, że można by to zeskalować w taki sposób, że pobrane dane w kompletnej ciszy dają 0 dB bądź dokładniej -4dB,-6dB, choć według różnej literatury 10dB to jest tak naprawdę bardzo cicho(szmer liści,delikatny wiatr). Zastanawiam się czy jest możliwe tak dokładne wyskalowanie odpowiedniej wartości dB, choć nie ukrywam, że najistotniejsza jest koncepcja i działanie programu
Czy istnieje wersja trial Sound and Vibration ?
a coś takiego?
Dobrze połączyłam według wzoru jogurt_owocowy ?
Czy istnieje wersja trial Sound and Vibration ?
a coś takiego?
Dobrze połączyłam według wzoru jogurt_owocowy ?
Pomiar poziomu natezenia dzwieku (w dB)
Niestety źle;) Sumę kwadratów próbek musisz podzielić przez ilość próbek (najlepiej użyć do tego celu Array Size), a nie przez próbki.
Wersję evaluacyjną S&V pobierzesz tutaj: http://sine.ni.com/nips/cds/view/p/lang/en/nid/209056 , ale nie pamiętam na ile starczy taka wersja.
Swoją drogą zapytaj na uczelni czy nie mają czegoś takiego jak sonometr, wtedy ciut dokładniej skalibrujesz sygnał z mikrofonu w komputerze. Mikrofon w laptopie, nawet dobrej jakości, łapie szumy z obudowy komputera. Software/Hardware jakoś marnie stara się odfiltrować szumy i echo, więc dodatkowo pogarsza to jakość sygnału. Jeszcze sprawdź w ustawieniach mikrofonu w windowsie, poziom mikrofonu, bo domyślnie jest ustawiony na 50% i może lepiej byłoby ustawić na 100%.
Wersję evaluacyjną S&V pobierzesz tutaj: http://sine.ni.com/nips/cds/view/p/lang/en/nid/209056 , ale nie pamiętam na ile starczy taka wersja.
Swoją drogą zapytaj na uczelni czy nie mają czegoś takiego jak sonometr, wtedy ciut dokładniej skalibrujesz sygnał z mikrofonu w komputerze. Mikrofon w laptopie, nawet dobrej jakości, łapie szumy z obudowy komputera. Software/Hardware jakoś marnie stara się odfiltrować szumy i echo, więc dodatkowo pogarsza to jakość sygnału. Jeszcze sprawdź w ustawieniach mikrofonu w windowsie, poziom mikrofonu, bo domyślnie jest ustawiony na 50% i może lepiej byłoby ustawić na 100%.
-
- Posty: 6
- Rejestracja: 17 cze 2012 01:09
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Szczecin
Pomiar poziomu natezenia dzwieku (w dB)
Udało mi się w końcu uruchomić toolkit Sound and vibration
Schemacik do sprawdzenia..
Oraz wyniki jakie uzyskałam. Program uruchomiony przy maksymalnej ciszy w pokoju:
Przy uruchomionym odtwarzaniu utworu w winampie, wszystkie poziomy glośności na maxa:
Jak widać, wartość running Leq sound jest identyczna, jak wartość Numeric, czyli wyliczona ze wzoru, który podał jogurt_owocowy. Jeśli wartości są idetyczne to chyba praca idzie do przodu Tylko czy mnie nie powinna interesować wartość peak level sound czyli szczytowa? Nie zmienia to fakty, że wszystkie te wartości jak na poziom dB są bardzo małe. Proszę o sugestie. Garreth dzięki za zainteresowanie.
Schemacik do sprawdzenia..
Oraz wyniki jakie uzyskałam. Program uruchomiony przy maksymalnej ciszy w pokoju:
Przy uruchomionym odtwarzaniu utworu w winampie, wszystkie poziomy glośności na maxa:
Jak widać, wartość running Leq sound jest identyczna, jak wartość Numeric, czyli wyliczona ze wzoru, który podał jogurt_owocowy. Jeśli wartości są idetyczne to chyba praca idzie do przodu Tylko czy mnie nie powinna interesować wartość peak level sound czyli szczytowa? Nie zmienia to fakty, że wszystkie te wartości jak na poziom dB są bardzo małe. Proszę o sugestie. Garreth dzięki za zainteresowanie.
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: Pomiar poziomu natezenia dzwieku (w dB)
Jeśli chcesz uzyskać coś takiego laptop + mikrofon + Twoja aplikacja = pomiar natężenia dźwięku w prawdziwych decybelach akustycznych, to jest to mało wykonalne z kilku powodów, a wszystkie sprowadzają się do tego, że mikrofon wraz z układem wejściowym karty dźwiękowej nie jest urządzeniem pomiarowym.katze750 pisze:Czy ktoś mógłby rozwinąć myśl karasm odnośnie zamiany napięcia na ciśnienia na dB?
Mikrofon mierzy ciśnienie akustyczne i tę wartość istotnie można wykorzystać do określenia natężenia dźwięku, problem tylko w tym, że Ty jej nie znasz.
Na wyjściu bloczka SI Read dostajesz wartość, która jest proporcjonalna do napięcia wyjściowego mikrofonu, to z kolei jest proporcjonalne do ciśnienia, które, wreszcie, możesz przeliczyć na natężenie dźwięku.
Chcąc określić natężenie dźwięku musiałabyś przebrnąć całą tę ścieżkę obliczeniową i na największy problem napotkasz już na początku. O ile późniejsze przeliczenie napięcia na ciśnienie jest możliwe, jeśli znasz czułość mikrofonu, o tyle przeliczenie wartości próbek na wartości napięcia jest kłopotliwe, bo wymaga znajomości parametrów karty dźwiękowej, których raczej nigdzie nie znajdziesz.
Samodzielne przyjęcie rozsądnego poziomu odniesienia to jest wszystko, co możesz zrobić, ale to w zupełności wystarczy do zrobienia aplikacji, która będzie pokazywać w przybliżeniu wartość natężenia dźwięku.katze750 pisze:Ale myślę, że można by to zeskalować w taki sposób, że pobrane dane w kompletnej ciszy dają 0 dB bądź dokładniej -4dB,-6dB
Ustaw wzmocnienie mikrofonu na maksimum (i nie zmieniaj go potem), skalibruj swoją aplikację w oparciu znane źródła [1],[2] i będzie dobrze. Przy odrobinie fantazji możesz spróbować z takim cudem 120 dB z odległości 1 metra.
Ostatnio zmieniony 20 cze 2012 01:43 przez jogurt_owocowy, łącznie zmieniany 1 raz.
-
- Posty: 6
- Rejestracja: 17 cze 2012 01:09
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Szczecin
Pomiar poziomu natezenia dzwieku (w dB)
Dzięki za pomoc i rozjaśnienie
Oczywiście parametrów nie znam i zapewne nigdzię ich nie znajdę. Czyli zostawię schemat jak wyżej i spróbuje jedynie określić maksymalny poziom i skalibrować do wartości rzeczywistych min i max, bo chyba tylko tyle mogę. Zdaję sobie sprawę, że to nie nie będzie żaden miernik wartości rzeczywistych ale generalnie chodzi o samą istotę działania programu. Jeszcze raz dziękuję za pomoc
pozdrawiam Ania
Oczywiście parametrów nie znam i zapewne nigdzię ich nie znajdę. Czyli zostawię schemat jak wyżej i spróbuje jedynie określić maksymalny poziom i skalibrować do wartości rzeczywistych min i max, bo chyba tylko tyle mogę. Zdaję sobie sprawę, że to nie nie będzie żaden miernik wartości rzeczywistych ale generalnie chodzi o samą istotę działania programu. Jeszcze raz dziękuję za pomoc
pozdrawiam Ania
Pomiar poziomu natezenia dzwieku (w dB)
Jak działa, to się cieszę, że mogłem pomóc:)
Sound and Vibration ma jeszcze sporo ciekawych bloczków:) Tylko pamiętaj, że przy zastosowanym układzie, zbierasz 1000 próbek z prędkością 44050 S/s i te 1000 próbek wrzucasz do analizy, więc gdybyś planowała zrobić jakieś analizy widmowe, to prawdopodobnie byś musiała jednak zebrać więcej próbek.
A, właśnie, dlaczego akurat próbkujesz z prędkością 44050? Próbowałaś może ustawić takie same parametry próbkowania jak na screenshocie?
Sound and Vibration ma jeszcze sporo ciekawych bloczków:) Tylko pamiętaj, że przy zastosowanym układzie, zbierasz 1000 próbek z prędkością 44050 S/s i te 1000 próbek wrzucasz do analizy, więc gdybyś planowała zrobić jakieś analizy widmowe, to prawdopodobnie byś musiała jednak zebrać więcej próbek.
A, właśnie, dlaczego akurat próbkujesz z prędkością 44050? Próbowałaś może ustawić takie same parametry próbkowania jak na screenshocie?
-
- Posty: 18
- Rejestracja: 26 paź 2008 10:21
- Wersja środowiska: LabVIEW 2012
- Kontakt:
Re: Pomiar poziomu natezenia dzwieku (w dB)
Samo przeliczenie nie jest wcale kłopotliwe, o ile mamy wzorzec. Każdy sonometr trzeba przed użyciem kalibrować kalibratorem akustycznym. Tak samo można skalibrować mikrofon podłączony do karty dźwiękowej opierając się na pomiarze miernikiem poziomu dźwięku. Trzeba tylko dobrze wszystko ustawić, ważna jest odległość obydwu mikrofonów od źródła dźwięku (musi być jednakowa bo poziom dźwięku zależy od odległości od źródła). Najlepiej aby było to w swobodnym polu akustycznym. Skalujemy wtedy sygnał wejściowy na kartę dźwiękową tak, aby wskazał tą samą wartość co miernik poziomu dźwięku. Jak coś to pisz na priv