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