analizator widma na 8051

Czy jest mozliwe zrobienie cos takiego i jak sie do tego zabrac? Jestem zielony w tych sprawach. Prosze o jakies lopatologiczne wytlumaczenie. Powiedzmy ze przedzial widma, ktory chcialbym zobaczec bedzie zawieral sie w przedziale czestotliwosci akustycznych.

Reply to
Janusz Ch
Loading thread data ...

U¿ytkownik "Janusz Ch" napisa³ w wiadomo¶ci news:bfep90$nc4$ snipped-for-privacy@nemesis.news.tpi.pl...

Hm, mo¿liwe jest. Inna sprawa w którym bloku analizatora, je¶li do interfejsu klawiatury to czemu nie :-) Domy¶lam siê ¿e chodzi Ci o FFT, hm, to wybór nienajlepszy, gdy¿ to baaardzo wolny uk³ad do takich zastosowañ. Zobacz na

formatting link
, tam s± trochê szysbsze wersje. Ale proponujê zapoznaæ siê z jakim¶ DSP, gdzie ca³a architektura ku temu porêczniejsza, przyk³adów ka¿dy producent podaje sporo, zobacz np. na
formatting link
czy
formatting link
.

A skoro jeste¶ "zielony" to poczytaj najpierw jak siê buduje analizatory widma, je¶li chodzi o FFT to np. zajrzyj do jakiego¶ podrêcznika z teorii sygna³ów, jest ich sporo. A takie bardziej konwencjonalne to np. Christoph Rauscher, "Fundamentals of Spectrum Analysis", Rohde&Schwarz 2001. Niez³a ale niestety mo¿e byæ trudno osiagalna. W ka¿dym razie bez jakiej¶ teoretycznej podbudowy to nie ma co siê za to zabieraæ, przynajmniej pi*drzwi warto wcze¶niej dowiedzieæ siê co wp³ywa na co, jakie parametry s± wa¿ne etc.

Andrzej Kamieniecki

Reply to
Andrzej Kamieniecki

Jest to mo¿liwe do zrobienia z wykorzystaniem szybkiej transformaty Fouriera (FFT). Przyk³adowe kody mo¿na znale¼æ w internecie.

--
 Wyslano z forum elektronicznego: http://www.elektroda.pl/rtvforum/
Reply to
simon71

U¿ytkownik "simon71" napisa³ w wiadomo¶ci news:bfev9p$fum$ snipped-for-privacy@taurus.webcorp.pl...

naprawdê??? hm, przyznam ¿e to trochê odkrywcze.

Andrzej Kamieniecki

Reply to
Andrzej Kamieniecki

naprawdę??? hm, przyznam że to trochę odkrywcze.

A co cię tak dziwi?

Reply to
simon71

Moze nie na 8051, ale cos ciekawego i tez na jednoukladowcu :)

formatting link

Reply to
Loa" <loa[NO

Sun, 20 Jul 2003 20:50:01 +0000 (UTC) jednostka biologiczna o nazwie snipped-for-privacy@mail.zetosa.com.NOSPAM.pl (simon71) wyslala do portu 119 jednego z serwerow news nastepujace dane:

Na '51 ? To chyba za szybko nie bedzie...

Reply to
BLE_Maciek

Na '51 ? To chyba za szybko nie bedzie... "Szybko" to stwierdzenie mało konkretne. Kolega, który zadawał pytanie sam będzie musiał ocenić jak szybki analizator jest mu potrzebny i czy '51 mu wystarcza czy nie. Druga sprawa, ze '51 to nie tylko oryginał Intela, ale również cała masa o wiele szybszych klonow, chociażby wspominany powyżej mikrokontroler Cygnala.

Reply to
simon71

Mon, 21 Jul 2003 18:18:31 +0200 jednostka biologiczna o nazwie "Janusz Ch" snipped-for-privacy@wp.TOWYTNIJ.pl> wyslala do portu 119 jednego z serwerow news nastepujace dane:

Zostala wydana przez oficyne wydawnicza PW, szukaj w firmowych sklepach.

