From 8979ec93457d17c1e0a4d3c879808433275fd6b0 Mon Sep 17 00:00:00 2001 From: Marcel Lauwerijssen Date: Mon, 15 Nov 2004 13:07:40 +0000 Subject: --- FFT_Test/config.hch | 7 +++++-- FFT_Test/fft_hardware.hcc | 13 +++---------- FFT_Test/runfft.hcc | 15 ++++++++++++--- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/FFT_Test/config.hch b/FFT_Test/config.hch index 99755a1..75f20ad 100644 --- a/FFT_Test/config.hch +++ b/FFT_Test/config.hch @@ -3,8 +3,11 @@ #define NUMBER_OF_POINTS (1<>1) -#define DC_COMPONENT 8470527 -#define DC_COMPONENT_HARDWARE 131072 +#if HARDWARE_MULTIPLY +#define DC_COMPONENT 131072 +#else +#define DC_COMPONENT 8470527 +#endif sema eq_RAM_sema; unsigned 1 display_log; diff --git a/FFT_Test/fft_hardware.hcc b/FFT_Test/fft_hardware.hcc index 8977a83..d716aa8 100644 --- a/FFT_Test/fft_hardware.hcc +++ b/FFT_Test/fft_hardware.hcc @@ -357,11 +357,8 @@ void equalize_audio(unsigned 4 *eq_level, unsigned 7 *fft_info) retval = result[29:6]; //drop last 6 bit to compensate the maximum multiplication with 64 from the eq_settings array #endif } -#if HARDWARE_MULTIPLY - p = real.read[0] - DC_COMPONENT_HARDWARE; -#else + p = real.read[0] - DC_COMPONENT; // remove DC component for calculations -#endif real.rwrite[0] = p; // imaginary.rwrite[0] = 0; // remove DC component @@ -369,7 +366,7 @@ void equalize_audio(unsigned 4 *eq_level, unsigned 7 *fft_info) for(i=0;i<=NUMBER_OF_FREQUENCIES;i++) { // set multiplication factor (0..64) for current frequency bar - a = 63;// adjs(eq_settings[eq_level[i<-7]],16); + a = adjs(eq_settings[eq_level[i<-7]],18); // multiply frequency with this factor and divide by 64 (drop 6 LSB's) q = real.read[i]; @@ -439,11 +436,7 @@ void equalize_audio(unsigned 4 *eq_level, unsigned 7 *fft_info) } // add DC component again before inverse FFT calculation is performed -#if HARDWARE_MULTIPLY - p = real.read[0] + DC_COMPONENT_HARDWARE; -#else + p = real.read[0] + DC_COMPONENT; -#endif real.rwrite[0] = p; -#endif } diff --git a/FFT_Test/runfft.hcc b/FFT_Test/runfft.hcc index 8f34f12..20aee06 100644 --- a/FFT_Test/runfft.hcc +++ b/FFT_Test/runfft.hcc @@ -106,7 +106,7 @@ macro proc RunFFT (AudioIn, AudioOut) unsigned 8 i,cycle; unsigned 4 eqinfo; - unsigned 1 FFT_Sync; + unsigned 1 FFT_Sync, first; macro expr OW = PalAudioOutGetMaxDataWidthCT (); macro expr IW = PalAudioInGetMaxDataWidthCT (); signed LeftNew, RightNew; @@ -127,7 +127,7 @@ macro proc RunFFT (AudioIn, AudioOut) FFT_Sync=0; LoadPresets(); - + first = 1; par { for(;;) @@ -154,8 +154,17 @@ par for(i=0;i