Proof MEASUREMENT_INCORPORATION (#358)

Closes #227, covers pages 1252 to 1261
pull/365/head
James Buckley 2018-11-13 10:12:24 -06:00 committed by James Harris
parent c3f93c3ccf
commit 2e30258105
1 changed files with 61 additions and 68 deletions

View File

@ -28,32 +28,31 @@
# Colossus 2A
# Page 1252
# INCORP1 -- PERFORMS THE SIX DIMENSIONAL STATE VECTOR DEVIATION FOR POSITION
# AND VELOCITY OR THE NINE-DIMENSIONAL DEVIATION OF POSITION, VELOCITY, AND
# RADAR OR LANDMARK BIAS. THE OUTPUT OF THE BVECTOR ROUTINE ALONG WITH THE
# ERROR TRANSITION MATRIX (W) ARE USED AS INPUT TO THE ROUTINE. THE DEVIATION
# IS OBTAINED BY COMPUTING AN ESTIMATED TRACKING MEASUREMENT FROM THE
# CURRENT STATE VECTOR AND COMPARING IT WITH AN ACTUAL TRACKING MEASUREMENT
# AND APPLYING A STATISTICAL WEIGHTING VECTOR.
#
# INCORP1--PERFORMS THE SIX DIMENSIONAL STATE VECTOR DEVIATION FOR POSITI
# ON AND VELOCITY OR THE NINE DIMENSIONAL DEVIATION OF POSITION,VELOCITY,A
# ND RADAR OR LANDMARK BIAS.THE OUTPUT OF THE BVECTOR ROUTINE ALONG WITH T
# HE ERROR TRANSITION MATRIX(W) ARE USED AS INPUT TO THE ROUTINE.THE DEVIA
# TION IS OBTAINED BY COMPUTING AN ESTIMATED TRACKING MEASUREMENT FROM THE
# CURRENT STATE VECTOR AND COMPARING IT WITH AN ACTUAL TRACKING MEASUREMEN
# T AND APPLYING A STATISTICAL WEIGHTING VECTOR.
# INPUT
# DMENFLG = 0 (6-DIMENSIONAL BVECTOR), =1 (9-DIMENSIONAL)
# W = ERROR TRANSITION MATRIX 6X6 OR 9X9
# VARIANCE = VARIANCE (SCALAR)
# DELTAQ = MEASURED DEVIATION (SCALAR)
# BVECTOR = 6 OR 9 DIMENSIONAL BVECTOR
# DMENFLG = 0 6DIMENSIONAL BVECTOR 1= 9DIMENSIONAL
# W = ERROR TRANSITION MATRIX 6X6 OR 9X9
# VARIANCE = VARIANCE (SCALAR)
# DELTAQ = MEASURED DEVIATION(SCALAR)
# BVECTOR = 6 OR 9 DIMENSIONAL BVECTOR
#
# OUTPUT
# DELTAX = STATE VECTOR DEVIATIONS 6 OR 9 DIMENSIONAL
# ZI = VECTOR USED FOR THE INCORPORATION 6 OR 9 DIMENSIONAL
# GAMMA = SCALAR
# OMEGA = OMEGA WEIGHTING VECTOR 6 OR 9 DIMENSIONAL
# DELTAX = STATE VECTOR DEVIATIONS 6 OR 9 DIMENSIONAL
# ZI = VECTOR USED FOR THE INCORPORATION 6 OR 9 DIMENSIONAL
# GAMMA = SCALAR
# OMEGA = OMEGA WEIGHTING VECTOR 6 OR 9 DIMENSIONAL
#
# CALLING SEQUENCE
# L CALL INCORP1
# L CALL INCORP1
#
# NORMAL EXIT
# L+1 OF CALLING SEQUENCE
# L+1 OF CALLING SEQUENCE
BANK 37
SETLOC MEASINC
@ -75,8 +74,8 @@ INCORP1 STQ
6 # IX2 = 18 S2=6
Z123 VLOAD MXV*
BVECTOR # BVECTOR (0)
W +54D,1
STORE ZI +18D,2
W +54D,1
STORE ZI +18D,2
VLOAD
BVECTOR +6 # BVECTOR (1)
# Page 1253
@ -87,9 +86,9 @@ Z123 VLOAD MXV*
VLOAD
BVECTOR +12D # BVECTOR (2)
MXV* VAD*
W +162D,1
ZI +18D,2 # B(0)*W+B(1)*(W+54)+B(2)*(W+108) FIRST PASS
STORE ZI +18D,2 # ZI THEN Z2 THEN Z3
W +162D,1
ZI +18D,2 # B(0)*W+B(1)*(W+54)+B(2)*(W+108)FIRST PAS
STORE ZI +18D,2 # ZI THEN Z2 THEN Z3
TIX,1
INCOR1
INCOR1 TIX,2 BON
@ -98,18 +97,18 @@ INCOR1 TIX,2 BON
INCOR1A
VLOAD
ZEROVECS
STORE ZI +12D
STORE ZI +12D
INCOR1A SETPD VLOAD
0
ZI
VSQ RTB
TPMODE
PDVL VSQ
ZI +6
ZI +6
RTB TAD
TPMODE
PDVL VSQ
ZI +12D
ZI +12D
RTB TAD
TPMODE
TAD AXT,2
@ -159,26 +158,26 @@ INCOR1C TLOAD ROUND
DDV PUSH # PD 0-1 = DELTAQ/A
GOTO
NEWZCOMP
-3 SSP
-3 SSP
S2
54D
INCOR2 VLOAD VXM* # COMPUT OMEGA1,2,3
ZI
W +162D,2
W +162D,2
PUSH VLOAD
ZI +6
ZI +6
VXM* VAD
W +180D,2
W +180D,2
PUSH VLOAD
ZI +12D
ZI +12D
VXM* VAD
W +198D,2
PUSH TIX,2 # PD 2-7=OMEGA1, 8-13=OMEGA2, 14-19=OMEGA3
W +198D,2
PUSH TIX,2 # PD 2-7=OMEGA1,8-13=OMEGA2,14-19=OMEGA3
INCOR2
VLOAD STADR
STORE OMEGA +12D
STORE OMEGA +12D
VLOAD STADR
STORE OMEGA +6
STORE OMEGA +6
VLOAD STADR
STORE OMEGA
# Page 1255
@ -186,48 +185,47 @@ INCOR2 VLOAD VXM* # COMPUT OMEGA1,2,3
DMENFLG
INCOR2AB
ZEROVECS
STORE OMEGA +12D
STORE OMEGA +12D
INCOR2AB AXT,2 SSP
18D
S2
6
INCOR3 VLOAD*
OMEGA +18D,2
OMEGA +18D,2
VXSC VSL*
0 # DELTAQ/A
0,1
STORE DELTAX +18D,2
STORE DELTAX +18D,2
TIX,2 VLOAD
INCOR3
DELTAX +6
DELTAX +6
VSL3
STORE DELTAX +6
STORE DELTAX +6
GOTO
EGRESS
# Page 1256
# INCORP2 -- INCORPORATES THE COMPUTED STATE VECTOR DEVIATIONS INTO THE
# ESTIMATED STATE VECTOR. THE STATE VECTOR UPDATED MAY BE FOR EITHER THE
# LEM OR THE CSM. DETERMINED BY FLAG VEHUPFLG. (ZERO = LEM) (1 = CSM)
#
# INCORP2 -INCORPORATES THE COMPUTED STATE VECTOR DEVIATIONS INTO THE
# ESTIMATED STATE VECTOR. THE STATE VECTOR UPDATED MAY BE FOR EITHER THE
# LEM OR THE CSM.DETERMINED BY FLAG VEHUPFLG.(ZERO = LEM) (1 = CSM)
# INPUT
# PERMANENT STATE VECTOR FOR EITHER THE LEM OR CSM
# VEHUPFLG = UPDATE VEHICLE C=LEM 1=CSM
# W = ERROR TRANSITION MATRIX
# DELTAX = COMPUTED STATE VECTOR DEVIATIONS
# DMENFLG = SIZE OF W MATRIX (ZERO=6X6) (1=9X9)
# GAMMA = SCALAR FOR INCORPORATION
# ZI = VECTOR USED IN INCORPORATION
# OMEGA = WEIGHTING VECTOR
# PERMANENT STATE VECTOR FOR EITHER THE LEM OR CSM
# VEHUPFLG = UPDATE VEHICLE C=LEM 1=CSM
# W = ERROR TRANSITION MATRIX
# DELTAX = COMPUTED STATE VECTOR DEVIATIONS
# DMENFLG = SIZE OF W MATRIX (ZERO=6X6) (1=9X9)
# GAMMA = SCALAR FOR INCORPORATION
# ZI = VECTOR USED IN INCORPORATION
# OMEGA = WEIGHTING VECTOR
#
# OUTPUT
# UPDATED PERMANENT STATE VECTOR
# UPDATED PERMANENT STATE VECTOR
#
# CALLING SEQUENCE
# L CALL INCORP2
# L CALL INCORP2
#
# NORMAL EXIT
# L+1 OF CALLING SEQUENCE
# L+1 OF CALLING SEQUENCE
#
SETLOC MEASINC1
@ -238,7 +236,7 @@ INCOR3 VLOAD*
INCORP2 STQ CALL
EGRESS
INTSTALL
VLOAD VXSC # CALC. GAMMA*OMEGA1,2,3
VLOAD VXSC # CALC. GAMMA * OMEGA1,2,3
OMEGA
GAMMA
STOVL OMEGAM1
@ -263,7 +261,7 @@ FAZA TC PHASCHNG
TC UPFLAG
ADRES REINTFLG
FAZA1 CA WIXB # START FIRST PHASE OF INCORP2
TS WIXA # TO UPDATE 6 OR 9 DIM. W MATRIX IN TEMP
TS WIXA # TO UPDATE 6 OR 9 DIM. W MATRIX IN TEMP
CA ZIXB
TS ZIXA
TC INTPRET
@ -326,7 +324,7 @@ FAZB CALL
GRP2PC
EXIT
FAZB1 CA WIXA # START 2ND PHASE OF INCORP2 TO TRANSFER
AD 6DD # TEMP REG TO PERM W MATRIX
AD 6DD # TEMP REG TO PERM W MATRIX
TS WIXB
CA ZIXA
AD MINUS2
@ -349,7 +347,7 @@ FAZB1 CA WIXA # START 2ND PHASE OF INCORP2 TO TRANSFER
STORE W +162D,1
FAZB2 TIX,1 GOTO
+2
FAZC # DONE WITH W MATRIX. UPDATE STATE VECTOR
FAZC # DONE WITH W MATRIX. UPDATE STATE VECTOR
RTB
FAZA
FAZB5 SLOAD DAD
@ -363,7 +361,7 @@ FAZC CALL
# Page 1259
VLOAD VAD # START 3RD PHASE OF INCORP2
X789 # 7TH,8TH,9TH,COMPONENT OF STATE VECTOR
DELTAX +12D # INCORPORATION FOR X789
DELTAX +12D # INCORPORATION FOR X789
STORE TX789
BON RTB
VEHUPFLG
@ -383,7 +381,7 @@ FAZAB BOVB AXT,2
TDELTAV
FAZAB1
STOVL TDELTAV
DELTAX +6 # B5 IF MOON ORBIT, B7 IF EARTH
DELTAX +6 # B5 IF MOON ORBIT, B7 IF EARTH
VSR* VAD
0 -4,2
TNUV
@ -397,7 +395,7 @@ FAZAB1 VLOAD VAD
STORE RCV
FAZAB2 VLOAD VAD
VCV
DELTAX +6
DELTAX +6
STORE VCV
SXA,2 CALL
PBODY
@ -462,7 +460,6 @@ NEWZCOMP VLOAD ABVAL
SETLOC MEASINC3
BANK
# Page 1261
NEWZCMP1 DLOAD SXA,1
NORMZI
@ -497,7 +494,3 @@ NEWZCMP1 DLOAD SXA,1
GOTO
INCOR2 -3
NORMZI = 36D