두 신호 사이의 샘플 지연을 어떻게 찾을 수 있습니까?

업데이트 됨 Jan 6, 2020

해당 제품

소프트웨어

  • LabVIEW Full
  • LabVIEW Advanced Signal Processing Toolkit
  • LabVIEW Professional

문의사항

지연된 두 개의 신호 사이의 샘플 지연을 찾고 싶습니다. 어떻게 할 수 있습니까?

해결책

여러 가지 방법이 있으나, 이 문서에서는 상호 상관 함수를 사용하여 샘플 지연을 찾는 방법에 대해 다룰 것입니다.

신호 처리에서, 상호 상관은, 한 신호에 대해 다른 신호가 얼마만큼의 유사성을 갖는지의 척도를 나타냅니다. 상호 상관을 계산하면, 두 신호 사이의 지연을 결정하는 데 매우 유용합니다.

아래의 예제는, 완전히 동일한 신호이지만 하나의 신호에는 일련의 지연이 포함되어 있는 신호와의 상호 상관을 계산하여 샘플 지연을 결정하는 방법에 대해 보여주고 있습니다. 코드가 수행하는 동작에 대해서는 하기 내용을 참고하시기 바랍니다.
  1. 100개의 샘플로 된 신호를 생성
  2. 또 다른 신호를 만들고, 이 신호에는 사용자로부터 입력 받은 만큼의 지연을 추가
  3. 지연이 추가된 신호에서, 지연시킨 만큼 신호 뒤편의 샘플을 삭제하여 두 신호의 크기를 동일하게 조정
  4. 이 두 신호에 대해 상호 상관을 계산
  5. 상호 상관의 피크를 확인
  6. 상호 상관의 피크가 나타나는 x 값을 확인
  7. 피크에서 신호의 크기에서 1을 뺀 값을 빼서 샘플 지연을 결정. (상호 상관 수학 이론에 따른 수식)
두 신호 사이의 상호 상관을 계산 한 경우, 상호 상관 함수의 최대값 (또는 신호가 음의 상관 관계인 경우 최소값)은 신호가 가장 잘 정렬된 시점을 나타냅니다. 즉 두 신호 간의 시간 지연은, 상호 상관의 최대 값 또는 arg max의 인수에 의해 결정됩니다. 이것은 연속 신호일 경우에 해당합니다.

이산 시스템에서는 시간이 샘플로 대체되므로, 상호 상관 함수의 최대 값을 계산 한 후, (6) 상호 상관이 최대인 지점 (일반적으로 대역의 중간) 에 신호를 연관시켜야 합니다. 따라서 샘플 지연을 계산하려면 신호의 총 샘플 수에서 1을 뺀 값을 최대 위치로 빼야합니다. (7)