Kolego, FFT to nie jest "generatorek na NE555 do mrugania dioda" :-))) Jest to dosyc zlozone zagadnienie matematyczne, ktorego nie da sie wyjasnic w 5 minut. Poza tym, nie oczekuj ze na grupach UseNetowych ktos bedzie przeprowadzal wyklad na temat transformaty Fouriera. I tak przeciez Koledzy nakierowali cie w miejsca gdzie nalezy szukac informacji. Niestety bez posiadania podstaw z matematyki nic nie zrozumiesz, nawet gdyby bylo to wylozone jak najlopatologiczniej :-))) Poza tym na tych stronach do ktorych linki padly, masz wlasnie informacje na temat dzialania transformaty Fouriera, wiec nie oczekuj ze ktos je bedzie przepisywal na grupe. Glowa do gory, wszystko bedzie dobrze !!!

Aaa jak chcesz wyklad to zapraszam do nas na wyklad z matmy na 3-cim semestrze :-))) Bedzie o transformacie Fouriera. Brrrrr az mnie ciarki przeszly na sama mysl :-))))

Reply to
BLE_Maciek

A no to trzeba tak od razu. :-) Po kolei:

  1. Zapomnij o FFT, bo tu go nie potrzeba. W pamieci ROM przygotuj sobie macierz Vandermonde'a 16x16 zespolonych liczb postaci V = [w^{p*q}], gdzie p i q sa indeksami wierszy i kolumn, p,q \in {0,..,15}, a "w" jest zespolonym pierwiastkiem z 1 stopnia 16.
  2. Pobierz 16 probek z digitalizera.
  3. Zamien je na wektor x liczb zespolonych. Czesc rzeczywista kazdej skladowej wektora to pobrana wartosc, czesc urojona to 0.
  4. Oblicz wektor y = V*x.
  5. Dla widma amplitudowego oblicz modul kazdej skladowej wektora y, dla fazowego oblicz argument.
  6. Przeskaluj, wyswietl slupki. goto 1.

IMO najlepiej i najprosciej bedzie to liczyc na stalym przecinku, floating point to bedzie duzy overkill. Tylko musisz wowczas pamietac o jakims unormowaniu, aby Ci dane nie wyskoczyly poza przyjety zakres.

Hm, to musisz miec zdrowo ponad 200 lat. ;-)

Podana metoda zadziala wszedzie, ale dla wiekszego wymiaru bazy funkcyjnej uzyj FFT, bo algorytm klasyczny ma zlozonosc O(n^2), a FFT tylko O(n lg n). BTW, dla sygnalow rzeczywistych widmo jest symetryczne, wiec dowolnej liczby kreseczek zamien 16 na N, a 15 na N-1. i dobierz sobie N, np. N=32 dla pierwszych 16 istotnych slupkow. Zamiast trzymac macierz V w ROM mozesz jej skladowe wyliczac sobie dynamicznie, choc bedzie to wowczas nieco wolniejsze.

Pozdrawiam Piotr Wyderski

Reply to
Piotr Wyderski

FT polega ma wymnazaniu sygnalu przez rozne czestotliwosci, a nastepnie usrednianiu Jesli w sygnale jest poszukiwana czestotliwosc, to po wymnoszeniu jej przez wygenerowana, uzyskamy cos w sensie detekcji synchronicznej , np .sin(x) * sin(x) = 1/2 + cos(2x)/2 czy jakos tak, usredniajac , odfiltrowujesz ten cosinus i dostajesz skladowa stala, proporcjonalna do zawartosci danego skladnika w sygnale. Pomijam tu sprawe fazy. tak wiec bierzesz ciag probek, tworzysz drugi ciag probek(sinus, najprosciej tablica, szczeg na jednoukladowcu), wymnazasz je(ciagi) przez siebie, w sensie kazda probka przez odpowiadajaca sobie. Nastepnie sumujesz i dzielisz przez ilosc - i dostajesz amplitude jednego prazka. Powtarzasz to dla tylu prazkow, ile masz probek, tyle ze z inna czestotliwoscia. FFT jest to dokladnieto samo, w sensie matematycznym, tyle ze duzo szybsze, dla wiekszej ilosci probek, chyba wiekszej niz 100. ale nie pamietam. ilosc obliczen FT rosnie z kwadratem probek a w FFT z N log2 (N)

