Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > Hi all, > > Attached are some FFT routines in assembler, adapted from the work of ChaN. > Any suggestions for improvement are welcome. > > The routines: > 1. perform a wave capturing (a series of AD conversions in Free Running Mode) > 2. execute 'butterfly operations' > 3. calculate the frequency spectrum > > I have tested them on my Pro-Bot128 and plan to use them for sound control, > in stead of the much slower routines in cc I used until now. > Some figures with results are included in the attached zip file too. > > Torsten, you were right twice: > - I needed access to flash in assembler for the sin/cos and other tables. Since > this is not possible directly, I now copy these to ram before use. (For this > reason I cannot process more than 256 samples, helas!) > - I need to disable the global interrupt. But to my great surprise, not only in the > ADC capture but in all routines. If I do not do that, I end up with garbage results. > > Peter: can you explain why interrupts mess up my routines? Is it that interrupts > trigger actions that change registers while my routines are running? Is it the Y- > register? > > Regards, > Pepe