C -+-+-+-+-+ H A E N Y T . F T -+-+-+-+-+ C C MUST BE MAPPED INTO THE SAME LEVEL AND OVERLAY WITH HAENYA.FT C C THIS ROUTINE IS CALLED FROM HAENYX. C IT RETURNS THE FILTERED TABLE POSITION ( CH2 ) C C * OR 24-APR-84 HA C * UP 28-MAY-84 HA INSERTS THREE POINT FILTER C C NYAFIL: 0 ORIGINAL VALUE OF TABLE POSITION C 1 11 POINT FILTER C 2 LINEAR APPROXIMATION C 3 3 POINT FILTER C REAL FUNCTION NYTASM (ID) C C INPUT PARAMETER IS INTEGER ID @ HOLDS THE INDEX TO THE DATA POINTS C INCLUDE HAECNY.FI REAL XYSAM LOGICAL BETW EXTERNAL XYSAM,BETW C INTEGER T1,J,I REAL C(6) @ 11 POINT FILTER CONSTANTS DATA C /.1038,.1956,.1608,.0488,.021,-.03/ C C IF (NYAFIL.GT.0.AND.NYAFIL.LE.3) GOTO 9 NYTASM=XYSAM(ID,2) @ NO FILTERING, RETURN ORIGINAL VALUE RETURN C C 9 GOTO (10,20,30),NYAFIL C 10 CONTINUE C 11 POINT FILTER T1=MAX0(ID,6) NYTASM=0 DO 11 J=0,5 11 NYTASM=C(J+1)*(XYSAM(T1-J,2)+XYSAM(T1+J,2))+NYTASM @ 11 POINT FILTER OF TURN TABLE SIGNAL RETURN C C LINEAR APPROXIMATION C 20 CONTINUE @ LINEAR APROXIMATION DO 21 I=1,8 IF (SMOTAB(1,I).LT.0) GOTO 23 IF (BETW(SMOTAB(1,I),ID,SMOTAB(2,I))) GOTO 22 IF (ID.LT.SMOTAB(1,I)) GOTO 22 IF (BETW(SMOTAB(2,I),ID,SMOTAB(1,MIN0(I+1,8)))) GOTO 23 21 CONTINUE I=9 @ SAVE A JUMP OVER 23 23 I=MAX0(1,I-1) @ TAKE THE LAST VALUES 22 CONTINUE NYTASM=SMOTBL(1,I)*ID+SMOTBL(2,I) @ STEIGUNG*ID+Y-ACHSENABSCHNITT RETURN C C 3 POINT FILTER C 30 T1=MAX0(ID,2) NYTASM=XYSAM(T1,2)*.5+(XYSAM(T1-1,2)+XYSAM(T1+1,2))*.25 RETURN END