.MCAD 303010000 1 87 261 0 .CMD PLOTFORMAT 0 0 1 0 7 0 1 0 0 1 1 0 0 1 0 1 0 0 NO-TRACE-STRING 0 1 1 0 NO-TRACE-STRING 0 1 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 16 0 3 .CMD FORMAT rd=d ct=4 im=j et=6 zt=6 pr=2 mass length time charge temperature tr=0 vm=1 .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=Arial 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 .TXT 2 24 1 0 Cg a30.250000,48.000000,44 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {Small Kernels with Big Transfer Functions}} } .TXT 2 -5 261 0 Cg a40.625000,61.500000,52 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain Centered DFT, pseudoinverse MMSE, and truncated FIR} } .TXT 3 43 2 0 Cg a17.250000,24.000000,26 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {F_16-14}{.MCD, 12/19/94}} } .EQN 1 -46 6 0 {0:N}NAME:14 .EQN 0 9 7 0 {0:i}NAME:0;{0:N}NAME-1 .EQN 0 11 8 0 {0:k}NAME:0;{0:N}NAME-1 .EQN 1 -31 5 0 {0:j}NAME:\(-1) .EQN 2 11 9 0 {0:M}NAME:7 .EQN 0 9 10 0 {0:m}NAME:0;{0:M}NAME-1 .EQN 0 11 11 0 {0:n}NAME:0;{0:M}NAME-1 .TXT 3 -35 13 0 Cg a78.500000,85.625000,119 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {The }{1-D Discrete Fourier Transform computes an M-point}{ transfer function}{ from an M-point}{ impulse response}{:}} } .EQN 6 0 14 0 ({0:F}NAME)[({0:n}NAME):((1)/(\({0:M}NAME)))*((0,{0:M}NAME-1,{0:m}NAME,({0:f}NAME)[({0:m}NAME)*{0:exp}NAME(-{0:j}NAME*2*{0:\p}NAME*{0:n}NAME*({0:m}NAME)/({0:M}NAME))){64}) .TXT 0 30 15 0 Cg a1.375000,44.000000,5 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {or}} } .EQN 0 4 16 0 {0:F}NAME:{0:W}NAME*{0:f}NAME .TXT 0 10 17 0 Cg a4.250000,29.000000,8 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {where}} } .EQN 0 8 18 0 ({0:W}NAME)[({0:n}NAME,{0:m}NAME):(1)/(\({0:M}NAME))*{0:exp}NAME(-{0:j}NAME*2*{0:\p}NAME*{0:n}NAME*({0:m}NAME)/({0:M}NAME)) .TXT 6 -52 136 0 Cg a69.500000,86.375000,103 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {is an M by M kernel matrix. Both [f] and [F] have the central element at the left end of the vector.}} } .EQN 4 0 147 0 {0:f}NAME:(({1,7}ö.5ö0ö0ö0ö0ö.5ö1)){51} .EQN 0 31 148 0 {0:F}NAME:{0:W}NAME*{0:f}NAME .EQN 0 17 149 0 ({0:F}NAME){51}={0}?_n_u_l_l_ .TXT 4 -48 19 0 Cg a56.000000,73.000000,86 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {Now l}{et f(m) be an M - point FIR, rotated (a places) to the center of the vector.}} } .EQN 5 0 165 0 {0:f}NAME:(({1,7}ö0ö0ö.5ö1ö.5ö0ö0)){51} .EQN 0 28 178 0 {0:a}NAME:{0:floor}NAME(({0:M}NAME)/(2)) .EQN 0 12 179 0 {0:a}NAME={0}?_n_u_l_l_ .EQN 0 18 250 0 {0:b}NAME:{0:floor}NAME(({0:N}NAME)/(2)) .EQN 0 13 251 0 {0:b}NAME={0}?_n_u_l_l_ .TXT 4 -71 258 0 Cg a16.625000,86.375000,27 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {Its M-point transform is}} } .EQN 6 0 174 0 ({0:F}NAME)[({0:n}NAME):((1)/(\({0:M}NAME)))*((0,{0:M}NAME-1,{0:m}NAME,({0:f}NAME)[({0:m}NAME)*{0:exp}NAME(-{0:j}NAME*2*{0:\p}NAME*{0:n}NAME*({0:m}NAME-{0:a}NAME)/({0:M}NAME))){64}) .EQN 0 41 168 0 ({0:F}NAME){51}={0}?_n_u_l_l_ .TXT 6 -41 183 0 Cg a63.500000,86.375000,95 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {For the M-point transform, this works for any rotation, a, of the vector, for example, zero:}} } .EQN 0 67 180 0 {0:f}NAME:(({1,7}ö.5ö0ö0ö0ö0ö.5ö1)){51} .EQN 6 -67 181 0 ({0:F}NAME)[({0:n}NAME):((1)/(\({0:M}NAME)))*((0,{0:M}NAME-1,{0:m}NAME,({0:f}NAME)[({0:m}NAME)*{0:exp}NAME(-{0:j}NAME*2*{0:\p}NAME*{0:n}NAME*({0:m}NAME-0)/({0:M}NAME))){64}) .EQN 1 41 182 0 ({0:F}NAME){51}={0}?_n_u_l_l_ .TXT 6 -41 176 0 Cg a34.250000,86.375000,48 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {Now we can compute N points on its transform:}} } .EQN 6 5 232 0 {0:f}NAME:(({1,7}ö0ö0ö.5ö1ö.5ö0ö0)){51} .EQN 0 37 163 0 ({0:G}NAME)[({0:k}NAME):((1)/(\({0:M}NAME)))*((0,{0:M}NAME-1,{0:m}NAME,({0:f}NAME)[({0:m}NAME)*{0:exp}NAME(-{0:j}NAME*2*{0:\p}NAME*{0:k}NAME*({0:m}NAME-{0:a}NAME)/({0:N}NAME))){64}) .EQN 7 -42 171 0 ({0:G}NAME){51}={0}?_n_u_l_l_ .TXT 4 0 184 0 Cg a59.500000,86.375000,91 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {But for}{ its N-point transform, the vector length is wrong and it doesn't wrap properly}} } .EQN 6 0 185 0 ({0:G}NAME)[({0:k}NAME):((1)/(\({0:M}NAME)))*((0,{0:M}NAME-1,{0:m}NAME,({0:f}NAME)[({0:m}NAME)*{0:exp}NAME(-{0:j}NAME*2*{0:\p}NAME*{0:k}NAME*({0:m}NAME-0)/({0:N}NAME))){64}) .EQN 7 0 187 0 ({0:G}NAME){51}={0}?_n_u_l_l_ .TXT 3 0 191 0 Cg a54.625000,87.750000,128 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {If the M-point function is centered on element a, \par and we want its N-point spectrum to be centered on element b, we can use:}} } .EQN 6 0 190 0 {0:f}NAME:(({1,7}ö0ö0ö.5ö1ö.5ö0ö0)){51} .EQN 0 33 194 0 {0:M}NAME={0}?_n_u_l_l_ .EQN 0 8 193 0 {0:a}NAME={0}?_n_u_l_l_ .EQN 0 25 195 0 {0:N}NAME={0}?_n_u_l_l_ .EQN 0 10 252 0 {0:b}NAME={0}?_n_u_l_l_ .TXT 4 -76 259 0 Cg a13.500000,86.500000,22 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {so the transform is}} } .EQN 6 0 188 0 ({0:G}NAME)[({0:k}NAME):((1)/(\({0:M}NAME)))*((0,{0:M}NAME-1,{0:m}NAME,({0:f}NAME)[({0:m}NAME)*{0:exp}NAME(-{0:j}NAME*2*{0:\p}NAME*({0:k}NAME-{0:b}NAME)*({0:m}NAME-{0:a}NAME)/({0:N}NAME))){64}) .TXT 0 39 197 0 Cg a1.375000,47.375000,5 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {or}} } .EQN 0 5 198 0 {0:G}NAME:{0:T}NAME*{0:f}NAME .TXT 0 9 199 0 Cg a4.250000,27.375000,8 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {where}} } .EQN 0 7 200 0 ({0:T}NAME)[({0:k}NAME,{0:m}NAME):(1)/(\({0:N}NAME))*{0:exp}NAME(-{0:j}NAME*2*{0:\p}NAME*({0:k}NAME-{0:b}NAME)*({0:m}NAME-{0:a}NAME)/({0:N}NAME)) .EQN 10 -59 201 0 {0:G}NAME:{0:T}NAME*{0:f}NAME .TXT 0 9 260 0 Cg a1.375000,3.000000,5 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {or}} } .EQN 0 7 189 0 \(({0:N}NAME)/({0:M}NAME))*({0:G}NAME){51}={0}?_n_u_l_l_ .TXT 4 -16 255 0 Cg a57.125000,85.375000,82 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {This scaling preserves the amplitude of the spectrum as it expands to N points.}} } .TXT 3 0 249 0 Cg a41.500000,85.375000,61 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {This is then the general M-point to N-point centered DFT. }} } .TXT 4 29 233 0 Cg a22.750000,69.375000,33 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {\b Small kernel from large MTF}} } .TXT 3 -30 113 0 Cg a62.875000,86.375000,88 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {Suppose the desired TF, given as an N-point spectrum vector centered on element b, is}} } .EQN 0 74 213 0 {0:\s}NAME:1.0 .EQN 3 0 246 0 {0:M}NAME={0}?_n_u_l_l_ .EQN 3 -74 212 0 ({0:G}NAME)[({0:i}NAME):{0:exp}NAME(-(((({0:i}NAME-{0:b}NAME))^(2))/(2*{0:\s}NAME*{0:\s}NAME))) .EQN 0 16 202 0 ({0:G}NAME){51}={0}?_n_u_l_l_ .EQN 0 58 245 0 {0:N}NAME={0}?_n_u_l_l_ .TXT 6 -74 114 0 Cg a15.500000,86.375000,24 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {whose N-point FIR is:}} } .EQN 5 0 204 0 ({0:W}NAME)[({0:i}NAME,{0:k}NAME):(1)/(\({0:N}NAME))*{0:exp}NAME(-{0:j}NAME*2*{0:\p}NAME*({0:i}NAME-{0:b}NAME)*({0:k}NAME-{0:b}NAME)/({0:N}NAME)) .EQN 1 29 203 0 {0:g}NAME:(({0:W}NAME)^(-1)*{0:G}NAME) .EQN 4 -15 205 0 ({0:g}NAME){51}={0}?_n_u_l_l_ .TXT 4 -14 26 0 Cg a68.000000,77.125000,95 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {We}{ solve G = Tf (by the pseudoinverse method) for an M-point MMSE approximation FIR, f(m):}} } .EQN 6 0 99 0 {0:K}NAME:(((((({0:T}NAME)])){51}*{0:T}NAME))^(-1)*((({0:T}NAME)])){51}) .EQN 0 26 103 0 {0:f}NAME:{0:K}NAME*{0:G}NAME .EQN 0 11 29 0 ({0:f}NAME){51}={148578}?_n_u_l_l_ .TXT 4 -37 239 0 Cg a78.625000,86.375000,112 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {which, we observe, is simply the truncated FIR. The constant rescales T to preserve the amplitude of the FIR.}} } .TXT 3 0 30 0 Cg a58.750000,72.000000,88 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {We can}{ transform this back to an N-point spectrum, to see}{ the approximation TF}{:}} } .EQN 4 1 209 0 {0:F}NAME:{0:T}NAME*{0:f}NAME .EQN 0 15 210 0 ({0:F}NAME){51}={0}?_n_u_l_l_ .EQN 4 6 88 0 ({0:G}NAME){51}={0}?_n_u_l_l_ .TXT 3 -22 240 0 Cg a44.250000,85.375000,63 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {Using the N-point formulation as a check on the computation,}} } .EQN 4 0 235 0 {0:h}NAME:({0:augment}NAME(({1,4}ö0ö0ö0ö0),{0:augment}NAME(({0:f}NAME){51},({1,3}ö0ö0ö0)))){51} .EQN 4 23 236 0 ({0:h}NAME){51}={0}?_n_u_l_l_ .EQN 3 -22 237 0 {0:H}NAME:{0:W}NAME*{0:h}NAME .EQN 0 15 238 0 ({0:H}NAME){51}={0}?_n_u_l_l_ .TXT 5 -15 211 0 Cg a34.375000,85.375000,46 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {We can compute the MSE of the approximation}} } .EQN 0 44 133 0 ({0:f}NAME){51}={0}?_n_u_l_l_ .EQN 4 -42 134 0 ({0:g}NAME){51}={0}?_n_u_l_l_ .EQN 2 38 110 0 &-.2&(_n_u_l_l_&_n_u_l_l_)&({0:G}NAME)[({0:k}NAME),({0:F}NAME)[({0:k}NAME),0@({0:N}NAME)/(1)&&(_n_u_l_l_&_n_u_l_l_)&{0:k}NAME 0 0 1 0 14 0 1 0 0 1 1 0 0 1 0 0 6 5 NO-TRACE-STRING 0 2 6 0 NO-TRACE-STRING 0 1 6 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 37 21 0 3 .EQN 7 -40 139 0 {0:RMSE}NAME:\((1)/({0:N}NAME)*((0,{0:N}NAME-1,{0:i}NAME,((({0:F}NAME)[({0:i}NAME)-({0:G}NAME)[({0:i}NAME)))^(2)){64})) .TXT 8 30 257 0 Cg a9.000000,32.375000,15 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} } {\plain {Figure 16-14}} } .EQN 2 -26 140 0 {0:RMSE}NAME={148583}?_n_u_l_l_