From 0c0c708e70b31f16ef0b24612b5a3ceb98aff9da Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 4 Mar 2015 15:28:38 +0100 Subject: [PATCH] Bit Reverse in TIE Instruktion implementiert --- fft.c | 26 ++++++++------------------ fft_inst.tie | 25 +++++++++++++++++++++++++ main.c | 2 ++ 3 files changed, 35 insertions(+), 18 deletions(-) diff --git a/fft.c b/fft.c index f0d495b..9d1550f 100644 --- a/fft.c +++ b/fft.c @@ -60,14 +60,11 @@ int fix_fft(fixed fr[], fixed fi[], int m, int inverse) nn = n - 1; scale = 0; + int mm = m; /* decimation in time - re-order data */ for(m=1; m<=nn; ++m) { - l = n; - do{ - l >>= 1; - }while(mr+l > nn); - mr = (mr & (l-1)) + l; + mr = FFT_bit_reverse(m, mm); if(mr <= m) continue; tr = fr[m]; @@ -119,23 +116,16 @@ int fix_fft(fixed fr[], fixed fi[], int m, int inverse) for(m=0; m>= 1; - wi >>= 1; - } + + FFT_twiddle(wr, wi, j, shift, inverse); + + FFT_reg reg; + fixed *reg_s = ((fixed*) ®); + for(i=m; i