FFT na 51



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Zbino" <zew_at_nospam_NOSPAMpoczta.onet.pl>
Subject: FFT na 51
Date: Sun, 15 Dec 2002 22:55:32 +0100


Może ktoś ma źródła w asemblerze na szybką transformatę Fouriera (FFT)
napisaną np. na procek 51. Jeśli nie znajdę to będę musiał chyba przysiąść
do tego i sobie przypomnieć te zawiłości matematyczne. Nie chciałbym się
bawić w procki sygnałowe, bo to są droższe zabawki, natomiast chciałbym
dekodować częstotliwości podwójne w sygnale akustycznym. Tzn. w sygnale jest
np. ton 1380Hz i 1140Hz to układzik ma to wyłapać czy też inne kombinacje.
Częstotliwości te stosowane są w centralach telefonicznych (kod R2).


Poprzedni Następny
Wiadomość
Spis treści
From: "Wojt" <rwxrwx_WYTNIJTO_at_nospam_poczta.onet.pl>
Subject: Re: FFT na 51
Date: Sun, 15 Dec 2002 20:40:27 +0100



"Zbino" <zew_at_nospam_NOSPAMpoczta.onet.pl> wrote in message
news:atij9o$2co$1_at_nospam_news.tpi.pl...
Może ktoś ma źródła w asemblerze na szybką transformatę Fouriera (FFT)
napisaną np. na procek 51. Jeśli nie znajdę to będę musiał chyba przysiąść
do tego i sobie przypomnieć te zawiłości matematyczne. Nie chciałbym się
bawić w procki sygnałowe, bo to są droższe zabawki, natomiast chciałbym
dekodować częstotliwości podwójne w sygnale akustycznym. Tzn. w sygnale
jest
np. ton 1380Hz i 1140Hz to układzik ma to wyłapać czy też inne
kombinacje.
Częstotliwości te stosowane są w centralach telefonicznych (kod R2).

O FFT na 8bitach bym zapomniał, nie ta skala problemu. No chyba że Fast
tylko z nazwy:) Prosty algorytm z przykładem w C masz opisany tutaj:
http://www.ise.pw.edu.pl/dydaktyka/psap/fft2.html

W.




Poprzedni Następny
Wiadomość
Spis treści
From: "Michał Lankosz" <nie_at_nospam_lubie.spamu>
Subject: Re: FFT na 51
Date: Sun, 15 Dec 2002 23:43:20 +0100


dekodować częstotliwości podwójne w sygnale akustycznym. Tzn. w sygnale
jest
np. ton 1380Hz i 1140Hz to układzik ma to wyłapać czy też inne
kombinacje.
Częstotliwości te stosowane są w centralach telefonicznych (kod R2).

O FFT na 8bitach bym zapomniał, nie ta skala problemu. No chyba że Fast
tylko z nazwy:) Prosty algorytm z przykładem w C masz opisany tutaj:
http://www.ise.pw.edu.pl/dydaktyka/psap/fft2.html

Może autokorelację lub korelację wzajemną z przebiegiem wzorcowym, przy czym
przydało by się odfiltrować przynajmniej częściowo te częstotliwości.
Rzucam tylko propozycją, może się to też się nie nadaje...

--
Michał, SQ9FQQ http://sq9fqq.prv.pl/
GG:374157 http://free.ngo.pl/sp9zcj/
mike2001 (malpa) tlen.pl




Poprzedni Następny
Wiadomość
Spis treści
From: pisz_na.mirek_at_nospam_dionizos.zind.ikem.pwr.wroc.pl
Subject: Re: FFT na 51
Date: 16 Dec 2002 08:29:23 GMT


Zbino <zew_at_nospam_nospampoczta.onet.pl> wrote:
Może ktoś ma źródła w asemblerze na szybką transformatę Fouriera (FFT)
napisaną np. na procek 51. Jeśli nie znajdę to będę musiał chyba przysiąść
do tego i sobie przypomnieć te zawiłości matematyczne. Nie chciałbym się
bawić w procki sygnałowe, bo to są droższe zabawki, natomiast chciałbym
dekodować częstotliwości podwójne w sygnale akustycznym. Tzn. w sygnale jest
np. ton 1380Hz i 1140Hz to układzik ma to wyłapać czy też inne kombinacje.
Częstotliwości te stosowane są w centralach telefonicznych (kod R2).


