Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

podpięcie mikrofonu do mikroprocesora

Marianekk 17 Mar 2008 08:41 3524 23
Computer Controls
  • #1
    Marianekk
    Level 13  
    Witam, chciałbym podpiąć mikrofon do procka i zająć się analizowaniem uzyskanego widma. Problem w tym, że nie wiem w jaki sposób podpina się mikrofony. Wiem, że trzeba zastosować jakiś wzmacniacz, ale czy na mikrofon trzeba podawać jakieś zasilanie? Jeśli tak to jakie? Chyba zależy to od rodzaju mikrofonu, więc jak podpina się poszczególne mikrofony?
  • Computer Controls
  • #2
    MarasK
    Level 18  
    A na jakim procku chcesz przeprowadzić analizę widma? No i ile 'słupków' oraz jakie pasmo? Rozumiem akustyczne tzn 20Hz-20kHz? Aby dobrze spróbkować taki przebieg musisz używać częstotliwości min. 40kHz. W międzyczasie przeprowadzać obliczenia.

    Poszukaj o FFT albo DFT. Sporo o tym w necie jest.

    Mikrofony podpina się różnie. Tobie pewnie chodzi o wkładkę elektretową (najtańsze rozwiązanie). Zmienia ona swoją pojemność w zależności od natężenia dźwięku. Poszukaj jakiegoś klaskacza i już będziesz miał sposób podpinania mikrofonu (a jeszcze lepiej znajdź jakiś analizator widma).
  • #3
    PiotrPitucha
    Level 33  
    Witam
    MarasK namieszałeś niepotrzebnie.
    Po pierwsze z punktu widzenia użytkownika mikrofon elektretowy nie zmienia pojemności tylko daje napięcie, klaskacze nie mają nic do tego, tam wykrywa się fakt wystąpienia dźwięku a a nie sam dźwięk.
    Po drugie, do pomiarów widma potrzebne jest źródło o równej charakterystyce a do tego mikrofony elektretowe niezbyt się nadają.
    Co do meritum, potrzebujemy dobry mikrofon, dobry wzmacniacz wprowadzający minimalne przesunięcia fazowe i przetwornik ADC, może być zewnętrzny lub wbudowany w procesor, próbkujemy conajmniej dwa razy częściej niż analizowane pasmo ( kłaniają się panowie Shanon i Kotielnikow ), a potem to już obliczenia, obliczenia i oblicznia.
    W zależności od wymaganej dokładności próbkowanie możemy przeprowadzić na 8 lub więcej bitach, im dokładniejsze, tym więcej zabawy z obliczeniami.
    Piotr
  • #4
    arturt134
    Level 27  
    Po pierwsze mikrofony elektretowe są różne. Tanie mają charakterystykę powyginaną jak kończyny paralityka. Te lepsze są względnie płaskie, oczywiście w ograniczonym pasmie. Myslę, że jeżeli chcesz zrobić coś mierzącego w miarę dokładnie (np. +/-1.5dB), to wyżej 16kHz na elektrecie (i to dobrym) nie pojedziesz. Do zabawy dokładność rzędu 3dB też jest OK, więc nie masz się czym przejmować. Poza tym jeżeli dasz filtr cyfrowy korygujący przebieg charakterystyki częstotliwościowej mikrofonu, to nawet większe dokładności da się uzyskać. Oczywiście wymaga to dużo pracy, ale jak rozumiem projekt ma charakter edukacyjny. Poza tym sam mikrofon powinien być umieszczony w odpowiedni sposób. Musi być z dala od powierzchni odbijających - poczytaj sobie jakąś książkę o akustyce. Nawet najdokładniejszy mikrofon z najbardziej płaską charakterystyką, umieszczony w odległości kilku centymetrów od obudowy urządzenia bedzie miał charakterystykę powyginaną.

    Po dłuższym namyśle doszedłem do wniosku, że charakterystyka fazowa wzmacniacza nie ma znaczenia. Pasmo wzmacniacza powinno być jednak wystarczające, żeby przenieść mierzony sygnał. Jeżeli użyjesz ADC z oversamplingiem, to pasmo musi być wystarczające do przeniesienia sygnału o częstotliwości równej: max częstotliwość mierzona x oversampling.

    Jeżeli chodzi o wzmacniacz, to nie zgadzam się z tym co napisał kolega PiotrPitucha o przesunięciu fazowym. Wystarczy że będzie ono stałe w mierzonym pasmie częstotliwości, a wcale nie musi być minimalne.

    Przetwornik ADC powinien być co najmniej 2 razy szybszy, niż najwyższa mierzona częstotliwość. Oczywiście przed przetwornikiem (lub w nim) powinien być filtr antyaliasingowy. Nowoczesne, szybkie przetworniki audio (np. PCM1802 lub podobne Texas Instruments) mają wbudowany cyfrowy filtr antyaliasingowy. Filtr zewnętrzny sprowadza się do prostego filtru RC 1 rzędu.

    Dodano po 1 [godziny] 52 [minuty]:

    Po namyśle doszedłem do wniosku, że faza wzmacniacza też nie ma znaczenia. Pasmo wzmacniacza powinno być natomiast wystarczające do przeniesienia sygnału o częstotliwosci mierzonej x oversampling ADC (jeżeli użyty przetwornik z oversamplingiem).
  • #5
    Fyszo
    Level 37  
    Mikrofon elektretowy pośrednio zmienia pojemność oraz pośrednio może dać napięcie. Po szczegóły do wikipedii. Ale nie tu problem. Problemem nie są szumy, kwantyzacja ani szybkość.

    Problemem jest wizualizacja wyniku. Bo chyba autor nie ma zamiaru w czasie rzeczywistym robić transformaty Fouriera, do tego jeszcze obrazować na jakimś wykresie? Zapis do pliku? - ale to wtedy wystarczy nagrać dźwięk i zrobić to na PC. Więc niech autor sam zastanowi się co zrobi ze strumieniem danych wyjściowych.
  • #6
    adamusx
    Level 27  
    Sa projekty analizatorow widma na AVRach i wyswietlaniu na LCD/linijkach diodowych itp. Osobiscie wykonalem sobie kiedys taki analizator ktory wykorzystywal 32 probkowa DFT i nawet ladnie to dzialalo a transformata byla liczona w czasie rzeczywistym. Poszukaj na elektrodzie projektow analizatoro widma akustycznego to znajdzesz tez schematy z podlaczeniem mikrofonu przez wzmacniacz operacyjny.

    Tu jeden z tematow:
    https://www.elektroda.pl/rtvforum/topic776332.html
  • Computer Controls
  • #7
    PiotrPitucha
    Level 33  
    Witam
    Quote:

    Jeżeli chodzi o wzmacniacz, to nie zgadzam się z tym co napisał kolega PiotrPitucha o przesunięciu fazowym. Wystarczy że będzie ono stałe w mierzonym pasmie częstotliwości, a wcale nie musi być minimalne.

    Tu się zgadzam z zastrzeżeniami, oczywiście to było moje uproszczenie myślowe, chodziło mi o minimalne różnice fazy w paśmie, ale generalnie w paśmie które można analizować Atmegą przesunięcia mogą być bardzo niskie, jeśli wejdziemy w szybkie procesory DSP to zacznie mieć znaczenie

    Quote:

    Po namyśle doszedłem do wniosku, że faza wzmacniacza też nie ma znaczenia.

    Natomiast tu się już nie zgodzę, mamy dla przykładu prostokąt 1kHz, teoretycznie zawiera same nieparzyste harmoniczne, czyli 3, 5, 7, 9, 11, 13, 15kHz w paśmie akustycznym, jak przesuniemy harmoniczne fazowo i złożymy z tego przebieg to będzie on miał zdecydowanie inny kształt i tym samym inne widmo.
    Oczywiście tyczy się to transformaty, bo badając amplitudy po filtrach pasmowych i mierząc napięcia np. na 8 kanałach ADC równocześnie tez możemy się zbliżyć do czegoś co da nam namiastkę charakterystyki widmowej.
    Piotr
  • #8
    Freddie Chopin
    MCUs specialist
    PiotrPitucha wrote:
    Witam
    Natomiast tu się już nie zgodzę, mamy dla przykładu prostokąt 1kHz, teoretycznie zawiera same nieparzyste harmoniczne, czyli 3, 5, 7, 9, 11, 13, 15kHz w paśmie akustycznym, jak przesuniemy harmoniczne fazowo i złożymy z tego przebieg to będzie on miał zdecydowanie inny kształt i tym samym inne widmo.

    wziales jakies przebiegi, cos z tych wlasnie przebiegow zlozyles i nagle te przebiegi co? wyparowaly? czy moze same na sobie zrobily transformate i sie przesunely gdzie indziej? przesuniecia fazowe nie maja najmniejszego znaczenia dla charakterystyki AMPLITUDOWEJ. za to dla fazowej zdecydowanie maja.

    jesli ktos chce badac tylko czesc rzeczywista transformaty, to faza nie ma najmniejszego znaczenia...

    0x41 0x56 0x45!!
  • #9
    arturt134
    Level 27  
    Charakterystyka fazowa mikrofonu też nie jest gładką linią. Jest pozaginana na granicach pasma przenoszenia.

    Charakterystyka fazowa toru pomiarowego ma znaczenie tylko gdy używamy matryc mikrofonowych lub sondy natężeniowej (złożonej z 2 mikrofonów). Wtedy róznica charakterystyk fazowych mikrofonów musi być jak najmniejsza.

    Resumując, moim zdaniem przy obliczaniu FFT nie ma to znaczenia, ponieważ moc w pasmach i tak bedzie taka sama, niezależnie od charakterystyki fazowej toru pomiarowego.
  • #10
    PiotrPitucha
    Level 33  
    Witam
    Tłumaczę się z prostokąta, dla mnie przykład prosty bo wałkowany kiedyś w szkole, teoretycznie faza nie ma wpływu na moc harmonicznych, ale mamy do czynienia z mikrofonem który daje nam powiedzmy kilka mV sygnału, dla uproszczenia przyjmijmy ze 5mV, aby wpakować to do ADC procesora wzmacniamy sygnał 500 razy lub więcej, aby to uzyskać dajemy wzmacniacz ze sprzężeniem, przesunięcia fazowe przy takim wzmocnieniu mogą czynić cuda.
    Freddy masz rację że przesunięcia fazowe nie zmieniają mocy harmonicznych, ale już w sprzężeniu robią to dość skutecznie, moją ulubioną zabawką w młodości było było "klejenie" przystawek do gitar, coprawda tam zmiany fazy były specjalnie głębokie ale słyszalnie wpływały na widmo sygnału a wzmocnienie przesuwnika fazowego było stałe w szerokim zakresie częstotliwości, cześć regulatorów barwy tonu działa na zasadzie wpięcia przesuwnika fazowego w sprzężenie wzmacniacza, tam też słychać ich wpływ na moc harmonicznych.

    Quote:

    wziales jakies przebiegi, cos z tych wlasnie przebiegow zlozyles i nagle te przebiegi co? wyparowaly?

    :D jakbym złożył dwa sinusy o tej samej amplitudzie i przesunięciu 180 stopni to by wyparowały :D, niewątpliwie zsumowanie takich sygnałów z przesunięciem i bez przesunięcia da zupełnie inne widmo
    Piotr
  • #11
    Fyszo
    Level 37  
    Ponieważ autor nie sprecyzował o jaką analizę sygnału może chodzić a pyta o sposob podłączenia i typy mikrofonów to w skrócie wyjaśniam:

    Mikrofony dynamiczne - analogicznie jak głośnik, ma cewkę która generuje SEM podczas rejestrowania dźwięku. Podpina się bez żadnego zasilania prosto do wzmacniacza.

    Mikrofony elektretowe - naładowana elektrostatycznie płytka wpływa swoim ładunkiem na bramkę tranzystora FET. Wymaga zasilania i separacji sygnału kondensatorem. Tranzystor pracuje jako zmienna rezystancja razem z rezystorem zasilającym tworzy dzielnik napięcia o zmiennym stopniu podziału; to napięcie z dzielnika podłączamy przez kondensator do wzmacniacza. Wersje z 3 nóżkami mają wbudowany rezystor i powinny pracować przy określonym zakresie napięć.

    Inne typy mikrofonów są rzadko stosowane.

    [c_p]
  • #13
    Fyszo
    Level 37  
    Tak i są jeszcze mikrofony węglowe....
    Jest też mnóstwo wszelkich odmian. Tylko tu chodzi o mikrofon do podpięcia pod kontroler i jak wspominasz o pojemnościowych to warto byłoby wspomnieć jak je podłączyć.

    BTW nie pisałem o pojemnościowych bo są za profesjonalne do konstrukcji amatorskich.
  • #14
    Marianekk
    Level 13  
    Dzieki za pomoc. Ja narazie się przymierzam do analizy widma, więć chcę zacząć od podłączenia mikrofonu i zebrania próbek na procka (AT91SAM7). Dlatego pytam o podstawową sprawe jak podpiąć mikrofon :)
  • #15
    Fyszo
    Level 37  
    Wzmaczniacz jeszcze potrzebny.
    Mikrofon daje amplitudy sygnału rzędu mV. Przy 8bit AC z napięciem ref 5V masz próbki mierzone co 19mV. Do tego niedokładność AC.
    Nic nie zmierzysz na samym mikrofonie.
  • #16
    Marianekk
    Level 13  
    No tak mam na uwadze, że trzeba to podpiąć przez wzmacniacz. Przez to chciałem sie dowiedzieć jaki układ skonstruować i w jaki sposób to podpiąć
  • #17
    Marianekk
    Level 13  
    A czy ktoś ma jakieś pojęcie na temat procesorów sygnałowych. Ile takie zabawki kosztują i jakie są dostępne na polskim rynku?
  • #18
    Freddie Chopin
    MCUs specialist
    w PL sa kosmicznie drogie i praktycznie niedostepne w detalu [;

    lepiej wziasc (oczywiscie z punktu widzenia amatora hobbysty) cos posredniego czyli bardzo mocne uC (dsPIC, ARM). do zastosowan audio prawdziwe DSP to w 99% przypadkow przesada, takie dsPICe czy ARMy sprawdzaja sie doskonale.

    0x41 0x56 0x45!!
  • #19
    PiotrPitucha
    Level 33  
    Cześć
    Z tymi kosmicznymi cenami przesadziłeś, poniżej 50zł w TME za 320 Texasa, problem pewnie taki że trzeba się uczyć nowego procesora, jeśli to twórczość jednorazowa to pewnie nie ma sensu.
    Co do Atmela to jest jeszcze seria AVR32 i AVR Xmega .
    Patrzę na parametry AVR32, przy 10bitach możemy mierzyć 384kSPS, czas przetwarzania 2µS, do tego procesor może sterować dużymi pamięciami RAM.
    Piotr
  • #20
    don diego
    Level 32  
    PiotrPitucha wrote:
    Cześć
    Patrzę na parametry AVR32, przy 10bitach możemy mierzyć 384kSPS, czas przetwarzania 2µS

    ARMy z serii SAM7 również posiadają takie przetworniki.
  • #22
    arturt134
    Level 27  
    Musisz tylko wziąć pod uwagę to, że DSP raczej nie pracuje sam. Jego układy we/wy są ukierunkowane na odczyt (bądź zapis) strumienia danych z przetwornika AD, a klasyczne operacje jak transmisja RS232, USB czy odczyt klawiatury lub sterowanie wyświetlaczem są trudne. Oczywiście nie we wszystkich, bo BlackFin z Analoga radzi sobie i z tym, ale to straszna kobyła. W wielu zastosowaniach celowe jest użycie oprócz procesora DSP drugiego procesora, tzw. hosta, który ładuje program do DSP i zapewnia operacje we/wy.
    Co do cen, to faktycznie nie są wygórowane i za jakieś 50zł można coś sensownego kupić. Na początek polecałbym rodzinę Analoga ADSP-218x, 16 bit, stały przecinek, mały pobór mocy, względnie prosty. No i obudowa z nóżkami, nie BGA.
    Innym rozwiązaniem jest użycie ARM-a lub AVR32, tak jak pisał ktoś wcześniej. Ale to nie są procesory DSP, więc ich możliwości obliczeniowe nie są rewelacyjne. Chociaż do nauki pewnie i tak wystarczające...

    A teraz z drugiej beczki. Przygodę z przetwarzaniem sygnałów proponuję zacząć od MATLAB-a i Simulink-a, pracującego na pliku .wav. No i oczywiście dobrej książki...
  • #23
    Marianekk
    Level 13  
    Dzięki za odpowiedzi. Czy w procesorach DSP ne jest najważniejsza szybkość obliczeniowa? Szczególnie gdy mają pracować w systemach czasu rzeczywistego. Z moich wstępnych oględzin wynika, że te szybsze nie mają wbudowanych przetworników, ale chyba można dołączyć przetworniki zewnętrzne.
    Realizuje teraz taki projekt teoretyczny i chciałbym znaleść procek szybki o dużych możliwościach obliczeniowych a jednocześnie, taki raczej znany, do którego można znaleść narzędzia programistyczne i można gdzieś znaleść jakieś projekty które były już realizowane na jego podstawie. Może jeszcze jakieś propozycje?
  • #24
    Freddie Chopin
    MCUs specialist
    no to jak masz takie wymagania, to tylko ARM i dsPICe, nic wiecej nie jest jednoczesnie szybkie, proste, dostepne i w miare znane.

    DSP owszem - nie maja czesto zadnych przetwornikow, a to z prostego powodu, ze wbudowane przetworniki do uC sa zasadniczo jakosci takiej, ze mozna sobie sprawdzic jak bardzo jest potencjometr wykrecony, ew. przy obrobce sygnalow, gdzie nie jest bardzo istotna jakosc i dokladnosc obliczen sprawdzaja sie calkiem dobrze. natomiast w DSP w zaleznosci od aplikacji interesuje cie co innego: szybkosc, rozdzielczosc, dokladnosc, ilosc kanalow - tego sie nie da polaczyc, wiec prosciej pozostawic projektantowi wybor. urzadzenia zawierajace DSP nie sa tanie (jak i same DSP), wiec oszczednosc 2$ na fakcie wbudowanego przetwornika jest nieistotna dla calosci systemu.

    0x41 0x56 0x45!!