Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Procedure for SPECTRUM ANALYSIS of FFT coefficients???



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
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 947
Default Procedure for SPECTRUM ANALYSIS of FFT coefficients???

This results in an array of complex values but with unexpected big
coefficients...
(much higher than the original signal magnitudes)


Hi. There are a few different equations for a FFt. Are you able to tell
your program which one to use?
My best guess is the default equation is the same as Excel's. (Equation is
that most often used in the field of Signal Processing)
If you can't, then my best guess is that you need to divide each output by
the sample size to do your Analysis.

How do I get the absolute magnitudes of the harmonics,


Magnitude is usually the Absolute value of the Complex number (ie
Sqrt(a^2+b^2).
In Excel, if A1 had:
=COMPLEX(366.689810532,19.5196963754)

Then the Magnitude is:
=IMABS(A1)
0r
367.208981

Therefore, using Excel:

=IMABS(IMDIV(A1,20000))
or
0.018

--
HTH :)
Dana DeLouis
Windows XP & Office 2003


"fugazi48" wrote in message
...
i had the same issue doing an FFT in DADISP. I would get a bunch of
imaginary numbers. They would graph correcty, so I had to grab the
Xvalues
and the Magnitudes off the the graph.

I am lost at converting from imaginary to Freq and Magnitude. It may be
worth looking into some of the analysis packs built into Excel.

good luck.

"Holger" wrote:



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



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Excel 2002 Analysis ToolPak Regression Analysis Help Requested MH Excel Worksheet Functions 1 February 28th 09 07:16 AM
Analysis Toolpak-Confidence Level and data analysis questions MH Excel Worksheet Functions 0 January 3rd 09 06:15 PM
i want to plot a frequency spectrum.HELP!!!!!!!!!!!!! Salman New Users to Excel 2 August 15th 08 08:17 AM
Analysis ToolPak installed but no Data Analysis option Eric Stephens Excel Discussion (Misc queries) 3 February 2nd 05 09:17 PM


All times are GMT +1. The time now is 12:41 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"