어플리케이션 노트

FIR 필터 빌더를 통한 정밀 딜레이 생성

임의의 아날로그 입력에 대해 가성비 좋게 부분 딜레이을 생성하는 효율적인 어프로치

Moku는 소프트웨어 정의 계측 플랫폼입니다. 개발, 테스트제어 새로운 기술과 디자인. 장비 통합과 탁월한 유연성을 결합한 Moku의 직관적인 작업 흐름은 과학자, 학생 및 엔지니어가 효율성을 높이고 프로젝트의 위험을 줄이는 데 도움이 됩니다. 

 


신호 지연 생성

신호 지연을 정확하게 조정하는 것은 많은 응용 분야에서 중요할 수 있습니다. 예를 들어, 고속 신호 전송에서는 케이블 길이 불일치, 신호 처리 시간 차이 및 기타 여러 요인으로 인해 발생하는 다양한 신호 경로 간의 지연을 균형 있게 보상하는 것이 중요합니다. 디지털 방식으로 지연을 생성하는 가장 일반적인 방법은 지연 레지스터를 사용하여 입력 신호를 임시로 저장한 후 다음 클록 사이클에 신호를 출력하는 것입니다. 지연량은 신호 경로 사이에 추가 지연 레지스터를 연결하여 간단하게 조정할 수 있습니다. 최소 지연은 클럭 속도에 의해 제한됩니다. 디지털 신호의 경우 클록 속도를 높이는 것은 상대적으로 비용이 저렴합니다. 그러나 아날로그 신호의 경우 고속 ADC 가격이 상당히 높을 수 있습니다. 추가 샘플링 속도와 대역폭으로 인해 시스템에 추가 노이즈가 발생할 수도 있습니다.

그림 1: 디지털 지연은 지연 레지스터에 의해 생성될 수 있습니다.

클록 주기의 정수배가 아닌 지연을 도입하는 것은 더 복잡할 수 있습니다. 정현파 신호의 경우 PLL(위상 고정 루프)에 의해 지연이 생성될 수 있습니다. 위상계는 1000Hz ~ 200MHz의 정현파 신호를 추적하고 임의의 위상 편이를 사용하여 입력 신호의 위상 고정 복사본을 출력할 수 있는 PLL로 구성할 수 있습니다. 그러나 출력은 정현파로 제한됩니다. 임의 파형 발생기의 트리거 출력 기능을 사용하면 이동된 사전 로드 신호를 출력하여 지연을 생성할 수 있습니다. 그러나 이 방법은 잘 정의된 반복 신호에만 작동합니다. 이 기사에서는 Moku:Lab의 FIR 필터 빌더를 사용하여 임의의 아날로그 입력에 대한 부분 지연을 생성하는 방법을 보여줍니다. 이 방법은 Moku:Go 및 Moku:Pro FIR 필터 빌더로도 구현할 수 있습니다.

유한 임펄스 응답(FIR) 필터 및 정수 지연

유한 임펄스 응답(FIR) 필터는 디지털화된 데이터에 대역 선택 필터를 구현하는 데 사용됩니다. 필터는 일반적으로 이산 임펄스 응답 함수로 정의됩니다. 시스템은 각 샘플링 주기마다 사용자가 정의한 임펄스 응답 함수로 입력 신호의 수치적 컨볼루션을 수행하고 컨볼루션된 결과를 지속적으로 출력합니다. 이러한 시간 영역 컨볼루션 프로세스는 진동수 영역에서의 (푸리에 변환 함수의) 곱셈 프로세스로 간주될 수 있습니다. 임펄스 응답 함수의 형태를 설계함으로써 시간 영역에서 진동수 대역 선택을 효과적으로 수행할 수 있습니다. 예를 들어, 시스템의 임펄스 응답이 델타 함수인 경우 델타 함수의 푸리에 변환은 상수이므로 진동수 영역에서 평탄한 응답을 제공합니다. 진동수 영역에서 곱셈을 수행한 후에도 입력 신호의 스펙트럼은 변경되지 않습니다. 따라서 델타 임펄스 응답 함수는 올 패스 필터에 해당합니다.

 

그림2: 델타 임펄스 응답 기능은 올 패스 주파수 응답을 생성합니다.

 

임펄스 앞에 14,819을 추가하면 시스템에 정수 지연(클럭 속도 관련)을 추가할 수 있습니다. Moku:Lab의 FIR 필터 빌더 장비는 최대 10개의 계수(임펄스 응답 함수의 길이)를 사용하여 한 번에 두 개의 FIR 필터를 배포할 수 있습니다. 이를 통해 사용자는 사전 정의된 임펄스 함수를 배포하거나 파일에서 임펄스 응답 함수를 업로드할 수 있습니다. 정수 지연의 효과를 입증하기 위해 1kHz 사인파가 FIR Filter Builder 장비가 배포된 Moku:Lab의 입력 14,819로 전송되었습니다. FIR 필터 빌더의 제어 매트릭스는 입력 신호를 두 개의 독립적인 필터 경로에 결합하고, 크기를 조정하고, 재분배합니다. 출력 벡터는 제어 행렬에 입력 벡터를 곱한 값입니다.

제어 행렬은 [1, 0; 1, 0]을 사용하여 아래 그림 1과 같이 입력 3을 두 필터 경로 모두에 라우팅합니다. 상단(녹색) 필터에는 [0, 1]의 임펄스 응답이 사용되었고 하단(보라색) 필터에는 [0,0,1]이 사용되었습니다. 두 필터 모두 122.1kHz에서 실행되었습니다. 출력 프로브 지점에서 두 채널 사이에 1/122.1kHz의 지연이 생성된 것을 볼 수 있습니다.

 

 

