summaryrefslogtreecommitdiffstats
path: root/FFT_Test
diff options
context:
space:
mode:
authorMarcel Lauwerijssen <paranoya@morphcore.com>2004-11-15 13:07:40 (GMT)
committerMarcel Lauwerijssen <paranoya@morphcore.com>2004-11-15 13:07:40 (GMT)
commit8979ec93457d17c1e0a4d3c879808433275fd6b0 (patch)
treea32ec8597fe11f46956242776740b73f7fe34f50 /FFT_Test
parent6fed874fc8159ca21ae029f21b06357a5f1eb2b4 (diff)
downloadTASS-8979ec93457d17c1e0a4d3c879808433275fd6b0.zip
TASS-8979ec93457d17c1e0a4d3c879808433275fd6b0.tar.gz
TASS-8979ec93457d17c1e0a4d3c879808433275fd6b0.tar.bz2
Diffstat (limited to 'FFT_Test')
-rw-r--r--FFT_Test/config.hch7
-rw-r--r--FFT_Test/fft_hardware.hcc13
-rw-r--r--FFT_Test/runfft.hcc15
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<<NUMBER_OF_COLUMNS)
#define NUMBER_OF_FREQUENCIES (NUMBER_OF_POINTS>>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<NUMBER_OF_FREQUENCIES;i++)
{
eqinfo = EQ_level.read[preset_address+(0@i)];
- EQ_info[i<-7] = 1;//eqinfo;
+ EQ_info[i<-7] = eqinfo;
+ if(first)
+ {
+ print_string("eqinfo: "):
+ print_hex_value(eqinfo);
+ print_eol();
+ first = 0;
+ }
}
+
+
// set volume of each individual frequency bar (equalizer)
equalize_audio(&EQ_info[0], &fft_info.write[0]);