Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

corralation two signals

michaels247
Beginner
380 Views
hello i have corralation of two complex signals each have diffrent length
i use ippsCrossCorr_32fc

the issue is that i dont recive same result as matlab
sig1 lenRecived
sig2 len1
xcorrsig=xcorr(sig1,sig2) ( length = 2*lenrecived-1)

in intel i use
xcorr = 2*lenRecived-1 since lenRecived>len1
and i use lag = -(lenRecived-1)

status = ippsCrossCorr_32fc(sigSigRecived,lenRecived , &sign[indD*N], N, &xcorrSig[indDlenRecived], 2*lenRecived-1 , lag);
i dont recive the same result , also i have very old matlab version before 10 years

i try to change the order of signals in corralation and try to see mirror of result still not the same
also i put two results at the maximal value and look to see if there is index problem but it isnt seem so ..
0 Kudos
1 Reply
michaels247
Beginner
380 Views
ok i have found the answer
in diffrent matlab version it is diffrent definition

xcor(a,b) =~ filter(conj(a(end:-1:1)),b)
in other matlab versions it might be
filter(a,b)
but only part of correlation is the same arround maximum
so in intel ipp i suppose first vesrion should be invers order of signal and make conjugate
0 Kudos
Reply