1 C -+-+-+-+-+
\ e H A E N Y T . F T
\ f-+-+-+-+-+
3 C MUST BE MAPPED INTO THE SAME LEVEL AND OVERLAY WITH HAENYA.FT
5 C THIS ROUTINE IS CALLED FROM HAENYX.
6 C IT RETURNS THE FILTERED TABLE POSITION ( CH2 )
9 C * UP 28-MAY-84 HA INSERTS THREE POINT FILTER
11 C NYAFIL: 0 ORIGINAL VALUE OF TABLE POSITION
13 C 2 LINEAR APPROXIMATION
16 REAL FUNCTION NYTASM (ID)
19 INTEGER ID @ HOLDS THE INDEX TO THE DATA POINTS
27 REAL C(6) @ 11 POINT FILTER CONSTANTS
28 DATA C /.1038,.1956,.1608,.0488,.021,-.03/
31 IF (NYAFIL.GT.0.AND.NYAFIL.LE.3) GOTO 9
32 NYTASM=XYSAM(ID,2) @ NO FILTERING, RETURN ORIGINAL VALUE
36 9 GOTO (10,20,30),NYAFIL
43 11 NYTASM=C(J+1)*(XYSAM(T1-J,2)+XYSAM(T1+J,2))+NYTASM @ 11 POINT FILTER OF TURN TABLE SIGNAL
46 C LINEAR APPROXIMATION
48 20 CONTINUE @ LINEAR APROXIMATION
50 IF (SMOTAB(1,I).LT.0) GOTO 23
51 IF (BETW(SMOTAB(1,I),ID,SMOTAB(2,I))) GOTO 22
52 IF (ID.LT.SMOTAB(1,I)) GOTO 22
53 IF (BETW(SMOTAB(2,I),ID,SMOTAB(1,MIN0(I+1,8)))) GOTO 23
55 I=9 @ SAVE A JUMP OVER 23
56 23 I=MAX0(1,I-1) @ TAKE THE LAST VALUES
58 NYTASM=SMOTBL(1,I)*ID+SMOTBL(2,I) @ STEIGUNG*ID+Y-ACHSENABSCHNITT
64 NYTASM=XYSAM(T1,2)*.5+(XYSAM(T1-1,2)+XYSAM(T1+1,2))*.25