class Multilateration::TimeOfArrivalStrategies::SourceVectorDistance
Attributes
source_vector[R]
wave_speed[R]
Public Class Methods
new(source_vector, wave_speed=1)
click to toggle source
# File lib/multilateration/time_of_arrival_strategies/source_vector_distance.rb, line 7 def initialize(source_vector, wave_speed=1) @source_vector = source_vector @wave_speed = wave_speed end
Public Instance Methods
tdoa(vector_a, vector_b)
click to toggle source
# File lib/multilateration/time_of_arrival_strategies/source_vector_distance.rb, line 12 def tdoa(vector_a, vector_b) toa(vector_a) - toa(vector_b) end
toa(target_vector)
click to toggle source
# File lib/multilateration/time_of_arrival_strategies/source_vector_distance.rb, line 16 def toa(target_vector) distance_between_source_vector_and(target_vector) / wave_speed end
Private Instance Methods
distance_between_source_vector_and(target_vector)
click to toggle source
# File lib/multilateration/time_of_arrival_strategies/source_vector_distance.rb, line 22 def distance_between_source_vector_and(target_vector) Math.sqrt((target_vector - source_vector).map { |component| component.abs**2 }.reduce(&:+)) end