Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Lingzi_P_
Beginner
82 Views

complex auto correlation using MKL

I am trying to use MKL for autocorrelation of complex vectors XX:

        complex(kind=4),allocatable,dimension(:) :: XX, CXX

        COMPLEX(kind=4),allocatable,dimension(:) :: CRXX

         .......

        !     Do the 1 dimensional complex autocorrelation.
        status = vslccorrnewtask1d(task, VSL_CORR_MODE_FFT, NZONE, NZONE, NZONE)
        status = vslccorrexec1d(task, XX, 1, XX, 1, CRXX, 1)

 

I have a very naive implementation of auto correlation with complex numbers which I used to verify the result of MKL's implementation. And it suggest that the result is incorrect. The only way I can make it work is to pass conjugate of XX instead of XX as the second input vector. This doesn't make too much sense to me and also the result seems to be scaled by 2.

 

Appreciate if some one can point out what I have done wrong in the above code and how can I get correct result?

Regards,

0 Kudos
1 Reply
Gennady_F_Intel
Moderator
82 Views

we would recommend you have a look at the vslcCorrExec1D  example - vslccorrexec1d.f ( mklroot\examples\vslf\source directory) which shows how properly call this function

Reply