From f8cfb71c629ba02682612415513bf557fccd6592 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 4 Mar 2015 18:52:18 +0100 Subject: [PATCH] Inneren Schleifenheader und Scaling als TIE Instruktionen implementiert --- fft.c | 29 +++++++++++++++-------------- fft_inst.tie | 24 ++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 14 deletions(-) diff --git a/fft.c b/fft.c index 9d1550f..c4754c7 100644 --- a/fft.c +++ b/fft.c @@ -61,6 +61,7 @@ int fix_fft(fixed fr[], fixed fi[], int m, int inverse) scale = 0; int mm = m; + xtbool t; /* decimation in time - re-order data */ for(m=1; m<=nn; ++m) { @@ -87,19 +88,14 @@ int fix_fft(fixed fr[], fixed fi[], int m, int inverse) shift = 0; for(i=0; i 16383 || m > 16383) - { - shift = 1; - break; - } + xtbool sshift; + FFT_scale(fr[i], fi[i], sshift, scale); + if(sshift) + { + shift = (int) sshift; + break; + } } - if(shift) ++scale; } else { @@ -122,9 +118,14 @@ int fix_fft(fixed fr[], fixed fi[], int m, int inverse) FFT_reg reg; fixed *reg_s = ((fixed*) ®); - for(i=m; i