|
RcdMathLib_doc
Open Source Library for Linear and Non-linear Algebra
|
Go to the documentation of this file.
24 #ifndef TRILATERATION_H_
25 #define TRILATERATION_H_
54 matrix_t anchor_pos_matrix[anchor_num][3],
55 matrix_t pseudo_inv_matrix[4][anchor_num],
82 matrix_t anchor_pos_matrix[anchor_num][3],
109 matrix_t anchor_pos_matrix[anchor_num][3],
155 matrix_t anchor_pos_matrix[anchor_num][3],
170 matrix_t homogeneous_solution_arr[],
187 matrix_t pseudo_inv_matrix[line_num][col_num],
void trilateration_get_A_matrix(uint8_t m, matrix_t anchor_pos_matrix[m][3], matrix_t A_matrix[m][4])
Computes the matrix of the equation system: .
void trilateration_get_b_vector(uint8_t anchor_num, matrix_t dist_arr[], matrix_t anchor_pos_matrix[anchor_num][3], matrix_t b_vec[])
Computes the vector of the equation system: .
void trilateration_get_quadratic_equation_solution(matrix_t particular_solu_arr[], matrix_t homogeneous_solution_arr[], matrix_t solution_x1[], matrix_t solution_x2[])
Solve a quadratic equation.
void trilateration_preprocessed_get_particular_solution(matrix_t pseudo_inv_matrix[4][3], matrix_t b_arr[], matrix_t particular_solu_arr[])
Compute the particular solution, which is the general solution of .
void trilateration_solve_linear_equation(uint8_t line_num, uint8_t col_num, matrix_t pseudo_inv_matrix[line_num][col_num], matrix_t b_vec[], matrix_t sol_vec[])
Solve a linear equation.
uint8_t trilateration_get_rank_and_homogeneous_solution(uint8_t anchor_num, matrix_t anchor_pos_matrix[anchor_num][3], matrix_t Xh[])
Compute the rank and the solution of the homogeneous system .
void trilateration2(uint8_t anchor_num, matrix_t anchor_pos_matrix[anchor_num][3], matrix_t dist_arr[], matrix_t solution_x1[], matrix_t solution_x2[])
Implement the trilateration algorithm.
void trilateration_get_particular_solution(uint8_t m, uint8_t n, matrix_t anchor_pos_mat[m][n], matrix_t dist_arr[], matrix_t Xp[])
Compute the particular solution, which is the general solution of .
#define matrix_t
Define the data type of the matrix elements.
void trilateration1(uint8_t anchor_num, matrix_t anchor_pos_matrix[anchor_num][3], matrix_t pseudo_inv_matrix[4][anchor_num], matrix_t homog_sol_arr[], matrix_t dist_arr[], matrix_t solution_x1[], matrix_t solution_x2[])
Implement the trilateration algorithm using the pre-processed pseudo-inverse matrix.