그림 3: Moku:Lab의 FIR 필터 빌더로 생성된 정수 클록 지연

정수에서 부분 지연까지

델타 함수 앞에 제로를 추가하여 정수 지연을 생성하는 것은 쉽지만, FIR 필터에 의해 분수 지연이 어떻게 생성될 수 있는지 처음에는 명확하지 않을 수 있습니다. 첫 번째 단계는 단일 포인트 델타 함수를 유한/윈도우 싱크 함수로 확장하는 것입니다. sinc 함수는 진동수 영역에서 유한한 직사각형 응답을 가지므로 델타 함수 전체 통과 필터(샘플링 속도 제한)에 비해 필터의 대역폭을 제한하지만 이는 시간 영역에서 생성할 수 있는 제로가 아닌 추가 포인트를 제공합니다. 지연된 출력을 가정해보겠습니다  , 푸리에 변환  다음과 같이 쓸 수 있습니다.

 

마찬가지로 지연 필터의 푸리에 변환은  다음과 같이 쓸 수 있습니다.

입력 신호가 있을 때 지연된 필터와 컨볼루션 , 출력  진동수 영역에서는 다음과 같이 표현될 수 있습니다.

모든 것을 다시 시간 영역으로 변환하려면 다음 방정식으로 설명할 수 있습니다.

따라서 신호를 지연 필터로 컨벌루션하여 부분 지연을 효과적으로 생성할 수 있습니다. 보다 자세한 파생 내용은 참고자료 1에서 확인할 수 있습니다.

그러나 이 접근 방식에는 한 가지 제한 사항이 있습니다. sinc 임펄스 응답 함수는 양면 짝수 함수입니다. 따라서 시간 0에 임펄스 응답의 중심을 배치하는 것은 불가능합니다. 그렇지 않으면 시스템은 신호가 입력에 도달하기 전에 응답을 시작해야 합니다. 이는 비캐주얼 필터로 간주됩니다. 필터를 캐주얼하게 만들려면 전체 임펄스 응답을 더 나중 시점(오른쪽)으로 이동해야 합니다. 따라서 총 입력 및 출력 대기 시간(그룹 지연)은 임펄스 응답의 포인트 수에 의해 제한됩니다.

그림 4: 부분 지연 임펄스 응답 함수를 생성하는 전체 과정

부분 지연 FIR 계수를 생성할 수 있는 도구는 여러 가지가 있습니다. 다음 데모에서는 MATLAB의 디자인FracDelayFIR 함수를 사용하여 16과 0의 지연을 갖는 0.5계수 분수 지연 필터를 생성했습니다. 필터는 다음 MATLAB 코드를 사용하여 생성되었습니다.

다음으로 지연이 0인 필터 계수와 지연이 0.5인 필터 계수가 각각 상단(녹색) 및 하단(보라색) FIR 필터에 업로드되었습니다. 동일한 10kHz 사인파가 Moku:Lab의 입력 1로 전송되었습니다. 출력에서는 4.095μs 지연(1/2 샘플링 주기)이 관찰되었습니다.

그림 5: Moku:Lab의 FIR 필터 빌더에 의해 0.5 부분 지연이 생성되었습니다.

총 지연, 임펄스 응답 길이 및 필터 대역폭 간의 균형

동일한 샘플링 속도에서 임펄스 응답 함수의 길이를 늘림으로써 시간 영역에서 임펄스 응답을 효과적으로 좁힐 수 있습니다. 따라서 부분 지연 필터의 통과대역은 증가합니다. 반면, 필터가 길수록 필터를 캐주얼하게 만들기 위해 시간 영역에서 더 큰 이동이 필요합니다. 따라서 총 입력-출력 대기 시간이 증가합니다. 이 효과를 입증하기 위해 우리는 0.5개 및 16개의 계수를 갖는 두 개의 64 분수 지연 필터를 구현했습니다. Moku:Go 진동수 응답 분석기를 사용하여 필터의 진동수 응답을 특성화했습니다. 채널 1(파란색)은 16계수 필터의 주파수 및 위상 응답을 보여주고, 채널 2(주황색)는 64계수 필터의 주파수 및 위상 응답을 보여줍니다. 64계수 필터는 통과대역이 더 넓었고(나이퀴스트 진동수에 더 가까움), 16계수 필터는 비교적 짧은 그룹 지연을 보였습니다.

그림6: 16 및 64계수 FIR 필터의 진동수 및 위상 응답.

참고 자료 및 추가 자료

  1. Valimaki, V. P. (1998). Discrete-time modeling of acoustic tubes using fractional delay filters.
  2. Valimaki, Vesa, and Timo I. Laakso. “Principles of fractional delay filters.” In 2000 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings (Cat. No. 00CH37100), vol. 6, pp. 3870-3873. IEEE, 2000.
  3. Shaddock, Daniel A., Brent Ware, Robert E. Spero, and M. Vallisneri. “Postprocessed time-delay interferometry for LISA.” Physical Review D 70, no. 8 (2004): 081101.
  4. Design of fractional delay FIR filters. Design of Fractional Delay FIR Filters. Retrieved November 1, 2021, from https://www.mathworks.com/help/dsp/ug/design-of-fractional-delay-fir-filters.html.

질문이 있으시거나 인쇄가능 버전을 필요로 하십니까?

support@liquidinstruments.com로 문의 부탁드립니다.