Có thể thực hiện tương quan chéo/tự động tương quan trên mảng 1D với chức năng numpy/scipy/matplotlib không? Tôi đã nhìn vào numpy.correlate() và matplotlib.pyplot.xcorr (dựa trên hàm numpy), và cả hai dường như không thể làm tương quan chéo tròn.python tương quan chéo tròn
Để minh họa sự khác biệt, tôi sẽ sử dụng ví dụ về một mảng [1, 2, 3, 4]. Với sự tương quan tròn, một giả định định kỳ được thực hiện, và độ trễ 1 trông giống như [2, 3, 4, 1]. Hàm python mà tôi đã tìm thấy dường như chỉ sử dụng vùng đệm 0, nghĩa là [2, 3, 4, 0]. Có cách nào để có được những chức năng này để làm tương quan vòng tròn? Nếu không, có cách giải quyết chuẩn cho các mối tương quan tròn không?
Phiên bản fft không chỉ cho bạn giá cao của hstack, nó cũng làm cho phép tính trong n * log (n) phức tạp như trái ngược với n^2 trong trường hợp tương quan. –
Theo [1] và một số [nguồn khác] (http://mathworld.wolfram.com/Cross-Correlation.html) thuật ngữ đầu tiên nên được liên hợp: 'ifft (fft (x) .conj() * fft (y)). real' [1] Papoulis, A. Fourier Integral và các ứng dụng của nó. New York: McGraw-Hill, trang 244-245 và 252-253, 1962. [Liên kết Sách của Google] (https://books.google.de/books?id=txMIAQAAIAAJ) –