Przepraszam - metode uzupelnienia zeremi przy FFT podaje sie praktycznie w kazdym podreczniku DSP...
Przepraszam - metode uzupelnienia zeremi przy FFT podaje sie praktycznie w kazdym podreczniku DSP...
A pisza jak potem interpretowac wyniki ?
J.
"Unfortunately, it can lead to results that are easy to misinterpret"
J.
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...
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
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.
A w jakim jezyku? Jeśli w C to FFT najlepiej liczyć chyba fftw.
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.
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.
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.
Dziekuje! Chyba o cos takiego mi chodzilo, z tego co widze. :)
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
Jesli rozszerzysz, to jest to juz inna funkcja.
A chociaz liczy sie szybciej ? :-)
J.
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
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.
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.