상호 상관이 작동하는 방식에 대해 약간의 오해가있는 것 같습니다. 상호 상관은 하나의 신호를 취하여 과 다른 신호의 버전을 비교합니다.
http://www-rohan.sdsu.edu/~jiracek/DAGSAW/images/eq4_6_7.gif
s
및 h
두 개의 신호입니다 : 당신이 기억하는 경우, 두 신호의 (표준화) 간 상관 관계는 다음과 같이 정의된다. 따라서 두 번째 신호 인 h
의 버전을 이동하여 요소 곱으로 요소를 가져 와서 모두 합칩니다. 상호 상관 플롯의 수평축은 시프트을 나타내고, 수직축은 각 시프트에서 상호 상관의 출력을 나타낸다. MATLAB이 제공하는 출력을 더 잘 이해할 수 있도록 신호에 대해 상호 상관을 직접 계산해 봅시다.
출력을 계산하려면 두 신호가 겹쳐지기 시작한 첫 번째 지점을 수용하기 위해 두 신호를 모두 제로 패딩해야합니다. 구체적으로, 상호 상관 계산을 용이하게하기 위해 s
의 왼쪽에 N2-1
의 제로가 있고 s
의 오른쪽에있는의 제로가되도록 제로 패드가 필요합니다. 이 경우 N2
은 길이가 h
입니다. 신호 h
의 시프트가있을 때 상호 상관을 계산할 때마다 s
의 제로 패딩 버전과 동일한 크기의 모든 제로 신호를 작성한 다음 원본 신호 h
을이 더 큰 신호 내에 배치하십시오. 이 새로운 신호를 사용하여 제로 패딩 된 버전 s
과 비교하십시오.
실제로 상호 상관 관계의 속성은 교환 가능하다는 것입니다. 한 신호가 더 길고 신호가 더 짧으면 짧은 신호를 쉬프트하는 동안 긴 신호를 고정 된 상태로 두는 것이 더 쉬울 것입니다. 어느 쪽을 선택하든 상관없이 동일한 결과를 얻을 수 있지만 항상 쉬운 경로를 선택해야합니다.
이전으로 돌아 가면 교차 상관 관계의 첫 번째 값은 다음과 같습니다 (shift = 1
).
s = [0 0 0 0 1 1 1 1 1 0 0 0 0]
h = [1 1 1 1 1 0 0 0 0 0 0 0 0]
좌, 우리는 h
의 우단 s
인 제 1 신호를, 중첩 시작되는 시작에서 상기 제 2 신호 슬라이드. s
과 h
사이의 포인트 단위 곱셈을 수행하고 요소를 요약합니다.이 경우, 우리는 얻을 :이 경우
s ** h = (0)(1) + (0)(1) + (0)(1) + (0)(1) + (1)(1) + (0)(1) + (0)(1) + (0)(1) + (0)(1)
= 1
**
은 (내 버전) 간 상관 관계 연산자. 이제 shift = 2
살펴 보자 :
s = [0 0 0 0 1 1 1 1 1 0 0 0 0]
h = [0 1 1 1 1 1 0 0 0 0 0 0 0]
는 기억, 우리는 더 많은 1 s
에서 오른쪽으로 이동하는 것은 동일하게 유지됩니다. 위와 같은 계산을 수행, 우리가 가야 : 당신이 다른 변화에 대해이 작업을 반복하는 경우, 당신은 우리가 다섯 번째 인, 총 중첩이 최대까지 값이 1 씩 증가하는 유지 것을 볼 수 있습니다
s ** h = (0)(1) + (0)(1) + (0)(1) + (0)(1) + (1)(1) + (1)(1) + (0)(1) + (0)(1) + (0)(1)
= 2
교대 (shift = 5
). 이 경우, 우리는 얻을 : 당신이 상호 상관을 계산하면
s = [0 0 0 0 1 1 1 1 1 0 0 0 0]
h = [0 0 0 0 1 1 1 1 1 0 0 0 0]
, 우리는 이제 5를 얻을, 우리는 여섯 번째 변화 (shift = 6
)을 계산할 때, 우리는 1 씩 오른쪽으로 이동하고, 그 때의 교차 상관 관계가 떨어지기 시작합니다. 특히 : 당신이 계속 진행하여 상호 상관을 계산하면
s = [0 0 0 0 1 1 1 1 1 0 0 0 0]
h = [0 0 0 0 0 1 1 1 1 1 0 0 0]
, 당신은 결과가 당신이 오른쪽으로 이동 유지 4. 것을 볼 수 있습니다, 당신은 값이 1 개 당에 의해 감소 유지하는 것을 볼 수 있습니다 우리가 취하는 변화.
s = [0 0 0 0 1 1 1 1 1 0 0 0 0]
h = [0 0 0 0 0 0 0 0 1 1 1 1 1]
간 상관 관계를 계산하여, 우리는 1의 값이 또한 볼 수 : 여기 모두 s
및 h
중복, 단 하나의 지점이 어디 있는지 최종 지점에 도착 이것은 shift = 9
에 있습니다. 따라서 교차 분석이 증가하기 시작하는 그래프는 중복되는 양이 증가하기 때문에 설명됩니다. 두 신호의 총 겹침이 있기 때문에 최대 값은 shift = 5
입니다. 중첩 량이 또한 감소하기 시작하기 때문에 상호 상관은 감소하기 시작합니다.
또한 우리가 계산해야하는 총 교대 횟수는 N1 + N2 - 1
이며 상호 상관 특성입니다. N1
및 N2
은 길이가 각각 s
및 h
입니다. 따라서 N1 = N2 = 5
이 주어지면 전체 시프트 수는 N1 + N2 - 1 = 9
이며 위에 계산 한 마지막 시프트와 일치합니다.
희망이 있습니다.
당신은 제로 패딩을 언급했습니다. 그래서 N1 + N2-1 = 9이다. 이는 s = [1 1 1 1 0 0 0 0 0 0 0 0]과 h = [1 1 1 1 0 0 0 0 0 0 0 0]을 의미한다. 이동은 한 위치에서 수행됩니다. 그래서 shift = 1은 s = [0 1 1 1 1 0 0 0 0 0 0 0]이어야하고 h = [1 1 1 1 0 0 0 0 0 0 0 0]? – Clive
@Clive - 마지막으로 확인한 이후로 내 소식을 수정했습니다. 제로 패딩 문장에서 나는 정확하지 않았습니다. 나는 그것을 바꿨다. 그래서 나의 편집을 보라. 필요한 경우 페이지를 새로 고칩니다. – rayryeng
왜 shift = 1 일 때 s = [0 0 0 0 1 1 1 1 0 0 0 0]입니까? – Clive