함수 thd
, sfdr
, sinad
, snr
은 정현파를 인가한 약한 비선형 시스템(Weakly Nonlinear System)의 응답을 측정합니다.
시간 영역 입력값이 주어지면 thd
는 사이드로브 감쇠량이 큰 카이저 윈도우를 사용하여 주기도를 계산합니다. 기본주파수를 구하기 위해 이 알고리즘은 주기도에서 0이 아닌 가장 큰 스펙트럼 성분을 찾습니다. 그런 다음, 최댓값에서 단조 감소하며 멀어지는 모든 인접 Bin의 중심 모멘트를 계산합니다. 검출이 가능하려면 기본주파수가 적어도 두 번째 주파수 Bin에 포함되어야 합니다. 더 높은 고조파는 기본주파수의 정수 배에 놓여 있습니다. 고조파가 다른 고조파 근방에 있는 단조 감소 영역에 있는 경우 그 전력은 큰 고조파에 속하는 것으로 간주됩니다. 큰 고조파는 기본주파수일 수도 있고 기본주파수가 아닐 수도 있습니다.
기본주파수가 신호에서 가장 높은 스펙트럼 성분이 아닐 경우 thd
가 실패합니다.
주파수 성분이 카이저 윈도우의 사이드로브 폭을 수용할 만큼 충분히 떨어져 있는지 확인하십시오. 그렇지 않을 경우 "power"
플래그를 사용하고 다른 윈도우로 주기도를 계산할 수 있습니다.