2015-04-14 45 views
1

我有SIGI中的10个WCDMA复数采样帧,其中有扰码--MIMO Gold代码(1,1)和“sc”是变量。 np.correlate()在下面的代码中给出了干净的相关尖峰,但它非常缓慢。尝试在相同的代码中使用fftconvolve(),它检测到没有出现尖峰。 fftconvolve()速度很快,想让它工作。请告诉我为什么它不起作用?np.correlate()和signal.fftconvolve()给出了不同的答案

mat=scipy.io.loadmat('011.mat') 
SCR=mat['sc'] 
O1 = np.correlate(SigI,SCR,mode='valid') 
# O1=signal.fftconvolve(SigI,SCR,mode='valid') 
plot(abs(O1)) 
CC=max(abs(O1))  
print ' Max Peak = ', CC 

回答

2

找到答案。如果使用SCR的共轭,那么np.correlation()和signal.fftconvolve()都会给出相同的答案。但不理解的原因,但??

SCR=np.conjugate(SCR[0,:])  
O1=signal.fftconvolve(SigI,SCR[::-1],mode='valid') 

给出了相同的答案:

SCR=SCR[0,:] 
O1=np.correlate(SigI,SCR,mode='valid') 

至少,我的问题解决了。

+0

因为相关性和卷积不是一回事。通过其中一个输入的共轭与相关性和卷积之间的关系是标准的数学性质。不过,这个问题可能会在信号处理网站上得到更好的解决。 – orodbhen

相关问题