FFT

Przepraszam - metode uzupelnienia zeremi przy FFT podaje sie praktycznie w kazdym podreczniku DSP...

Reply to
PAndy
Loading thread data ...

A pisza jak potem interpretowac wyniki ?

J.

Reply to
J.F.

formatting link

Reply to
PAndy

"Unfortunately, it can lead to results that are easy to misinterpret"

J.

Reply to
J.F.

Zgadza sie ale nie pisalem ze to metoda ktora jest panaceum na wszystko i mozna ja stosowac bez zrozumienia... natomiast jest alternatywa dla DFT w wielu sytuacjach gdy nie mamy mozliwosci zrobienia zwyczjanie FFT bo mamy za malo probek...

Reply to
PAndy

Dnia Thu, 23 Nov 2006 22:23:10 +0100 "seba" snipped-for-privacy@o2.pl napisał(a):

Hej !!

Proponuje zajrzec do ksiazki o matematyce dyskretnej. Ogolnie nie jest to trudne. Pozatym calke mozna zastapic z pewna dokladnoscia skonczona suma skladnikow :). Polcam jakas ksiazke o metodach numerycznych np. Bjorck i Dalquist "Metody numeryczne" tam powinno sie to znalezc. Wszystko bedzie jasne, a sam algorytm tez zrobi sie duzo prostszy niezaleznie od jezyka programowania.

Pozdrawiam,

Wojciech Bartczak

Reply to
Wojciech Bartczak

BartekK napisał(a):

Możesz przyjąć skończoną dokładność i robić obliczenia na liczbach stałoprzecinkowych. Np. przeskalować wszystkie dane wejściowe do zakresu <-1,1) i zapisać je jako liczy 16 bitowe (1 bit znaku i 15 bitów części ułamkowej). Obliczenia na liczbach stałoprzecinkowych robi się szybko i przyjemnie, tak pracuje większość obecnie produkowanych procesorów sygnałowych (DSP), z czego Texas Instruments robi z 80% z nich.

Reply to
Adam Dybkowski

A w jakim jezyku? Jeśli w C to FFT najlepiej liczyć chyba fftw.

formatting link
Widziałem stosowaną na AVR i sam stosowałem na różnych procesorach. Zazwyczaj 0 kłopotów, to naprawdę dość solidny kawałek kodu i raczej sam nie wymyślisz szybciej.

Reply to
Sebastian Bialy
Reply to
Piotr Wyderski

Adam Dybkowski napisał(a):

Myslalem o tym, ale dla danych wejsciowych o rozdzielczosci 12bit (a docelowo raczej 16bit) skalowanie do 16bit nie byloby sensowne chyba (przeciez i tak juz maja zakres 0-0xffff) wiec mozna po prostu przyjac ze to co jest zapisane jako 0-65535 to jest -1 do +1. Tylko ze jak nakarmilem ten algorytm (tak na piechote na pc) dosc losowymi danymi o rozpietosci 16bitowej to floaty zaczely mi siegac od bardzo malych (ktore nijak na 16bit -1 do +1 bym nie zapisal na 1bicie) do bardzo duzych - ktore by mi sie w 32bit nie zmiescily... Sproboje jeszcze przerobic to wszystko na int, i zobaczyc czy z poobcinania bitow cokolwiek wyjdzie, czy wszystkie wspolczynniki powpadaja w nasycenie od dolu lub gory.

Reply to
BartekK

I bardzo dobrze do tego podszedles - trzeba sprawdzic, bo na oko to 16-bitowa dokladnosc moze byc za mala. Tymi malymi liczbami byc moze nie trzeba sie przejmowac - wpiszesz zero, a liczba i moze jest pomijalnie mala. Byc moze bedzie sens te 12-bitowe liczby wstepnie przemnozyc przez 2, 4 czy 8.

Niestety - jest to dosc skomplikowany przypadek do analizy dokladnosci.

J.

Reply to
J.F.

BartekK napisał(a):

Pamiętaj jednak o prostych zasadach obliczeń na liczbach stałoprzecinkowych, gdzie wymagana jest m.in. konwersja przy mnożeniu. Przykładowo 1/2 * 1/2 = 1/4 ale proste zapisanie tego na liczbach stałoprzecinkowych z 15 bitami ułamka i wykonanie mnożenia 0x4000 *

0x4000 dałoby zły wynik (0x10000000), trzeba po mnożeniu przesunąć wynik o 15 bitów w prawo (wyjdzie 0x2000 czyli 1/4). Odwrotna konwersja potrzebna przy dzieleniu.
Reply to
Adam Dybkowski
Reply to
Piotr Wyderski

Dziekuje! Chyba o cos takiego mi chodzilo, z tego co widze. :)

Reply to
BartekK

Uzytkownik "J.F." <jfox snipped-for-privacy@poczta.onet.pl> napisal w wiadomosci news: snipped-for-privacy@4ax.com...

J.F.: To juz jest, rzecz jasna, kwestia terminologii. Jezeli sygnal jest rzeczywisty i symetryczny (mozemy przeciez symetrycznie rozszerzyc), to DFT i DCT to to samo. Liczymy tylko na liczbach rzeczywistych, kosztem dluzszego wektora transformaty. Maciej

Reply to
Maciej

Jesli rozszerzysz, to jest to juz inna funkcja.

A chociaz liczy sie szybciej ? :-)

J.

Reply to
J.F.

Uzytkownik "J.F." <jfox snipped-for-privacy@poczta.onet.pl> napisal w wiadomosci >

J.F.: To znowu kwestia terminologii. Funkcja jest ta sama, tylko odtwarza sie z innych wspolczynnikow, innymi wzorami. Szybkosc tez jest ta sama, bo to jest ten sam algorytm. Oczywiscie, w konkretnych przypadkach ktoras z postaci moze sie okazac lepsza. Pozdrowienia, Maciej

Reply to
Maciej

No wlasnie nie jest. Czesc wspolczynnikow _od biedy_ pasuje. A reszta nie.

Hm, na DCT sie tak dobrze nie znam, ale wydaje mi sie ze algorytmy wcale nie sa te same.

J.

Reply to
J.F.

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.