.MCAD 303010000 1 87 342 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 28 332 0 Cg a32.375000,59.500000,42 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} {\f2\fnil Symbol;} } {\plain Computing Centered 2-D Fourier Transforms} } .TXT 2 9 342 0 Cg a11.125000,53.500000,14 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} {\f2\fnil Symbol;} } {\plain Ken Castleman} } .TXT 0 31 2 0 Cg a17.500000,24.000000,27 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} {\f2\fnil Symbol;} } {\plain DFT{}{_10}{.MCD, 12/28/95}} } .EQN 6 -67 5 0 {0:j}NAME:\(-1) .EQN 0 8 6 0 {0:N}NAME:5 .EQN 0 7 7 0 {0:i}NAME:0;{0:N}NAME-1 .EQN 0 11 8 0 {0:k}NAME:0;{0:N}NAME-1 .EQN 0 12 330 0 {0:t}NAME:{0:floor}NAME(({0:N}NAME)/(2)) .EQN 0 12 331 0 {0:t}NAME={0}?_n_u_l_l_ .EQN 0 7 334 0 {0:\s}NAME:0.88 .EQN 0 7 317 0 {0:G}NAME({0:x}NAME,{0:\s}NAME):{0:exp}NAME(-(({0:x}NAME*{0:x}NAME)/(2*{0:\s}NAME*{0:\s}NAME))) .TXT 6 -64 335 0 Cg a85.375000,86.500000,220 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} {\f2\fnil Symbol;} } {\plain The DFT will compute an MTF from an FIR, but it requires an awkward arrangement of the elements in the FIR and MTF matrices. The centered DFT formulation used here allows the functions to be centered in their matrices.} } .TXT 7 0 113 0 Cg a43.625000,86.375000,61 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} {\f2\fnil Symbol;} } {\plain {Suppose the desired MTF, given as a 5x5 spectrum matrix is}} } .EQN 1 56 333 0 ({0:F}NAME)[({0:i}NAME,{0:k}NAME):{0:G}NAME(\((({0:i}NAME-{0:t}NAME))^(2)+(({0:k}NAME-{0:t}NAME))^(2)),{0:\s}NAME) .EQN 3 -2 295 0 &0&(_n_u_l_l_&_n_u_l_l_)&({0:F}NAME)[({0:t}NAME,{0:i}NAME)@&&(_n_u_l_l_&_n_u_l_l_)&{0:i}NAME 0 0 1 0 4 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 .EQN 9 -47 319 0 {0:F}NAME={0}?_n_u_l_l_ .TXT 16 -7 274 0 Cg a84.625000,85.125000,200 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} {\f2\fnil Symbol;} } {\plain {The 2}{-D inverse centered DFT computes an NxN-point }{convolution kernel}{ from an NxN-point}{ transfer function}{. With this formulation, both the FIR and the MTF are centered in their matrices.}} } .EQN 8 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:t}NAME)*({0:k}NAME-{0:t}NAME)/({0:N}NAME)) .EQN 0 29 203 0 {0:f}NAME:({0:W}NAME*{0:F}NAME*{0:W}NAME) .TXT 8 -14 322 0 Cg a12.625000,86.375000,23 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} {\f2\fnil Symbol;} } {\plain {The}{ 5x5 kernel is:}} } .TXT 2 31 323 0 Cg a34.750000,85.375000,52 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} {\f2\fnil Symbol;} } {\plain Since F(0) = 1, t{he kernel weights add up to one:}} } .EQN 7 -38 258 0 {0:f}NAME={0}?_n_u_l_l_ .EQN 0 40 283 0 ((0,{0:N}NAME-1,{0:i}NAME,((0,{0:N}NAME-1,{0:k}NAME,({0:f}NAME)[({0:i}NAME,{0:k}NAME)){64})){64})={0}?_n_u_l_l_ .TXT 14 -45 341 0 Cg a44.250000,83.500000,59 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} {\f2\fnil Symbol;} } {\plain The forward centered DFT computes the MTF from the kernel:} } .EQN 8 2 338 0 ({0:T}NAME)[({0:i}NAME,{0:k}NAME):{0:exp}NAME(-{0:j}NAME*2*{0:\p}NAME*({0:i}NAME-{0:t}NAME)*({0:k}NAME-{0:t}NAME)/({0:N}NAME)) .EQN 0 33 339 0 {0:F}NAME:({0:T}NAME*{0:f}NAME*{0:T}NAME) .EQN 11 19 340 0 {0:F}NAME={0}?_n_u_l_l_ .TXT 3 -56 337 0 Cg a28.750000,85.500000,112 {\rtf1\ansi \deff0 {\fonttbl {\f0\fnil Arial;} {\f1\fnil Courier;} {\f2\fnil Symbol;} } {\plain DFT - { Discrete Fourier Transform}\par FIR - Finite Impulse Response (kernel)\par MTF - Modulation Transfer Function} }