444,100 Members | 2,495 Online Need help? Post your question and get tips & solutions from a community of 444,100 IT Pros & Developers. It's quick & easy.

# Frequency spectrum with fft of a real valued array...?

 P: n/a Dear all, I need to do a FFT on an array of 20k real values. Origin of the sampled data is a sinus wave with light harmonics. The goal is an frequency spectrum with the magnitudes of the first 50. harmonics. I addressed python like: test_arr = src_data_dict[ channel ][0:19599] target_data_dict[ channel ] = FFT.fft(test_arr,n=50,axis=-1) This results in an array of complex values but with unexpected big coefficients... (much higher than the original signal magnitudes) How do I get the absolute magnitudes of the harmonics, which are much lower than the resulting absolute values of the coefficients? The result should be like this: 1.harmonic (50 Hz) 1,0 2.harmonic (100 Hz) 0,01 3.harmonic (100 Hz) 0,08 4.harmonic (100 Hz) 0,0035 etc. at the moment I get a resulting array like: CH1 (1729.80103418+0j) (366.689810532+19.5196963754j) (370.688444025+32.162562652j) (372.122246668+46.9545880507j) (379.273599053+59.0724599622j) (369.889589421+75.9247281559j) (381.070551892+99.07345873j) (378.800462354+106.761629308j) (375.014128346+131.34177586j) (389.110601354+149.320740829j) (389.23247472+158.909042086j) (398.875237165+197.86980788j) (397.927158223+196.858459101j) (402.455325066+234.651276425j) (411.599088579+256.32156894j) (414.469935576+254.512014918j) (417.198515262+291.400509132j) (426.745545674+320.769421334j) (433.987466212+321.929780157j) (446.124386798+350.810581686j) (455.876025379+383.099789898j) (458.083277747+405.592129477j) (470.908512117+433.929598454j) (482.083855098+468.256188814j) What does it mean to me? How do I get to the wanted frequenca spectrum??? ... btw The maximum magnitudes of the original data are app. 70 peak Thanks in advance for your help!!! Regards Holger Jan 11 '07 #1 