我在SigI中有10帧WCDMA复杂样本,带有扰码 - Matlab Gold code(1,1)和" sc"是变量。 np.correlate()在下面的代码中给出了干净的相关峰值,但它非常慢。尝试在相同的代码中使用fftconvolve(),它检测不到尖峰。 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
答案 0 :(得分: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')
至少,我的问题已经解决了。