본문으로 바로가기

YIN Algorithm : Step 4: Absolute threshold

category 카테고리 없음 2023. 7. 5. 00:25

위 그림처럼 higher order dip이 period dip보다 긴 경우가 자주 발생한다.

 

검색 범위에 속하면 "octave error"라고 하는 subharmoic error가 됨. Autocorrelation method도 비슷하게 higher order peak를 선택하기 쉬움.

 

제안하는 방법은 절대 임계값을 설정하고, 그 임계값보다 최소 d만큼 더 적은 제일 작은 값 r을 선택하는거임.

선택된게 없으면 전역 최소값을 선택함.

 

만약 threshold가 0.1이면, 에러가 1.69->0.78로 줄어들음. too  low errror가 줄고, too high error가 약간 늘음.

Threshold는 집합에 허용되는 후보들을 걸러주며, 주기적 신호가 견딜수 있는 비주기적 파워에 대한 비율로 볼 수 있음.

이 식을 window에 대해 평균을 내고 4로 나누면 이렇게 됨

 

 

우측의 두번쨰 항은 신호가 T 주기를 가지면 0이 됨. 따라서 그 주기의 다른 periodic component를 추가하던 빼던 안변함.

 

이것은 신호 파워의 비주기적 파워 컴포넌트로 볼 수 있음. 

 

왜냐하면 주기 T의 컴포넌트를 더하거나 빼도 어차피 0이기 떄문(따라서 비주기적인 주기를 가진 신호에만 영향을 받음)

 

 

Step 3에서 썼던 공식

 

 

r=T일때, 분자인 d(r)은 비주기적인 값에 비례하고, 분모는 0-T사이 d(r)의 평균이므로, 대략적으로 signal power의 2배정도 되는 값이다.

 

분모가 d(r)의 평균인게 signal power의 2배가 되는건 이게 수학적인건지 아니면 측정이 그런건지?

따라서 d'(r)은 비주기적 신호 파워/전체 신호 파워 라고 볼 수 있다.

 

T는 이 threshold가 기준 이하면 허용된다. 실제 threshold의 정확한 값이 그렇게 큰 영향은 없음.