Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Analizator widma audio na wyświetlaczu graficznym 128x64.

marek_34 09 Sty 2011 12:28 7657 7
  • Analizator widma audio na wyświetlaczu graficznym 128x64.

    Projekt ten jest analizatorem widma audio działającym w czasie rzeczywistym opartym na 8-bitowym mikrokontrolerze PIC18F4550. Analiza widma jest przeprowadzana przez Szybką Transformację Fouriera napisaną w C. Wynik zostaje uwidoczniony na wyświetlaczu graficznym 128x64.

    Aby przeprowadzić obliczenia na sygnale audio należy go przystosować do wejść procesora tak aby mógł zostać prawidłowo odczytany. Pic posiada kilka przetworników a/d 10-bitowych, które mogą zostać wykorzystane do zmierzenia napięć 0-5 V. Typowy sygnał audio jest natomiast sygnałem AC o amplitudzie ok. 1V. Aby poprawnie został zinterpretowany przez procesor, konieczne było wykonanie dwóch czynności: - wzmocnienie sygnału do poziomu zapewniającego wykorzystanie zakresu 0-5 V w jak największym wymiarze –przeniesienie zera sygnału (poziom 0V) na „wirtualne zero” które odpowiada 2,5 V na wejściu procesora. W tym celu użyty został wzmacniacz lm386-1. Wejścia stereo zostały zmiksowane za pomocą dwóch rezystorów 10k. Sygnały z wyjścia wzmacniacza przechodzą przez filtr dolnoprzepustowy odcinający sygnał powyżej 10 kHz.

    Osiągnięta szybkość analizatora to jedna ramka na 150 mS, która odpowiada około 6,5 FPS.
    Oprogramowanie zostało napisane całkowicie w języku C i jest dostępne do pobrania na stronie.


    Źródło: http://www.waitingforfriday.com/index.php/Real-Time_Audio_Spectrum_Analyser


    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • #2 09 Sty 2011 17:48
    flubber.trip
    Poziom 27  

    Fajny projekt, tylko strasznie wąskie pasmo (312-10000 Hz). Rozumiem że górna częstotliwość jest narzucona ograniczeniami sprzętowymi, ale dolna mogła by się zaczynać chodziarz od 100 Hz.

    Moderowany przez Błażej:

    To jest człowiek uprawiający chód sportowy.

  • #3 09 Sty 2011 17:58
    Kaz K
    Poziom 20  

    Hmm ciekawe to ustrojstwo , ale gdzie pasmo z zakresu 10kHz-16kHz , podział na pasma też troszkę dziwny (jestem za standardowym podziałem typowym w sprzęcie audio). Po co mieszanie kanałów przecież analizator powinien pokazywać z każdego kanału osobno (i gdyby jeszcze "hold peak" dołożyć). Szukam właśnie takiego analizatora najlepiej na graficznym wyświetlaczu by wbudować w sprzęt audio.
    No dość narzekania może ktoś z Kolegów znających język C poprawi to urządzenie z gruntu bardzo fajne i ciekawiej wyglądające wizualnie niż na LCD .

  • #4 09 Sty 2011 18:30
    KJ
    Poziom 31  

    Jak dla mnie beznadzieja. Chodzi strasznie ślamazarnie i 6.5 FPS ? to jakiś żart ? lepiej było zrobić mniej pasm a płynnie działających.

  • #5 09 Sty 2011 18:57
    Sh44dow
    Poziom 16  

    Projekt ciekawy, chociaż sam efekt marny. Pomijając niski framerate, chyba każdy widział spectrum analyzer na ekranie komputera w swoim ulubionym odtwarzaczu audio. Dużo lepszy efekt dałby wyświetlacz LED lub old-school'owy VFD ;-).

    Druga sprawa - na video widać liniowe widmo co znacznie pogarsza efekt - wykres cały czas przypomina kształtem wykres e^(-x). Zupełnie inaczej wygląda ten sam wykres w skali logarytmicznej (na obu osiach) - o wiele bardziej odpowiada wrażeniom słuchowym.

    Tutaj moje dzieło w podobnej roli (od 1:15). Widmo jest jeszcze liniowe (nie nagrałem jeszcze nowego filmu po zmianie skali); odświeżanie około 50FPS (niestety przez kiepski aparat widać smużenie).
    http://www.youtube.com/watch?v=FPTWl9TXBQA&feature=player_embedded

  • #6 10 Sty 2011 08:08
    Snikers
    Poziom 24  

    marek_34 napisał:
    ... Pic posiada kilka przetworników a/d 10-bitowych, które mogą zostać wykorzystane do zmierzenia napięć 0-5 V.


    Wiem, że w źródle też tak jest, ale pic posiada JEDEN 13-sto kanałowy adc wg noty

  • #7 10 Sty 2011 14:39
    Szakalit
    Poziom 10  

    Snikers napisał:
    marek_34 napisał:
    ... Pic posiada kilka przetworników a/d 10-bitowych, które mogą zostać wykorzystane do zmierzenia napięć 0-5 V.


    Wiem, że w źródle też tak jest, ale pic posiada JEDEN 13-sto kanałowy adc wg noty



    Heh ??

    "10-bit, up to 13-channels Analog-to-Digital Converter module (A/D) with programmable acquisition time"

  • #8 10 Sty 2011 16:06
    KJ
    Poziom 31  

    Moduł 13 kanałowego 10 bitowego przetwornika AD z programowalnym czasem akwizycji (cokolwiek to znaczy ;) ) Tak więc ADC jest jeden i ma dołączony 13 kanałowy multiplekser.