logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Miernik głośności / sonometr na ADC Atmega

MES Mariusz 27 Mar 2011 09:44 2746 7
REKLAMA
  • #1 9327551
    MES Mariusz
    Poziom 36  
    Witam.

    Chciałbym zbudować miernik natężenia dźwięku (niekoniecznie ciągłego) w pomieszczeniu zamkniętym (np. pokoju dzieci). Trzeba będzie przygotować tor dopasowania pomiędzy popularnym mikrofonem elektretowym a przetwornikiem ADC Atmegi (tor, który dla minimalnego poziomu głośności wystawi 0V a dla maksymalnego 5V). Zastanawiam się nad rozwiązaniem, które da najlepszy rezultat (będę miał do czynienia ze stwierdzeniem poziomu głośności ludzkiej mowy / krzyku a nie np. głośnego silnika pracującego w sposób ciągły). Z góry dziękuję za podpowiedzi.
  • REKLAMA
  • REKLAMA
  • #3 9328710
    nsvinc
    Poziom 35  
    Detektor szczytowy nie będzie niezawodny w przypadku znacznego szumu tła, np. głośno pracujący pecet lub silnik. Lepiej odpuścić sobie detektor czegokolwiek na elementach dyskretnych, i bezpośrednio z wyjścia wzmacniacza mikrofonowego popchnąć do ADC. Skoro jest użyty mikrokontroler, to on może sobie analizować sygnał w domenie cyfrowej.
    Mowa lub krzyk zawierają się w tzw paśmie telefonicznym, więc filtr pasmowoprzepustowy IIR będzie wystarczający (a nie będzie przesadznie obciążać procesora).
    Idąc dalej, procek może rozróżnić mowę, krzyk od przeciągłego wycia.
  • #4 9329065
    pubus
    Poziom 30  
    No i wypada odciąć wszystko powyżej połowy częstotliwości z jaką jest w stanie próbkować ADC w uC - filtr dolnoprzepustowy przed ADC.
  • REKLAMA
  • #5 9329292
    nsvinc
    Poziom 35  
    pubus napisał:
    No i wypada odciąć wszystko powyżej połowy częstotliwości z jaką jest w stanie próbkować ADC w uC - filtr dolnoprzepustowy przed ADC.

    Obowiązkowo. Bez tego filtra cyfrowa obróbka sygnału będzie utrudniona lub nawet niemożliwa z powodu efektu aliasingu.
  • REKLAMA
  • #7 9332246
    MES Mariusz
    Poziom 36  
    Gwoli sprecyzowania - układ nie ma służyć do detekcji / wyodrębnienia mowy ludzkiej na tle innych dźwięków, ma co najwyżej wykrywać hałas, wykryć nie tylko krzyk, ale też głośną mowę / mowę podniesionym głosem. Nie ma reagować na zwykłą rozmowę. Oczywiście może reagować na dowolne dźwięki. Ważne żeby reagował na zmienne dźwięki (np. mowę ludzką) a nie tylko źródła dźwięku stałego / jednostajnie intensywnego.

    PS. Warto natomiast zadbać o to, aby nie był wrażliwy na pojedyncze stuki, spadające przedmioty (klocki itp.) a zamiast tego reagował w momencie gdy w pomieszczeniu na prawdę zaczyna być głośno (osoby, np. dzieci, zaczynają krzyczeć zamiast rozmawiać).
  • #8 14354509
    adamschodowy
    Poziom 12  
    Parę tygodni temu zrobiłem 2 sztuki, w zasadzie kwalifikowałyby się rozwiązaniem pod sugestie kolegi tmf, ale doszedłem w trakcie testów do pewnego ciekawego wniosku: mianowicie jeden z mikrofonów które do tego projektu testowalem, a w większości to były elektretowe, miał tak dużą czułość że wychodziły z niego nawet 2V amplitudy, skąd wniosek że możnaby się obejść bez wzmacniacza. Nie poszedłem tą drogą bo nie chciałem mnożyć wersji i móc wygodnie dobierać sobie zakres liniowości, no i już miałem toto wykalibrowane, ale warto na przyszłość brać to pod uwagę.
    Tak się to zachowywało (gwoli ścisłości - był to dyskryminator)
    https://www.youtube.com/watch?v=q6jCDOVQ9ow

    Nikt nie wspomniał tu o nieliniowości tych decybeli - rozdzielczość ADC to 1024, górna granica czułości to powiedzmy 100dB czyli 100tys więcej niż mierzone zero. Znaczy to że minimalna wartość mierzona przez ADC czyli 1bit, odpowiada ok 40dB. Mój miał akurat sygnalizować przekroczenie 84dB więc moglem sobie dobrać max 90dB czemu odpowiada minimum ok 30dB.

    Podobne kwestie dotyczą zresztą toru audio androidowego telefonu który używałem do kalibracji, mierzone minimum to było bodaj ok 30dB, max w okolicy 83-85. No, ale można? Można!
REKLAMA