sobota, 9 października 2010

Pierwszy program

A więc jest już pierwszy program zmieniający sygnał z domeny czasy na domenę częstotliwości. To takie fachowe nazwanie algorytmu wyświetlającego analizę widma. Zastosowałem tu algorytm DFT (Dyskretnej Transformaty Fouriera), czyli taki pierwowzór FFT. Jest to metoda dający identyczny rezultat co FFT lecz jest duuuuuużo wolniejsza, ale w zamian za to dużo prostsza. Wolałem zacząć od  podstaw, tak żeby zrozumieć dokładnie zasadę wyliczania takiej transformacji. Jest ona jak widać na  załączonym krótkim filmiku zdecydowanie za wolna, żeby można było ją wykorzystać do analizy widma w locie. Procek działa na swoim maksymalnym taktowaniu 16Mhz i jak widać wyliczanie każdego słupka sygnału zajmuje mu bardzo dużo czasu, a jest to jedynie 16 prążków z próbki o długości N=32.
Za dużo na tym filmiku nie widać, ale właśnie o to chodzi, żeby pokazać że działa ale się nie nadaje :)
Większość  czasu algorytm spędza na liczeniu funkcji trygonometrycznych sinus i cosinus. Gdyby można było zastosować wcześniej wyliczone tablice sinusów i cosinusów to by było szybciej, ale niestety Atmega 16 ma tylko 1KB pamięci SRAM co nie  starcza na zapisanie w pamięci takich tablic. Zresztą i tak ten algorytm był by za wolny do wykorzystania przy większej ilości próbek sygnału wejściowego, a to docelowo chcę zrobić bo zwiększa to dokładność obliczeń.
Spróbuje teraz swoich sił w zmianie tego algorytmu na algorytm FFT czyli szybkiej transformaty fouriera, który jest znacznie szybszy lecz też bardzo skomplikowany.
Mam nadzieję, że wkrótce  uraczę  was lepszymi rezultatami.

1 komentarz:

  1. Jestem człowiekiem, w Wietnamie. Się czytać temat. To jest piękne. Możesz dać mi całego projektu dla mnie zrobić, czy nie. Dziękuję bardzo.
    Mam nadzieję, że wyślesz e-mail: tranngocnhan81@gmail.com

    OdpowiedzUsuń