Skip to content
Snippets Groups Projects
Commit d8b14cc8 authored by zkasmi's avatar zkasmi
Browse files

New latex documentation files.

parent e25e417c
Branches
No related tags found
No related merge requests found
Showing
with 3406 additions and 0 deletions
\hypertarget{DOP_8c}{}\doxysection{D\+O\+P.\+c File Reference}
\label{DOP_8c}\index{DOP.c@{DOP.c}}
Compute the Position Dilution of Precision (P\+D\+OP).
{\ttfamily \#include $<$math.\+h$>$}\newline
{\ttfamily \#include \char`\"{}D\+O\+P.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}moore\+\_\+penrose\+\_\+pseudo\+\_\+inverse.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}matrix.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} \mbox{\hyperlink{DOP_8c_a8b878ff6d73e8da6fbc3ae40f01b1ce4}{get\+\_\+\+P\+D\+OP}} (uint8\+\_\+t m, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} ref\+\_\+\+Matrix\mbox{[}m\mbox{]}\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} true\+\_\+pos\mbox{[}m\mbox{]})
\begin{DoxyCompactList}\small\item\em Compute the Position Dilution of Precision (P\+D\+OP). \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Compute the Position Dilution of Precision (P\+D\+OP).
\begin{DoxyAuthor}{Author}
Zakaria Kasmi \href{mailto:zkasmi@inf.fu-berlin.de}{\texttt{ zkasmi@inf.\+fu-\/berlin.\+de}}
Naouar Guerchali
\end{DoxyAuthor}
\doxysubsection{Function Documentation}
\mbox{\Hypertarget{DOP_8c_a8b878ff6d73e8da6fbc3ae40f01b1ce4}\label{DOP_8c_a8b878ff6d73e8da6fbc3ae40f01b1ce4}}
\index{DOP.c@{DOP.c}!get\_PDOP@{get\_PDOP}}
\index{get\_PDOP@{get\_PDOP}!DOP.c@{DOP.c}}
\doxysubsubsection{\texorpdfstring{get\_PDOP()}{get\_PDOP()}}
{\footnotesize\ttfamily \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} get\+\_\+\+P\+D\+OP (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{m, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{ref\+\_\+\+Matrix\mbox{[}m\mbox{]}\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{true\+\_\+pos\mbox{[}m\mbox{]} }\end{DoxyParamCaption})}
Compute the Position Dilution of Precision (P\+D\+OP).
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em m} & number of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em ref\+\_\+\+Matrix} & three-\/dimensional coordinates of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em true\+\_\+pos} & three-\/dimensional coordinates of the mobile device.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the P\+D\+O\+P-\/value.
\end{DoxyReturn}
Definition at line 30 of file D\+O\+P.\+c.
References matrix\+\_\+mul(), matrix\+\_\+t, matrix\+\_\+transpose(), and moore\+\_\+penrose\+\_\+get\+\_\+pinv().
Referenced by multipath\+\_\+algo\+\_\+own\+\_\+norm\+\_\+distr\+\_\+test(), and pos\+\_\+algos\+\_\+common\+\_\+test().
\hypertarget{DOP_8h}{}\doxysection{D\+O\+P.\+h File Reference}
\label{DOP_8h}\index{DOP.h@{DOP.h}}
Compute the Position Dilution of Precision (P\+D\+OP).
{\ttfamily \#include $<$inttypes.\+h$>$}\newline
{\ttfamily \#include \char`\"{}matrix.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} \mbox{\hyperlink{DOP_8h_a8b878ff6d73e8da6fbc3ae40f01b1ce4}{get\+\_\+\+P\+D\+OP}} (uint8\+\_\+t m, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} ref\+\_\+\+Matrix\mbox{[}m\mbox{]}\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} true\+\_\+pos\mbox{[}m\mbox{]})
\begin{DoxyCompactList}\small\item\em Compute the Position Dilution of Precision (P\+D\+OP). \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Compute the Position Dilution of Precision (P\+D\+OP).
\begin{DoxyAuthor}{Author}
Zakaria Kasmi \href{mailto:zkasmi@inf.fu-berlin.de}{\texttt{ zkasmi@inf.\+fu-\/berlin.\+de}}
Naouar Guerchali
\end{DoxyAuthor}
\doxysubsection{Function Documentation}
\mbox{\Hypertarget{DOP_8h_a8b878ff6d73e8da6fbc3ae40f01b1ce4}\label{DOP_8h_a8b878ff6d73e8da6fbc3ae40f01b1ce4}}
\index{DOP.h@{DOP.h}!get\_PDOP@{get\_PDOP}}
\index{get\_PDOP@{get\_PDOP}!DOP.h@{DOP.h}}
\doxysubsubsection{\texorpdfstring{get\_PDOP()}{get\_PDOP()}}
{\footnotesize\ttfamily \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} get\+\_\+\+P\+D\+OP (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{m, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{ref\+\_\+\+Matrix\mbox{[}m\mbox{]}\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{true\+\_\+pos\mbox{[}m\mbox{]} }\end{DoxyParamCaption})}
Compute the Position Dilution of Precision (P\+D\+OP).
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em m} & number of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em ref\+\_\+\+Matrix} & three-\/dimensional coordinates of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em true\+\_\+pos} & three-\/dimensional coordinates of the mobile device.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the P\+D\+O\+P-\/value.
\end{DoxyReturn}
Definition at line 30 of file D\+O\+P.\+c.
References matrix\+\_\+mul(), matrix\+\_\+t, matrix\+\_\+transpose(), and moore\+\_\+penrose\+\_\+get\+\_\+pinv().
Referenced by multipath\+\_\+algo\+\_\+own\+\_\+norm\+\_\+distr\+\_\+test(), and pos\+\_\+algos\+\_\+common\+\_\+test().
LATEX_CMD=pdflatex
all: refman.pdf
pdf: refman.pdf
refman.pdf: clean refman.tex
$(LATEX_CMD) refman
makeindex refman.idx
$(LATEX_CMD) refman
latex_count=8 ; \
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
do \
echo "Rerunning latex...." ;\
$(LATEX_CMD) refman ;\
latex_count=`expr $$latex_count - 1` ;\
done
makeindex refman.idx
$(LATEX_CMD) refman
clean:
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf
File added
\doxysection{Data Structures}
Here are the data structures with brief descriptions\+:\begin{DoxyCompactList}
\item\contentsline{section}{\mbox{\hyperlink{structmatrix__dim__t}{matrix\+\_\+dim\+\_\+t}} \\*A structure to define the row and column number of a matrix }{\pageref{structmatrix__dim__t}}{}
\end{DoxyCompactList}
\hypertarget{combinatorics_8c}{}\doxysection{combinatorics.\+c File Reference}
\label{combinatorics_8c}\index{combinatorics.c@{combinatorics.c}}
Calculate possible $ \binom{n}{k} combinations $ without repetition in ascending order.
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include $<$stdlib.\+h$>$}\newline
{\ttfamily \#include \char`\"{}combinatorics.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}vector.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item
uint8\+\_\+t \mbox{\hyperlink{combinatorics_8c_a1bcaeef00a7027e9b9b7694da2efd1b9}{combinatorics\+\_\+init}} (uint8\+\_\+t n, uint8\+\_\+t k, uint8\+\_\+t comb\+\_\+arr\mbox{[}$\,$\mbox{]})
\begin{DoxyCompactList}\small\item\em Initialize the combinations generator. \end{DoxyCompactList}\item
uint8\+\_\+t \mbox{\hyperlink{combinatorics_8c_ae500ce949afe79089e8146eb1fb5cbb0}{combinatorics\+\_\+get\+\_\+next\+\_\+without\+\_\+rep}} (uint8\+\_\+t n, uint8\+\_\+t k, uint8\+\_\+t comb\+\_\+arr\mbox{[}$\,$\mbox{]})
\begin{DoxyCompactList}\small\item\em Generate the next combination. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Calculate possible $ \binom{n}{k} combinations $ without repetition in ascending order.
\begin{DoxyAuthor}{Author}
Zakaria Kasmi \href{mailto:zkasmi@inf.fu-berlin.de}{\texttt{ zkasmi@inf.\+fu-\/berlin.\+de}}
\end{DoxyAuthor}
\doxysubsection{Function Documentation}
\mbox{\Hypertarget{combinatorics_8c_ae500ce949afe79089e8146eb1fb5cbb0}\label{combinatorics_8c_ae500ce949afe79089e8146eb1fb5cbb0}}
\index{combinatorics.c@{combinatorics.c}!combinatorics\_get\_next\_without\_rep@{combinatorics\_get\_next\_without\_rep}}
\index{combinatorics\_get\_next\_without\_rep@{combinatorics\_get\_next\_without\_rep}!combinatorics.c@{combinatorics.c}}
\doxysubsubsection{\texorpdfstring{combinatorics\_get\_next\_without\_rep()}{combinatorics\_get\_next\_without\_rep()}}
{\footnotesize\ttfamily uint8\+\_\+t combinatorics\+\_\+get\+\_\+next\+\_\+without\+\_\+rep (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{n, }\item[{uint8\+\_\+t}]{k, }\item[{uint8\+\_\+t}]{comb\+\_\+arr\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
Generate the next combination.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em n} & size of the set. \\
\hline
\mbox{\texttt{ in}} & {\em k} & size of the sub-\/set. \\
\hline
\mbox{\texttt{ in,out}} & {\em comb\+\_\+arr\mbox{[}$\,$\mbox{]}} & pointer to the combination set.\\
\hline
\end{DoxyParams}
return \mbox{\hyperlink{combinatorics_8h_a16396d8294127e6ea7dbbdaa3b8132e7}{C\+O\+M\+B\+I\+\_\+\+E\+ND}}, if the last combination is generated. return \mbox{\hyperlink{combinatorics_8h_af92c32bbf9a391a055cb472b6f43c498}{C\+O\+M\+B\+I\+\_\+\+S\+U\+C\+C\+E\+SS}}, if successful.
Definition at line 48 of file combinatorics.\+c.
References C\+O\+M\+B\+I\+\_\+\+E\+ND, and C\+O\+M\+B\+I\+\_\+\+S\+U\+C\+C\+E\+SS.
Referenced by recog\+\_\+mitigate\+\_\+multipath().
\mbox{\Hypertarget{combinatorics_8c_a1bcaeef00a7027e9b9b7694da2efd1b9}\label{combinatorics_8c_a1bcaeef00a7027e9b9b7694da2efd1b9}}
\index{combinatorics.c@{combinatorics.c}!combinatorics\_init@{combinatorics\_init}}
\index{combinatorics\_init@{combinatorics\_init}!combinatorics.c@{combinatorics.c}}
\doxysubsubsection{\texorpdfstring{combinatorics\_init()}{combinatorics\_init()}}
{\footnotesize\ttfamily uint8\+\_\+t combinatorics\+\_\+init (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{n, }\item[{uint8\+\_\+t}]{k, }\item[{uint8\+\_\+t}]{comb\+\_\+arr\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
Initialize the combinations generator.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em n} & size of the set. \\
\hline
\mbox{\texttt{ in}} & {\em k} & size of the sub-\/set. \\
\hline
\mbox{\texttt{ out}} & {\em comb\+\_\+arr\mbox{[}$\,$\mbox{]}} & pointer to the combination set.\\
\hline
\end{DoxyParams}
return \mbox{\hyperlink{combinatorics_8h_a1249f9e7a382225c0889b8ef630d6509}{C\+O\+M\+B\+I\+\_\+\+E\+R\+R\+OR}}, if k $>$ n. return \mbox{\hyperlink{combinatorics_8h_a744ae7aa581aa908643d95d470394872}{C\+O\+M\+B\+I\+\_\+\+E\+M\+P\+TY}}, if k =0. return \mbox{\hyperlink{combinatorics_8h_af92c32bbf9a391a055cb472b6f43c498}{C\+O\+M\+B\+I\+\_\+\+S\+U\+C\+C\+E\+SS}}, if successful.
Definition at line 29 of file combinatorics.\+c.
References C\+O\+M\+B\+I\+\_\+\+E\+M\+P\+TY, C\+O\+M\+B\+I\+\_\+\+E\+R\+R\+OR, and C\+O\+M\+B\+I\+\_\+\+S\+U\+C\+C\+E\+SS.
Referenced by recog\+\_\+mitigate\+\_\+multipath().
\hypertarget{combinatorics_8h}{}\doxysection{combinatorics.\+h File Reference}
\label{combinatorics_8h}\index{combinatorics.h@{combinatorics.h}}
Calculate possible $ \binom{n}{k} combinations $ without repetition in ascending order.
{\ttfamily \#include $<$stdint.\+h$>$}\newline
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{combinatorics_8h_a1249f9e7a382225c0889b8ef630d6509}\label{combinatorics_8h_a1249f9e7a382225c0889b8ef630d6509}}
\#define \mbox{\hyperlink{combinatorics_8h_a1249f9e7a382225c0889b8ef630d6509}{C\+O\+M\+B\+I\+\_\+\+E\+R\+R\+OR}}~-\/1
\begin{DoxyCompactList}\small\item\em Case of an error. \end{DoxyCompactList}\item
\mbox{\Hypertarget{combinatorics_8h_a744ae7aa581aa908643d95d470394872}\label{combinatorics_8h_a744ae7aa581aa908643d95d470394872}}
\#define \mbox{\hyperlink{combinatorics_8h_a744ae7aa581aa908643d95d470394872}{C\+O\+M\+B\+I\+\_\+\+E\+M\+P\+TY}}~0
\begin{DoxyCompactList}\small\item\em Case of an empty combination set. \end{DoxyCompactList}\item
\mbox{\Hypertarget{combinatorics_8h_af92c32bbf9a391a055cb472b6f43c498}\label{combinatorics_8h_af92c32bbf9a391a055cb472b6f43c498}}
\#define \mbox{\hyperlink{combinatorics_8h_af92c32bbf9a391a055cb472b6f43c498}{C\+O\+M\+B\+I\+\_\+\+S\+U\+C\+C\+E\+SS}}~1
\begin{DoxyCompactList}\small\item\em Case of successfully calculated combination set. \end{DoxyCompactList}\item
\mbox{\Hypertarget{combinatorics_8h_a16396d8294127e6ea7dbbdaa3b8132e7}\label{combinatorics_8h_a16396d8294127e6ea7dbbdaa3b8132e7}}
\#define \mbox{\hyperlink{combinatorics_8h_a16396d8294127e6ea7dbbdaa3b8132e7}{C\+O\+M\+B\+I\+\_\+\+E\+ND}}~2
\begin{DoxyCompactList}\small\item\em Case of completion of calculating combination sets. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item
uint8\+\_\+t \mbox{\hyperlink{combinatorics_8h_a1bcaeef00a7027e9b9b7694da2efd1b9}{combinatorics\+\_\+init}} (uint8\+\_\+t n, uint8\+\_\+t k, uint8\+\_\+t comb\+\_\+arr\mbox{[}$\,$\mbox{]})
\begin{DoxyCompactList}\small\item\em Initialize the combinations generator. \end{DoxyCompactList}\item
uint8\+\_\+t \mbox{\hyperlink{combinatorics_8h_ae500ce949afe79089e8146eb1fb5cbb0}{combinatorics\+\_\+get\+\_\+next\+\_\+without\+\_\+rep}} (uint8\+\_\+t n, uint8\+\_\+t k, uint8\+\_\+t comb\+\_\+arr\mbox{[}$\,$\mbox{]})
\begin{DoxyCompactList}\small\item\em Generate the next combination. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Calculate possible $ \binom{n}{k} combinations $ without repetition in ascending order.
\begin{DoxyAuthor}{Author}
Zakaria Kasmi \href{mailto:zkasmi@inf.fu-berlin.de}{\texttt{ zkasmi@inf.\+fu-\/berlin.\+de}}
\end{DoxyAuthor}
\doxysubsection{Function Documentation}
\mbox{\Hypertarget{combinatorics_8h_ae500ce949afe79089e8146eb1fb5cbb0}\label{combinatorics_8h_ae500ce949afe79089e8146eb1fb5cbb0}}
\index{combinatorics.h@{combinatorics.h}!combinatorics\_get\_next\_without\_rep@{combinatorics\_get\_next\_without\_rep}}
\index{combinatorics\_get\_next\_without\_rep@{combinatorics\_get\_next\_without\_rep}!combinatorics.h@{combinatorics.h}}
\doxysubsubsection{\texorpdfstring{combinatorics\_get\_next\_without\_rep()}{combinatorics\_get\_next\_without\_rep()}}
{\footnotesize\ttfamily uint8\+\_\+t combinatorics\+\_\+get\+\_\+next\+\_\+without\+\_\+rep (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{n, }\item[{uint8\+\_\+t}]{k, }\item[{uint8\+\_\+t}]{comb\+\_\+arr\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
Generate the next combination.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em n} & size of the set. \\
\hline
\mbox{\texttt{ in}} & {\em k} & size of the sub-\/set. \\
\hline
\mbox{\texttt{ in,out}} & {\em comb\+\_\+arr\mbox{[}$\,$\mbox{]}} & pointer to the combination set.\\
\hline
\end{DoxyParams}
return \mbox{\hyperlink{combinatorics_8h_a16396d8294127e6ea7dbbdaa3b8132e7}{C\+O\+M\+B\+I\+\_\+\+E\+ND}}, if the last combination is generated. return \mbox{\hyperlink{combinatorics_8h_af92c32bbf9a391a055cb472b6f43c498}{C\+O\+M\+B\+I\+\_\+\+S\+U\+C\+C\+E\+SS}}, if successful.
Definition at line 48 of file combinatorics.\+c.
References C\+O\+M\+B\+I\+\_\+\+E\+ND, and C\+O\+M\+B\+I\+\_\+\+S\+U\+C\+C\+E\+SS.
Referenced by recog\+\_\+mitigate\+\_\+multipath().
\mbox{\Hypertarget{combinatorics_8h_a1bcaeef00a7027e9b9b7694da2efd1b9}\label{combinatorics_8h_a1bcaeef00a7027e9b9b7694da2efd1b9}}
\index{combinatorics.h@{combinatorics.h}!combinatorics\_init@{combinatorics\_init}}
\index{combinatorics\_init@{combinatorics\_init}!combinatorics.h@{combinatorics.h}}
\doxysubsubsection{\texorpdfstring{combinatorics\_init()}{combinatorics\_init()}}
{\footnotesize\ttfamily uint8\+\_\+t combinatorics\+\_\+init (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{n, }\item[{uint8\+\_\+t}]{k, }\item[{uint8\+\_\+t}]{comb\+\_\+arr\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
Initialize the combinations generator.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em n} & size of the set. \\
\hline
\mbox{\texttt{ in}} & {\em k} & size of the sub-\/set. \\
\hline
\mbox{\texttt{ out}} & {\em comb\+\_\+arr\mbox{[}$\,$\mbox{]}} & pointer to the combination set.\\
\hline
\end{DoxyParams}
return \mbox{\hyperlink{combinatorics_8h_a1249f9e7a382225c0889b8ef630d6509}{C\+O\+M\+B\+I\+\_\+\+E\+R\+R\+OR}}, if k $>$ n. return \mbox{\hyperlink{combinatorics_8h_a744ae7aa581aa908643d95d470394872}{C\+O\+M\+B\+I\+\_\+\+E\+M\+P\+TY}}, if k =0. return \mbox{\hyperlink{combinatorics_8h_af92c32bbf9a391a055cb472b6f43c498}{C\+O\+M\+B\+I\+\_\+\+S\+U\+C\+C\+E\+SS}}, if successful.
Definition at line 29 of file combinatorics.\+c.
References C\+O\+M\+B\+I\+\_\+\+E\+M\+P\+TY, C\+O\+M\+B\+I\+\_\+\+E\+R\+R\+OR, and C\+O\+M\+B\+I\+\_\+\+S\+U\+C\+C\+E\+SS.
Referenced by recog\+\_\+mitigate\+\_\+multipath().
\begin{DoxyAuthor}{Author}
Zakaria Kasmi
\end{DoxyAuthor}
An application can be created for full-\/fledged or resource-\/limited devices.\hypertarget{creating-an-application_creating-an-application-full-fledge}{}\doxysection{Creating an application for full-\/fledged devices}\label{creating-an-application_creating-an-application-full-fledge}
We recommend to use the \href{https://www.eclipse.org/}{\texttt{ Eclipse I\+DE}} for C/\+C++ Developers for creating own application. The simplest way to write your own application, is to put your $\ast$.c and $\ast$.h files under the {\ttfamily src} directory. Another way is to create a directory containing the multiple C file(s) with your source code. The header files can be imported in the Eclipse I\+DE by opening Project-\/$>$Properties and selecting \textquotesingle{}\textquotesingle{}C/\+C++ General-\/$>$Paths and Symbols-\/$>$Languages-\/$>$G\+NU C\textquotesingle{}\textquotesingle{} from the Selection Wizard. Click the \textquotesingle{}\textquotesingle{}Add..\textquotesingle{}\textquotesingle{} button to browse to the header-\/directory and the select the \textquotesingle{}\textquotesingle{}Apply\textquotesingle{}\textquotesingle{} and \textquotesingle{}\textquotesingle{}OK\textquotesingle{}\textquotesingle{} buttons. The users can be oriented to the main.\+c and the examples under the src-\/directory.\hypertarget{creating-an-application_creating-an-application-res-lim}{}\doxysection{Creating an application for resource-\/limited devices}\label{creating-an-application_creating-an-application-res-lim}
To create your own application for a resource limited device you need to create a directory containing one or multiple C file(s) with your source code and a Makefile. An example Makefile is available in the {\ttfamily src} folder of the \href{https://git.imp.fu-berlin.de/zkasmi/my_lib_full_fledged_devices/tree/master/RcdMathLib_app}{\texttt{ Rcd\+Math\+Lib repository}}.\hypertarget{creating-an-application_the-main-function}{}\doxysection{The main function}\label{creating-an-application_the-main-function}
R\+I\+OT starts two threads the idle and main threads after the board is initialized. The idle thread has the lowest priority while the main thread has a priority that is in the middle between the lowest and the highest available priorities. The main thread is the first that runs and calls the {\ttfamily main()} function. This function needs to be defined in the source code of each application (typically located in the {\ttfamily main.\+c} file).
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{preprocessor}{\#include <stdio.h>}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{preprocessor}{\#include "\mbox{\hyperlink{matrix__test_8h}{matrix\_test.h}}"}}
\DoxyCodeLine{\textcolor{preprocessor}{\#include "\mbox{\hyperlink{vector__test_8h}{vector\_test.h}}"}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keywordtype}{int} main(\textcolor{keywordtype}{void})}
\DoxyCodeLine{\{}
\DoxyCodeLine{ puts(\textcolor{stringliteral}{"RcdMathLib Application!"});}
\DoxyCodeLine{ \textcolor{comment}{// Test the basic operations module;}}
\DoxyCodeLine{ \mbox{\hyperlink{matrix__test_8h_aad3d0f4acb79e8a9b61eda59dc3a12b2}{matrix\_test}}();}
\DoxyCodeLine{ \mbox{\hyperlink{vector__test_8h_ab0aed13072bc11b97766634c625d6f21}{vector\_test}}();}
\DoxyCodeLine{ }
\DoxyCodeLine{ \textcolor{keywordflow}{return} EXIT\_SUCCESS;}
\DoxyCodeLine{\}}
\end{DoxyCode}
The above C code shows an application testing the basic operations sub-\/modules. This application run operations of the vector and matrix sub-\/modules.\hypertarget{creating-an-application_the-applications-makefile}{}\doxysection{The application\textquotesingle{}s Makefile}\label{creating-an-application_the-applications-makefile}
\hypertarget{creating-an-application_the-minimal-makefile}{}\doxysubsection{The minimal Makefile}\label{creating-an-application_the-minimal-makefile}
At minimum the Makefile of an application (see \mbox{\hyperlink{getting-started}{Getting started}}) needs to define the following macros\+:
\begin{DoxyItemize}
\item {\ttfamily A\+P\+P\+L\+I\+C\+A\+T\+I\+ON}\+: contains the name of your application
\item {\ttfamily R\+I\+O\+T\+B\+A\+SE}\+: specifies the path to your copy of the R\+I\+OT repository (note, the {\ttfamily } macro can be used to give a relative path)
\item {\ttfamily R\+C\+D\+M\+A\+T\+H\+L\+IB}\+: specifies the path to the copy of the Rcd\+Math\+Lib repository (note, the {\ttfamily } macro can be used to give a relative path)
\item {\ttfamily U\+S\+E\+M\+O\+D\+U\+LE}\+: specifies the module of the Rcd\+Math\+Lib that you may want to use
\end{DoxyItemize}
The {\ttfamily B\+O\+A\+RD} macro is also required and recommended to be set to {\ttfamily native} by default, but is recommended to be overridable with the {\ttfamily ?=} operator. Additionally, it is required to include the {\ttfamily Makefile.\+include} from the Rcd\+Math\+Lib and from the {\ttfamily R\+I\+O\+T\+B\+A\+SE}.
\begin{DoxyCode}{0}
\DoxyCodeLine{\# Set the name of your application:}
\DoxyCodeLine{APPLICATION = foobar}
\DoxyCodeLine{}
\DoxyCodeLine{\# If no BOARD is found in the environment, use this default:}
\DoxyCodeLine{BOARD ?= native}
\DoxyCodeLine{}
\DoxyCodeLine{\# This has to be the absolute path to the RcdMathLib base directory:}
\DoxyCodeLine{RCDMATHLIB ?= \$(CURDIR)/../RcdMathLib}
\DoxyCodeLine{}
\DoxyCodeLine{\# This has to be the absolute path to the RIOT base directory:}
\DoxyCodeLine{RIOTBASE ?= \$(CURDIR)/../../RIOT}
\DoxyCodeLine{}
\DoxyCodeLine{}
\DoxyCodeLine{include \$(RCDMATHLIB)/Makefile.include}
\DoxyCodeLine{include \$(RIOTBASE)/Makefile.include}
\end{DoxyCode}
\hypertarget{creating-an-application_including-modules}{}\doxysubsection{Including modules}\label{creating-an-application_including-modules}
The modules of the Rcd\+Math\+Lib as well as of the Rcd\+Math\+Lib can be included. In order to use additional modules, such as a particular driver or a system library, the modules\textquotesingle{} names must be appended to the U\+S\+E\+M\+O\+D\+U\+LE variable. For example, to build an application using the S\+H\+T11 temperature sensor and U\+D\+P/\+I\+Pv6 functionalities, the Makefile needs to contain the following lines\+:
\begin{DoxyCode}{0}
\DoxyCodeLine{USEMODULE += sht11}
\DoxyCodeLine{USEMODULE += gnrc\_ipv6\_default}
\DoxyCodeLine{USEMODULE += gnrc\_udp}
\end{DoxyCode}
For example, to create an application using the matrix decompositions, the pseudo-\/inverse, and solving linear equations sub-\/modules, the Makefile must comprise the following lines\+:
\begin{DoxyCode}{0}
\DoxyCodeLine{USEMODULE += matrix\_decompositions}
\DoxyCodeLine{USEMODULE += pseudo\_inverse}
\DoxyCodeLine{USEMODULE += utilities}
\end{DoxyCode}
\ No newline at end of file
\begin{DoxyAuthor}{Author}
Zakaria Kasmi
\end{DoxyAuthor}
Well-\/defined units of code in the Rcd\+Math\+Lib that provide a set of features are encapsulated in a module. Rcd\+Math\+Lib is module-\/based and composed of the following main modules\+:
\begin{DoxyItemize}
\item Linear algebra module
\item Non-\/\+Linear algebra module
\item Localization module
\end{DoxyItemize}
Each main module includes sub-\/modules, for more details see \mbox{\hyperlink{index_structure}{The structure of the Rcd\+Math\+Lib}}.
\begin{DoxyNote}{Note}
The following chapters concerning only resource-\/limited devices.
\end{DoxyNote}
\hypertarget{creating-modules_the-general-structure}{}\doxysection{The general structure}\label{creating-modules_the-general-structure}
Modules are directories containing source and header files as well as a Makefile. Furthermore, their A\+PI can be defined in one or more header files, residing in the include path of their super-\/module.
For example, the matrix sub-\/module is implemented in the \mbox{\hyperlink{group__basic__operations}{B\+A\+S\+I\+C\+\_\+\+O\+P\+E\+R\+A\+T\+I\+O\+NS}} sub-\/module, in the {\ttfamily linear\+\_\+algebra/basic\+\_\+operations} directory. Its A\+PI is defined in {\ttfamily linear\+\_\+algebra/basic\+\_\+operations/matrix.\+h}.
A module\textquotesingle{}s Makefile just needs to include {\ttfamily Makefile.\+base} in the R\+I\+OT repository as well as {\ttfamily Makefile.\+base} and {\ttfamily Makefile.\+include} in the Rcd\+Math\+Lib repository\+:
\begin{DoxyCode}{0}
\DoxyCodeLine{include \$(RIOTBASE)/Makefile.base}
\DoxyCodeLine{include \$(RCDMATHLIB)/linear\_algebra/matrix\_decompositions/Makefile.include}
\DoxyCodeLine{include \$(RCDMATHLIB)/linear\_algebra/matrix\_decompositions/Makefile.dep }
\end{DoxyCode}
The {\ttfamily Makefile.\+base} and {\ttfamily Makefile.\+include} macros in the example above are includes for the linear algebra module.
If your module\textquotesingle{}s name differs from the name of the directory it resides in you need to set the {\ttfamily M\+O\+D\+U\+LE} macro in addition.
The {\ttfamily Makefile.\+dep} serves to define dependencies and the {\ttfamily Makefile.\+include} to append target specific information to variables like I\+N\+C\+L\+U\+D\+ES. Modules can be used by adding their name to the {\ttfamily U\+S\+E\+M\+O\+D\+U\+LE} macro of the application\textquotesingle{}s Makefile.\hypertarget{creating-modules_module-dependencies}{}\doxysection{Module dependencies}\label{creating-modules_module-dependencies}
The module may depend on other modules to minimize code duplication. These dependencies are defined in {\ttfamily Makefile.\+dep} with the following syntax\+:
\begin{DoxyCode}{0}
\DoxyCodeLine{ifneq (,\$(filter your\_module,\$(USEMODULE))) \# if module in USEMODULE}
\DoxyCodeLine{ USEMODULE += dep1 \# add dependencies to USEMODULE}
\DoxyCodeLine{ USEMODULE += dep2}
\DoxyCodeLine{endif}
\end{DoxyCode}
\begin{DoxyNote}{Note}
{\ttfamily Makefile.\+dep} is processed only once therefore, the dependency block for a module must be added {\itshape before} dependencies pull in their dependencies.
\end{DoxyNote}
This diff is collapsed.
\hypertarget{damped__newton__raphson_8c}{}\doxysection{damped\+\_\+newton\+\_\+raphson.\+c File Reference}
\label{damped__newton__raphson_8c}\index{damped\_newton\_raphson.c@{damped\_newton\_raphson.c}}
Implement the damped Newton--Raphson algorithm.
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include \char`\"{}moore\+\_\+penrose\+\_\+pseudo\+\_\+inverse.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}damped\+\_\+newton\+\_\+raphson.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}vector.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}matrix.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item
uint8\+\_\+t \mbox{\hyperlink{damped__newton__raphson_8c_a0cf3dc5e334091bc43820fa1d8e86c14}{damped\+\_\+newton\+\_\+raphson}} (uint8\+\_\+t f\+\_\+length, uint8\+\_\+t n, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x0\+\_\+arr\mbox{[}$\,$\mbox{]}, double min\+\_\+lamda, double eps, uint8\+\_\+t max\+\_\+it\+\_\+num, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} est\+\_\+x\+\_\+arr\mbox{[}$\,$\mbox{]}, void($\ast$get\+\_\+non\+\_\+lin\+\_\+sys)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} f\+\_\+vec\mbox{[}$\,$\mbox{]}), void($\ast$get\+\_\+jacobian)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} J\mbox{[}$\,$\mbox{]}\mbox{[}n\mbox{]}))
\begin{DoxyCompactList}\small\item\em Implements the damped Newton--Raphson algorithm. \end{DoxyCompactList}\item
double \mbox{\hyperlink{damped__newton__raphson_8c_a46f90a02170f4f35f9b3bdbc5c65271a}{get\+\_\+damped\+\_\+norm}} (uint8\+\_\+t m, uint8\+\_\+t n, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, void($\ast$get\+\_\+non\+\_\+lin\+\_\+sys)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} f\+\_\+vec\mbox{[}$\,$\mbox{]}), void($\ast$get\+\_\+jacobian)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} J\mbox{[}$\,$\mbox{]}\mbox{[}n\mbox{]}))
\begin{DoxyCompactList}\small\item\em Compute the norm of the damped Newton--Raphson algorithm. \end{DoxyCompactList}\item
void \mbox{\hyperlink{damped__newton__raphson_8c_acd5be84f1d01dfb379d85cc8aef8b65e}{get\+\_\+delta\+\_\+x}} (uint8\+\_\+t m, uint8\+\_\+t n, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, void($\ast$get\+\_\+non\+\_\+lin\+\_\+sys)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} f\+\_\+vec\mbox{[}$\,$\mbox{]}), void($\ast$get\+\_\+jacobian)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} J\mbox{[}$\,$\mbox{]}\mbox{[}n\mbox{]}), \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} delta\+\_\+x\+\_\+arr\mbox{[}$\,$\mbox{]})
\begin{DoxyCompactList}\small\item\em Compute the correction vector the damped Newton--Raphson algorithm. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Implement the damped Newton--Raphson algorithm.
The damped Newton--Raphson algorithm enables to solve multi-\/variant nonlinear equation systems.
\begin{DoxyAuthor}{Author}
Zakaria Kasmi \href{mailto:zkasmi@inf.fu-berlin.de}{\texttt{ zkasmi@inf.\+fu-\/berlin.\+de}}
\end{DoxyAuthor}
\doxysubsection{Function Documentation}
\mbox{\Hypertarget{damped__newton__raphson_8c_a0cf3dc5e334091bc43820fa1d8e86c14}\label{damped__newton__raphson_8c_a0cf3dc5e334091bc43820fa1d8e86c14}}
\index{damped\_newton\_raphson.c@{damped\_newton\_raphson.c}!damped\_newton\_raphson@{damped\_newton\_raphson}}
\index{damped\_newton\_raphson@{damped\_newton\_raphson}!damped\_newton\_raphson.c@{damped\_newton\_raphson.c}}
\doxysubsubsection{\texorpdfstring{damped\_newton\_raphson()}{damped\_newton\_raphson()}}
{\footnotesize\ttfamily uint8\+\_\+t damped\+\_\+newton\+\_\+raphson (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{f\+\_\+length, }\item[{uint8\+\_\+t}]{n, }\item[{\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}}}]{x0\+\_\+arr\mbox{[}$\,$\mbox{]}, }\item[{double}]{min\+\_\+lamda, }\item[{double}]{eps, }\item[{uint8\+\_\+t}]{max\+\_\+it\+\_\+num, }\item[{\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}}}]{est\+\_\+x\+\_\+arr\mbox{[}$\,$\mbox{]}, }\item[{void($\ast$)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} f\+\_\+vec\mbox{[}$\,$\mbox{]})}]{get\+\_\+non\+\_\+lin\+\_\+sys, }\item[{void($\ast$)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} J\mbox{[}$\,$\mbox{]}\mbox{[}n\mbox{]})}]{get\+\_\+jacobian }\end{DoxyParamCaption})}
Implements the damped Newton--Raphson algorithm.
The user should provide pointers to non-\/linear equation systems and Jacobian functions. \begin{DoxyNote}{Note}
This function is generally implemented.
\end{DoxyNote}
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em f\+\_\+length} & length of the error functions vector. \\
\hline
\mbox{\texttt{ in}} & {\em n} & length of the start vector. \\
\hline
\mbox{\texttt{ in}} & {\em x0\+\_\+arr\mbox{[}$\,$\mbox{]}} & start vector. \\
\hline
\mbox{\texttt{ in}} & {\em min\+\_\+lamda} & minimal damping factor. \\
\hline
\mbox{\texttt{ in}} & {\em eps} & accuracy bound. \\
\hline
\mbox{\texttt{ in}} & {\em max\+\_\+it\+\_\+num} & maximal iteration number of the damped Newton--Raphson algorithm. \\
\hline
\mbox{\texttt{ out}} & {\em est\+\_\+x\+\_\+arr\mbox{[}$\,$\mbox{]}} & estimated (solution) vector. \\
\hline
\mbox{\texttt{ in}} & {\em ($\ast$get\+\_\+non\+\_\+lin\+\_\+sys)} & pointer to non-\/linear equation systems. \\
\hline
\mbox{\texttt{ in}} & {\em ($\ast$get\+\_\+jacobian)} & pointer to the Jacobian matrix.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
required iteration number.
\end{DoxyReturn}
Definition at line 32 of file damped\+\_\+newton\+\_\+raphson.\+c.
References get\+\_\+damped\+\_\+norm(), get\+\_\+delta\+\_\+x(), vector\+\_\+add(), vector\+\_\+copy(), vector\+\_\+get\+\_\+norm2(), vector\+\_\+scalar\+\_\+mul(), and vector\+\_\+t.
Referenced by fsolve().
\mbox{\Hypertarget{damped__newton__raphson_8c_a46f90a02170f4f35f9b3bdbc5c65271a}\label{damped__newton__raphson_8c_a46f90a02170f4f35f9b3bdbc5c65271a}}
\index{damped\_newton\_raphson.c@{damped\_newton\_raphson.c}!get\_damped\_norm@{get\_damped\_norm}}
\index{get\_damped\_norm@{get\_damped\_norm}!damped\_newton\_raphson.c@{damped\_newton\_raphson.c}}
\doxysubsubsection{\texorpdfstring{get\_damped\_norm()}{get\_damped\_norm()}}
{\footnotesize\ttfamily double get\+\_\+damped\+\_\+norm (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{m, }\item[{uint8\+\_\+t}]{n, }\item[{\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}}}]{x\+\_\+arr\mbox{[}$\,$\mbox{]}, }\item[{void($\ast$)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} f\+\_\+vec\mbox{[}$\,$\mbox{]})}]{get\+\_\+non\+\_\+lin\+\_\+sys, }\item[{void($\ast$)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} J\mbox{[}$\,$\mbox{]}\mbox{[}n\mbox{]})}]{get\+\_\+jacobian }\end{DoxyParamCaption})}
Compute the norm of the damped Newton--Raphson algorithm.
The user should provide pointers to non-\/linear equation systems and Jacobian functions. \begin{DoxyNote}{Note}
This function is generally implemented.
\end{DoxyNote}
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em m} & number of the non-\/linear equations. \\
\hline
\mbox{\texttt{ in}} & {\em n} & length of the guess vector. \\
\hline
\mbox{\texttt{ in}} & {\em x\+\_\+arr\mbox{[}$\,$\mbox{]}} & guess vector. \\
\hline
\mbox{\texttt{ in}} & {\em ($\ast$get\+\_\+non\+\_\+lin\+\_\+sys)} & pointer to non-\/linear equation systems. \\
\hline
\mbox{\texttt{ in}} & {\em ($\ast$get\+\_\+jacobian)} & pointer to the Jacobian matrix.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
norm of the damped Newton--Raphson algorithm.
\end{DoxyReturn}
Definition at line 104 of file damped\+\_\+newton\+\_\+raphson.\+c.
References get\+\_\+delta\+\_\+x(), vector\+\_\+get\+\_\+norm2(), and vector\+\_\+t.
Referenced by damped\+\_\+newton\+\_\+raphson().
\mbox{\Hypertarget{damped__newton__raphson_8c_acd5be84f1d01dfb379d85cc8aef8b65e}\label{damped__newton__raphson_8c_acd5be84f1d01dfb379d85cc8aef8b65e}}
\index{damped\_newton\_raphson.c@{damped\_newton\_raphson.c}!get\_delta\_x@{get\_delta\_x}}
\index{get\_delta\_x@{get\_delta\_x}!damped\_newton\_raphson.c@{damped\_newton\_raphson.c}}
\doxysubsubsection{\texorpdfstring{get\_delta\_x()}{get\_delta\_x()}}
{\footnotesize\ttfamily void get\+\_\+delta\+\_\+x (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{m, }\item[{uint8\+\_\+t}]{n, }\item[{\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}}}]{x\+\_\+arr\mbox{[}$\,$\mbox{]}, }\item[{void($\ast$)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} f\+\_\+vec\mbox{[}$\,$\mbox{]})}]{get\+\_\+non\+\_\+lin\+\_\+sys, }\item[{void($\ast$)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} J\mbox{[}$\,$\mbox{]}\mbox{[}n\mbox{]})}]{get\+\_\+jacobian, }\item[{\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}}}]{delta\+\_\+x\+\_\+arr\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
Compute the correction vector the damped Newton--Raphson algorithm.
The user should provide pointers to non-\/linear equation systems and Jacobian functions. \begin{DoxyNote}{Note}
This function is generally implemented.
\end{DoxyNote}
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em m} & number of the non-\/linear equations. \\
\hline
\mbox{\texttt{ in}} & {\em n} & length of the guess vector. \\
\hline
\mbox{\texttt{ in}} & {\em x\+\_\+arr\mbox{[}$\,$\mbox{]}} & guess vector. \\
\hline
\mbox{\texttt{ in}} & {\em ($\ast$get\+\_\+non\+\_\+lin\+\_\+sys)} & pointer to non-\/linear equation systems. \\
\hline
\mbox{\texttt{ in}} & {\em ($\ast$get\+\_\+jacobian)} & pointer to the Jacobian matrix. \\
\hline
\mbox{\texttt{ in,out}} & {\em delta\+\_\+x\+\_\+arr\mbox{[}$\,$\mbox{]}} & the correction vector (term). \\
\hline
\end{DoxyParams}
Definition at line 120 of file damped\+\_\+newton\+\_\+raphson.\+c.
References matrix\+\_\+mul\+\_\+vec(), matrix\+\_\+t, moore\+\_\+penrose\+\_\+get\+\_\+pinv(), vector\+\_\+in\+\_\+place\+\_\+scalar\+\_\+mul(), and vector\+\_\+t.
Referenced by damped\+\_\+newton\+\_\+raphson(), and get\+\_\+damped\+\_\+norm().
\hypertarget{damped__newton__raphson_8h}{}\doxysection{damped\+\_\+newton\+\_\+raphson.\+h File Reference}
\label{damped__newton__raphson_8h}\index{damped\_newton\_raphson.h@{damped\_newton\_raphson.h}}
Implement the damped Newton--Raphson algorithm.
{\ttfamily \#include \char`\"{}matrix.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}vector.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item
uint8\+\_\+t \mbox{\hyperlink{damped__newton__raphson_8h_a0cf3dc5e334091bc43820fa1d8e86c14}{damped\+\_\+newton\+\_\+raphson}} (uint8\+\_\+t f\+\_\+length, uint8\+\_\+t n, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x0\+\_\+arr\mbox{[}$\,$\mbox{]}, double min\+\_\+lamda, double eps, uint8\+\_\+t max\+\_\+it\+\_\+num, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} est\+\_\+x\+\_\+arr\mbox{[}$\,$\mbox{]}, void($\ast$get\+\_\+non\+\_\+lin\+\_\+sys)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} f\+\_\+vec\mbox{[}$\,$\mbox{]}), void($\ast$get\+\_\+jacobian)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} J\mbox{[}$\,$\mbox{]}\mbox{[}n\mbox{]}))
\begin{DoxyCompactList}\small\item\em Implements the damped Newton--Raphson algorithm. \end{DoxyCompactList}\item
double \mbox{\hyperlink{damped__newton__raphson_8h_a46f90a02170f4f35f9b3bdbc5c65271a}{get\+\_\+damped\+\_\+norm}} (uint8\+\_\+t m, uint8\+\_\+t n, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, void($\ast$get\+\_\+non\+\_\+lin\+\_\+sys)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} f\+\_\+vec\mbox{[}$\,$\mbox{]}), void($\ast$get\+\_\+jacobian)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} J\mbox{[}$\,$\mbox{]}\mbox{[}n\mbox{]}))
\begin{DoxyCompactList}\small\item\em Compute the norm of the damped Newton--Raphson algorithm. \end{DoxyCompactList}\item
void \mbox{\hyperlink{damped__newton__raphson_8h_acd5be84f1d01dfb379d85cc8aef8b65e}{get\+\_\+delta\+\_\+x}} (uint8\+\_\+t m, uint8\+\_\+t n, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, void($\ast$get\+\_\+non\+\_\+lin\+\_\+sys)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} f\+\_\+vec\mbox{[}$\,$\mbox{]}), void($\ast$get\+\_\+jacobian)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} J\mbox{[}$\,$\mbox{]}\mbox{[}n\mbox{]}), \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} delta\+\_\+x\+\_\+arr\mbox{[}$\,$\mbox{]})
\begin{DoxyCompactList}\small\item\em Compute the correction vector the damped Newton--Raphson algorithm. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Implement the damped Newton--Raphson algorithm.
The damped Newton--Raphson algorithm enables to solve multi-\/variant nonlinear equation systems.
\begin{DoxyAuthor}{Author}
Zakaria Kasmi \href{mailto:zkasmi@inf.fu-berlin.de}{\texttt{ zkasmi@inf.\+fu-\/berlin.\+de}}
\end{DoxyAuthor}
\doxysubsection{Function Documentation}
\mbox{\Hypertarget{damped__newton__raphson_8h_a0cf3dc5e334091bc43820fa1d8e86c14}\label{damped__newton__raphson_8h_a0cf3dc5e334091bc43820fa1d8e86c14}}
\index{damped\_newton\_raphson.h@{damped\_newton\_raphson.h}!damped\_newton\_raphson@{damped\_newton\_raphson}}
\index{damped\_newton\_raphson@{damped\_newton\_raphson}!damped\_newton\_raphson.h@{damped\_newton\_raphson.h}}
\doxysubsubsection{\texorpdfstring{damped\_newton\_raphson()}{damped\_newton\_raphson()}}
{\footnotesize\ttfamily uint8\+\_\+t damped\+\_\+newton\+\_\+raphson (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{f\+\_\+length, }\item[{uint8\+\_\+t}]{n, }\item[{\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}}}]{x0\+\_\+arr\mbox{[}$\,$\mbox{]}, }\item[{double}]{min\+\_\+lamda, }\item[{double}]{eps, }\item[{uint8\+\_\+t}]{max\+\_\+it\+\_\+num, }\item[{\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}}}]{est\+\_\+x\+\_\+arr\mbox{[}$\,$\mbox{]}, }\item[{void($\ast$)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} f\+\_\+vec\mbox{[}$\,$\mbox{]})}]{get\+\_\+non\+\_\+lin\+\_\+sys, }\item[{void($\ast$)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} J\mbox{[}$\,$\mbox{]}\mbox{[}n\mbox{]})}]{get\+\_\+jacobian }\end{DoxyParamCaption})}
Implements the damped Newton--Raphson algorithm.
The user should provide pointers to non-\/linear equation systems and Jacobian functions. \begin{DoxyNote}{Note}
This function is generally implemented.
\end{DoxyNote}
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em f\+\_\+length} & length of the error functions vector. \\
\hline
\mbox{\texttt{ in}} & {\em n} & length of the start vector. \\
\hline
\mbox{\texttt{ in}} & {\em x0\+\_\+arr\mbox{[}$\,$\mbox{]}} & start vector. \\
\hline
\mbox{\texttt{ in}} & {\em min\+\_\+lamda} & minimal damping factor. \\
\hline
\mbox{\texttt{ in}} & {\em eps} & accuracy bound. \\
\hline
\mbox{\texttt{ in}} & {\em max\+\_\+it\+\_\+num} & maximal iteration number of the damped Newton--Raphson algorithm. \\
\hline
\mbox{\texttt{ out}} & {\em est\+\_\+x\+\_\+arr\mbox{[}$\,$\mbox{]}} & estimated (solution) vector. \\
\hline
\mbox{\texttt{ in}} & {\em ($\ast$get\+\_\+non\+\_\+lin\+\_\+sys)} & pointer to non-\/linear equation systems. \\
\hline
\mbox{\texttt{ in}} & {\em ($\ast$get\+\_\+jacobian)} & pointer to the Jacobian matrix.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
required iteration number.
\end{DoxyReturn}
Definition at line 32 of file damped\+\_\+newton\+\_\+raphson.\+c.
References get\+\_\+damped\+\_\+norm(), get\+\_\+delta\+\_\+x(), vector\+\_\+add(), vector\+\_\+copy(), vector\+\_\+get\+\_\+norm2(), vector\+\_\+scalar\+\_\+mul(), and vector\+\_\+t.
Referenced by fsolve().
\mbox{\Hypertarget{damped__newton__raphson_8h_a46f90a02170f4f35f9b3bdbc5c65271a}\label{damped__newton__raphson_8h_a46f90a02170f4f35f9b3bdbc5c65271a}}
\index{damped\_newton\_raphson.h@{damped\_newton\_raphson.h}!get\_damped\_norm@{get\_damped\_norm}}
\index{get\_damped\_norm@{get\_damped\_norm}!damped\_newton\_raphson.h@{damped\_newton\_raphson.h}}
\doxysubsubsection{\texorpdfstring{get\_damped\_norm()}{get\_damped\_norm()}}
{\footnotesize\ttfamily double get\+\_\+damped\+\_\+norm (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{m, }\item[{uint8\+\_\+t}]{n, }\item[{\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}}}]{x\+\_\+arr\mbox{[}$\,$\mbox{]}, }\item[{void($\ast$)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} f\+\_\+vec\mbox{[}$\,$\mbox{]})}]{get\+\_\+non\+\_\+lin\+\_\+sys, }\item[{void($\ast$)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} J\mbox{[}$\,$\mbox{]}\mbox{[}n\mbox{]})}]{get\+\_\+jacobian }\end{DoxyParamCaption})}
Compute the norm of the damped Newton--Raphson algorithm.
The user should provide pointers to non-\/linear equation systems and Jacobian functions. \begin{DoxyNote}{Note}
This function is generally implemented.
\end{DoxyNote}
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em m} & number of the non-\/linear equations. \\
\hline
\mbox{\texttt{ in}} & {\em n} & length of the guess vector. \\
\hline
\mbox{\texttt{ in}} & {\em x\+\_\+arr\mbox{[}$\,$\mbox{]}} & guess vector. \\
\hline
\mbox{\texttt{ in}} & {\em ($\ast$get\+\_\+non\+\_\+lin\+\_\+sys)} & pointer to non-\/linear equation systems. \\
\hline
\mbox{\texttt{ in}} & {\em ($\ast$get\+\_\+jacobian)} & pointer to the Jacobian matrix.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
norm of the damped Newton--Raphson algorithm.
\end{DoxyReturn}
Definition at line 104 of file damped\+\_\+newton\+\_\+raphson.\+c.
References get\+\_\+delta\+\_\+x(), vector\+\_\+get\+\_\+norm2(), and vector\+\_\+t.
Referenced by damped\+\_\+newton\+\_\+raphson().
\mbox{\Hypertarget{damped__newton__raphson_8h_acd5be84f1d01dfb379d85cc8aef8b65e}\label{damped__newton__raphson_8h_acd5be84f1d01dfb379d85cc8aef8b65e}}
\index{damped\_newton\_raphson.h@{damped\_newton\_raphson.h}!get\_delta\_x@{get\_delta\_x}}
\index{get\_delta\_x@{get\_delta\_x}!damped\_newton\_raphson.h@{damped\_newton\_raphson.h}}
\doxysubsubsection{\texorpdfstring{get\_delta\_x()}{get\_delta\_x()}}
{\footnotesize\ttfamily void get\+\_\+delta\+\_\+x (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{m, }\item[{uint8\+\_\+t}]{n, }\item[{\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}}}]{x\+\_\+arr\mbox{[}$\,$\mbox{]}, }\item[{void($\ast$)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} f\+\_\+vec\mbox{[}$\,$\mbox{]})}]{get\+\_\+non\+\_\+lin\+\_\+sys, }\item[{void($\ast$)(\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} x\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} J\mbox{[}$\,$\mbox{]}\mbox{[}n\mbox{]})}]{get\+\_\+jacobian, }\item[{\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}}}]{delta\+\_\+x\+\_\+arr\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
Compute the correction vector the damped Newton--Raphson algorithm.
The user should provide pointers to non-\/linear equation systems and Jacobian functions. \begin{DoxyNote}{Note}
This function is generally implemented.
\end{DoxyNote}
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em m} & number of the non-\/linear equations. \\
\hline
\mbox{\texttt{ in}} & {\em n} & length of the guess vector. \\
\hline
\mbox{\texttt{ in}} & {\em x\+\_\+arr\mbox{[}$\,$\mbox{]}} & guess vector. \\
\hline
\mbox{\texttt{ in}} & {\em ($\ast$get\+\_\+non\+\_\+lin\+\_\+sys)} & pointer to non-\/linear equation systems. \\
\hline
\mbox{\texttt{ in}} & {\em ($\ast$get\+\_\+jacobian)} & pointer to the Jacobian matrix. \\
\hline
\mbox{\texttt{ in,out}} & {\em delta\+\_\+x\+\_\+arr\mbox{[}$\,$\mbox{]}} & the correction vector (term). \\
\hline
\end{DoxyParams}
Definition at line 120 of file damped\+\_\+newton\+\_\+raphson.\+c.
References matrix\+\_\+mul\+\_\+vec(), matrix\+\_\+t, moore\+\_\+penrose\+\_\+get\+\_\+pinv(), vector\+\_\+in\+\_\+place\+\_\+scalar\+\_\+mul(), and vector\+\_\+t.
Referenced by damped\+\_\+newton\+\_\+raphson(), and get\+\_\+damped\+\_\+norm().
\hypertarget{dist__based__fi_8c}{}\doxysection{dist\+\_\+based\+\_\+fi.\+c File Reference}
\label{dist__based__fi_8c}\index{dist\_based\_fi.c@{dist\_based\_fi.c}}
Error function of distance-\/based localization systems.
{\ttfamily \#include $<$math.\+h$>$}\newline
{\ttfamily \#include \char`\"{}matrix.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} \mbox{\hyperlink{dist__based__fi_8c_a67e1cf0904bc0be1258e5fb4cb292a9a}{dist\+\_\+based\+\_\+fi}} (\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} point\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} ref\+\_\+point\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} ri)
\begin{DoxyCompactList}\small\item\em Defines the error function of a distance-\/based localization system. \end{DoxyCompactList}\item
void \mbox{\hyperlink{dist__based__fi_8c_a2a1d8806de5f7f5131be1fbd706c17fa}{dist\+\_\+based\+\_\+f\+\_\+i}} (uint8\+\_\+t ref\+\_\+points\+\_\+num, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} ref\+\_\+point\+\_\+mat\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} point\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} d\+\_\+vec\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} f\+\_\+vec\mbox{[}$\,$\mbox{]})
\begin{DoxyCompactList}\small\item\em Defines the error function of a distance-\/based localization system. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Error function of distance-\/based localization systems.
\begin{DoxyAuthor}{Author}
Zakaria Kasmi \href{mailto:zkasmi@inf.fu-berlin.de}{\texttt{ zkasmi@inf.\+fu-\/berlin.\+de}}
\end{DoxyAuthor}
\doxysubsection{Function Documentation}
\mbox{\Hypertarget{dist__based__fi_8c_a2a1d8806de5f7f5131be1fbd706c17fa}\label{dist__based__fi_8c_a2a1d8806de5f7f5131be1fbd706c17fa}}
\index{dist\_based\_fi.c@{dist\_based\_fi.c}!dist\_based\_f\_i@{dist\_based\_f\_i}}
\index{dist\_based\_f\_i@{dist\_based\_f\_i}!dist\_based\_fi.c@{dist\_based\_fi.c}}
\doxysubsubsection{\texorpdfstring{dist\_based\_f\_i()}{dist\_based\_f\_i()}}
{\footnotesize\ttfamily void dist\+\_\+based\+\_\+f\+\_\+i (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{ref\+\_\+points\+\_\+num, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{ref\+\_\+point\+\_\+mat\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{point\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{d\+\_\+vec\mbox{[}$\,$\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{f\+\_\+vec\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
Defines the error function of a distance-\/based localization system.
This error function is related to multiple reference stations.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em ref\+\_\+points\+\_\+num} & Number of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em ref\+\_\+point\+\_\+mat\mbox{[}$\,$\mbox{]}\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em point\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the mobile device. \\
\hline
\mbox{\texttt{ in}} & {\em d\+\_\+vec\mbox{[}$\,$\mbox{]}} & distances to the reference stations. \\
\hline
\mbox{\texttt{ out}} & {\em f\+\_\+vec\mbox{[}$\,$\mbox{]}} & errors related to reference stations and destined position. \\
\hline
\end{DoxyParams}
Definition at line 47 of file dist\+\_\+based\+\_\+fi.\+c.
Referenced by multipath\+\_\+algo\+\_\+own\+\_\+norm\+\_\+distr\+\_\+test(), and position\+\_\+optimization\+\_\+test().
\mbox{\Hypertarget{dist__based__fi_8c_a67e1cf0904bc0be1258e5fb4cb292a9a}\label{dist__based__fi_8c_a67e1cf0904bc0be1258e5fb4cb292a9a}}
\index{dist\_based\_fi.c@{dist\_based\_fi.c}!dist\_based\_fi@{dist\_based\_fi}}
\index{dist\_based\_fi@{dist\_based\_fi}!dist\_based\_fi.c@{dist\_based\_fi.c}}
\doxysubsubsection{\texorpdfstring{dist\_based\_fi()}{dist\_based\_fi()}}
{\footnotesize\ttfamily \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} dist\+\_\+based\+\_\+fi (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{point\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{ref\+\_\+point\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{ri }\end{DoxyParamCaption})}
Defines the error function of a distance-\/based localization system.
This error function is related to one reference station.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em point\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the mobile device. \\
\hline
\mbox{\texttt{ in}} & {\em ref\+\_\+point\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of a reference station. \\
\hline
\mbox{\texttt{ in}} & {\em ri} & distance to a reference station.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the error related to a reference station and destined position.
\end{DoxyReturn}
Definition at line 26 of file dist\+\_\+based\+\_\+fi.\+c.
References matrix\+\_\+t.
Referenced by dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+\+J\+Tf(), and dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+\+J\+T\+J().
\hypertarget{dist__based__fi_8h}{}\doxysection{dist\+\_\+based\+\_\+fi.\+h File Reference}
\label{dist__based__fi_8h}\index{dist\_based\_fi.h@{dist\_based\_fi.h}}
Error function of distance-\/based localization systems.
{\ttfamily \#include \char`\"{}matrix.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} \mbox{\hyperlink{dist__based__fi_8h_a67e1cf0904bc0be1258e5fb4cb292a9a}{dist\+\_\+based\+\_\+fi}} (\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} point\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} ref\+\_\+point\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} ri)
\begin{DoxyCompactList}\small\item\em Defines the error function of a distance-\/based localization system. \end{DoxyCompactList}\item
void \mbox{\hyperlink{dist__based__fi_8h_a2a1d8806de5f7f5131be1fbd706c17fa}{dist\+\_\+based\+\_\+f\+\_\+i}} (uint8\+\_\+t ref\+\_\+points\+\_\+num, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} ref\+\_\+point\+\_\+mat\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} point\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} d\+\_\+vec\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} f\+\_\+vec\mbox{[}$\,$\mbox{]})
\begin{DoxyCompactList}\small\item\em Defines the error function of a distance-\/based localization system. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Error function of distance-\/based localization systems.
\begin{DoxyAuthor}{Author}
Zakaria Kasmi \href{mailto:zkasmi@inf.fu-berlin.de}{\texttt{ zkasmi@inf.\+fu-\/berlin.\+de}}
\end{DoxyAuthor}
\doxysubsection{Function Documentation}
\mbox{\Hypertarget{dist__based__fi_8h_a2a1d8806de5f7f5131be1fbd706c17fa}\label{dist__based__fi_8h_a2a1d8806de5f7f5131be1fbd706c17fa}}
\index{dist\_based\_fi.h@{dist\_based\_fi.h}!dist\_based\_f\_i@{dist\_based\_f\_i}}
\index{dist\_based\_f\_i@{dist\_based\_f\_i}!dist\_based\_fi.h@{dist\_based\_fi.h}}
\doxysubsubsection{\texorpdfstring{dist\_based\_f\_i()}{dist\_based\_f\_i()}}
{\footnotesize\ttfamily void dist\+\_\+based\+\_\+f\+\_\+i (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{ref\+\_\+points\+\_\+num, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{ref\+\_\+point\+\_\+mat\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{point\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{d\+\_\+vec\mbox{[}$\,$\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{f\+\_\+vec\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
Defines the error function of a distance-\/based localization system.
This error function is related to multiple reference stations.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em ref\+\_\+points\+\_\+num} & Number of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em ref\+\_\+point\+\_\+mat\mbox{[}$\,$\mbox{]}\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em point\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the mobile device. \\
\hline
\mbox{\texttt{ in}} & {\em d\+\_\+vec\mbox{[}$\,$\mbox{]}} & distances to the reference stations. \\
\hline
\mbox{\texttt{ out}} & {\em f\+\_\+vec\mbox{[}$\,$\mbox{]}} & errors related to reference stations and destined position. \\
\hline
\end{DoxyParams}
Definition at line 47 of file dist\+\_\+based\+\_\+fi.\+c.
Referenced by multipath\+\_\+algo\+\_\+own\+\_\+norm\+\_\+distr\+\_\+test(), and position\+\_\+optimization\+\_\+test().
\mbox{\Hypertarget{dist__based__fi_8h_a67e1cf0904bc0be1258e5fb4cb292a9a}\label{dist__based__fi_8h_a67e1cf0904bc0be1258e5fb4cb292a9a}}
\index{dist\_based\_fi.h@{dist\_based\_fi.h}!dist\_based\_fi@{dist\_based\_fi}}
\index{dist\_based\_fi@{dist\_based\_fi}!dist\_based\_fi.h@{dist\_based\_fi.h}}
\doxysubsubsection{\texorpdfstring{dist\_based\_fi()}{dist\_based\_fi()}}
{\footnotesize\ttfamily \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} dist\+\_\+based\+\_\+fi (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{point\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{ref\+\_\+point\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{ri }\end{DoxyParamCaption})}
Defines the error function of a distance-\/based localization system.
This error function is related to one reference station.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em point\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the mobile device. \\
\hline
\mbox{\texttt{ in}} & {\em ref\+\_\+point\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of a reference station. \\
\hline
\mbox{\texttt{ in}} & {\em ri} & distance to a reference station.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the error related to a reference station and destined position.
\end{DoxyReturn}
Definition at line 26 of file dist\+\_\+based\+\_\+fi.\+c.
References matrix\+\_\+t.
Referenced by dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+\+J\+Tf(), and dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+\+J\+T\+J().
\hypertarget{dist__based__jacobian_8c}{}\doxysection{dist\+\_\+based\+\_\+jacobian.\+c File Reference}
\label{dist__based__jacobian_8c}\index{dist\_based\_jacobian.c@{dist\_based\_jacobian.c}}
Jacobian function of distance-\/based localization systems.
{\ttfamily \#include $<$math.\+h$>$}\newline
{\ttfamily \#include \char`\"{}matrix.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}vector.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}dist\+\_\+based\+\_\+fi.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item
void \mbox{\hyperlink{dist__based__jacobian_8c_a769d35615d26a67b97bfd40b5d26a95c}{dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+\+J\+Tf}} (uint8\+\_\+t ref\+\_\+points\+\_\+num, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} ref\+\_\+point\+\_\+matrix\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} point\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} dist\+\_\+vec\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} J\+Tf\mbox{[}3\mbox{]})
\begin{DoxyCompactList}\small\item\em Defines $ J_f^{T} \vec{f} $ of distance-\/based localization system. \end{DoxyCompactList}\item
void \mbox{\hyperlink{dist__based__jacobian_8c_a59b1a3323c2896ff28f71135af0204a2}{dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+\+J\+TJ}} (uint8\+\_\+t ref\+\_\+points\+\_\+num, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} ref\+\_\+point\+\_\+matrix\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} point\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} dist\+\_\+vec\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} J\+TJ\mbox{[}3\mbox{]}\mbox{[}3\mbox{]})
\begin{DoxyCompactList}\small\item\em Defines $ J_f^{T} J_{f} $ of distance-\/based localization system. \end{DoxyCompactList}\item
void \mbox{\hyperlink{dist__based__jacobian_8c_a8f900ff7d66d260d3b2e3e0ef2757ccc}{dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+J}} (uint8\+\_\+t ref\+\_\+points\+\_\+num, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} point\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} ref\+\_\+point\+\_\+matrix\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} J\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]})
\begin{DoxyCompactList}\small\item\em Computes the Jacobian matrix of distance-\/based localization system. \end{DoxyCompactList}\item
void \mbox{\hyperlink{dist__based__jacobian_8c_a04231d3d216ce6814eb3e183f7a2e408}{dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+\+J\+\_\+mul\+\_\+s}} (uint8\+\_\+t ref\+\_\+points\+\_\+num, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} ref\+\_\+point\+\_\+matrix\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} point\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} s\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} J\+\_\+s\mbox{[}ref\+\_\+points\+\_\+num\mbox{]})
\begin{DoxyCompactList}\small\item\em Computes $ J_f^{T} \vec{s} $ of distance-\/based localization system. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Jacobian function of distance-\/based localization systems.
\begin{DoxyAuthor}{Author}
Zakaria Kasmi \href{mailto:zkasmi@inf.fu-berlin.de}{\texttt{ zkasmi@inf.\+fu-\/berlin.\+de}}
\end{DoxyAuthor}
\doxysubsection{Function Documentation}
\mbox{\Hypertarget{dist__based__jacobian_8c_a8f900ff7d66d260d3b2e3e0ef2757ccc}\label{dist__based__jacobian_8c_a8f900ff7d66d260d3b2e3e0ef2757ccc}}
\index{dist\_based\_jacobian.c@{dist\_based\_jacobian.c}!dist\_based\_jacobian\_get\_J@{dist\_based\_jacobian\_get\_J}}
\index{dist\_based\_jacobian\_get\_J@{dist\_based\_jacobian\_get\_J}!dist\_based\_jacobian.c@{dist\_based\_jacobian.c}}
\doxysubsubsection{\texorpdfstring{dist\_based\_jacobian\_get\_J()}{dist\_based\_jacobian\_get\_J()}}
{\footnotesize\ttfamily void dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+J (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{ref\+\_\+points\+\_\+num, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{point\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{ref\+\_\+point\+\_\+matrix\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{J\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]} }\end{DoxyParamCaption})}
Computes the Jacobian matrix of distance-\/based localization system.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em ref\+\_\+points\+\_\+num} & number of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em point\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the mobile device. \\
\hline
\mbox{\texttt{ in}} & {\em ref\+\_\+point\+\_\+matrix\mbox{[}$\,$\mbox{]}\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the reference stations. \\
\hline
\mbox{\texttt{ out}} & {\em J\mbox{[}$\,$\mbox{]}\mbox{[}$\,$\mbox{]}} & includes the Jacobian Matrix. \\
\hline
\end{DoxyParams}
Definition at line 100 of file dist\+\_\+based\+\_\+jacobian.\+c.
References matrix\+\_\+t.
\mbox{\Hypertarget{dist__based__jacobian_8c_a04231d3d216ce6814eb3e183f7a2e408}\label{dist__based__jacobian_8c_a04231d3d216ce6814eb3e183f7a2e408}}
\index{dist\_based\_jacobian.c@{dist\_based\_jacobian.c}!dist\_based\_jacobian\_get\_J\_mul\_s@{dist\_based\_jacobian\_get\_J\_mul\_s}}
\index{dist\_based\_jacobian\_get\_J\_mul\_s@{dist\_based\_jacobian\_get\_J\_mul\_s}!dist\_based\_jacobian.c@{dist\_based\_jacobian.c}}
\doxysubsubsection{\texorpdfstring{dist\_based\_jacobian\_get\_J\_mul\_s()}{dist\_based\_jacobian\_get\_J\_mul\_s()}}
{\footnotesize\ttfamily void dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+\+J\+\_\+mul\+\_\+s (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{ref\+\_\+points\+\_\+num, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{ref\+\_\+point\+\_\+matrix\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{point\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{s\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{J\+\_\+s\mbox{[}ref\+\_\+points\+\_\+num\mbox{]} }\end{DoxyParamCaption})}
Computes $ J_f^{T} \vec{s} $ of distance-\/based localization system.
Where $ J_f $ is the Jacobian matrix. This function is a part of derivatives to minimize the sum of square errors.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em ref\+\_\+points\+\_\+num} & number of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em ref\+\_\+point\+\_\+matrix\mbox{[}$\,$\mbox{]}\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em point\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the mobile device. \\
\hline
\mbox{\texttt{ in}} & {\em s\mbox{[}$\,$\mbox{]}} & correction vector. \\
\hline
\mbox{\texttt{ out}} & {\em J\+\_\+s\mbox{[}$\,$\mbox{]}} & includes the $ J_f^{T} \vec{s} $ vector. \\
\hline
\end{DoxyParams}
Definition at line 132 of file dist\+\_\+based\+\_\+jacobian.\+c.
References matrix\+\_\+t.
Referenced by multipath\+\_\+algo\+\_\+own\+\_\+norm\+\_\+distr\+\_\+test(), and position\+\_\+optimization\+\_\+test().
\mbox{\Hypertarget{dist__based__jacobian_8c_a769d35615d26a67b97bfd40b5d26a95c}\label{dist__based__jacobian_8c_a769d35615d26a67b97bfd40b5d26a95c}}
\index{dist\_based\_jacobian.c@{dist\_based\_jacobian.c}!dist\_based\_jacobian\_get\_JTf@{dist\_based\_jacobian\_get\_JTf}}
\index{dist\_based\_jacobian\_get\_JTf@{dist\_based\_jacobian\_get\_JTf}!dist\_based\_jacobian.c@{dist\_based\_jacobian.c}}
\doxysubsubsection{\texorpdfstring{dist\_based\_jacobian\_get\_JTf()}{dist\_based\_jacobian\_get\_JTf()}}
{\footnotesize\ttfamily void dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+\+J\+Tf (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{ref\+\_\+points\+\_\+num, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{ref\+\_\+point\+\_\+matrix\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{point\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{dist\+\_\+vec\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}, }\item[{\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}}}]{J\+Tf\mbox{[}3\mbox{]} }\end{DoxyParamCaption})}
Defines $ J_f^{T} \vec{f} $ of distance-\/based localization system.
Where $ J_f $ is the Jacobian matrix. This function is a part of derivatives to minimize the sum of square errors.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em ref\+\_\+points\+\_\+num} & number of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em ref\+\_\+point\+\_\+matrix\mbox{[}$\,$\mbox{]}\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em point\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the mobile device. \\
\hline
\mbox{\texttt{ in}} & {\em dist\+\_\+vec\mbox{[}$\,$\mbox{]}} & distances to the reference stations. \\
\hline
\mbox{\texttt{ in,out}} & {\em J\+Tf\mbox{[}$\,$\mbox{]}} & includes the $ J_f^{T} \vec{f} $ vector. \\
\hline
\end{DoxyParams}
Definition at line 28 of file dist\+\_\+based\+\_\+jacobian.\+c.
References dist\+\_\+based\+\_\+fi(), matrix\+\_\+t, and vector\+\_\+clear().
Referenced by multipath\+\_\+algo\+\_\+own\+\_\+norm\+\_\+distr\+\_\+test(), and position\+\_\+optimization\+\_\+test().
\mbox{\Hypertarget{dist__based__jacobian_8c_a59b1a3323c2896ff28f71135af0204a2}\label{dist__based__jacobian_8c_a59b1a3323c2896ff28f71135af0204a2}}
\index{dist\_based\_jacobian.c@{dist\_based\_jacobian.c}!dist\_based\_jacobian\_get\_JTJ@{dist\_based\_jacobian\_get\_JTJ}}
\index{dist\_based\_jacobian\_get\_JTJ@{dist\_based\_jacobian\_get\_JTJ}!dist\_based\_jacobian.c@{dist\_based\_jacobian.c}}
\doxysubsubsection{\texorpdfstring{dist\_based\_jacobian\_get\_JTJ()}{dist\_based\_jacobian\_get\_JTJ()}}
{\footnotesize\ttfamily void dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+\+J\+TJ (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{ref\+\_\+points\+\_\+num, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{ref\+\_\+point\+\_\+matrix\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{point\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{dist\+\_\+vec\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{J\+TJ\mbox{[}3\mbox{]}\mbox{[}3\mbox{]} }\end{DoxyParamCaption})}
Defines $ J_f^{T} J_{f} $ of distance-\/based localization system.
Where $ J_f $ is the Jacobian matrix. This function is a part of derivatives to minimize the sum of square errors.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em ref\+\_\+points\+\_\+num} & number of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em ref\+\_\+point\+\_\+matrix\mbox{[}$\,$\mbox{]}\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em point\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the mobile device. \\
\hline
\mbox{\texttt{ in}} & {\em dist\+\_\+vec\mbox{[}$\,$\mbox{]}\mbox{[}$\,$\mbox{]}} & distances to the reference stations. \\
\hline
\mbox{\texttt{ out}} & {\em J\+T\+J\mbox{[}$\,$\mbox{]}\mbox{[}$\,$\mbox{]}} & includes the $ J_f^{T} J_{f} $ matrix. \\
\hline
\end{DoxyParams}
Definition at line 56 of file dist\+\_\+based\+\_\+jacobian.\+c.
References dist\+\_\+based\+\_\+fi(), matrix\+\_\+clear(), and matrix\+\_\+t.
Referenced by multipath\+\_\+algo\+\_\+own\+\_\+norm\+\_\+distr\+\_\+test(), and position\+\_\+optimization\+\_\+test().
\hypertarget{dist__based__jacobian_8h}{}\doxysection{dist\+\_\+based\+\_\+jacobian.\+h File Reference}
\label{dist__based__jacobian_8h}\index{dist\_based\_jacobian.h@{dist\_based\_jacobian.h}}
Jacobian function of distance-\/based localization systems.
{\ttfamily \#include \char`\"{}matrix.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}vector.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item
void \mbox{\hyperlink{dist__based__jacobian_8h_a769d35615d26a67b97bfd40b5d26a95c}{dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+\+J\+Tf}} (uint8\+\_\+t ref\+\_\+points\+\_\+num, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} ref\+\_\+point\+\_\+matrix\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} point\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} dist\+\_\+vec\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}, \mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}} J\+Tf\mbox{[}3\mbox{]})
\begin{DoxyCompactList}\small\item\em Defines $ J_f^{T} \vec{f} $ of distance-\/based localization system. \end{DoxyCompactList}\item
void \mbox{\hyperlink{dist__based__jacobian_8h_a59b1a3323c2896ff28f71135af0204a2}{dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+\+J\+TJ}} (uint8\+\_\+t ref\+\_\+points\+\_\+num, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} ref\+\_\+point\+\_\+matrix\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} point\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} dist\+\_\+vec\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} J\+TJ\mbox{[}3\mbox{]}\mbox{[}3\mbox{]})
\begin{DoxyCompactList}\small\item\em Defines $ J_f^{T} J_{f} $ of distance-\/based localization system. \end{DoxyCompactList}\item
void \mbox{\hyperlink{dist__based__jacobian_8h_a04231d3d216ce6814eb3e183f7a2e408}{dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+\+J\+\_\+mul\+\_\+s}} (uint8\+\_\+t ref\+\_\+points\+\_\+num, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} ref\+\_\+point\+\_\+matrix\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} point\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} s\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} J\+\_\+s\mbox{[}ref\+\_\+points\+\_\+num\mbox{]})
\begin{DoxyCompactList}\small\item\em Computes $ J_f^{T} \vec{s} $ of distance-\/based localization system. \end{DoxyCompactList}\item
void \mbox{\hyperlink{dist__based__jacobian_8h_a8f900ff7d66d260d3b2e3e0ef2757ccc}{dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+J}} (uint8\+\_\+t ref\+\_\+points\+\_\+num, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} point\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} ref\+\_\+point\+\_\+matrix\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} J\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]})
\begin{DoxyCompactList}\small\item\em Computes the Jacobian matrix of distance-\/based localization system. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Jacobian function of distance-\/based localization systems.
\begin{DoxyAuthor}{Author}
Zakaria Kasmi \href{mailto:zkasmi@inf.fu-berlin.de}{\texttt{ zkasmi@inf.\+fu-\/berlin.\+de}}
\end{DoxyAuthor}
\doxysubsection{Function Documentation}
\mbox{\Hypertarget{dist__based__jacobian_8h_a8f900ff7d66d260d3b2e3e0ef2757ccc}\label{dist__based__jacobian_8h_a8f900ff7d66d260d3b2e3e0ef2757ccc}}
\index{dist\_based\_jacobian.h@{dist\_based\_jacobian.h}!dist\_based\_jacobian\_get\_J@{dist\_based\_jacobian\_get\_J}}
\index{dist\_based\_jacobian\_get\_J@{dist\_based\_jacobian\_get\_J}!dist\_based\_jacobian.h@{dist\_based\_jacobian.h}}
\doxysubsubsection{\texorpdfstring{dist\_based\_jacobian\_get\_J()}{dist\_based\_jacobian\_get\_J()}}
{\footnotesize\ttfamily void dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+J (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{ref\+\_\+points\+\_\+num, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{point\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{ref\+\_\+point\+\_\+matrix\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{J\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]} }\end{DoxyParamCaption})}
Computes the Jacobian matrix of distance-\/based localization system.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em ref\+\_\+points\+\_\+num} & number of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em point\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the mobile device. \\
\hline
\mbox{\texttt{ in}} & {\em ref\+\_\+point\+\_\+matrix\mbox{[}$\,$\mbox{]}\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the reference stations. \\
\hline
\mbox{\texttt{ out}} & {\em J\mbox{[}$\,$\mbox{]}\mbox{[}$\,$\mbox{]}} & includes the Jacobian Matrix. \\
\hline
\end{DoxyParams}
Definition at line 100 of file dist\+\_\+based\+\_\+jacobian.\+c.
References matrix\+\_\+t.
\mbox{\Hypertarget{dist__based__jacobian_8h_a04231d3d216ce6814eb3e183f7a2e408}\label{dist__based__jacobian_8h_a04231d3d216ce6814eb3e183f7a2e408}}
\index{dist\_based\_jacobian.h@{dist\_based\_jacobian.h}!dist\_based\_jacobian\_get\_J\_mul\_s@{dist\_based\_jacobian\_get\_J\_mul\_s}}
\index{dist\_based\_jacobian\_get\_J\_mul\_s@{dist\_based\_jacobian\_get\_J\_mul\_s}!dist\_based\_jacobian.h@{dist\_based\_jacobian.h}}
\doxysubsubsection{\texorpdfstring{dist\_based\_jacobian\_get\_J\_mul\_s()}{dist\_based\_jacobian\_get\_J\_mul\_s()}}
{\footnotesize\ttfamily void dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+\+J\+\_\+mul\+\_\+s (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{ref\+\_\+points\+\_\+num, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{ref\+\_\+point\+\_\+matrix\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{point\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{s\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{J\+\_\+s\mbox{[}ref\+\_\+points\+\_\+num\mbox{]} }\end{DoxyParamCaption})}
Computes $ J_f^{T} \vec{s} $ of distance-\/based localization system.
Where $ J_f $ is the Jacobian matrix. This function is a part of derivatives to minimize the sum of square errors.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em ref\+\_\+points\+\_\+num} & number of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em ref\+\_\+point\+\_\+matrix\mbox{[}$\,$\mbox{]}\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em point\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the mobile device. \\
\hline
\mbox{\texttt{ in}} & {\em s\mbox{[}$\,$\mbox{]}} & correction vector. \\
\hline
\mbox{\texttt{ out}} & {\em J\+\_\+s\mbox{[}$\,$\mbox{]}} & includes the $ J_f^{T} \vec{s} $ vector. \\
\hline
\end{DoxyParams}
Definition at line 132 of file dist\+\_\+based\+\_\+jacobian.\+c.
References matrix\+\_\+t.
Referenced by multipath\+\_\+algo\+\_\+own\+\_\+norm\+\_\+distr\+\_\+test(), and position\+\_\+optimization\+\_\+test().
\mbox{\Hypertarget{dist__based__jacobian_8h_a769d35615d26a67b97bfd40b5d26a95c}\label{dist__based__jacobian_8h_a769d35615d26a67b97bfd40b5d26a95c}}
\index{dist\_based\_jacobian.h@{dist\_based\_jacobian.h}!dist\_based\_jacobian\_get\_JTf@{dist\_based\_jacobian\_get\_JTf}}
\index{dist\_based\_jacobian\_get\_JTf@{dist\_based\_jacobian\_get\_JTf}!dist\_based\_jacobian.h@{dist\_based\_jacobian.h}}
\doxysubsubsection{\texorpdfstring{dist\_based\_jacobian\_get\_JTf()}{dist\_based\_jacobian\_get\_JTf()}}
{\footnotesize\ttfamily void dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+\+J\+Tf (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{ref\+\_\+points\+\_\+num, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{ref\+\_\+point\+\_\+matrix\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{point\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{dist\+\_\+vec\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}, }\item[{\mbox{\hyperlink{vector_8h_acb41430bc5720dda7d1c45d91a0b0221}{vector\+\_\+t}}}]{J\+Tf\mbox{[}3\mbox{]} }\end{DoxyParamCaption})}
Defines $ J_f^{T} \vec{f} $ of distance-\/based localization system.
Where $ J_f $ is the Jacobian matrix. This function is a part of derivatives to minimize the sum of square errors.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em ref\+\_\+points\+\_\+num} & number of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em ref\+\_\+point\+\_\+matrix\mbox{[}$\,$\mbox{]}\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em point\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the mobile device. \\
\hline
\mbox{\texttt{ in}} & {\em dist\+\_\+vec\mbox{[}$\,$\mbox{]}} & distances to the reference stations. \\
\hline
\mbox{\texttt{ in,out}} & {\em J\+Tf\mbox{[}$\,$\mbox{]}} & includes the $ J_f^{T} \vec{f} $ vector. \\
\hline
\end{DoxyParams}
Definition at line 28 of file dist\+\_\+based\+\_\+jacobian.\+c.
References dist\+\_\+based\+\_\+fi(), matrix\+\_\+t, and vector\+\_\+clear().
Referenced by multipath\+\_\+algo\+\_\+own\+\_\+norm\+\_\+distr\+\_\+test(), and position\+\_\+optimization\+\_\+test().
\mbox{\Hypertarget{dist__based__jacobian_8h_a59b1a3323c2896ff28f71135af0204a2}\label{dist__based__jacobian_8h_a59b1a3323c2896ff28f71135af0204a2}}
\index{dist\_based\_jacobian.h@{dist\_based\_jacobian.h}!dist\_based\_jacobian\_get\_JTJ@{dist\_based\_jacobian\_get\_JTJ}}
\index{dist\_based\_jacobian\_get\_JTJ@{dist\_based\_jacobian\_get\_JTJ}!dist\_based\_jacobian.h@{dist\_based\_jacobian.h}}
\doxysubsubsection{\texorpdfstring{dist\_based\_jacobian\_get\_JTJ()}{dist\_based\_jacobian\_get\_JTJ()}}
{\footnotesize\ttfamily void dist\+\_\+based\+\_\+jacobian\+\_\+get\+\_\+\+J\+TJ (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{ref\+\_\+points\+\_\+num, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{ref\+\_\+point\+\_\+matrix\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{point\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{dist\+\_\+vec\mbox{[}ref\+\_\+points\+\_\+num\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{J\+TJ\mbox{[}3\mbox{]}\mbox{[}3\mbox{]} }\end{DoxyParamCaption})}
Defines $ J_f^{T} J_{f} $ of distance-\/based localization system.
Where $ J_f $ is the Jacobian matrix. This function is a part of derivatives to minimize the sum of square errors.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em ref\+\_\+points\+\_\+num} & number of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em ref\+\_\+point\+\_\+matrix\mbox{[}$\,$\mbox{]}\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em point\mbox{[}$\,$\mbox{]}} & three-\/dimensional coordinates of the mobile device. \\
\hline
\mbox{\texttt{ in}} & {\em dist\+\_\+vec\mbox{[}$\,$\mbox{]}\mbox{[}$\,$\mbox{]}} & distances to the reference stations. \\
\hline
\mbox{\texttt{ out}} & {\em J\+T\+J\mbox{[}$\,$\mbox{]}\mbox{[}$\,$\mbox{]}} & includes the $ J_f^{T} J_{f} $ matrix. \\
\hline
\end{DoxyParams}
Definition at line 56 of file dist\+\_\+based\+\_\+jacobian.\+c.
References dist\+\_\+based\+\_\+fi(), matrix\+\_\+clear(), and matrix\+\_\+t.
Referenced by multipath\+\_\+algo\+\_\+own\+\_\+norm\+\_\+distr\+\_\+test(), and position\+\_\+optimization\+\_\+test().
\hypertarget{dist__based__position_8c}{}\doxysection{dist\+\_\+based\+\_\+position.\+c File Reference}
\label{dist__based__position_8c}\index{dist\_based\_position.c@{dist\_based\_position.c}}
Functions of distance-\/based localization systems.
{\ttfamily \#include \char`\"{}dist\+\_\+based\+\_\+position.\+h\char`\"{}}\newline
{\ttfamily \#include $<$math.\+h$>$}\newline
{\ttfamily \#include \char`\"{}matrix.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}vector.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item
void \mbox{\hyperlink{dist__based__position_8c_a308f40001270af6663e2b1f9aff47cc3}{dist\+\_\+based\+\_\+get\+\_\+absolute\+\_\+error}} (\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} value\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} approx\+\_\+value\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} absolute\+\_\+error\+\_\+arr\mbox{[}$\,$\mbox{]}, uint8\+\_\+t length)
\begin{DoxyCompactList}\small\item\em Computes the absolute error of a position of a distance-\/based localization system. \end{DoxyCompactList}\item
\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} \mbox{\hyperlink{dist__based__position_8c_a756c1407a4ba61d312a676ffd824517d}{dist\+\_\+based\+\_\+get\+\_\+distance\+\_\+to\+\_\+anchor}} (\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} ref\+\_\+point\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} point\mbox{[}3\mbox{]})
\begin{DoxyCompactList}\small\item\em Computes the distance between a mobile station and a reference station of a distance-\/based localization system. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Functions of distance-\/based localization systems.
\begin{DoxyAuthor}{Author}
Zakaria Kasmi \href{mailto:zkasmi@inf.fu-berlin.de}{\texttt{ zkasmi@inf.\+fu-\/berlin.\+de}}
\end{DoxyAuthor}
\doxysubsection{Function Documentation}
\mbox{\Hypertarget{dist__based__position_8c_a308f40001270af6663e2b1f9aff47cc3}\label{dist__based__position_8c_a308f40001270af6663e2b1f9aff47cc3}}
\index{dist\_based\_position.c@{dist\_based\_position.c}!dist\_based\_get\_absolute\_error@{dist\_based\_get\_absolute\_error}}
\index{dist\_based\_get\_absolute\_error@{dist\_based\_get\_absolute\_error}!dist\_based\_position.c@{dist\_based\_position.c}}
\doxysubsubsection{\texorpdfstring{dist\_based\_get\_absolute\_error()}{dist\_based\_get\_absolute\_error()}}
{\footnotesize\ttfamily void dist\+\_\+based\+\_\+get\+\_\+absolute\+\_\+error (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{value\+\_\+arr\mbox{[}$\,$\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{approx\+\_\+value\+\_\+arr\mbox{[}$\,$\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{absolute\+\_\+error\+\_\+arr\mbox{[}$\,$\mbox{]}, }\item[{uint8\+\_\+t}]{length }\end{DoxyParamCaption})}
Computes the absolute error of a position of a distance-\/based localization system.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em value\+\_\+arr\mbox{[}$\,$\mbox{]}} & true position. \\
\hline
\mbox{\texttt{ in}} & {\em approx\+\_\+value\+\_\+arr\mbox{[}$\,$\mbox{]}} & approximate position of the mobile device. \\
\hline
\mbox{\texttt{ in,out}} & {\em absolute\+\_\+error\+\_\+arr\mbox{[}$\,$\mbox{]}} & includes the absolute error. \\
\hline
\mbox{\texttt{ in}} & {\em length} & arrays length. \\
\hline
\end{DoxyParams}
Definition at line 29 of file dist\+\_\+based\+\_\+position.\+c.
\mbox{\Hypertarget{dist__based__position_8c_a756c1407a4ba61d312a676ffd824517d}\label{dist__based__position_8c_a756c1407a4ba61d312a676ffd824517d}}
\index{dist\_based\_position.c@{dist\_based\_position.c}!dist\_based\_get\_distance\_to\_anchor@{dist\_based\_get\_distance\_to\_anchor}}
\index{dist\_based\_get\_distance\_to\_anchor@{dist\_based\_get\_distance\_to\_anchor}!dist\_based\_position.c@{dist\_based\_position.c}}
\doxysubsubsection{\texorpdfstring{dist\_based\_get\_distance\_to\_anchor()}{dist\_based\_get\_distance\_to\_anchor()}}
{\footnotesize\ttfamily \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} dist\+\_\+based\+\_\+get\+\_\+distance\+\_\+to\+\_\+anchor (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{ref\+\_\+point\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{point\mbox{[}3\mbox{]} }\end{DoxyParamCaption})}
Computes the distance between a mobile station and a reference station of a distance-\/based localization system.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em ref\+\_\+point} & three-\/dimensional coordinates of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em point} & three-\/dimensional coordinates of the mobile device.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the distance between the mobile station and the reference station.
\end{DoxyReturn}
Definition at line 45 of file dist\+\_\+based\+\_\+position.\+c.
References matrix\+\_\+t, vector\+\_\+get\+\_\+norm2(), and vector\+\_\+sub().
\hypertarget{dist__based__position_8h}{}\doxysection{dist\+\_\+based\+\_\+position.\+h File Reference}
\label{dist__based__position_8h}\index{dist\_based\_position.h@{dist\_based\_position.h}}
Functions of distance-\/based localization systems.
{\ttfamily \#include $<$math.\+h$>$}\newline
{\ttfamily \#include $<$inttypes.\+h$>$}\newline
{\ttfamily \#include \char`\"{}matrix.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item
void \mbox{\hyperlink{dist__based__position_8h_a308f40001270af6663e2b1f9aff47cc3}{dist\+\_\+based\+\_\+get\+\_\+absolute\+\_\+error}} (\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} value\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} approx\+\_\+value\+\_\+arr\mbox{[}$\,$\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} absolute\+\_\+error\+\_\+arr\mbox{[}$\,$\mbox{]}, uint8\+\_\+t length)
\begin{DoxyCompactList}\small\item\em Computes the absolute error of a position of a distance-\/based localization system. \end{DoxyCompactList}\item
\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} \mbox{\hyperlink{dist__based__position_8h_a756c1407a4ba61d312a676ffd824517d}{dist\+\_\+based\+\_\+get\+\_\+distance\+\_\+to\+\_\+anchor}} (\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} ref\+\_\+point\mbox{[}3\mbox{]}, \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} point\mbox{[}3\mbox{]})
\begin{DoxyCompactList}\small\item\em Computes the distance between a mobile station and a reference station of a distance-\/based localization system. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Functions of distance-\/based localization systems.
\begin{DoxyAuthor}{Author}
Zakaria Kasmi \href{mailto:zkasmi@inf.fu-berlin.de}{\texttt{ zkasmi@inf.\+fu-\/berlin.\+de}}
\end{DoxyAuthor}
\doxysubsection{Function Documentation}
\mbox{\Hypertarget{dist__based__position_8h_a308f40001270af6663e2b1f9aff47cc3}\label{dist__based__position_8h_a308f40001270af6663e2b1f9aff47cc3}}
\index{dist\_based\_position.h@{dist\_based\_position.h}!dist\_based\_get\_absolute\_error@{dist\_based\_get\_absolute\_error}}
\index{dist\_based\_get\_absolute\_error@{dist\_based\_get\_absolute\_error}!dist\_based\_position.h@{dist\_based\_position.h}}
\doxysubsubsection{\texorpdfstring{dist\_based\_get\_absolute\_error()}{dist\_based\_get\_absolute\_error()}}
{\footnotesize\ttfamily void dist\+\_\+based\+\_\+get\+\_\+absolute\+\_\+error (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{value\+\_\+arr\mbox{[}$\,$\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{approx\+\_\+value\+\_\+arr\mbox{[}$\,$\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{absolute\+\_\+error\+\_\+arr\mbox{[}$\,$\mbox{]}, }\item[{uint8\+\_\+t}]{length }\end{DoxyParamCaption})}
Computes the absolute error of a position of a distance-\/based localization system.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em value\+\_\+arr\mbox{[}$\,$\mbox{]}} & true position. \\
\hline
\mbox{\texttt{ in}} & {\em approx\+\_\+value\+\_\+arr\mbox{[}$\,$\mbox{]}} & approximate position of the mobile device. \\
\hline
\mbox{\texttt{ in,out}} & {\em absolute\+\_\+error\+\_\+arr\mbox{[}$\,$\mbox{]}} & includes the absolute error. \\
\hline
\mbox{\texttt{ in}} & {\em length} & arrays length. \\
\hline
\end{DoxyParams}
Definition at line 29 of file dist\+\_\+based\+\_\+position.\+c.
\mbox{\Hypertarget{dist__based__position_8h_a756c1407a4ba61d312a676ffd824517d}\label{dist__based__position_8h_a756c1407a4ba61d312a676ffd824517d}}
\index{dist\_based\_position.h@{dist\_based\_position.h}!dist\_based\_get\_distance\_to\_anchor@{dist\_based\_get\_distance\_to\_anchor}}
\index{dist\_based\_get\_distance\_to\_anchor@{dist\_based\_get\_distance\_to\_anchor}!dist\_based\_position.h@{dist\_based\_position.h}}
\doxysubsubsection{\texorpdfstring{dist\_based\_get\_distance\_to\_anchor()}{dist\_based\_get\_distance\_to\_anchor()}}
{\footnotesize\ttfamily \mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}} dist\+\_\+based\+\_\+get\+\_\+distance\+\_\+to\+\_\+anchor (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{ref\+\_\+point\mbox{[}3\mbox{]}, }\item[{\mbox{\hyperlink{matrix_8h_af38ac6b76d645fea9abd6caeb4d9dd31}{matrix\+\_\+t}}}]{point\mbox{[}3\mbox{]} }\end{DoxyParamCaption})}
Computes the distance between a mobile station and a reference station of a distance-\/based localization system.
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}} & {\em ref\+\_\+point} & three-\/dimensional coordinates of the reference stations. \\
\hline
\mbox{\texttt{ in}} & {\em point} & three-\/dimensional coordinates of the mobile device.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the distance between the mobile station and the reference station.
\end{DoxyReturn}
Definition at line 45 of file dist\+\_\+based\+\_\+position.\+c.
References matrix\+\_\+t, vector\+\_\+get\+\_\+norm2(), and vector\+\_\+sub().
\hypertarget{distance__based__test_8c}{}\doxysection{distance\+\_\+based\+\_\+test.\+c File Reference}
\label{distance__based__test_8c}\index{distance\_based\_test.c@{distance\_based\_test.c}}
Examples of localization algorithms of distance-\/based positioning systems.
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include \char`\"{}trilateration.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}matrix.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}vector.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}dist\+\_\+based\+\_\+position.\+h\char`\"{}}\newline
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item
void \mbox{\hyperlink{distance__based__test_8c_a3a6d73a022976728a5a298ba62d8e115}{distance\+\_\+based\+\_\+test}} (void)
\begin{DoxyCompactList}\small\item\em Example of a distance-\/based localization system. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Examples of localization algorithms of distance-\/based positioning systems.
Localization algorithms examples using distance measures (see the \mbox{\hyperlink{dist__based__position_8h}{methods of distance-\/based}} localization systems).
\begin{DoxyAuthor}{Author}
Zakaria Kasmi \href{mailto:zkasmi@inf.fu-berlin.de}{\texttt{ zkasmi@inf.\+fu-\/berlin.\+de}}
Abdelmoumen Norrdine \href{mailto:a.norrdine@googlemail.com}{\texttt{ a.\+norrdine@googlemail.\+com}}
\end{DoxyAuthor}
\doxysubsection{Function Documentation}
\mbox{\Hypertarget{distance__based__test_8c_a3a6d73a022976728a5a298ba62d8e115}\label{distance__based__test_8c_a3a6d73a022976728a5a298ba62d8e115}}
\index{distance\_based\_test.c@{distance\_based\_test.c}!distance\_based\_test@{distance\_based\_test}}
\index{distance\_based\_test@{distance\_based\_test}!distance\_based\_test.c@{distance\_based\_test.c}}
\doxysubsubsection{\texorpdfstring{distance\_based\_test()}{distance\_based\_test()}}
{\footnotesize\ttfamily void distance\+\_\+based\+\_\+test (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}
Example of a distance-\/based localization system.
This example shows how to use the trilateration algorithm, whereby an estimated position is calculated based on the distance measurements.
Definition at line 32 of file distance\+\_\+based\+\_\+test.\+c.
References matrix\+\_\+t, trilateration2(), and vector\+\_\+flex\+\_\+print().
\hypertarget{distance__based__test_8h}{}\doxysection{distance\+\_\+based\+\_\+test.\+h File Reference}
\label{distance__based__test_8h}\index{distance\_based\_test.h@{distance\_based\_test.h}}
Examples of localization algorithms of distance-\/based positioning systems.
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item
void \mbox{\hyperlink{distance__based__test_8h_a3a6d73a022976728a5a298ba62d8e115}{distance\+\_\+based\+\_\+test}} (void)
\begin{DoxyCompactList}\small\item\em Example of a distance-\/based localization system. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Detailed Description}
Examples of localization algorithms of distance-\/based positioning systems.
Localization algorithms examples using distance measures (see the \mbox{\hyperlink{dist__based__position_8h}{methods of distance-\/based}} localization systems).
\begin{DoxyAuthor}{Author}
Zakaria Kasmi \href{mailto:zkasmi@inf.fu-berlin.de}{\texttt{ zkasmi@inf.\+fu-\/berlin.\+de}}
Abdelmoumen Norrdine \href{mailto:a.norrdine@googlemail.com}{\texttt{ a.\+norrdine@googlemail.\+com}}
\end{DoxyAuthor}
\doxysubsection{Function Documentation}
\mbox{\Hypertarget{distance__based__test_8h_a3a6d73a022976728a5a298ba62d8e115}\label{distance__based__test_8h_a3a6d73a022976728a5a298ba62d8e115}}
\index{distance\_based\_test.h@{distance\_based\_test.h}!distance\_based\_test@{distance\_based\_test}}
\index{distance\_based\_test@{distance\_based\_test}!distance\_based\_test.h@{distance\_based\_test.h}}
\doxysubsubsection{\texorpdfstring{distance\_based\_test()}{distance\_based\_test()}}
{\footnotesize\ttfamily void distance\+\_\+based\+\_\+test (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}
Example of a distance-\/based localization system.
This example shows how to use the trilateration algorithm, whereby an estimated position is calculated based on the distance measurements.
Definition at line 32 of file distance\+\_\+based\+\_\+test.\+c.
References matrix\+\_\+t, trilateration2(), and vector\+\_\+flex\+\_\+print().
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment