AnsweredAssumed Answered

Cross Correlation with VSA80000A

Question asked by bwaslo on Oct 4, 2007
Latest reply on Oct 8, 2007 by DaveHornbeck
I'm working with a 4GHz VSA80000A and have tried to do some math functions to operate on two input channels.  One channel carries a bandlimited (but wide), delayed version of the other. If I use the built-in CrossCorrelation, all works fine and as expected.

But if I make my own math correlation function, such as:

ifft(fft(Data('Raw Main Time 2'))*conj(fft(Data('Raw Main Time 1'))))

I get a ratty looking result or in some cases a crash of the VSA.

If I use any windowing function at all (Hann or Gauss) on the data before the FFTs, I get no data result at all (just a line at 0).

Worse, if I play with the math function much at all, such as using "Main Time 1" instead of "Raw Main Time 1", the VSA crashes and I have to start it up again, sometimes having to reboot the machine to get it to recognize the hardware again.  The crash very often happens about a second after I hit the Math "Check Syntax" button.  Other times it happens when I try to use a checked (and verified syntax) function.

I also tried to do a deconvolution of one channel versus the other, and the result I get is quite different from what I would have expected (it doesn't much resemble an impulse and varies quite a bit with every sweep).

So my most pressing question is:  what formula does the built-in Convolution function use (the one found from the "Trace->Data->ChX:->CrossCorrel" menu)? 
And my second is:  is there a fix for the math entry crashing issue?  I'm not having much luck with the user-defined math setup at all, either with the user interface or with the operation of the functions.

And while I'm asking questions, what exactly is the difference between "Raw Main Time 1" and "Main Time 1"? I couldn't find these terms defined in the Help files.