이 애플리케이션 노트는 이 시리즈의 1부에 대한 후속 내용입니다. 박스카 평균기를 사용한 SNR 측정 개선이 앱 노트에서는 이중 박스카 평균기의 구성 및 작동 원리를 살펴보며 이를 구현하는 데 중점을 둡니다. Moku 클라우드 컴파일 Moku:Pro에 대하여.
The 박스카 평균기 낮은 듀티 사이클 신호를 측정하기 위해 신호 대 잡음비(SNR)를 개선하는 데 중요한 역할을 하는 널리 사용되는 장비입니다. 특정 이벤트에 의해 트리거된 좁은 게이트 내에 신호를 통합함으로써 펄스 간의 노이즈 기여를 효과적으로 격리합니다. 여러 게이팅 이벤트를 평균화하면 측정의 SNR이 더욱 향상됩니다. 이 애플리케이션 노트에서는 박스카 평균기 구현에 대해 자세히 설명합니다. Moku:Pro 사용 Moku 클라우드 컴파일. 박스카 도구가 사용 가능합니다 여기에서 확인하세요. Moku:Pro를 시작하는 방법에 대한 다운로드 가능한 가이드를 보려면 클릭하세요. 여기에서 확인하세요.
박스카 평균기의 작동 원리
박스카 평균기 및 잠금 증폭기 박스카 평균기는 반복 신호를 검출할 때 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 제어판 및 Moku Cloud Compile(MCC) 제어 레지스터를 각각 사용하여 Moku:Pro에서 박스카 평균기를 구성하는 절차를 단계별로 설명합니다.
Python으로 박스카 평균기 제어하기
다음은 Python 제어판을 통해 박스카 평균화 단계를 구현하기 위한 지침입니다. (1)트리거 레벨 조정 이 실험에서 150mV 진폭의 트리거 신호가 주어졌을 때, 75mV의 신호 레벨을 선택하면 박스카 적분의 안정적인 트리거링이 보장됩니다. 박스카 창은 적절한 시스템 트리거링 시에만 나타납니다. 그렇지 않으면 안정적인 펄스 신호나 트리거 신호가 모두 표시되지 않습니다.

그림 5: 다양한 트리거 레벨 설정에 따른 시스템 응답. (a) 트리거 레벨 0.2V는 트리거 신호 진폭 0.15V보다 높습니다. 결과적으로 박스카 윈도우가 트리거되지 않아 박스카 윈도우와 펄스 신호가 모두 작동하지 않습니다. (b) 트리거 레벨을 트리거 신호 진폭의 절반인 0.075V로 설정하면 박스카 윈도우와 펄스 신호가 모두 성공적으로 활성화됩니다.(2)트리거된 박스카 게이트 창을 펄스 신호에 맞춰 정렬하고 게이트 너비 구성 이는 반복적인 조정 및 관찰 프로세스를 통해 또는 다음을 활용하여 수행할 수 있습니다. 자동차 단추. 자동 지연 기능은 펄스 신호의 피크 위치를 자동으로 식별하고 펄스 피크에서 박스카 창의 중간점까지의 시간 차이를 계산하여 이에 따라 트리거 지연을 조정합니다.

그림 6: 펄스 트리거 지연은 박스카 윈도우를 펄스 신호와 정렬하기 위해 236.8ns로 조정되었습니다.폭을 먹었다 SNR을 최적화하는 데에도 중요한 매개변수입니다. 흥미롭게도 게이트 폭에 대한 최적의 설정이 반드시 전체 펄스 신호 캡처를 포함하는 것은 아닙니다. 대신 대다수를 포착하는 것만으로도 충분할 때가 많습니다. 이 전략은 잡음 전력에 비해 신호 전력이 낮은 펄스 신호 섹션을 제외하여 SNR을 최적화합니다. 기본적으로 이는 잡음 전력에 비해 신호 전력이 무시할 수 있는 세그먼트를 제거할 수 있게 해줍니다.

그림 7: SNR을 최적화하기 위해 대부분의 신호만 캡처하도록 박스카 너비가 조정됩니다. 그런 다음 트리거 지연은 그에 따라 249.6ns로 조정되어 펄스 및 박스카 창을 다시 정렬합니다.(3) 평균 주기 수 선택 및 게인 단계 조정 "정렬" 모드에서 "평균 출력" 모드로 변경하면 데이터 표시 상자에 평균 출력 신호가 표시됩니다. 박스카 평균기의 출력은 다음 값들의 합산이라는 점에 유의하십시오. n 평균 대신 박스카 통합 결과. 이는 FPGA에서 분할기를 구현하는 데 시간이 많이 걸리고 상당한 리소스가 필요하기 때문입니다. 실제 평균보다는 통합된 결과를 출력하는 것이 더 효율적일 것입니다. 평균 박스카 통합은 다음 방정식을 사용하여 계산할 수 있습니다.


