Strona 2 z 2

Re: Pomiar poziomu natezenia dzwieku (w dB)

: 17 cze 2012 13:40
autor: katze750
Czy coś takiego ma sens?
Obrazek

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)

: 17 cze 2012 23:28
autor: Garreth
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:
Obrazek
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).

Pomiar poziomu natezenia dzwieku (w dB)

: 18 cze 2012 00:30
autor: katze750
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?
Obrazek
Dobrze połączyłam według wzoru jogurt_owocowy ?

Pomiar poziomu natezenia dzwieku (w dB)

: 18 cze 2012 08:29
autor: Garreth
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%.

Pomiar poziomu natezenia dzwieku (w dB)

: 18 cze 2012 23:29
autor: katze750
Udało mi się w końcu uruchomić toolkit Sound and vibration :)
Schemacik do sprawdzenia..
Obrazek

Oraz wyniki jakie uzyskałam. Program uruchomiony przy maksymalnej ciszy w pokoju:
Obrazek

Przy uruchomionym odtwarzaniu utworu w winampie, wszystkie poziomy glośności na maxa:
Obrazek

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.

Re: Pomiar poziomu natezenia dzwieku (w dB)

: 19 cze 2012 23:50
autor: jogurt_owocowy
katze750 pisze:Czy ktoś mógłby rozwinąć myśl karasm odnośnie zamiany napięcia na ciśnienia na 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.

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

Pomiar poziomu natezenia dzwieku (w dB)

: 20 cze 2012 01:15
autor: katze750
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 :)

Pomiar poziomu natezenia dzwieku (w dB)

: 20 cze 2012 08:50
autor: Garreth
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?
Obrazek

Re: Pomiar poziomu natezenia dzwieku (w dB)

: 25 cze 2012 15:01
autor: introvert_84
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