2.
Measurement Process Characterization
2.6. Case studies 2.6.3. Evaluation of type A uncertainty
|
|||
Reads data and plots the repeatability standard deviations for probe #2362 and pools standard deviations over days, wafers -- run 1 |
reset data reset plot control reset i/o dimension 30 columns label size 3 set read format f1.0,f6.0,f8.0,32x,f10.4,f10.4 skip 50 read mpc61.dat run wafer probe y sr skip 0 retain run wafer probe y sr subset probe = 2362 let df = sr - sr + 5. y1label ohm.cm characters * all lines blank all x2label Repeatability standard deviations for probe 2362 - run 1 plot sr subset run 1 let var = sr*sr let df11 = sum df subset run 1 let s11 = sum var subset run 1 . repeatability standard deviation for run 1 let s11 = (5.*s11/df11)**(1/2) print s11 df11 . end of calculations |
||
Reads data and plots repeatability standard deviations for probe #2362 and pools standard deviations over days, wafers -- run 2 |
reset data reset plot control reset i/o dimension 30 columns label size 3 set read format f1.0,f6.0,f8.0,32x,f10.4,f10.4 skip 50 read mpc61.dat run wafer probe y sr skip 0 retain run wafer probe y sr subset probe 2362 let df = sr - sr + 5. y1label ohm.cm characters * all lines blank all x2label Repeatability standard deviations for probe 2362 - run 2 plot sr subset run 2 let var = sr*sr let df11 = sum df subset run 1 let df12 = sum df subset run 2 let s11 = sum var subset run 1 let s12 = sum var subset run 2 let s11 = (5.*s11/df11)**(1/2) let s12 = (5.*s12/df12)**(1/2) print s11 df11 print s12 df12 let s1 = ((s11**2 + s12**2)/2.)**(1/2) let df1=df11+df12 . repeatability standard deviation and df for run 2 print s1 df1 . end of calculations |
||
Computes level-2 standard deviations from daily averages and pools over wafers -- run 1 |
reset data reset plot control reset i/o dimension 30 columns label size 3 set read format f1.0,f6.0,f8.0,32x,f10.4,f10.4 skip 50 read mpc61.dat run wafer probe y sr skip 0 retain run wafer probe y sr subset probe 2362 sd plot y wafer subset run 1 let s21 = yplot let wafer1 = xplot retain s21 wafer1 subset tagplot = 1 let nwaf = size s21 let df21 = 5 for i = 1 1 nwaf . level-2 standard deviations and df for 5 wafers - run 1 print wafer1 s21 df21 . end of calculations |
||
Computes level-2 standard deviations from daily averages and pools over wafers -- run 2 |
reset data reset plot control reset i/o dimension 30 columns label size 3 set read format f1.0,f6.0,f8.0,32x,f10.4,f10.4 skip 50 read mpc61.dat run wafer probe y sr skip 0 retain run wafer probe y sr subset probe 2362 sd plot y wafer subset run 2 let s22 = yplot let wafer1 = xplot retain s22 wafer1 subset tagplot = 1 let nwaf = size s22 let df22 = 5 for i = 1 1 nwaf . level-2 standard deviations and df for 5 wafers - run 1 print wafer1 s22 df22 . end of calculations |
||
Pools level-2 standard deviations over wafers and runs |
reset data reset plot control reset i/o dimension 30 columns label size 3 set read format f1.0,f6.0,f8.0,32x,f10.4,f10.4 skip 50 read mpc61.dat run wafer probe y sr skip 0 retain run wafer probe y sr subset probe 2362 sd plot y wafer subset run 1 let s21 = yplot let wafer1 = xplot sd plot y wafer subset run 2 let s22 = yplot retain s21 s22 wafer1 subset tagplot = 1 let nwaf = size wafer1 let df21 = 5 for i = 1 1 nwaf let df22 = 5 for i = 1 1 nwaf let s2a = (s21**2)/5 + (s22**2)/5 let s2 = sum s2a let s2 = sqrt(s2/2) let df2a = df21 + df22 let df2 = sum df2a . pooled level-2 standard deviation and df across wafers and runs print s2 df2 . end of calculations |
||
Computes level-3standard deviations from run averages and pools over wafers |
reset data reset plot control reset i/o dimension 30 columns label size 3 set read format f1.0,f6.0,f8.0,32x,f10.4,f10.4 skip 50 read mpc61.dat run wafer probe y sr skip 0 retain run wafer probe y sr subset probe 2362 . mean plot y wafer subset run 1 let m31 = yplot let wafer1 = xplot mean plot y wafer subset run 2 let m32 = yplot retain m31 m32 wafer1 subset tagplot = 1 let nwaf = size m31 let s31 =(((m31-m32)**2)/2.)**(1/2) let df31 = 1 for i = 1 1 nwaf . level-3 standard deviations and df for 5 wafers print wafer1 s31 df31 let s31 = (s31**2)/5 let s3 = sum s31 let s3 = sqrt(s3) let df3=sum df31 . pooled level-3 std deviation and df over 5 wafers print s3 df3 . end of calculations |
||
Plot differences from the average wafer value for each probe showing bias for probe #2362 |
reset data reset plot control reset i/o dimension 30 columns skip 25 read mpc61a.dat wafer probe d1 d2 skip 0 let biasrun1 = mean d1 subset probe 2362 let biasrun2 = mean d2 subset probe 2362 print biasrun1 biasrun2 title GAUGE STUDY FOR 5 PROBES Y1LABEL OHM.CM lines dotted dotted dotted dotted dotted solid characters 1 2 3 4 5 blank xlimits 137 143 let zero = pattern 0 for I = 1 1 30 x1label DIFFERENCES AMONG PROBES VS WAFER (RUN 1) plot d1 wafer probe and plot zero wafer let biasrun2 = mean d2 subset probe 2362 print biasrun2 title GAUGE STUDY FOR 5 PROBES Y1LABEL OHM.CM lines dotted dotted dotted dotted dotted solid characters 1 2 3 4 5 blank xlimits 137 143 let zero = pattern 0 for I = 1 1 30 x1label DIFFERENCES AMONG PROBES VS WAFER (RUN 2) plot d2 wafer probe and plot zero wafer . end of calculations |
||
Compute bias for probe #2362 by wafer |
reset data reset plot control reset i/o dimension 30 columns label size 3 set read format f1.0,f6.0,f8.0,32x,f10.4,f10.4 skip 50 read mpc61.dat run wafer probe y sr skip 0 set read format . cross tabulate mean y run wafer retain run wafer probe y sr subset probe 2362 skip 1 read dpst1f.dat runid wafid ybar print runid wafid ybar let ngroups = size ybar skip 0 . let m3 = y - y feedback off loop for k = 1 1 ngroups let runa = runid(k) let wafera = wafid(k) let ytemp = ybar(k) let m3 = ytemp subset run = runa subset wafer = wafera end of loop feedback on . let d = y - m3 let bias1 = average d subset run 1 let bias2 = average d subset run 2 . mean plot d wafer subset run 1 let b1 = yplot let wafer1 = xplot mean plot d wafer subset run 2 let b2 = yplot retain b1 b2 wafer1 subset tagplot = 1 let nwaf = size b1 . biases for run 1 and run 2 by wafers print wafer1 b1 b2 . average biases over wafers for run 1 and run 2 print bias1 bias2 . end of calculations |
||
Compute correction for bias for measurements with probe #2362 and the standard deviation of the correction |
reset data reset plot control reset i/o dimension 30 columns label size 3 set read format f1.0,f6.0,f8.0,32x,f10.4,f10.4 skip 50 read mpc61.dat run wafer probe y sr skip 0 set read format . cross tabulate mean y run wafer retain run wafer probe y sr subset probe 2362 skip 1 read dpst1f.dat runid wafid ybar let ngroups = size ybar skip 0 . let m3 = y - y feedback off loop for k = 1 1 ngroups let runa = runid(k) let wafera = wafid(k) let ytemp = ybar(k) let m3 = ytemp subset run = runa subset wafer = wafera end of loop feedback on . let d = y - m3 let bias1 = average d subset run 1 let bias2 = average d subset run 2 . mean plot d wafer subset run 1 let b1 = yplot let wafer1 = xplot mean plot d wafer subset run 2 let b2 = yplot retain b1 b2 wafer1 subset tagplot = 1 . extend b1 b2 let sd = standard deviation b1 let sdcorr = sd/(10**(1/2)) let correct = -(bias1+bias2)/2. . correction for probe #2362, standard dev, and standard dev of corr print correct sd sdcorr . end of calculations |
||
Plot differences between wiring configurations A and B |
reset data reset plot control reset i/o dimension 30 columns label size 3 skip 50 read check_std.dat wafer probe a1 s1 b1 s2 a2 s3 b2 s4 skip 0 let diff1 = a1 - b1 let diff2 = a2 - b2 let t = sequence 1 1 30 lines blank all characters 1 2 3 4 5 y1label ohm.cm x1label Config A - Config B -- Run 1 x2label over 6 days and 5 wafers x3label legend for wafers 138, 139, 140, 141, 142: 1, 2, 3, 4, 5 plot diff1 t wafer x1label Config A - Config B -- Run 2 plot diff2 t wafer . end of calculations |
||
Compute average differences between configuration A and B; standard deviations and t-statistics for testing significance |
reset data reset plot control reset i/o separator character @ dimension 30 columns label size 3 skip 50 read check_std.dat wafer probe a1 s1 b1 s2 a2 s3 b2 s4 skip 0 let diff1 = a1 - b1 let diff2 = a2 - b2 let d1 = average diff1 let d2 = average diff2 let s1 = standard deviation diff1 let s2 = standard deviation diff2 let t1 = (30.)**(1/2)*(d1/s1) let t2 = (30.)**(1/2)*(d2/s2) . Average config A-config B; std dev difference; t-statistic for run 1 print d1 s1 t1 . Average config A-config B; std dev difference; t-statistic for run 2 print d2 s2 t2 separator character ; . end of calculations |
||
Compute standard uncertainty, effective degrees of freedom, t value and expanded uncertainty |
reset data reset plot control reset i/o dimension 30 columns label size 3 read mpc633m.dat sz a df let c = a*sz*sz let d = c*c let e = d/(df) let sume = sum e let u = sum c let u = u**(1/2) let effdf=(u**4)/sume let tvalue=tppf(.975,effdf) let expu=tvalue*u . . uncertainty, effective degrees of freedom, tvalue and . expanded uncertainty print u effdf tvalue expu . end of calculations |