Why does it matter as long as IFFT(FFT(x)) == x? I'll run the above experiments anyway next time I'm at work :-) --Shafik
Real time FFT voice processing...why wont it work?
Started by ●September 16, 2004
Reply by ●September 21, 20042004-09-21
Reply by ●September 21, 20042004-09-21
Shafik Since it is not working on speech I would say your IFFT(FFT(x)) != x. I am just trying to check things methodically that people sometimes overlook. For example, from your post I am not sure the imaginary parts of the final result are 0. You may have implied it, but sometimes people take the real part as the output when the imag part is not 0. Also the one tone does not test all of the IFFT(FFT()) processing. What is the tone amplitude relative to the max possible input amplitude? Dirk "Shafik" <shafik@u.arizona.edu> wrote in message news:<1095748182.462519.3880@k17g2000odb.googlegroups.com>...> Why does it matter as long as IFFT(FFT(x)) == x? > > I'll run the above experiments anyway next time I'm at work :-) > --Shafik
Reply by ●September 21, 20042004-09-21
The routines are 16-bit fractionals ranging from -1.0 to 0.999... My normal voice input usually swings +0.3 to -0.3, which I figured was on the same order of magnitude as 1.0. Keep in mind the routines weren't written by me, theyre Motorola's. Whether or not the imaginary parts were taken into account should be their problem, not mine. But just to make sure I'll step through and see if what FFT(x) gives me. As much as I'd like to blaim Motorola, I cannot assume that their simple FFT and IFFT routines arent functional. Can you think of anything else that I might be doing wrong? Thanks for your time btw :-) --Shafik
Reply by ●September 21, 20042004-09-21
"Shafik" <shafik@u.arizona.edu> wrote in message news:<1095788064.185387.186660@k17g2000odb.googlegroups.com>...> The routines are 16-bit fractionals ranging from -1.0 to 0.999... My > normal voice input usually swings +0.3 to -0.3, which I figured was on > the same order of magnitude as 1.0. > > Keep in mind the routines weren't written by me, theyre Motorola's. > Whether or not the imaginary parts were taken into account should be > their problem, not mine. But just to make sure I'll step through and > see if what FFT(x) gives me. > > As much as I'd like to blaim Motorola, I cannot assume that their > simple FFT and IFFT routines arent functional. Can you think of > anything else that I might be doing wrong? > Thanks for your time btw :-) > --ShafikWhat I have suggested will help rule out (if appropriate) the routines or your use of them as a problem so you can focus your examination where it might be productive. Why assume? Why guess? Dirk Bell
Reply by ●September 22, 20042004-09-22
I ran the FFT routine on the data packet above, and it yielded expected results: a single real spike at one of the frequencies, with no imaginary parts. Packet used was {1,0,-1,0,1,0,-1,0} --Shafik
Reply by ●September 23, 20042004-09-23
If you are not using a real FFT with packed output I would expect 2 real spikes. How big were the spikes and the input. Are the zeroes exactly zero? If not, what are they? You need to provide the detailed answers to the questions in this and the previous posts or I can't help. Last chance, Dirk Bell "Shafik" <shafik@u.arizona.edu> wrote in message news:<1095890215.159251.48010@k26g2000oda.googlegroups.com>...> I ran the FFT routine on the data packet above, and it yielded expected > results: a single real spike at one of the frequencies, with no > imaginary parts. > > Packet used was {1,0,-1,0,1,0,-1,0} > > --Shafik
Reply by ●September 23, 20042004-09-23