70 likes | 185 Views
DFT Normalisation. Intro. When you perform a DFT, what do the extracted amplitudes of the frequency components mean? Or, when you perform a DFT of a BPM bunch train position ( x,y ), is the amplitude meaningful?. Mathematica DFT.
E N D
Intro • When you perform a DFT, what do the extracted amplitudes of the frequency components mean? • Or, when you perform a DFT of a BPM bunch train position (x,y), is the amplitude meaningful?
Mathematica DFT • http://reference.wolfram.com/mathematica/tutorial/FourierTransforms.html • The DFT Usof a set of input data ui= { u1, u2, u3….. un} is given by formulas below • The fact that there are various (infinite) ways to normalise the DFT and inverse DFT suggests there is no “correct” normalisation to use, DFT normalisation is an arbitrary convention
Simple Examples • Imagine 5 bunches with offset 1 mm • ur={1,1,1,1,1} • FourierParameters->{-1,1} “data analysis” • Abs[Fourier[ur]] = {1,0,0,0,0} (you can work this out on paper if you like) • If the offset is 2 mm, ur={2,2,2,2,2} then DFT[ur] = {2,0,0,0,0} • So this suggests that if you want your DFT amplitudes to be in mm, use FourierParameters->{-1,1} • More complicated examples … p.t.o
More complicated example • Sine wave with amplitude 1 mm, 1 cycle per second, sampled 10 times over 1 second • Again set FourierParameters-> {-1,1} “data analysis” • Abs[Fourier[ur]] = {0, 0.5, 0, 0, 0, 0, 0, 0, 0, 0.5}, aliasing. • Sum the aliased amplitudes 0.5 + 0.5 = 1 ? Or just multiply the DFT by 2. ur =
Yet more complicated example • Signal with two frequency components. • y = Sin[2*Pi*t] + 0.5*Sin[2*Pi*2*t] • First component has 1 cycle per second and second component has 2 cycles per second. First component has amplitude 1 mm and second component has amplitude 0.5 mm • DFT = {0, 0.5, 0.25, 0, 0, 0, 0, 0, 0.25, 0.5} • Sum the aliased amplitudes • Component at 1 cycle per second with amplitude = 0.5 + 0.5 = 1mm • Component at 2 cycle per second with amplitude = 0.25 + 0.25 = 0.5 mm • As required.
Conclusion • To normalise the DFT of BPM data such that the amplitudes are in mm … • Use FourierParameters-> {-1,1} • Multiply the DFT by 2 to get the amplitude in mm.