PhD Thesis: Appendix H
 

"Phase-Only Optical Information Processing"

University of Edinburgh, D.J.Potter, 1992.

Index   Chapter 1  2  3  4  5  6  7  8  9 

 

Appendix H: FORTRAN 77 Mirror Location Program

      CHARACTER*1 LET
      REAL LAMBDA,F1,F,LFREQ,RFREQ
      REAL HALF,FLMIR(0:15),FRMIR(0:15),FREQ
      INTEGER LMIR(0:15),RMIR(0:15)
      PI=4.0*ATAN(1.0)
      LAMBDA=632.8E-6
C.....Tables frequency, x-value and pixel value in Fourier Plane.
 
      PRINT*,'Enter transform lens focal length (mm):'
      READ*,F1
      VALUE=LAMBDA*F1

      OBJWID=(632.8E-6*F1)/0.2
C.....Maximum object width allowed.
      DELTA=OBJWID/16.0
      DF=1.0/(256.0*DELTA)
      VAL=1.0/OBJWID
      HALF=0.25*VAL
C.....VAL is frequency separation of mirrors on bench.
C.....HALF is freq range on bench covered by half a mirror.
C.....DF is resolution in Fourier Plane.

      PRINT*,'OBJWID=',OBJWID
      PRINT*,'DF=',DF
      DO 100 I=0,15
         FLMIR(I)=((I-8)*VAL)-HALF
         FRMIR(I)=((I-8)*VAL)+HALF
         FLAG=0
         DO 50 J=1,256
            FREQ=(J-129)*DF
            IF (FREQ.GE.FLMIR(I).AND.FREQ.LE.FRMIR(I).AND
     *.FLAG.NE.1) THEN
               LMIR(I)=J
               FLAG=1
            ELSE IF (FREQ.GE.FLMIR(I).AND.FREQ.LE.FRMIR(I)) THEN
               RMIR(I)=J
            ENDIF
50       CONTINUE
100   CONTINUE

      WRITE(6,220)
      WRITE(7,220)
      DO 200 I=0,15
         LFREQ=(LMIR(I)-129)*DF
         RFREQ=(RMIR(I)-129)*DF
         IDIFF=RMIR(I)-LMIR(I)+1
         WRITE(6,250)I,LMIR(I),RMIR(I),IDIFF
         WRITE(7,250)I,LMIR(I),RMIR(I),IDIFF
         WRITE(6,350)LFREQ,RFREQ
         WRITE(7,350)LFREQ,RFREQ
200   CONTINUE
220   FORMAT(/,T14,'MIRROR',T31,'LEFT',T47,'RIGHT',T58,'COVERAGE')
250   FORMAT(T15,'(',I2,')',T31,I3,T47,I3,T58,I3)
350   FORMAT(T10,'f(J)',T28,F7.3,T45,F7.3,/)

      PRINT*,'------------------------------------------'
      PRINT*,' This information also sent to channel 7.'
      PRINT*,'------------------------------------------'
      RETURN
      END




File translated from TEX by TTH, version 3.02.
On 27 Oct 2001, 23:43.