Solution to time offset vector equation?

  • Context: Undergrad 
  • Thread starter Thread starter Xuser
  • Start date Start date
  • Tags Tags
    Time Vector
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
3 replies · 2K views
Xuser
Messages
4
Reaction score
0
Hello math goers,

My education in linear algebra is limited to an Intro course I took a year ago. So I am posting this to see if such a solution exists in the first place, at least so I can start learning about it.

The problem is: solve A for equation
[tex]u(t) = A \cdot v(t+t_o)[/tex]

[tex]\left[ \begin{array}{c} u(t_1)\\ u(t_2)\\ \vdots\\ u(t_n) \end{array} \right]=\left[ \begin{array}{cccc} a_1 & a_2 & \cdots & a_n \end{array} \right] \cdot \left[ \begin{array}{c} v(t_1+t_o) \\ v(t_2+t_o) \\ \vdots \\ v(t_n+t_o) \end{array} \right][/tex]

Where [tex]t_o[/tex] is some known offset with respect to [tex]t[/tex] .

Essentially what these represent are two data signals [tex]v(t_v)[/tex] and [tex]u(t_u)[/tex], these two signals have some small time offset that I can calculate using a reference peak that both signals contain. However, getting A is not as simple as solving for A because the data is not continuous.

The "easy" way around this is to manually align every single value [tex]v(t_v)[/tex] with [tex]u(t_u)[/tex], but this is computationally expensive.

Any thoughts?
 
Last edited:
Physics news on Phys.org
Your notation looks a bit strange. The right hand side would be a scalar since it is the inner product of two vectors. On the other hand, the left side is a vector. Shouldn't A be a matrix?

Torquil
 
torquil said:
Your notation looks a bit strange. The right hand side would be a scalar since it is the inner product of two vectors. On the other hand, the left side is a vector. Shouldn't A be a matrix?

Torquil

Yes, sorry about that, it should look like:

[tex]\left[ \begin{array}{c} u(t_1)\\ u(t_2)\\ \vdots\\ u(t_n) \end{array} \right]=\left[ \begin{array}{c} a_1 \\ a_2 \\ \cdots \\ a_n \end{array} \right] \cdot \left[ \begin{array}{c} v(t_1+t_o) \\ v(t_2+t_o) \\ \vdots \\ v(t_n+t_o) \end{array} \right][/tex]

Where, [tex]a_n[/tex] is some scaling constant. For simplicity, I am just going to go ahead and let [tex]a_n=1;[/tex] for all n. So that the equation now is:

[tex]u(t) = v(t+t_o)[/tex]

Which I just realized isn't really an equation at all... my problem is a sampling problem. If I have some time vector
[tex]t=\left( \begin{array}{c}1\\ 2\\ 3\\ 4\\ 5\\ 6 \end{array}\right)[/tex]

and signal vectors, representing step function:
[tex]u=\left( \begin{array}{c} 0\\ 0\\ 0\\ 1\\ 1\\ 1\end{array}\right); \; v=\left( \begin{array}{c} 0\\ 2\\ 2\\ 2\\ 0\\ 0 \end{array}\right)[/tex]

Then [tex]t_o= -2[/tex], and [tex]a_n= \frac{u(t_n)}{v(t_n-2)}[/tex]
which happens to be equal to 2 or 0 in this case.

Because this is a discrete signal, whenever [tex]t_o[/tex] is larger than the length of the signal, this will not work. I think I need to insert "fake" points in the data vectors for this case.

Perhaps this thread belongs in the "Computing & Technology" forum?