HP Forums

Full Version: (35S) Most probable position of a vessel
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
After obtaining several lines of position (LOP) from celestial observation, navigator is faced with one more challenge -- combine all those lines into a single point, so called most probable position of his vessel, or MPP.

This program works with LOPs represented as azimuth and offset vectors
relative to same origin (such as assumed position, or D.R. position).
Each LOP with given AZ and D contributes the equation
dx*sin(AZ)+dy*cos(AZ)=D
to the system. If there are 3 or more LOPs the overdefined system can be solved for dx and dy using least squares method. The formulas work out to be

A=sum(sin(AZi)^2)
B=sum(sin(AZi)*cos(AZi))
C=sum(cos(AZi)^2)
D=sum(sin(AZi)*Di)
E=sum(cos(AZi)*Di)
DET=A*C-B*B
dx=(D*C-E*B)/DET
dy=(E*C-D*B)/DET

Here AZi,Di are azimuth vectors and offsets of LOPs, and
resulting dx and dy is an offset vector relative to same origin as
LOPs. In another words, dx and dy is a correction to previous assumed position obtained by taking into account the observations.

Operating instructions:

Switch to degrees mode.
XEQ L002 -- initializes routine, then enter

AZ_i <ENTER> D_i <R/S>

(Az_i is azimuth of i-th intercept in degrees, D_i is offset in nautical miles, positive for "towards", negative for "away")

After all pairs are entered, XEQ L003 calculates dx and dy in nm. This offset should be applied to previous assumed position to obtain a "fix".

Code:

L001 LBL L
L002 GTO L004
L003 GTO L034
L004 0
L005 STO A
L006 STO B
L007 STO D
L008 STO E
L009 STO C
L010 R/S
L011 STO F
L012 X<>Y
L013 STO H
L014 COS
L015 STO G
L016 *
L017 STO+ E
L018 RCL H
L019 SIN
L020 STO H
L021 RCL* F
L022 STO+ D
L023 RCL H
L024 X^2
L025 STO+ A
L026 RCL H
L027 RCL* G
L028 STO+ B
L029 1
L030 STO+ C
L031 RCL C
L032 R/S
L033 GTO L011
L034 RCL C
L035 RCL- A
L036 STO H
L037 RCL* A
L038 RCL B
L039 X^2
L040 -
L041 1/x
L042 STO G
L043 RCL H
L044 RCL* D
L045 RCL E
L046 RCL* B
L047 -
L048 *
L049 RCL H
L050 RCL* E
L051 RCL D
L052 RCL* B
L053 -
L054 RCL* G
L055 RTN

Example:

Select degrees mode.
XEQ L002 (output:0, ready for data entry)
95 <Enter> 15.1 <r/s> (output: 1=LOPs entered so far)
191 <Enter> 16.3 <r/s> (output: 2=LOPs entered so far)
242 <Enter> -0.5 <r/s> (output: 3=LOPs entered so far)
340 <Enter> -30.0 <r/s> (output: 4=LOPs entered so far)
XEQ L003
Result:
rX=-24.84 (latitude offset, the fix is 24.8 nm to the south of assumed position)
rY=14.08 (longitude offset, the fix is 14.1 nm to the east of assumed position)
(04-25-2017 04:46 AM)nsg Wrote: [ -> ]After obtaining several lines of position (LOP) from celestial observation, navigator is faced with one more challenge -- combine all those lines into a single point, so called most probable position of his vessel, or MPP.

This program works with LOPs represented as azimuth and offset vectors
relative to same origin (such as assumed position, or D.R. position).
Each LOP with given AZ and D contributes the equation
dx*sin(AZ)+dy*cos(AZ)=D
to the system. If there are 3 or more LOPs the overdefined system can be solved for dx and dy using least squares method. The formulas work out to be

A=sum(sin(AZi)^2)
B=sum(sin(AZi)*cos(AZi))
C=sum(cos(AZi)^2)
D=sum(sin(AZi)*Di)
E=sum(cos(AZi)*Di)
DET=A*C-B*B
dx=(D*C-E*B)/DET
dy=(E*C-D*B)/DET

Here AZi,Di are azimuth vectors and offsets of LOPs, and
resulting dx and dy is an offset vector relative to same origin as
LOPs. In another words, dx and dy is a correction to previous assumed position obtained by taking into account the observations.

Operating instructions:

Switch to degrees mode.
XEQ L002 -- initializes routine, then enter

AZ_i <ENTER> D_i <R/S>

(Az_i is azimuth of i-th intercept in degrees, D_i is offset in nautical miles, positive for "towards", negative for "away")

After all pairs are entered, XEQ L003 calculates dx and dy in nm. This offset should be applied to previous assumed position to obtain a "fix".

Please, can you provide a numeric example to test the program with real case data. Thank you in advance, Pedro
(04-25-2017 11:41 AM)PedroLeiva Wrote: [ -> ]Please, can you provide a numeric example to test the program with real case data.

Good point, thank you. I made an edit to the post to add an example.
Reference URL's