Hej wiem, że ten temat się tu powtarza nie raz i nie dwa, ale mam ogromny problem ze zrozumieniem tych tematów.. chcę napisać własną funckje liczącą FFT powiedzmy w C. Mam w tablicy wczytane próbki i jeżeli znajdzie się ktoś łaskawy niech mi wyjaśni co ja mam zrobic z tymi próbkami żeby policzyć to FFT. Ale nie tak mądrze jak w innych tematach tylko tak łopatologicznie krok po kroku.. Jak żądam za wiele to wywalcie poprostu ten temat.. Pozdrawiam
Liczy się DFT, FFT jest jednym ze sposobów liczenia DFT.
Więc teraz zasadnicze pytanie, co chcesz policzyć i czy koniecznie musisz napisać własną funkcję. W wypadku bezpośredniej implementacji DFT jest to w miarę proste, niestety kod dla większej ilości próbek ma kiepską wydajność, a dla jeszcze większej ilości jest tragicznie.
FFT natomiast już takim prostym algorytmem nie jest i mało kto pisze własne procedury. Raczej korzysta się z gotowców z racji takiej, że praktycznie i tak wszystkie stosowane powszechnie warianty algorytmu FFT zostały już przez kogoś kiedyś napisane i nie warto odkrywać Ameryki na nowo, bo dojdzie się do dokładnie takiego samego rezultatu.
Witam! Parę tygodni temu miałem ten sam problem ale go rozwikłałem. Dobrą implementację znalazłem tu: linek. Kod jest zaczerpnięty z NR in C lecz trochę zmodyfikowany.
Jednym z argumentów jakie funkcja przyjmuje jest wektor próbek badanego sygnału. Nie trzeba go modyfikować... a z resztą, co tu będę gadał dokładna analiza tego przykładu pozwoli Ci lepiej działanie algorytmu FFT zrozumieć.
Pozdrawiam