IDL scripts to plot DM tilt data from Dec 3, 2003 freq10 = [30, 50, 70, 90, 110] freq5 = [110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 220] freq3 = [220, 240, 260, 280, 300, 320, 340] freq1 = [340, 375, 400, 425, 450, 475, 500, 525, 550, 575, 600, 625, 650, 675, 700, 725, 750, 775, 800, 825, 850, 875] size10 = [34.9, 34.9, 34.9, 34.9, 32.5] size5 = [20.6, 23.0, 23.0, 24.6, 22.2, 22.2, 22.2, 22.2, 23.8, 23.8, 24.6] size3 = [19.1, 19.1, 20.6, 20.6, 22.2, 24.6, 28.6] size1 = [15.9, 18.3, 22.2, 22.2, 20.6, 16.7, 14.3, 14.3, 12.7, 12.7, 13.9, 14.3, 13.9, 14.3, 14.3, 15.1, 15.9, 17.4, 18.3, 19.8, 17.5, 18.3] tilt10 = [88, 88, 88, 88, 88] tilt5 = [88, 87, 87, 87, 84, 83, 90, 87, 86, 86, 86] tilt3 = [84, 84, 82, 82, 82, 74, 79] tilt1 = [80 , 75 , 74 , 74 , 69 , 63 , 42 , 29 , 29 , 23 , 17 , 17 , 12 , -5 , -3 , -3 , -5 , -16, -16, -16, -23, -22] size10a = size10 - 9.5 ; subtracting size of the spot to get spot motion size5a = size5 - 9.5 ; subtracting size of the spot to get spot motion size3a = size3 - 9.5 ; subtracting size of the spot to get spot motion size1a = size1 - 9.5 ; subtracting size of the spot to get spot motion size10b = 0.50000 * size10a ; scaling to be as if at 5Vpp size3b = 1.666666 * size3a ; scaling to be as if at 5Vpp (multiply by 2.5 to make ; this data continuous w/ 5V data) size1b = 5.00 * size1a ; scaling to be as if at 5Vpp (multiply by 12 to make ; this data continous w/ 3V and 5V data ;-----> Using Data scaled to 5Vpp drive <------- set_plot, 'ps' Device, filename='DMscaled.ch3.ps', Xoffset=0, Yoffset=0, Xsize=7.0, Ysize=7.0, /Inches plot, freq5, size5a, Xrange=[30, 900], Yrange=[5,80], Xstyle=1, Ystyle=8, Psym=-4, position = [0.15, 0.15, 0.85, 0.95], Title='DM Test Ch. #3: Stroke and Angle vs. Frequency, scaled data', Ytitle = 'Spot Motion (mm)', Xtitle='Frequency (Hz)' oplot, freq10, size10b, Psym=-2 oplot, freq3, size3b, Psym=-5 oplot, freq1, size1b, Psym=-6 Axis, Yaxis=1, Yrange=[-25.0, 150], /Save, Ytitle ='Angle (degrees)' oplot, freq10, tilt10, Psym=-7, Linestyle = 1 oplot, freq5, tilt5, Psym=-7, Linestyle = 1 oplot, freq3, tilt3, Psym=-7, Linestyle = 1 oplot, freq1, tilt1, Psym=-7, Linestyle = 1 xvalues=[150, 250] yvalues=[140, 140] PlotS, xvalues, yvalues, Linestyle=0, Psym=-2 XYoutS, 0.35, 0.905, 'Stoke @ 10Vpp', Alignment=0.0, /Normal, Charsize=1.0 xvalues=[150, 250] yvalues=[135, 135] PlotS, xvalues, yvalues, Linestyle=0, Psym=-4 XYoutS, 0.35, 0.885, 'Stoke @ 5Vpp', Alignment=0.0, /Normal, Charsize=1.0 xvalues=[150, 250] yvalues=[130, 130] PlotS, xvalues, yvalues, Linestyle=0, Psym=-5 XYoutS, 0.35, 0.865, 'Stoke @ 3Vpp', Alignment=0.0, /Normal, Charsize=1.0 xvalues=[150, 250] yvalues=[125, 125] PlotS, xvalues, yvalues, Linestyle=0, Psym=-6 XYoutS, 0.35, 0.845, 'Stoke @ 1Vpp', Alignment=0.0, /Normal, Charsize=1.0 xvalues=[150, 250] yvalues=[120, 120] PlotS, xvalues, yvalues, Linestyle=1, Psym=-7 XYoutS, 0.35, 0.825, 'Tilt Angle', Alignment=0.0, /Normal, Charsize=1.0 device, /close ; closes device set_plot, 'x' ; makes it so that the plot goes to the screen again ;--------------> Using unscaled data <------------- set_plot, 'ps' Device, filename='DMstroketilt.ch3notscaled.ps', Xoffset=0, Yoffset=0, Xsize=7.0, Ysize=7.0, /Inches plot, freq5, size5a, Xrange=[20, 900], Yrange=[0,30], Xstyle=1, Ystyle=8, Psym=-4, position = [0.15, 0.15, 0.85, 0.95], Title='DM Test Ch. #3: Stroke and Angle vs. Frequency, unscaled data', Ytitle = 'Spot Motion (mm)', Xtitle='Frequency (Hz)' oplot, freq10, size10a, Psym=-2 oplot, freq3, size3a, Psym=-5 oplot, freq1, size1a, Psym=-6 Axis, Yaxis=1, Yrange=[-25.0, 150], /Save, Ytitle ='Angle (degrees)' oplot, freq10, tilt10, Psym=-7, Linestyle = 1 oplot, freq5, tilt5, Psym=-7, Linestyle = 1 oplot, freq3, tilt3, Psym=-7, Linestyle = 1 oplot, freq1, tilt1, Psym=-7, Linestyle = 1 xvalues=[150, 250] yvalues=[140, 140] PlotS, xvalues, yvalues, Linestyle=0, Psym=-2 XYoutS, 0.35, 0.905, 'Stoke @ 10Vpp', Alignment=0.0, /Normal, Charsize=1.0 xvalues=[150, 250] yvalues=[135, 135] PlotS, xvalues, yvalues, Linestyle=0, Psym=-4 XYoutS, 0.35, 0.885, 'Stoke @ 5Vpp', Alignment=0.0, /Normal, Charsize=1.0 xvalues=[150, 250] yvalues=[130, 130] PlotS, xvalues, yvalues, Linestyle=0, Psym=-5 XYoutS, 0.35, 0.865, 'Stoke @ 3Vpp', Alignment=0.0, /Normal, Charsize=1.0 xvalues=[150, 250] yvalues=[125, 125] PlotS, xvalues, yvalues, Linestyle=0, Psym=-6 XYoutS, 0.35, 0.845, 'Stoke @ 1Vpp', Alignment=0.0, /Normal, Charsize=1.0 xvalues=[150, 250] yvalues=[120, 120] PlotS, xvalues, yvalues, Linestyle=1, Psym=-7 XYoutS, 0.35, 0.825, 'Tilt Angle', Alignment=0.0, /Normal, Charsize=1.0 device, /close ; closes device set_plot, 'x' ; makes it so that the plot goes to the screen again ; -----> Frequency on a Log scaling <----- logfreq10 = alog10(freq10) logfreq5 = alog10(freq5) logfreq3 = alog10(freq3) logfreq1 = alog10(freq1) set_plot, 'ps' Device, filename='DMstroketilt.ch3logscaled.ps', Xoffset=0, Yoffset=0, Xsize=7.0, Ysize=7.0, /Inches plot, logfreq5, size5a, Xrange=[1.5, 3.00], Yrange=[5,80], Xstyle=1, Ystyle=8, Psym=-4, position = [0.15, 0.15, 0.85, 0.95], Title='DM Test Ch. #3: Stroke and Angle vs. Log Frequency', Ytitle = 'Spot Motion (mm)', Xtitle='Log Frequency (Hz)' oplot, logfreq10, size10b, Psym=-5 oplot, logfreq3, size3b, Psym=-5 oplot, logfreq1, size1b, Psym=-6 Axis, Yaxis=1, Yrange=[-25.0, 150], /Save, Ytitle ='Angle (degrees)', Ystyle=1 oplot, logfreq10, tilt5, Psym=-7, Linestyle = 1 oplot, logfreq5, tilt5, Psym=-7, Linestyle = 1 oplot, logfreq3, tilt3, Psym=-7, Linestyle = 1 oplot, logfreq1, tilt1, Psym=-7, Linestyle = 1 xvalues=[2.1, 2.2] yvalues=[140, 140] PlotS, xvalues, yvalues, Linestyle=0, Psym=-2 XYoutS, 0.3, 0.90, 'Stoke @ 10Vpp', Alignment=0.0, /Normal, Charsize=1.0 xvalues=[2.1, 2.2] yvalues=[135, 135] PlotS, xvalues, yvalues, Linestyle=0, Psym=-4 XYoutS, 0.3, 0.877, 'Stoke @ 5Vpp', Alignment=0.0, /Normal, Charsize=1.0 xvalues=[2.1, 2.2] yvalues=[130, 130] PlotS, xvalues, yvalues, Linestyle=0, Psym=-5 XYoutS, 0.3, 0.855, 'Stoke @ 3Vpp', Alignment=0.0, /Normal, Charsize=1.0 xvalues=[2.1, 2.2] yvalues=[125, 125] PlotS, xvalues, yvalues, Linestyle=0, Psym=-6 XYoutS, 0.3, 0.830, 'Stoke @ 1Vpp', Alignment=0.0, /Normal, Charsize=1.0 xvalues=[2.1, 2.2] yvalues=[120, 120] PlotS, xvalues, yvalues, Linestyle=1, Psym=-7 XYoutS, 0.3, 0.810, 'Tilt Angle', Alignment=0.0, /Normal, Charsize=1.0 device, /close ; closes device set_plot, 'x' ; makes it so that the plot goes to the screen again ; ----> Analysis of X and Y stroke <----- tilt10radians = tilt10 / 57.296 tilt5radians = tilt5 / 57.296 tilt3radians = tilt3 / 57.296 tilt1radians = tilt1 / 57.296 X10 = COS(tilt10radians) * size10b X5 = COS(tilt5radians) * size5a X3 = COS(tilt3radians) * size3b X1 = COS(tilt1radians) * size1b Y10 = size10b * SIN(tilt10radians) Y5 = size5a * SIN(tilt5radians) Y3 = size3b * SIN(tilt3radians) Y1 = size1b * SIN(tilt1radians) set_plot, 'ps' Device, filename='DMxyscaled.ch3.ps', Xoffset=0, Yoffset=0, Xsize=7.0, Ysize=7.0, /Inches plot, freq5, X5, Xrange=[20, 900], Yrange=[0.0, 70], Xstyle=1, Ystyle=1, Psym=-4, position = [0.15, 0.15, 0.85, 0.95], Title='DM Test Ch. #3: X and Y Stroke vs. Frequency', Ytitle = 'Spot Motion (mm)', Xtitle='Frequency (Hz)' oplot, freq10, abs(X10), Psym=-2 oplot, freq3, abs(X3), Psym=-5 oplot, freq1, abs(x1), Psym=-6 oplot, freq10, abs(Y10), Psym=-2, Linestyle=1 oplot, freq5, abs(Y5), Psym=-4, Linestyle=1 oplot, freq3, abs(Y3), Psym=-5, Linestyle=1 oplot, freq1, abs(Y1), Psym=-6, Linestyle=1 xvalues=[100, 180] yvalues=[65, 65] PlotS, xvalues, yvalues, Linestyle=0, Psym=-4 XYoutS, 0.3, 0.89, 'X absolute value', Alignment=0.0, /Normal, Charsize=1.0 xvalues=[100, 180] yvalues=[63, 63] PlotS, xvalues, yvalues, Linestyle=1, Psym=-4 XYoutS, 0.3, 0.865, 'Y absolute value', Alignment=0.0, /Normal, Charsize=1.0 device, /close ; closes device set_plot, 'x' ; makes it so that the plot goes to the screen again