def corrmtx(x,m):
"""
from https://github.com/cokelaer/spectrum/
like matlab corrmtx(x,'mod'), with a different normalization factor.
"""
x = np.asarray(x, dtype=float)
assert x.ndim == 1, '1-D only'
N = x.size
Tp = toeplitz(x[m:N], x[m::-1])
C = np.zeros((2*(N-m), m+1), dtype=x.dtype)
for i in range(0, N-m):
C[i] = Tp[i]
Tp = np.fliplr(Tp.conj())
for i in range(N-m, 2*(N-m)):
C[i] = Tp[i-N+m]
return C
评论列表
文章目录