+ Jak nie chcesz DSP, to poszukaj specjalizowanej kości.
+ Jak programowo, to do twojego zadania poszukaj o algorytmie Goertzla (chyba
tak się to pisze).

Poprzedni Następny
Wiadomość
Spis treści
From: Krzysztof Piecuch <kpiecuch_at_nospam_optic.com.pl>
Subject: Re: FFT na 51
Date: Mon, 16 Dec 2002 13:06:15 +0100




Zbino napisał(a):
Tu chyba cos takiego lezy:
http://www.ai.uga.edu/ftplib/microcontrollers/8051/fft.zip

Na google'u mozna troche tego znalezc...

--
**** Krzysztof Piecuch ****
krzysztof.piecuch_at_nospam_optimus-ic.pl
kpiecuch_at_nospam_optic.com.pl
OPTIMUS IC

Poprzedni Następny
Wiadomość
Spis treści
From: "Fundacja" <jjgangsa_at_nospam_warman.com.pl>
Subject: Re: FFT na 51
Date: Mon, 16 Dec 2002 14:05:46 +0100


Użytkownik "Zbino" <zew_at_nospam_NOSPAMpoczta.onet.pl> napisał w wiadomości
news:atij9o$2co$1_at_nospam_news.tpi.pl...
Może ktoś ma źródła w asemblerze na szybką transformatę Fouriera (FFT)
napisaną np. na procek 51. Jeśli nie znajdę to będę musiał chyba przysiąść
do tego i sobie przypomnieć te zawiłości matematyczne. Nie chciałbym się
bawić w procki sygnałowe, bo to są droższe zabawki, natomiast chciałbym
dekodować częstotliwości podwójne w sygnale akustycznym. Tzn. w sygnale
jest
np. ton 1380Hz i 1140Hz to układzik ma to wyłapać czy też inne
kombinacje.
Częstotliwości te stosowane są w centralach telefonicznych (kod R2).


Do detekcji pojedynczego sinusa lub niewielkiej ilosci
tylko algorytm Goertzla
formalnie to on oblicza FFT dla jednego kanalu czestotliwosci
plusa ma takiego ze glowna robota jest wykonywana rownoczesnie
z pobieraniem probek. koszt obliczeniowy ok. N (jedna czestotliwosc)
a nie N*logN jak dla pelnego FFT.
Dokladnie nie pamietam ale do upewnienia sie ze jest to sinus (lub zblizony)
warto sprawdzic harmoniczne (chyba druga), zeby zbyt latwo nie reagowalo
na trzaski.

idea Goertzla jest trywialna

a=0 {ai, ar - zespolona wartosc fft(f)}
c=cos(2 pi*f(f0*N)) {ci,cr - wartosc zespolona, N dlugosc rekordu, f0
czestotliwosc probkowania)
repeat
read(x) {x rzeczywiste z wejscia}
a=a*c+x {mnozenie zespolone}
until (az przeczyta caly rekord)
p=|a|^2 {moc widmowa dla f ; np. ar*ar+ai*ai}

jak widac po zebraniu danych wystarczy obliczyc
kwadrat modulu liczby zespolonej

warto liczyc rownolegle dla dwoch roznych rekordow
przesunietych w czasie o N/2 probek,
niektore metody generowania sygnalow (jak np. FSK)
przewiduja nadanie tylko jednego pelnego okresu sinusa.

powodzenia
Maciek Guc'
guc_at_nospam_ibib.waw.pl





Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <piotr.wyderskiREMOVE_at_nospam_hoga.pl>
Subject: Re: FFT na 51
Date: Sat, 21 Dec 2002 13:49:56 +0100


Zbino wrote:

dekodować częstotliwości podwójne w sygnale akustycznym. Tzn. w sygnale
jest
np. ton 1380Hz i 1140Hz to układzik ma to wyłapać czy też inne
kombinacje.
Częstotliwości te stosowane są w centralach telefonicznych (kod R2).

Wiec zrob sobie wektor filtrow pasmowoprzepustowych, FT
bedzie chyba zbyt silnym narzedziem, jak na cos takiego. :-)

Pozdrawiam
Piotr Wyderski