From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

sets

Member

07-01-2013 02:02 AM - edited 07-01-2013 02:05 AM

Options

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator

Kindly review this post with refrence to the attached pdf and see section III time delay estimation. I have actually implemented mathematical equations in labview to estimate time delay.I am constructing a signal and making a delyed version of it.But I am unable to find same time delay at the output.The input time delay and estimated time delay should be same.

Download All

Virus scan in progress. Please wait to download attachments.

Prickly_Pear

NI Employee (retired)

07-02-2013 11:39 AM - edited 07-02-2013 11:40 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator

I've been studying this VI for a few hours now and I have noticed a couple of problems. First is that you are using the numeric multiply function to calculate the correlation matrix when, I believe, that you want to use the AXB Matrix multiply function found in Mathematics > Linear Algebra. I tried it out and I believe that it solved one problem, but there is still something else keeping the VI from working correctly.

Also, I noticed that the in order to calculate the Delay in Sample (O/P) you use the index of the maximum value after the FFT. Because there are only 2 indices in that vector, the delay can only have the values of 0 or 1. This is obviously a problem because you would like for the value to reach 25. There must be something wrong with how you have set that part up.

I've been going over the math along with your code and I believe that everything looks good until you get up to the part where you find the arg max of the Rxx vector. The mathematics is very complicated and I'm not sure exactly how you would want to program that part. All that I know is that it appears that that portion is incorrect. Would you be willing to look over that part and make sure that you are calculating the arg max correctly?

Good luck!

Jeremy P.

Applications Engineer

National Instruments

National Instruments

07-03-2013 03:32 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator

with refrence to u r statement (I've been going over the math along with your code and I believe that everything looks good until you get up to the part where you find the arg max of the Rxx vector).Actually I am not finding any argument from Rxx.I feel Rxx is correct because it must be square.Since I have two signals, the size is 2x2 which is right.2ndly If u see the mathemetical expression/equation No.4 in section-III in the paper, I think it is not that complicated as it is just averaged version of my implementation of Rxx i-e Rxx=E[x(f)f.{hermitian of x(f)}].

Apart from the statement (Because there are only 2 indices in that vector, the delay can only have the values of 0 or 1) u r quite right and this is the thing which is bothering me most.Consider my Rxx is right, then refrence to the my calculated Rxx, the steps followed up to equation 5 is right, u can see the outputs at the front pannel.Till eq 5, everything is in freq domain and I am then implementing eq 7 which is inverse FFT.So i thing implementation between equation 4 and 6 is correct, we just need to look at section Before Rxx and verifying Rxx.Then we have to look at the end section which is after calculating principle component vector V1(wf) eq 5.The point is that I am delaying a signals in samples which is known to me and at the output time delay must comes in samples which must equal the input delayed samples.Hope what I am trying to execute.I am attaching a VI which is quite similar interms of my requirement for time delay estimation.See the attachement to let u know my requirement for it.May be we can skip FFT and inverse FFT based processing.

Download All

Virus scan in progress. Please wait to download attachments.

Prickly_Pear

NI Employee (retired)

07-03-2013 05:55 PM - edited 07-03-2013 06:14 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator

To me, Equation 8 seems to say that the time delay is equal to the arg max of the Rxx matrix. Is that right?

Also, could you educate me on how to find the strongest eigenvalue when the eigenvalues are complex? Right now the VI is set to find the maximum real value and if there are two with the same real value, then it will look for the one that has the highest imaginary number. Is that what you intended, or would you rather take the square root of the sum of the squares of the real and imaginary parts?

Jeremy P.

Applications Engineer

National Instruments

National Instruments

07-05-2013 02:23 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator

Mockingbird

Member

07-08-2013 12:49 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator

After looking at the paper and your VI, it feels like what you're doing is finding the strongest eigenvalue in order to get the strongest eigenvector. Looking at the paper however, it looks like equation 7 is saying that you need to find the generalized cross correlation function (Rxi,xj) between elements of the principal component vectors V1i and V1j over a range of frequencies. Once you get this function, you should be able to get the time delay sample by finding the peaks of Rxi,xj (what the paper refers to as the eigenstructure-based GCC or ES-GCC)

Gabriel M.

Product Marketing Engineer - Academic Courseware

National Instruments

Product Marketing Engineer - Academic Courseware

National Instruments

07-11-2013 12:59 AM - edited 07-11-2013 01:00 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator

Mockingbird

Member

07-12-2013 10:43 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report to a Moderator

Yes, it looks like to implement expression 7, you would need to integrate V1,i * V1,j * e^j(omega)(tau) over the frequencies, omega1 to omegaf, where omegaf is the frequency band after the Fourier transform and omega1 is the frequency band of the vector that you extracted from the matrix E1 in expression 6. I'm not exactly sure how you would go about doing that but I would suggest looking at the mathscript module.

Gabriel M.

Product Marketing Engineer - Academic Courseware

National Instruments

Product Marketing Engineer - Academic Courseware

National Instruments