🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

3 total messages Started by Spaggie Thu, 04 Apr 1991 00:47
Check of an FFT routine...
#1637
Author: Spaggie
Date: Thu, 04 Apr 1991 00:47
60 lines
1543 bytes
I have put together a program to do an FFT of any array of
data, but it doesn't seem to get the imag. part correct.
Can someone verify if this data is correct or not?

Data given to program, 32 data points..
---------------------------------------
-0.005093
-0.003797
-0.001432
0.004374
0.001606
0.000027
-0.004548
0.000919
0.005288
-0.004973
-0.001283
-0.001970
0.002802
0.007448
-0.000214
-0.006771
-0.004697
0.002116
0.003964
0.002788
-0.000533
-0.003011
-0.000788
0.000005
-0.000852
0.003107
-0.001298
-0.000009
0.001896
-0.002197
0.000841
-0.000112

	my fft routine then yeilds this..
Real, Imaginary
-------------------
-0.000200,-0.000000
-0.000201,-0.000001
-0.000212,0.000010
-0.000223,-0.000053
-0.000722,-0.000263
0.000427,0.000433
-0.001282,-0.000314
0.000184,0.001059
0.000162,0.000016
0.000187,0.000170
-0.000096,-0.000125
-0.000621,0.000399
0.000027,0.000028
0.000258,-0.000585
-0.000188,-0.000254
-0.000111,0.000147
 
	Can anyone verify this as being correct?
Re: Check of an FFT routine...
#1639
Author: Steve Feinstein
Date: Thu, 04 Apr 1991 15:08
92 lines
3549 bytes
In article <1991Apr4.004750.15969@en.ecn.purdue.edu> jbs@en.ecn.purdue.edu (Spaggie) writes:
>   I have put together a program to do an FFT of any array of
>   data, but it doesn't seem to get the imag. part correct.
>   Can someone verify if this data is correct or not?
>
>
>                       my fft routine then yeilds th
>   Data given          Real, Imaginary              
>   -----------	        -------------------          
>   -0.005093	        -0.000200,-0.000000          
>   -0.003797	        -0.000201,-0.000001          
>   -0.001432	        -0.000212,0.000010           
>   0.004374	        -0.000223,-0.000053          
>   0.001606	        -0.000722,-0.000263          
>   0.000027	        0.000427,0.000433            
>   -0.004548	        -0.001282,-0.000314          
>   0.000919	        0.000184,0.001059            
>   0.005288	        0.000162,0.000016            
>   -0.004973	        0.000187,0.000170            
>   -0.001283	        -0.000096,-0.000125          
>   -0.001970	        -0.000621,0.000399           
>   0.002802	        0.000027,0.000028            
>   0.007448	        0.000258,-0.000585           
>   -0.000214	        -0.000188,-0.000254          
>   -0.006771	        -0.000111,0.000147           
>   -0.004697
>   0.002116
>   0.003964
>   0.002788
>   -0.000533
>   -0.003011
>   -0.000788
>   0.000005
>   -0.000852
>   0.003107
>   -0.001298
>   -0.000009
>   0.001896
>   -0.002197
>   0.000841
>   -0.000112
>	   Can anyone verify this as being correct?

Your values are wrong and there aren't enough of them, either.
You should be generating at least N FFT points for an N-point
array.  The example you've posted is a 16-pt FFT on 32-pt
data.  Here is what MATLAB generated:

  -0.0023  		-pi
  -0.0035 - 0.0047i
  -0.0060 + 0.0081i
   0.0083 + 0.0187i
   0.0009 - 0.0009i
  -0.0199 - 0.0128i
  -0.0031 + 0.0040i
   0.0060 - 0.0055i
   0.0052 - 0.0005i
   0.0059 - 0.0339i
  -0.0410 + 0.0101i
   0.0137 - 0.0138i
  -0.0231 + 0.0084i
  -0.0071 + 0.0017i
  -0.0068 - 0.0003i
  -0.0064 + 0.0000i
  -0.0064		0
  -0.0064 - 0.0000i
  -0.0068 + 0.0003i
  -0.0071 - 0.0017i
  -0.0231 - 0.0084i
   0.0137 + 0.0138i
  -0.0410 - 0.0101i
   0.0059 + 0.0339i
   0.0052 + 0.0005i
   0.0060 + 0.0055i
  -0.0031 - 0.0040i
  -0.0199 + 0.0128i
   0.0009 + 0.0009i
   0.0083 - 0.0187i
  -0.0060 - 0.0081i
  -0.0035 + 0.0047i	+pi


--

		Steve Feinstein

+-------------------------------------------------------------------------+
|  INTERNET:  srf@juliet.ll.mit.edu                                       |
|  USmail:    S. Feinstein, MIT Lincoln Lab, 29 Hartwell Ave.,            |
|             Lexington, MA 02173  USA                                    |
|  VOICE:     (617) 981-4017                                              |
+-------------------------------------------------------------------------+
Re: Check of an FFT routine...
#1661
Author: Dana C. Massie
Date: Tue, 09 Apr 1991 17:45
22 lines
1446 bytes
In article <SRF.91Apr4100830@claudius.juliet.ll.mit.edu> srf@claudius.juliet.ll.mit.edu ( Steve Feinstein) writes:
>
>Your values are wrong and there aren't enough of them, either.
>You should be generating at least N FFT points for an N-point
>array.  The example you've posted is a 16-pt FFT on 32-pt
>data.  Here is what MATLAB generated:
>
>  -0.0023  		-pi
...
>		Steve Feinstein

I got the same results with matlab that Steve got.
When i wrote an FFT i found it *much* easier to use simple test signals
like a sine wave to test the fft.  I would strongly addvise
using a simple impulse in bin 0 of the input, then switch to an impulse in
bin 1, etc. and check the output of each case.  This is a very
effective method.  Also, once this is working, put an impulse in
bin 0 and bin 1 - this will test superposition.

good luck!

dmassie@well.sf.ca.us
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads