이 애플리케이션 노트는 이 시리즈의 1부에 대한 후속 내용입니다. 박스카 평균기를 사용한 SNR 측정 개선이 앱 노트에서는 이중 박스카 평균기의 구성 및 작동 원리를 살펴보며 이를 구현하는 데 중점을 둡니다. Moku 클라우드 컴파일 Moku:Pro에 대하여.
The 박스카 평균기 낮은 듀티 사이클 신호를 측정하기 위해 신호 대 잡음비(SNR)를 개선하는 데 중요한 역할을 하는 널리 사용되는 장비입니다. 특정 이벤트에 의해 트리거된 좁은 게이트 내에 신호를 통합함으로써 펄스 간의 노이즈 기여를 효과적으로 격리합니다. 여러 게이팅 이벤트를 평균화하면 측정의 SNR이 더욱 향상됩니다. 이 애플리케이션 노트에서는 박스카 평균기 구현에 대해 자세히 설명합니다. Moku:Pro 사용 Moku 클라우드 컴파일.
박스카 도구가 사용 가능합니다 LINK. Moku:Pro를 시작하는 방법에 대한 다운로드 가능한 가이드를 보려면 클릭하세요. LINK.
박스카 평균기의 작동 원리
박스카 평균기 및 잠금 증폭기 반복적인 신호를 감지할 때 SNR 성능을 향상시키는 데 중요한 역할을 합니다. 박스카 평균기는 입력 신호에 시간 영역 박스카 창을 적용하여 부과된 박스카 창 외부의 시간적 잡음 구성 요소를 효과적으로 완화합니다. 반면에 락인 증폭기는 협대역폭 필터를 사용하여 중앙 주파수 주변의 작은 범위 내의 신호를 추출하고 통과대역을 넘어서는 잡음을 거부합니다. 따라서 박스카 평균기는 낮은 듀티 사이클 신호를 처리하는 데 특히 적합합니다. 이러한 시나리오에서 대부분의 시간 영역 신호는 일반적으로 잡음이기 때문입니다.
그림 1은 박스카 평균기의 작동 원리를 보여줍니다. 사용자 정의 트리거 신호는 트리거로부터 일정 지연 후 박스카 게이트 창을 활성화합니다. 게이트 창을 통해 입력 신호를 창 너비에 걸쳐 추가할 수 있습니다. 그런 다음 계측기는 적분을 평균화합니다. n 박스카 적분기에서 얻은 결과를 얻고 필요한 감쇠 또는 증폭을 위해 이득 단계로 출력을 조정합니다.
그림 1: 박스카 평균기의 작동 원리. 입력 신호는 트리거 신호에 의해 활성화되는 박스카 창 내에 통합됩니다. 시스템 지연을 보상하기 위해 박스카 창과 트리거 에지 사이에 트리거 지연이 도입됩니다. 통합된 결과는 평균화되고 게인 단계를 통과하여 박스카 평균기 출력을 생성합니다.
박스카 평균기의 기본 구조는 박스카 적분기(게이트)와 평균기라는 두 가지 주요 구성 요소로 구성됩니다. 박스카 적분기는 입력 신호를 필터링하여 관심 신호가 없는 조용한 창에서 발생하는 바람직하지 않은 노이즈를 제거합니다. 그런 다음 평균기는 박스카 적분기의 출력을 처리하여 최종 출력을 생성하기 전에 추가 신호 평균화를 수행합니다.
이제 박스카 평균기를 사용하여 처리된 실제 신호를 살펴보겠습니다. 그림 2는 펄스 신호와 함께 트리거 신호의 플롯을 보여줍니다. 특히, 트리거 신호의 상승 에지와 해당 펄스 신호 사이에는 눈에 띄는 지연이 있습니다. 이러한 지연은 신호 경로 내의 전기 구성 요소에 의해 발생하는 고유한 지연으로 인해 예상됩니다.
박스카 통합 창과 펄스 신호를 정렬하기 위해 트리거 발생과 관련하여 통합 프로세스에 지연을 수동으로 도입할 수 있습니다. 이러한 시간적 조정은 다음과 같이 표현됩니다. 트리거 지연 박스카 평균기의 매개변수. 그림 2에서 트리거 지연은 약 176나노초이고 게이트 폭은 320나노초로, 효과적으로 전체 펄스 신호를 포함합니다.
그림 2: 트리거 신호(주황색 파형)의 진폭은 150mV입니다. 176ns의 지연 후, 320나노초 폭의 박스카 윈도우가 활성화되어 측정됩니다.
트리거 지연과 게이트 폭을 구성한 후에는 박스카 통합 결과의 평균을 계산하여 소음 수준을 더욱 줄이는 쪽으로 초점이 이동합니다. 이 과정에서 S1의 결과는 S5까지의 평균을 내어 최종 출력을 계산합니다.
그림 3: SNR을 향상시키기 위해 박스카 통합의 1개 기간(S5~SXNUMX로 표시)의 평균을 계산합니다.
박스카 평균기 구현
이 섹션의 목적은 Liquid Instruments에서 사용 가능한 박스카 평균화기를 구현하는 방법에 대한 포괄적인 가이드를 제공하는 것입니다. 깃허브 그림 4의 단계별 흐름도에서 설명한 대로입니다. 일반적인 절차는 다음과 같이 설명할 수 있습니다.
(1) 적절한 트리거링을 위해 트리거 레벨 조정
노이즈 플로어부터 트리거 신호의 피크 값까지의 범위 내에서 트리거 레벨을 설정합니다.
(2) 박스카 게이트 창을 펄스 신호와 동기화하고 게이트 폭 구성
적절한 박스카 게이트 폭을 선택하고 적절한 트리거 지연을 찾으십시오. 광학 실험에서는 광 경로 지연 및 광검출기 지연으로 인해 트리거 신호가 펄스 신호보다 앞에 나타나는 경우가 많습니다. 이러한 시나리오에서는 트리거 지연에 대한 보상이 중요합니다.
(3) 평균기의 길이 선택
충분한 SNR과 속도 사이의 균형을 이루려면 적절한 평균 주기 수를 선택하십시오.
(4) 게인 스테이지 조정
3단계의 결과에 감쇠나 증폭을 적용하여 출력 포화를 방지하거나 잠재적인 양자화 오류를 최소화하고 Moku의 출력 범위를 최대한 활용합니다.
그림 4: 박스카 평균기 구현을 위한 작업 흐름도.
다음 섹션에서는 각각 Python 제어판 및 MCC(Moku Cloud Compile) 제어 레지스터와의 인터페이스를 통해 Moku:Pro에서 박스카 평균기를 구성하는 절차를 안내합니다.
Python으로 박스카 평균기 제어하기
다음은 Python 제어판을 통해 박스카 평균화 단계를 구현하기 위한 지침입니다.
(1) 트리거 레벨 조정
이 실험에서 150mV 진폭의 트리거 신호가 주어졌을 때, 75mV의 신호 레벨을 선택하면 박스카 적분의 안정적인 트리거링이 보장됩니다. 박스카 창은 적절한 시스템 트리거링 시에만 나타납니다. 그렇지 않으면 안정적인 펄스 신호나 트리거 신호가 모두 표시되지 않습니다.
그림 5: 다양한 트리거 레벨 설정에 따른 시스템 응답. (a) 트리거 레벨 0.2V는 트리거 신호 진폭 0.15V보다 높습니다. 결과적으로 박스카 윈도우가 트리거되지 않아 박스카 윈도우와 펄스 신호가 모두 작동하지 않습니다. (b) 트리거 레벨을 트리거 신호 진폭의 절반인 0.075V로 설정하면 박스카 윈도우와 펄스 신호가 모두 성공적으로 활성화됩니다.
(2) 트리거된 박스카 게이트 창을 펄스 신호에 맞춰 정렬하고 게이트 너비 구성
이는 반복적인 조정 및 관찰 프로세스를 통해 또는 다음을 활용하여 수행할 수 있습니다. 자동차 단추. 자동 지연 기능은 펄스 신호의 피크 위치를 자동으로 식별하고 펄스 피크에서 박스카 창의 중간점까지의 시간 차이를 계산하여 이에 따라 트리거 지연을 조정합니다.
그림 6: 펄스 트리거 지연은 박스카 창을 펄스 신호에 맞춰 정렬하기 위해 236.8ns로 조정됩니다.
G폭을 먹었다 SNR을 최적화하는 데에도 중요한 매개변수입니다. 흥미롭게도 게이트 폭에 대한 최적의 설정이 반드시 전체 펄스 신호 캡처를 포함하는 것은 아닙니다. 대신 대다수를 포착하는 것만으로도 충분할 때가 많습니다. 이 전략은 잡음 전력에 비해 신호 전력이 낮은 펄스 신호 섹션을 제외하여 SNR을 최적화합니다. 기본적으로 이는 잡음 전력에 비해 신호 전력이 무시할 수 있는 세그먼트를 제거할 수 있게 해줍니다.
그림 7: SNR을 최적화하기 위해 대부분의 신호만 캡처하도록 박스카 너비가 조정됩니다. 그런 다음 트리거 지연은 그에 따라 249.6ns로 조정되어 펄스 및 박스카 창을 다시 정렬합니다.
(3) 평균 주기 수 선택 및 게인 단계 조정
"Align"에서 "Average Output"으로 모드를 변경하면 데이터 판독 상자에 평균 출력 신호가 표시됩니다.
박스카 평균기의 출력은 다음의 합입니다. n 평균 대신 박스카 통합 결과. 이는 FPGA에서 분할기를 구현하는 데 시간이 많이 걸리고 상당한 리소스가 필요하기 때문입니다. 실제 평균보다는 통합된 결과를 출력하는 것이 더 효율적일 것입니다. 평균 박스카 통합은 다음 방정식을 사용하여 계산할 수 있습니다.

그림 8: 모드를 "정렬"에서 "평균 출력"으로 변경하여 출력 값을 읽습니다. 그런 다음 양자화 오류 또는 출력 포화를 방지하기 위해 출력 게인을 구성합니다.
MCC 제어 레지스터
Moku:Pro는 박스카 평균기를 구현하기 위해 레지스터를 직접 제어할 수 있는 편리한 기능을 제공합니다. 입력, 제어 및 출력 포트에 할당된 데이터 유형에 대한 자세한 요약은 표 1에 나와 있습니다. Moku:Pro의 제어 레지스터의 실제 구성은 이 표에 설명된 사양과 일치합니다. 사용자는 제어 레지스터 0~5를 조정하여 Python 제어판과 동일한 수준의 제어를 제공함으로써 박스카 평균기 기능의 전체 구성을 달성할 수 있습니다.
표 1: Boxcar Averager 입력, 제어 및 출력 포트 구성.
Moku:Pro는 그림 9와 같이 설정되었습니다. 이 구성에서 Moku:Pro는 다중 계측기 모드로 작동하여 슬롯 1에서 박스카 평균기를 구현하고 슬롯 2에서 출력 모니터링을 수행할 수 있습니다. 슬롯 1의 MCC 블록은 신호 입력에 In 1을, 트리거 입력에 In 2를 사용합니다. MCC 블록의 출력인 Out A와 Out B는 슬롯 2의 오실로스코프에 연결되어 박스카 평균기 출력 신호를 시각화합니다.
그림 9: Moku:Pro의 다중 계측기 모드 구성. 입력 1은 신호 입력으로 입력 A에 연결되고, 입력 2는 트리거 신호입니다. 박스카 평균화기의 두 출력인 출력 A와 출력 B는 오실로스코프에 연결되어 결과를 표시합니다.
MCC 블록의 제어 레지스터는 그림 10에 표시된 값으로 구성되었습니다. 트리거 레벨은 2,244로 설정되었으며, 이는 75mV(2244 LSB, 여기서 LSB는 최하위 비트를 의미하며, Moku:Pro의 디지털 분해능인 29925 LSB/V로 나눔)의 트리거 임계값 진폭에 해당합니다.
정렬 프로세스 전에 트리거 지연을 0으로 설정할 수 있습니다. 게이트 폭이 320ns인 경우 제어 레지스터는 100으로 구성됩니다(320ns를 Moku:Pro의 클럭 주기 3.2ns로 나누어 얻음). 추가적으로,평균 길이 는 100으로 설정되었으며, 이는 출력이 100개의 개별 박스카 통합에서 파생된 평균임을 나타냅니다. 이 값은 최종 출력의 품질에 따라 미세 조정할 수 있습니다.
이득 제어는 65,536으로 설정되어 최하위 16비트(소수 비트)는 모두 16으로, 정수 이득(최상위 655,360비트)은 10로 효과적으로 구성됩니다. 이 설정은 박스카 평균 출력에 대한 단위 이득을 설정합니다. 눈에 띄는 양자화 오류가 발생하면 이 값을 늘려 출력을 증폭할 수 있습니다. 예를 들어, 이 제어 레지스터를 32,768으로 설정하면 신호에 0.5배 이득이 제공됩니다. 반대로 포화가 관찰되면 값을 XNUMX로 조정하여 신호에 XNUMXx 감쇠를 적용할 수 있습니다.
그림 10: 트리거 레벨은 2,244(75mV)로, 게이트 폭은 100으로 설정하여 초기 폭을 320ns로 설정했습니다. 박스카 윈도우와 입력 신호를 동시에 시각화하기 위해 스위치 제어를 2로 설정했습니다. 시스템의 기본 지연을 명확하게 관찰하기 위해 트리거 지연을 0으로 설정했습니다. 파란색 트레이스는 박스카 윈도우를 나타내고, 빨간색 트레이스는 펄스 신호를 나타냅니다. 박스카 윈도우의 피크와 중간 지점 사이의 시간 차이는 237ns에서 측정되었습니다.
그림 10은 트리거 지연 보상을 적용하기 전의 빨간색 트레이스와 비교하여 파란색 트레이스의 선행 간격이 237ns임을 보여줍니다. 따라서 트리거 지연을 74 클럭 주기로 설정하여 조정했습니다. 그림 11에 표시된 대로 이 조정은 파란색과 빨간색 트레이스를 성공적으로 정렬하여 모든 통합 입력 신호가 유효한 펄스 신호임을 확인했습니다.
그림 11: 트리거 지연은 74로 조정되어 트리거 신호에 236.8ns 지연을 도입하여 파란색(박스카 창) 및 빨간색(펄스 신호) 추적을 성공적으로 정렬합니다.
SNR을 향상시키기 위해 게이트 폭을 272ns로 조정하여 잡음 전력에 비해 신호 전력이 낮은 불필요한 펄스 신호 세그먼트를 삭제했습니다. 그런 다음 트리거 지연이 그에 따라 재보정되어 수정된 박스카 창을 펄스 신호와 다시 정렬합니다.
그림 12: 게이트 폭과 트리거 지연은 미세 조정되어 펄스 신호의 외부 세그먼트를 제거함으로써 최종 결과의 SNR을 향상시킵니다.
매개변수를 설정한 후 스위치 제어값을 0으로 설정하면 MCC의 Out A 포트를 통해 박스카 평균기 결과가 전송됩니다.
그림 13: 스위치 제어는 박스카 평균 출력을 활성화하도록 구성되고 이득 제어는 327로 조정되어 값을 0.00499배로 축소하여 (a)에 표시된 출력 포화를 방지합니다. 실제 출력 값은 Eq.를 사용하여 복구할 수 있습니다. (1).
토론
이 섹션에서는 현재 박스카 평균기의 한계를 설명합니다. 또한, 우리는 더 복잡한 애플리케이션을 처리하기 위한 잠재적인 향상을 제안합니다.
최대 게이트 폭
게이트 폭은 16비트 크기이며, 최대 65536개의 샘플로 변환됩니다. 따라서 달성 가능한 가장 큰 게이트 길이는 Moku:Pro에서 209.715µs, Moku:Lab에서 524.288µs, Moku:Go에서 2.097ms입니다. 이 계산은 역시 16비트인 트리거 지연으로 확장할 수 있으며, 달성 가능한 최대 트리거 지연은 게이트 길이와 동일하게 유지됩니다. 위상 잠금 루프 또는 유한 임펄스 응답(FIR) 필터를 적용하여 추가 트리거 지연을 도입할 수 있습니다.
듀얼 박스카 평균기
특정 실험 시나리오에서 여기 또는 자극 펄스는 레이저 반복 속도의 절반으로 설정된 레이저 변조 주파수를 활용하는 펌프-프로브 분광학과 같은 응용 분야에서 볼 수 있듯이 측정된 신호 펄스의 주파수의 절반에서 작동하도록 구성됩니다. 이러한 경우, 물체의 여기 상태에 대한 정보를 전달하는 실제 신호는 매 두 번째 펄스에만 존재하는 반면, 첫 번째 펄스에는 배경 레벨이 포함됩니다. 원하는 신호를 분리하고 추출하려면 첫 번째 펄스와 두 번째 펄스 간의 차이를 취하는 이중 박스카 평균 접근 방식이 필수적입니다. 중요한 것은 이 빼기 프로세스가 관련 신호를 추출할 뿐만 아니라 획득된 신호에서 DC 기준선을 제거하는 데 기여함으로써 이중 목적을 수행한다는 것입니다.
MCC를 통해 촉진된 적응성은 듀얼 박스카 평균기의 구현을 간단하게 만듭니다. 이 측면에 대한 자세한 통찰력은 곧 나올 애플리케이션 노트에서 제공될 예정입니다.

그림 14 : 각 트리거는 2개의 박스카 창(높음: 펄스 박스카 창, 낮음: 기준 박스카 창)을 활성화하여 2개의 프로브 펄스(펌프 포함 및 제외)를 동시에 통합합니다. 출력은 두 통합 결과의 차이입니다.
제품 개요
이 애플리케이션 노트는 박스카 평균기의 원리에 대한 통찰력을 제공합니다. 다음을 사용하여 박스카 평균기의 구현 및 기능을 보여줍니다. Moku 클라우드 컴파일 (MCC)에 Moku:Pro. 박스카 평균기의 Simulink 예제를 탐색하려면 클릭하세요. LINK. 박스카 평균기의 구성은 다음 중 하나를 통해 달성할 수 있습니다. Python 제어판 또는 직접 제어 레지스터. 또한 이 애플리케이션 노트에서는 향후 반복을 위한 잠재적인 개선 사항을 설명합니다.
혹시 궁금하신 점이 있으십니까?
지식 베이스를 통해 자주 묻는 질문들에 대한 답변을 확인하십시오
장치 기능이나 장비 기능에 대해 질문이 있는 경우 당사의 광범위한 내용을 확인하십시오. 기술 자료 당신이 찾고 있는 답을 찾기 위해. 인기 기사를 빠르게 확인하고 제품이나 주제별로 검색 범위를 좁힐 수도 있습니다.
사용자 포럼에 가입하시어 연락을 받으십시오
새로운 기능을 요청하고 싶으신가요? 공유할 지원 팁이 있나요? 사용 사례 예시부터 새로운 기능 발표 등에 이르기까지 사용자 포럼 제품 업데이트는 물론 Liquid Instruments 및 글로벌 사용자 커뮤니티와의 연결을 위한 원스톱 상점입니다.