Che Guevara
30.04.2011, 14:25
Hallo Leute,
habe folgende Seite gefunden: http://bascom-forum.de/index.php?topic=1796.0 Dort wird von "Mobifu" eine FFT-Routine mit 128 Points in Bascom vorgestellt. Allerdings möchte ich den Code nicht einfach kopieren, wenn ich ihn nicht verstehe. Nun meine Frage an euch, hat sich jemand schon mal damit befasst oder kennt evtl. sogar diesen Code?
Ich selbst verstehe ihn leider nicht, weshalb ich wissen wollte, ob ihn mir jemand erklären könnte? Was mir am meisten Probleme bereitet ist, warum man soviele Werte im EEprom ablegen muss? Für was genau braucht man diese Werte?
Außerdem wollte ich noch wissen, ob mir jemand ein bisschen zur Hand gehen kann, da ich momentan keinen ATMega128 habe (und auch nicht verlöten möchte) und ich das auf einen ATMega32 umstricken möchte. Dieser hat leider nicht genug EEprom, sodass ich Fragen wollte, ob man die ganzen Daten auch im normalen Programmspeicher (SRAM) ablegen kann? Meiner Meinung nach sollte das gehen, man muss nur die "Readeeprom"-Befehle rausnehmen und durch Restore / Read ersetzen?! Würde mich wirklich sehr freuen, wenn mir jemand das Ganze evtl. ein bisschen näher bringen könnte.
Oder wäre es besser, ich würde mich in dem Bascom-Forum anmelden und dort meine Frage an den Code-Ersteller stellen? Wollte mich nicht nochmal wo anders anmelden, aber falls ihr meint, ich solls machen, dann meld ich mich dort an.
Vielen Dank & Gruß
Chris
EDIT: Hab grad diese Seite gefunden: http://www.sprut.de/electronic/pic/16bit/dsp/fft/fft.htm
Ist zwar alles ohne Mathematik, aber ich denke, jetzt habe ich das Grundprinzip verstanden. Man braucht viele Filter (pro Abzutastende Frequenz 1 Filter?!) und bei jeder Frequenz verschiebt man die Phase von den Abtastpunkten um 1e best. Anzahl von Grad (wie kommt man darauf? --> Durch die Frequenz des Filters!? Sprich: Wenn ich einen 2kHz Filter habe, dann verschiebe ich die Phase um xx Grad). Dann addiert man diese verschobenen Werte auf und erhält somit die Amplitude in Abhängigkeit der Frequenz. Somit braucht man pro abzutastende Frequenz 1en Filter?!
Wäre nett, wenn sich das jemand mal ansieht, was ich hier so geschrieben habe und mir dann sagt, was stimmt / nicht stimmt.
habe folgende Seite gefunden: http://bascom-forum.de/index.php?topic=1796.0 Dort wird von "Mobifu" eine FFT-Routine mit 128 Points in Bascom vorgestellt. Allerdings möchte ich den Code nicht einfach kopieren, wenn ich ihn nicht verstehe. Nun meine Frage an euch, hat sich jemand schon mal damit befasst oder kennt evtl. sogar diesen Code?
Ich selbst verstehe ihn leider nicht, weshalb ich wissen wollte, ob ihn mir jemand erklären könnte? Was mir am meisten Probleme bereitet ist, warum man soviele Werte im EEprom ablegen muss? Für was genau braucht man diese Werte?
Außerdem wollte ich noch wissen, ob mir jemand ein bisschen zur Hand gehen kann, da ich momentan keinen ATMega128 habe (und auch nicht verlöten möchte) und ich das auf einen ATMega32 umstricken möchte. Dieser hat leider nicht genug EEprom, sodass ich Fragen wollte, ob man die ganzen Daten auch im normalen Programmspeicher (SRAM) ablegen kann? Meiner Meinung nach sollte das gehen, man muss nur die "Readeeprom"-Befehle rausnehmen und durch Restore / Read ersetzen?! Würde mich wirklich sehr freuen, wenn mir jemand das Ganze evtl. ein bisschen näher bringen könnte.
Oder wäre es besser, ich würde mich in dem Bascom-Forum anmelden und dort meine Frage an den Code-Ersteller stellen? Wollte mich nicht nochmal wo anders anmelden, aber falls ihr meint, ich solls machen, dann meld ich mich dort an.
Vielen Dank & Gruß
Chris
EDIT: Hab grad diese Seite gefunden: http://www.sprut.de/electronic/pic/16bit/dsp/fft/fft.htm
Ist zwar alles ohne Mathematik, aber ich denke, jetzt habe ich das Grundprinzip verstanden. Man braucht viele Filter (pro Abzutastende Frequenz 1 Filter?!) und bei jeder Frequenz verschiebt man die Phase von den Abtastpunkten um 1e best. Anzahl von Grad (wie kommt man darauf? --> Durch die Frequenz des Filters!? Sprich: Wenn ich einen 2kHz Filter habe, dann verschiebe ich die Phase um xx Grad). Dann addiert man diese verschobenen Werte auf und erhält somit die Amplitude in Abhängigkeit der Frequenz. Somit braucht man pro abzutastende Frequenz 1en Filter?!
Wäre nett, wenn sich das jemand mal ansieht, was ich hier so geschrieben habe und mir dann sagt, was stimmt / nicht stimmt.