logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[ATTiny][asm] - Implementacja FFT 16 punktowego, 8 bitów (ze znakiem)

pm.m 13 Sie 2014 13:25 1374 0
REKLAMA
  • #1 13874071
    pm.m
    Poziom 9  
    Przesyłam moją propozycję implementacji algorytmu FFT w asemblerze. Celem nie ma być dokładność, ale możliwość upchnięcia analizy w jak najmniejszych uC. Wymagania co do algorytmu: kontroler AVR (w zasadzie dowolny) z min 128b SRAM (64b zajmują dane, a potrzebne jeszcze miejsce na stos). W przypadku ATMega można spokojnie zastosować mnożenie sprzętowe, co pozwoli na skrócenie czasu obliczeń i objętości kodu. Prezentowany poniżej kod jest tworzony pod ATTiny, użyto funkcji mnożenia 8x8 bit signed wg. Atmela oraz funkcji pierwiastka kwadratowego wg. Ruud v Gessel (dobbelbeker@chello.nl). Program testowy zajmuje 742 bajty, i prawdopodobnie można upchnąć go na uC z 1 kb pamięci programu. Do obliczenia FFT potrzeba około 9000 cykli. Algorytm był testowany na symulatorze w AVR Studio. Załączam również plik Excela, na podstawie którego powstał ten program.
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
REKLAMA