그림 8: 모드를 "정렬"에서 "평균 출력"으로 변경하여 출력 값을 읽습니다. 그런 다음 양자화 오류 또는 출력 포화를 방지하기 위해 출력 게인을 구성합니다.
MCC 제어 레지스터
Moku:Pro는 박스카 평균기를 구현하기 위해 레지스터를 직접 제어할 수 있는 편리한 기능을 제공합니다. 입력, 제어 및 출력 포트에 할당된 데이터 유형에 대한 자세한 요약은 표 1에 나와 있습니다. Moku:Pro의 제어 레지스터의 실제 구성은 이 표에 설명된 사양과 일치합니다. 사용자는 제어 레지스터 0~5를 조정하여 Python 제어판과 동일한 수준의 제어를 제공함으로써 박스카 평균기 기능의 전체 구성을 달성할 수 있습니다.

표 1: 박스카 평균기 입력, 제어 및 출력 포트 구성. Moku:Pro는 그림 9와 같이 설정되었습니다. 이 구성에서 Moku:Pro는 다중 계측 모드로 작동하여 슬롯 1에 박스카 평균기를, 슬롯 2에 출력 모니터링을 구현할 수 있습니다. 슬롯 1의 MCC 블록은 In 1을 신호 입력으로, In 2를 트리거 입력으로 사용합니다. MCC 블록의 출력인 Out A와 Out B는 슬롯 2의 오실로스코프에 연결되어 박스카 평균기 출력 신호를 시각화합니다.

그림 9: Moku:Pro의 다중 계측 모드 구성. In 1은 신호 입력이며 In A에 연결되고, In 2는 트리거 신호입니다. 박스카 평균기의 두 출력인 Out A와 Out B는 오실로스코프에 연결하여 결과를 표시합니다. MCC 블록의 제어 레지스터는 그림 10에 표시된 값으로 구성되었습니다. 트리거 레벨은 2,244로 설정되었으며, 이는 75mV의 트리거 임계 진폭(LSB, 최하위 비트)에 해당합니다(2244 LSB를 Moku:Pro의 디지털 해상도인 29925 LSB/V로 나눈 값). 정렬 프로세스 전에 트리거 지연을 0으로 설정할 수 있습니다. 게이트 폭이 320ns인 경우, 해당 제어 레지스터는 100으로 구성됩니다(320ns를 Moku:Pro의 클록 주기인 3.2ns로 나눈 값). 또한, a평균 길이 이 값은 100으로 설정되어 있으며, 이는 출력이 100개의 개별 박스카 적분에서 얻은 평균값임을 나타냅니다. 이 값은 최종 출력 품질에 따라 미세 조정할 수 있습니다. 게인 제어는 65,536으로 설정되어 있으며, 이는 최하위 16비트(소수점 이하 비트)를 모두 0으로, 정수 게인(최상위 16비트)을 1로 구성하는 것과 같습니다. 이 설정은 박스카 평균 출력에 대해 단위 게인을 설정합니다. 양자화 오류가 눈에 띄게 발생하는 경우, 이 값을 증가시켜 출력을 증폭할 수 있습니다. 예를 들어, 이 제어 레지스터를 655,360으로 설정하면 신호가 10배 증폭됩니다. 반대로 포화 현상이 관찰되면 값을 32,768로 조정하여 신호를 0.5배 감쇠시킬 수 있습니다.

그림 10: 트리거 레벨은 2,244(75mV)로 설정되었고, 게이트 폭은 초기 폭 320ns에 대해 100으로 설정되었습니다. 스위치 제어는 박스카 윈도우와 입력 신호를 동시에 시각화하기 위해 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 예제를 탐색하려면 클릭하세요. 여기에서 확인하세요. 박스카 평균기의 구성은 다음 중 하나를 통해 달성할 수 있습니다. Python 제어판 또는 직접 제어 레지스터. 또한 이 애플리케이션 노트에서는 향후 반복을 위한 잠재적인 개선 사항을 설명합니다.
혹시 궁금하신 점이 있으십니까?
지식 베이스를 통해 자주 묻는 질문들에 대한 답변을 확인하십시오
장치 기능이나 장비 기능에 대해 질문이 있는 경우 당사의 광범위한 내용을 확인하십시오. 기술 자료 당신이 찾고 있는 답을 찾기 위해. 인기 기사를 빠르게 확인하고 제품이나 주제별로 검색 범위를 좁힐 수도 있습니다.
사용자 포럼에 가입하시어 연락을 받으십시오
새로운 기능을 요청하고 싶으신가요? 공유할 지원 팁이 있나요? 사용 사례 예시부터 새로운 기능 발표 등에 이르기까지 사용자 포럼 제품 업데이트는 물론 Liquid Instruments 및 글로벌 사용자 커뮤니티와의 연결을 위한 원스톱 상점입니다.



