Matlab의 두 데이터 세트 사이의 샘플에 오프셋을 가져오고 싶습니다 (시간이 동기화 됨). 이는 매우 일반적인 문제입니다. 따라서 교차 상관 함수 xcorr 또는 교차 공분산 함수 xcov를 사용합니다 (둘 다 이와 같은 결과를 얻을 수 있습니다). 인위적인 데이터를 사용하면 정상적으로 작동하지만 실제로는 거의 동일해야하지만 실제 데이터로는 어려움을 겪습니다. Matlab은 오프셋이 0이라고 항상 말합니다. Code with data on pastebinMatlab : 교차 공분산을 사용하여 데이터 정렬
편집은 : 다운 샘플링 된 발췌 한 것 같다 내가 페이스트 빈에 다운 샘플링 데이터 발췌와 완전히 runable 예를 들어 m-파일을 게시 한
[crossCorr] = xcov(b, c);
[~, peakIndex] = max(crossCorr())
offset = peakIndex - length(b)
: 나는 코드의 간단한 조각을 사용하고 있습니다 효과를 평가하기에 충분히 적합하지 않다. Here's a much larger sample with the original frequency, pease use this one instead. 불행하게도 그것은 pastebin을 위해 너무 컸다.
플롯이 보여 주듯이 교차 공분산을 통해 오프셋을 얻는 것은 전혀 문제가되지 않습니다. 또한 수치적인 문제를 피하기 위해 더 나은 데이터의 크기를 조정하려고 시도했지만 전혀 변경되지 않았습니다.
누군가 내 실수를 말할 수 있다면 좋을 것입니다. 그때 나는 아래 오프셋의 허용 범위 주위에 창 표시 할 수 수 있기 때문에 내 데이터에 대해 뭔가를 알고있는 경우
이론 데이터는 어떻게 보였습니까? 나는 여기에서 완전히 확신하지는 않지만, 데이터에 몇 개의 기간이 있어야 할 수도 있습니다. 한 세트에서 0에 피크가 있고 다른 세트에서 5에 피크가 있다고 가정 해 봅시다. 그렇다면 5는 나머지와 비교하여 매우 높은 상관 관계를 가져야합니다. 그러나 귀하의 데이터는 긴 경사와 같습니다. 0의 값은 5의 값과 비교할 수 있습니다.이 값은 전체적으로 매우 낮은 상관 관계를 나타냅니다. 이 기술은 어쨌든 작동해야 할 수도 있지만 그건 내 추측입니다. 당신은 다른 이론적 인 자료를 비교하려고 시도 할 수 있습니다. – patrik
감사합니다. 여기가 내 [이론 시험] (http://pastebin.com/tteXKqmy)이었습니다. 무작위 신호와 동일한 진폭을 가진 잡음조차도 전혀 문제가되지 않는다는 사실에 상당히 감동했습니다. 실제 데이터는 정기 간행물이 아니지만 발췌 내용이 약간 짧습니다. [여기에 더 많은 발췌 부분이 있습니다.] (http://pastebin.com/AHjXY5Rz), 불행히도 그것을 받아들이는 pastebin을 위해 더 많은 것을 다운 샘플링해야했습니다. – user3296542