tak wiec, dla 8051 proponuje w ROM zaszyc tablice sinusa dla polowy lub cwiartki okresu (lub jak ktos chce sobie zycie uproscic, to dla calego, jak np w DSP56004) poszczegolne czestotliwosci generowac beda sie przez zmiane kroku z jakim pobieramy wartosci z tej tablicy. proponuje robic to dla kilku - kilkuset okresow (na 8051 moze byc maly problem z tym:)) Pomijam tu problem przepelnien, szumow kwantyzacji i innych spraw.. mam nadzieje ze nieco rozjasnilem sytuacje

Reply to
Grzegorz Kasprowicz

No, poltoraroczny akademicki kurs analizy powinien wystarczyc. :-)

FFT to juz nie matematyka, tylko informatyka, a konkretnie zastosowanie strategii "dziel i zwyciezaj" do liczenia DFT. Jesli sposob liczenia tej transformaty calkowej wprowadzono Ci od razu w wersji FFT, to nie dziwie sie, ze, delikatnie mowiac, niewiele zrozumiales. :-) Bez podejscia na raty tego "nie rozbierjosz". ;-) Na poczatek wez DFT liczona klasycznie (z macierzy Vandermonde'a), a nastepnie zapytaj tu, albo przeczytaj w podreczniku (do informatyki, np. we "Wprowadzenu do algorytmow" Cormena, a nie, bron boze, jakiejkolwiek ksiazce do teorii sygnalow) jak mozna inaczej zapisac wielomian opisujacy funkcje wejsciowa i od razu zobaczysz skad sie bierze zwykle FFT oraz skad sie biora FFT liczone dla innych podzialow niz 2. :-)

Pozdrawiam Piotr Wyderski

Reply to
Piotr Wyderski

Dzieki uprzejmosci kolegow, zaczyna mi sie cos rozjasniac. Chyba jednak wymysle wlasny sposob na analizator widma. Jak to powiedzial pewien slynny matematyk (nie pamietam nazwiska) "nie mam czasu na uczenie sie, wole do tego dojsc samemu". Tak czy owak, dziekuje wszystkim za zainteresowanie moim problemem i naswietlenie mi rozwiazanie problemu przez uczelnie.

Dzieki i pozdrawiam J.

Reply to
Janusz Ch

Bo IMO pisanie o matematyce nalezy pozostawic matematykom, a nie inzynierom. :-) W tych ksiazkach, ktore widzialem algorytm szybkiej FT byl przedstawiany w kategoriach "prawdy objawionej", bez wyjasnienia co z czego wynika i dlaczego mozna zrobic dane przeksztalcenie. Np. pisza, ze kazda funkcje okresowa [rzeczywista

-- przyp. moj] mozna przedstawic w postaci sumy sinusow i kosinusow. OK, ale _dlaczego_? :-) W podreczniku do analizy takie wyjasnienie znajdziesz, a w podreczniku do algorytmiki bedzie o tym, dlaczego mozna policzyc DFT istotnie szybciej, niz z definicji. Podrecznikom do teorii sygnalow przypada rola pokazania co z ta DFT mozna zrobic w praktyce, lecz jej "teoretyczne dno", a o tym tu mowa, to inna dziedzina.

?

Pozdrawiam Piotr Wyderski

Reply to
Piotr Wyderski

No wlasnie - nie potrzebuje analizatora widma, tylko bajerancki wskaznik :-)

Czesciowo sie przychylam, ale bym nie zapominal na razie..

Spytaj najpierw dla jakich czestotliwosci maja byc te kreski. Jesli 20,30,50,70,100,150,200,300,500,700,..15000 Hz, to 16 probek nie starczy..

J.

Reply to
J.F.

Mon, 21 Jul 2003 19:20:54 +0200 jednostka biologiczna o nazwie "Grzegorz Kasprowicz" snipped-for-privacy@cern.ch wyslala do portu

119 jednego z serwerow news nastepujace dane:

Propuje, aby najpierw zaimplementowac i sprawdzic algorytm w zwyklym C na pececie, a pozniej, po uruchomieniu, majac w reku wydruk z listingiem, pisac cos w assemblerze '51 na "wzor i podobienstwo".

Reply to
BLE_Maciek

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.