.MCAD 303010000 1 87 16139 0 .CMD PLOTFORMAT 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 1 0 0 NO-TRACE-STRING 0 2 1 0 NO-TRACE-STRING 0 3 2 0 NO-TRACE-STRING 0 4 3 0 NO-TRACE-STRING 0 1 4 0 NO-TRACE-STRING 0 2 5 0 NO-TRACE-STRING 0 3 6 0 NO-TRACE-STRING 0 4 0 0 NO-TRACE-STRING 0 1 1 0 NO-TRACE-STRING 0 2 2 0 NO-TRACE-STRING 0 3 3 0 NO-TRACE-STRING 0 4 4 0 NO-TRACE-STRING 0 1 5 0 NO-TRACE-STRING 0 2 6 0 NO-TRACE-STRING 0 3 0 0 NO-TRACE-STRING 0 4 1 0 NO-TRACE-STRING 0 1 21 15 0 3 .CMD FORMAT rd=d ct=10 im=i et=8 zt=15 pr=3 mass length time charge temperature tr=0 vm=0 .CMD SET ORIGIN 0 .CMD SET TOL 0.001000000000000 .CMD SET PRNCOLWIDTH 8 .CMD SET PRNPRECISION 4 .CMD PRINT_SETUP 0.800000 0.500000 0.500000 0.500000 0 .CMD HEADER_FOOTER 1 1 *empty* *empty* *empty* 0 1 *empty* *empty* *empty* .CMD HEADER_FOOTER_FONT fontID=14 family=Arial points=10 bold=0 italic=0 underline=0 .CMD HEADER_FOOTER_FONT fontID=15 family=Arial points=10 bold=0 italic=0 underline=0 .CMD DEFINE_FONTSTYLE_NAME fontID=0 name=Variables .CMD DEFINE_FONTSTYLE_NAME fontID=1 name=Constants .CMD DEFINE_FONTSTYLE_NAME fontID=2 name=Text .CMD DEFINE_FONTSTYLE_NAME fontID=4 name=User^1 .CMD DEFINE_FONTSTYLE_NAME fontID=5 name=User^2 .CMD DEFINE_FONTSTYLE_NAME fontID=6 name=User^3 .CMD DEFINE_FONTSTYLE_NAME fontID=7 name=User^4 .CMD DEFINE_FONTSTYLE_NAME fontID=8 name=User^5 .CMD DEFINE_FONTSTYLE_NAME fontID=9 name=User^6 .CMD DEFINE_FONTSTYLE_NAME fontID=10 name=User^7 .CMD DEFINE_FONTSTYLE fontID=0 family=Times^New^Roman points=10 bold=0 italic=0 underline=0 .CMD DEFINE_FONTSTYLE fontID=1 family=Times^New^Roman points=10 bold=0 italic=0 underline=0 .CMD DEFINE_FONTSTYLE fontID=2 family=Courier points=10 bold=0 italic=0 underline=0 .CMD DEFINE_FONTSTYLE fontID=4 family=Arial points=10 bold=0 italic=0 underline=0 .CMD DEFINE_FONTSTYLE fontID=5 family=Courier^New points=10 bold=0 italic=0 underline=0 .CMD DEFINE_FONTSTYLE fontID=6 family=System points=10 bold=0 italic=0 underline=0 .CMD DEFINE_FONTSTYLE fontID=7 family=Script points=10 bold=0 italic=0 underline=0 .CMD DEFINE_FONTSTYLE fontID=8 family=Roman points=10 bold=0 italic=0 underline=0 .CMD DEFINE_FONTSTYLE fontID=9 family=Modern points=10 bold=0 italic=0 underline=0 .CMD DEFINE_FONTSTYLE fontID=10 family=Times^New^Roman points=10 bold=0 italic=0 underline=0 .CMD UNITS U=1 .CMD DIMENSIONS_ANALYSIS 0 0 .EQN 2 1 1 0 {0:Min}NAME:0 .EQN 0 12 2 0 {0:Max}NAME:10 .EQN 0 11 3 0 {0:Inc}NAME:0.2 .EQN 0 14 4 0 {0:x}NAME:{0:Min}NAME,{0:Min}NAME+{0:Inc}NAME;{0:Max}NAME .EQN 0 28 5 0 {0:s}NAME:.3 .EQN 0 9 9 0 {0:K}NAME:1 .EQN 3 -74 6 0 {0:i}NAME:{0:Min}NAME;{0:Max}NAME .EQN 0 16 7 0 {0:\e}NAME~.001 .EQN 0 21 8 0 {0:\s}NAME:.5 .EQN 0 11 11 0 {0:f}NAME({0:x}NAME):{0:cos}NAME(2*{0:\p}NAME*{0:s}NAME*{0:x}NAME) .EQN 3 -48 10 0 {0:j}NAME:0;3*{0:Max}NAME+16 .EQN 1 37 13 0 {0:y}NAME:{0:Min}NAME,{0:Min}NAME+{0:Inc}NAME;3*{0:Max}NAME .EQN 5 -37 12 0 {0:S}NAME({0:x}NAME,{0:\t}NAME,{0:\s}NAME):{0:if}NAME((|({0:x}NAME-{0:\t}NAME)<2.5),{0:K}NAME*({0:e}NAME)^(-.5*((({0:x}NAME-{0:\t}NAME)/({0:\s}NAME)))^(2)),0) .EQN 0 37 14 0 {0:K}NAME:(1)/({0:S}NAME(0,0,{0:\s}NAME)+2*{0:S}NAME(0,1,{0:\s}NAME)) .EQN 0 28 15 0 {0:K}NAME={0}?_n_u_l_l_ .TXT 5 -65 16135 0 Cg b86.500000,86.500000,87 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain ======================================================================================} } .TXT 2 16 18 0 Cg a46.000000,52.000000,49 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain {3X Sinc Resampling with Gaussian Interpolation}} } .TXT 2 15 19 0 Cg a13.000000,13.250000,16 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain {Ken Castleman}} } .TXT 0 35 20 0 Cg a11.000000,11.000000,16 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain {F_03-12}{.MCD}} } .TXT 2 -35 21 0 Cg a13.000000,13.250000,16 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain {Jan. 27, 1991}} } .TXT 4 -31 23 0 Cg a24.000000,24.250000,27 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain {Suppose we have a signal}} } .EQN 0 26 25 0 {0:f}NAME({0:x}NAME):{0:cos}NAME(2*{0:\p}NAME*{0:s}NAME*{0:x}NAME) .EQN 0 16 24 0 &&(_n_u_l_l_&_n_u_l_l_)&{0:f}NAME({0:x}NAME)@&&(_n_u_l_l_&_n_u_l_l_)&{0:x}NAME 0 0 1 0 10 0 1 0 1 1 0 2 0 1 0 0 0 5 NO-TRACE-STRING 0 2 1 0 NO-TRACE-STRING 0 3 2 0 NO-TRACE-STRING 0 4 3 0 NO-TRACE-STRING 0 1 4 0 NO-TRACE-STRING 0 2 5 0 NO-TRACE-STRING 0 3 6 0 NO-TRACE-STRING 0 4 0 0 NO-TRACE-STRING 0 1 1 0 NO-TRACE-STRING 0 2 2 0 NO-TRACE-STRING 0 3 3 0 NO-TRACE-STRING 0 4 4 0 NO-TRACE-STRING 0 1 5 0 NO-TRACE-STRING 0 2 6 0 NO-TRACE-STRING 0 3 0 0 NO-TRACE-STRING 0 4 1 0 NO-TRACE-STRING 0 1 30 16 0 3 .EQN 4 -14 22 0 {0:s}NAME={0}?_n_u_l_l_ .TXT 4 -28 26 0 Cg a16.000000,16.250000,19 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain {which is sampled}} } .EQN 0 20 27 0 ({0:A}NAME)[({0:i}NAME):{0:f}NAME({0:i}NAME) .TXT 9 -20 28 0 Cg a19.000000,19.250000,22 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain {and interpolated by}} } .EQN 4 42 29 0 1.5&-1.5&(-1.5&1.5)&({0:A}NAME)[({0:i}NAME)@&&(_n_u_l_l_&_n_u_l_l_)&{0:i}NAME 0 0 1 0 10 0 1 0 1 1 0 2 0 1 4 0 0 0 NO-TRACE-STRING 0 2 1 0 NO-TRACE-STRING 0 3 2 0 NO-TRACE-STRING 0 4 3 0 NO-TRACE-STRING 0 1 4 0 NO-TRACE-STRING 0 2 5 0 NO-TRACE-STRING 0 3 6 0 NO-TRACE-STRING 0 4 0 0 NO-TRACE-STRING 0 1 1 0 NO-TRACE-STRING 0 2 2 0 NO-TRACE-STRING 0 3 3 0 NO-TRACE-STRING 0 4 4 0 NO-TRACE-STRING 0 1 5 0 NO-TRACE-STRING 0 2 6 0 NO-TRACE-STRING 0 3 0 0 NO-TRACE-STRING 0 4 1 0 NO-TRACE-STRING 0 1 30 17 0 3 .EQN 3 -42 30 0 {0:S}NAME({0:x}NAME,{0:\t}NAME,{0:\s}NAME):{0:K}NAME*({0:e}NAME)^(-.5*((({0:x}NAME-{0:\t}NAME)/({0:\s}NAME)))^(2)) .EQN 5 0 31 0 {0:K}NAME={0}?_n_u_l_l_ .EQN 0 15 32 0 {0:\s}NAME={0}?_n_u_l_l_ .EQN 4 -14 33 0 {0:h}NAME({0:i}NAME,{0:x}NAME):({0:A}NAME)[({0:i}NAME)*{0:S}NAME({0:x}NAME,{0:i}NAME,{0:\s}NAME) .TXT 4 -1 34 0 Cg a28.000000,28.250000,31 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain {The interpolated function is}} } .EQN 3 0 35 0 {0:g}NAME({0:x}NAME):{0:i}NAME${0:h}NAME({0:i}NAME,{0:x}NAME) .EQN 3 42 36 0 1&-1&(_n_u_l_l_&_n_u_l_l_)&{0:g}NAME({0:x}NAME)@&&(_n_u_l_l_&_n_u_l_l_)&{0:x}NAME 0 0 1 0 10 0 1 0 0 1 0 2 0 1 0 0 0 5 NO-TRACE-STRING 0 2 1 0 NO-TRACE-STRING 0 3 2 0 NO-TRACE-STRING 0 4 3 0 NO-TRACE-STRING 0 1 4 0 NO-TRACE-STRING 0 2 5 0 NO-TRACE-STRING 0 3 6 0 NO-TRACE-STRING 0 4 0 0 NO-TRACE-STRING 0 1 1 0 NO-TRACE-STRING 0 2 2 0 NO-TRACE-STRING 0 3 3 0 NO-TRACE-STRING 0 4 4 0 NO-TRACE-STRING 0 1 5 0 NO-TRACE-STRING 0 2 6 0 NO-TRACE-STRING 0 3 0 0 NO-TRACE-STRING 0 4 1 0 NO-TRACE-STRING 0 1 30 17 0 3 .TXT 10 -42 37 0 Cg a30.000000,29.250000,88 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain {which differs somewhat from\par the origonal function in both\par amplitude and waveshape. }} } .TXT 13 55 16139 0 Cg a11.000000,38.500000,12 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain Figure 3-11} } .TXT 3 -55 38 0 Cg b86.500000,86.500000,178 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain {Even though the function is oversampled (s = 0.3 cycles per sample), interpolation with a Gaussian interpolation function (display spot) does not give a good reconstruction.}} } .TXT 8 0 40 0 Cg a13.000000,13.250000,16 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain {3X Resampling}} } .TXT 4 0 41 0 Cg a84.000000,84.875000,402 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain {We can improve the interpolation process by resampling the function at a 3X higher sampling density. The hard way to do this is to perform the origonal sampling at a higher sampling frequency. An easier way is to create two new sample points between each pair of existing sample points by interpolating them with sin(x)/x. Since the function is oversampled to begin with, the result is the same.}} } .EQN 13 0 42 0 ({0:B}NAME)[({0:j}NAME):0 .EQN 0 14 43 0 ({0:B}NAME)[(3*{0:i}NAME):({0:A}NAME)[({0:i}NAME) .EQN 1 33 44 0 1.5&-1.5&(-1.5&1.5)&({0:B}NAME)[({0:j}NAME)@36&0&(0&36)&{0:j}NAME 0 0 1 0 12 0 1 0 1 1 0 2 0 1 4 0 0 0 NO-TRACE-STRING 0 2 1 0 NO-TRACE-STRING 0 3 2 0 NO-TRACE-STRING 0 4 3 0 NO-TRACE-STRING 0 1 4 0 NO-TRACE-STRING 0 2 5 0 NO-TRACE-STRING 0 3 6 0 NO-TRACE-STRING 0 4 0 0 NO-TRACE-STRING 0 1 1 0 NO-TRACE-STRING 0 2 2 0 NO-TRACE-STRING 0 3 3 0 NO-TRACE-STRING 0 4 4 0 NO-TRACE-STRING 0 1 5 0 NO-TRACE-STRING 0 2 6 0 NO-TRACE-STRING 0 3 0 0 NO-TRACE-STRING 0 4 1 0 NO-TRACE-STRING 0 1 30 18 0 3 .EQN 5 -47 45 0 {0:p}NAME({0:x}NAME):({0:sin}NAME({0:\p}NAME*{0:x}NAME))/({0:\p}NAME*{0:x}NAME) .EQN 0 19 46 0 {0:p}NAME(.333)={0}?_n_u_l_l_ .EQN 3 0 47 0 {0:p}NAME(.667)={0}?_n_u_l_l_ .EQN 3 0 48 0 {0:p}NAME(1.333)={0}?_n_u_l_l_ .EQN 3 0 49 0 {0:p}NAME(1.667)={0}?_n_u_l_l_ .TXT 4 -19 50 0 Cg a42.000000,42.500000,123 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain {The interpolation coefficients must be normalized to sum to 1.0 so that areas of constant amplitude will be preserved.}} } .EQN 7 1 51 0 {0:Sum}NAME:{0:p}NAME(.333)+{0:p}NAME(1.33)+{0:p}NAME(2.33)+{0:p}NAME(.667)+{0:p}NAME(1.667)+{0:p}NAME(2.667) .EQN 4 -1 52 0 {0:C1}NAME:({0:p}NAME(2.333))/({0:Sum}NAME) .EQN 0 17 53 0 {0:C2}NAME:({0:p}NAME(1.333))/({0:Sum}NAME) .EQN 0 16 54 0 {0:C3}NAME:({0:p}NAME(0.333))/({0:Sum}NAME) .EQN 0 18 55 0 {0:Sum}NAME={0}?_n_u_l_l_ .EQN 8 -51 56 0 {0:C4}NAME:({0:p}NAME(.667))/({0:Sum}NAME) .EQN 0 17 57 0 {0:C5}NAME:({0:p}NAME(1.667))/({0:Sum}NAME) .EQN 0 16 58 0 {0:C6}NAME:({0:p}NAME(2.667))/({0:Sum}NAME) .TXT 4 -33 59 0 Cg b86.500000,86.500000,73 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain {Interpolation fills in the new "synthetic" sample points. }} } .EQN 4 0 60 0 {0:k}NAME:7,10;31 .EQN 4 0 61 0 ({0:B}NAME)[({0:k}NAME):{0:C1}NAME*({0:B}NAME)[({0:k}NAME-7)+{0:C2}NAME*({0:B}NAME)[({0:k}NAME-4)+{0:C3}NAME*({0:B}NAME)[({0:k}NAME-1)+{0:C4}NAME*({0:B}NAME)[({0:k}NAME+2)+{0:C5}NAME*({0:B}NAME)[({0:k}NAME+5)+{0:C6}NAME*({0:B}NAME)[({0:k}NAME+8) .EQN 4 0 62 0 {0:k}NAME:8,11;32 .EQN 4 0 63 0 ({0:B}NAME)[({0:k}NAME):{0:C6}NAME*({0:B}NAME)[({0:k}NAME-8)+{0:C5}NAME*({0:B}NAME)[({0:k}NAME-5)+{0:C4}NAME*({0:B}NAME)[({0:k}NAME-2)+{0:C3}NAME*({0:B}NAME)[({0:k}NAME+1)+{0:C2}NAME*({0:B}NAME)[({0:k}NAME+4)+{0:C1}NAME*({0:B}NAME)[({0:k}NAME+7) .EQN 4 0 64 0 ({0:B}NAME)[(4):({0:B}NAME)[(14) .EQN 0 13 65 0 ({0:B}NAME)[(5):({0:B}NAME)[(15) .EQN 0 12 66 0 ({0:B}NAME)[(1):({0:B}NAME)[(11) .EQN 0 10 67 0 ({0:B}NAME)[(2):({0:B}NAME)[(12) .EQN 8 -35 70 0 {0:h}NAME({0:j}NAME,{0:y}NAME):({0:B}NAME)[({0:j}NAME)*{0:S}NAME({0:y}NAME,{0:j}NAME,{0:\s}NAME) .EQN 0 19 71 0 {0:g}NAME({0:y}NAME):{0:j}NAME${0:h}NAME({0:j}NAME,{0:y}NAME) .EQN 5 -18 16133 0 1.5&-1.5&(-1.5&1.5)&({0:B}NAME)[({0:j}NAME),0@30&&(_n_u_l_l_&_n_u_l_l_)&{0:j}NAME 0 0 1 0 6 0 1 0 0 1 0 0 0 1 4 0 6 0 NO-TRACE-STRING 0 1 6 0 NO-TRACE-STRING 0 3 2 0 NO-TRACE-STRING 0 4 3 0 NO-TRACE-STRING 0 1 4 0 NO-TRACE-STRING 0 2 5 0 NO-TRACE-STRING 0 3 6 0 NO-TRACE-STRING 0 4 0 0 NO-TRACE-STRING 0 1 1 0 NO-TRACE-STRING 0 2 2 0 NO-TRACE-STRING 0 3 3 0 NO-TRACE-STRING 0 4 4 0 NO-TRACE-STRING 0 1 5 0 NO-TRACE-STRING 0 2 6 0 NO-TRACE-STRING 0 3 0 0 NO-TRACE-STRING 0 4 1 0 NO-TRACE-STRING 0 1 32 22 0 3 .EQN 0 41 16134 0 1.5&-1.5&(-1.5&1.5)&{0:g}NAME({0:y}NAME),0@&&(_n_u_l_l_&_n_u_l_l_)&{0:y}NAME 0 0 1 0 6 0 1 0 0 1 0 0 0 1 0 0 6 5 NO-TRACE-STRING 0 1 6 0 NO-TRACE-STRING 0 3 2 0 NO-TRACE-STRING 0 4 3 0 NO-TRACE-STRING 0 1 4 0 NO-TRACE-STRING 0 2 5 0 NO-TRACE-STRING 0 3 6 0 NO-TRACE-STRING 0 4 0 0 NO-TRACE-STRING 0 1 1 0 NO-TRACE-STRING 0 2 2 0 NO-TRACE-STRING 0 3 3 0 NO-TRACE-STRING 0 4 4 0 NO-TRACE-STRING 0 1 5 0 NO-TRACE-STRING 0 2 6 0 NO-TRACE-STRING 0 3 0 0 NO-TRACE-STRING 0 4 1 0 NO-TRACE-STRING 0 1 35 22 0 3 .TXT 32 -19 16137 0 Cg a3.000000,65.500000,6 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain \{a\}} } .TXT 0 42 16138 0 Cg a3.000000,22.500000,4 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain (b)} } .TXT 2 -26 16136 0 Cg a11.000000,54.500000,12 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain Figure 3-12} } .TXT 4 -39 69 0 Cg a65.000000,87.625000,68 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain (a) {Notice how this sampled function looks easier to interpolate.}} } .TXT 2 0 73 0 Cg a78.000000,87.250000,92 {\rtf1\ansi \deff1 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} } {\plain (b) {Notice how this interpolated function more closely resembles the origonal waveshape.}} }