summaryrefslogtreecommitdiffstats
path: root/FFT_Test
diff options
context:
space:
mode:
authorMarcel Lauwerijssen <paranoya@morphcore.com>2004-11-15 16:09:18 (GMT)
committerMarcel Lauwerijssen <paranoya@morphcore.com>2004-11-15 16:09:18 (GMT)
commit04304b4c87c762d30118489e1a11c7bb656ac085 (patch)
tree9346595d268ae99eba3ac2103949c5ee96da4c61 /FFT_Test
parentaee5707fed8541410816c0a1ce1f0aa17108b462 (diff)
downloadTASS-04304b4c87c762d30118489e1a11c7bb656ac085.zip
TASS-04304b4c87c762d30118489e1a11c7bb656ac085.tar.gz
TASS-04304b4c87c762d30118489e1a11c7bb656ac085.tar.bz2
Diffstat (limited to 'FFT_Test')
-rw-r--r--FFT_Test/fft.hch4
-rw-r--r--FFT_Test/fft_hardware.hcc6
-rw-r--r--FFT_Test/runfft.hcc37
3 files changed, 30 insertions, 17 deletions
diff --git a/FFT_Test/fft.hch b/FFT_Test/fft.hch
index 6bcc8cc..87d54e7 100644
--- a/FFT_Test/fft.hch
+++ b/FFT_Test/fft.hch
@@ -1,8 +1,8 @@
#if HARDWARE_MULTIPLY
void perform_fft(signed 18 *pcm_audio);
-void perform_ifft(signed 18 *modified_audio /*,unsigned 6 *ifft_info*/);
+void perform_ifft(signed 18 *modified_audio ,unsigned 6 *ifft_info);
#else
void perform_fft(signed 16 *pcm_audio);
-void perform_ifft(signed 16 *modified_audio /*,unsigned 6 *ifft_info*/);
+void perform_ifft(signed 16 *modified_audio ,unsigned 6 *ifft_info);
#endif
void equalize_audio(unsigned 4 *eq_level, unsigned 7 *fft_info);
diff --git a/FFT_Test/fft_hardware.hcc b/FFT_Test/fft_hardware.hcc
index 5c209e8..a0276ff 100644
--- a/FFT_Test/fft_hardware.hcc
+++ b/FFT_Test/fft_hardware.hcc
@@ -276,9 +276,9 @@ void perform_fft(signed 16 *pcm_audio)
/********************************************************************/
#if HARDWARE_MULTIPLY
-void perform_ifft(signed 18 *modified_audio/*, unsigned 6 *ifft_info*/)
+void perform_ifft(signed 18 *modified_audio, unsigned 6 *ifft_info)
#else
-void perform_ifft(signed 16 *modified_audio/*, unsigned 6 *ifft_info*/)
+void perform_ifft(signed 16 *modified_audio, unsigned 6 *ifft_info)
#endif
{
unsigned 6 k;
@@ -325,7 +325,7 @@ void perform_ifft(signed 16 *modified_audio/*, unsigned 6 *ifft_info*/)
#else
modified_audio[k] = (p<-16);
#endif
- //ifft_info[k] = (unsigned)(p[15:10]);
+ ifft_info[k] = (p[17:12]);
k++;
}
} while(k);
diff --git a/FFT_Test/runfft.hcc b/FFT_Test/runfft.hcc
index 27306a7..7492095 100644
--- a/FFT_Test/runfft.hcc
+++ b/FFT_Test/runfft.hcc
@@ -57,18 +57,27 @@ mpram
mpram
{
- ram unsigned 7 write[256];
- rom unsigned 7 read[256];
+ ram signed 7 write[256];
+ rom signed 7 read[256];
}fft_info with { block = "BlockRAM"};
+mpram
+{
+ ram signed 6 write[256];
+ rom signed 6 read[256];
+}ifft_info with {block = "BlockRAM"};
+
#if HARDWARE_MULTIPLY
signed 18 *audioptr_in1,*audioptr_in2,*audioptr_in3,*audioptr_in4;
+
signed 18 *audioptr_out1,*audioptr_out2;
-signed 18 *audioptr_temp;
+
+signed 6 *displayptr1,*displayptr2,*displayptr3,*displayptr4;
#else
signed 16 *audioptr_in1,*audioptr_in2,*audioptr_in3,*audioptr_in4;
+
signed 16 *audioptr_out1,*audioptr_out2;
-signed 16 *audioptr_temp;
+
#endif
unsigned 10 active_preset;
@@ -124,6 +133,11 @@ macro proc RunFFT (AudioIn, AudioOut)
audioptr_out1=&audio_buffer_out[0];
audioptr_out2=&audio_buffer_out[64];
+ displayptr1=&ifft_info.write[0];
+ displayptr2=&ifft_info.write[64];
+ displayptr3=&ifft_info.write[128];
+ displayptr4=&ifft_info.write[192];
+
FFT_Sync=0;
LoadPresets();
@@ -144,6 +158,12 @@ par
audioptr_out1 = audioptr_out2;
audioptr_out2 = audioptr_out1;
+
+ displayptr1=displayptr2;
+ displayptr2=displayptr3;
+ displayptr3=displayptr4;
+ displayptr4=displayptr1;
+
FFT_Sync = 0;
}
@@ -155,21 +175,14 @@ par
{
eqinfo = EQ_level.read[preset_address+(0 @ i)];
EQ_info[i<-7] = eqinfo;
- if(first)
- {
- print_string("eqinfo: ");
- print_hex_value(0 @ eqinfo);
- print_eol();
- }
}
- first = 0;
// set volume of each individual frequency bar (equalizer)
equalize_audio(&EQ_info[0], &fft_info.write[0]);
#endif // inverse FFT calculation
- perform_ifft(audioptr_out1);
+ perform_ifft(audioptr_out1,displayptr1);
/*
for (i = 0; i != 64; i++)