<<

Subject: TDC Author: Mathscinotes Title: Position Keeper Modeling Checked By: Self Keywords: TDC, , , World War II Checked By:

Position Keeper Modeling Abstract During World War II, all the of all warring nations used analog to assist submarine commanders with aiming straight-running torpedoes (e.g. UK used their "fruit machine."). US submarines used a called the Torpedo Data Computer (TDC) that was considered the best of these devices.The Torpedo Data Computer (TDC) included a function known as Position Keeping that was a mechanical solver for a system of differential equations .This technical note compares the output from a simple Mathcad model of the Position Keeper with the output from a kinematic model for a simple test case. I solve the system of ODEs using Mathcad's standard ODE solver and a homebrew routine that may be more appropriate for people who are implementing software versions of the TDC's position keeper function. Table of Contents

Update TOC

Abstract Table of Contents TOC Introduction Analysis of Bearing Angle and Range Vers us Time Jump to region Simulation Approach Field of Battle Kinematic Model Differential Equation Model Euler‐Method Solution Graphical Display Standard Differential Equation Solver Conclusion Reference Introduction The model I am using here comes from following web site. http://www.hnsa.org/doc/tdc/pg011.htm See reference section for excerpt I am going to focus on the Position Keeper function of the TDC, which is made up of two coupled differential equations and two subsidiary equations.

The key function of the Position Keeper is to provide estimates of the target's bearing and range. My simulation will focus on these variables, which are critical to obtaining a fire control solution , which I will not cover here.

A more thorough modeling would include more complex scenarios, but this illustrates the basic approach used. Tactically, the submarine would estimate the target course, range, and speed from and hydrophone readings.

Position Keeper Model for the TDC 1 of 6 22-February-2012 Subject: TDC Author: Mathscinotes Title: Position Keeper Modeling Checked By: Self Keywords: TDC, Submarine, Torpedo, World War II Checked By:

The TDC would put out a constantly updated position for the target, which the sub skipper would compare against further periscope readings. The TDC target model would be updated until it could accurately predict the target's motion.

With the TDC, the submarine could maneuver and the TDC would keep track of the target's position relative to the submarine. This greatly improved the accuracy of the whole fire control operation. Analysis of Bearing Angle and Range Versus Time

Simulation Approach

I am going to work this problem assuming the simple case of a target and submarine (referred to as "Own ") both pursuing constant velocity courses. This will allow me to determine the exact distance and bearing numbers using a simple kinematic model and the differential equation model. This way, I can verify that my differential equation solution is reasonable.

I could use the Mathcad differential equation solvers, but I decided to put together a simple solution using Euler's method (i.e. the simplest possible way). This would be easy for someone to code using any number of programming languages. Field of Battle

Assume that we are going to place our submarine and target on a 1000 meter by 1000 meter grid indexed as shown in Figure 1.

1000 meters Y Axis

0 meters 0 meters X Axis 1000 meters Figure 1: Torpedo Data Computer Simulation Grid

Position Keeper Model for the TDC 2 of 6 22-February-2012 Subject: TDC Author: Mathscinotes Title: Position Keeper Modeling Checked By: Self Keywords: TDC, Submarine, Torpedo, World War II Checked By:

Kinematic Model

I am going to work this problem assuming the simple case of a target and submarine both pursuing constant velocity courses. This will allow me to determine the exact distance and bearing numbers using a simple kinematic model and the differential equation model. Target Own Ship  10  x coordinate 900  x coordinate R   m R   m T0  900  y coordinateO0  10  y coordinate

 10  m x component 10  m x component V    V    T0  10  s y componentO0  5  s y component

RT()t  RT0  VT0t Target Position as a function of time.

RO()t  RO0  VO0t Submarine Position (i.e. Own Ship) Position as a function of time.

Rt() RT()t  RO()t Distance between target and submarine.

θ(t ) 180deg atan2 RT()t  RO()t RT()t  RO()t  Bearing of target from  0 1 submarine.

Differential Equation Model m S  V  11.18 Speed of the Submarine (Own Ship) O O0 s m S  V  14.142 Speed of the Target T T0 s

SOsin() Br  STsin() A B'() Br AR  Bearing Angle Differential Equation R R'()S Br A  Ocos() Br  STcos() A Range Differential Equation

CO  atan2 VO0 VO0   180deg  26.565 deg Own Ship Course (sub knows its  0 1 course)

CT  atan2 VT0 VT0   180deg  225 deg Target Ship Course (sub  0 1 estimates this from periscope reading of angle on the bow)

Position Keeper Model for the TDC 3 of 6 22-February-2012 Subject: TDC Author: Mathscinotes Title: Position Keeper Modeling Checked By: Self Keywords: TDC, Submarine, Torpedo, World War II Checked By:

Euler-Method Solution It is a bit crude, but it appears to work. B   Br    dt 0.1s Algorithm time step  R    B  θ()0 Initialize Bearing  A  0 R  1259m Initialize Range 0 A  B  180deg  C Initialize Target Angle 0 0 T Br  B  C 0 0 O Initialize Relative Bearing for i 1 900 Main Loop B  dt B' Br A R  B Predict the Bearing i i1 i1 i1 i1 Br  B  C i i O Compute the Next Relative Bearing A  B  180deg  C i i T Compute the Next Target Angle R  dt R' Br A  R Compute Next Range i i i i1 B  dt B' Br A R  B Corrector for Bearing i i i i i1  B     Br  Return all the values  R  I needed to remove the units from the range vector (a Mathcad  m    15 limitation)  A 

Graphical Display

Here is a graph comparing my kinematic model with the model from the differential equation solution. They are identical, which they should be. The nice thing about the differential equation solution is that it can handle changes in course by the submarine. These course changes were automatically fed into the TDC by the sub's gyrocompass.

Position Keeper Model for the TDC 4 of 6 22-February-2012 Subject: TDC Author: Mathscinotes Title: Position Keeper Modeling Checked By: Self Keywords: TDC, Submarine, Torpedo, World War II Checked By:

i 0 900 Each time increment corresponds to 0.1 seconds. Kinematic Model vs Simulated TDC Output 3 1.5 10 250

200 3 110 150

100 500

Range (meters) 50 Bearing Angle (°) 0 0 3 0 200 400 600 800 110 Time Increment (0.1 seconds) Exact Target Range (Kinematic) TDC Target Range Exact Target Bearing (Kinematic) TDC Target Bearing

Standard Differential Equation Solver Mathcad has excellent ODE solvers. Here is the same problem worked using one of their ODE solver routine.

T1 90 Maximum time -- the solver does not like units

SO ST S  S  The solver does not like units O m T m s s

Given

S sin B() u  C  S sin B() u  π  C d O O T T Bu()= B0( )= 0.785 du Ru()

d Ru()= SOcos B() u  CO  STcos B() u  π  CT R0( )= 1259 du

 f   B      Odesolve  uT1900 z1 0 0.1  90  g   R  

Position Keeper Model for the TDC 5 of 6 22-February-2012 Subject: TDC Author: Mathscinotes Title: Position Keeper Modeling Checked By: Self Keywords: TDC, Submarine, Torpedo, World War II Checked By:

Solution using the Mathcad Standard Solver 1500 300 1250 250 1000 200 750 150 500 100 Range (m) 250 50 Bearing Angle (°) 0 0 0 20 40 60 80 100 Time (sec) Range Bearing

My crude solver got the same result.

Conclusion This model appears to provide a reasonable example for the operation of the TDC, at least as I read it in the old manual.

Reference

Old Navy TDC manual excerpt

Position Keeper Model for the TDC 6 of 6 22-February-2012