어플리케이션 노트

Moku:Go의 임의 파형 발생기

MATLAB을 사용하여 변조된 임의 파형 생성

임의 파형 발생기는 감지기 및 통신 장치와 같은 테스트 대상 장치에 대한 특정 자극 신호를 출력하는 데 사용됩니다. 이 애플리케이션 노트에서는 MATLAB과 함께 Moku:Go의 임의 파형 생성기를 사용하여 펄스 및 버스트 변조로 두 개의 임의 파형을 생성하는 방법에 대한 튜토리얼을 제공합니다.

이 노트와 함께 제공되는 MATLAB 스크립트와 텍스트 파일은 Liquid Instruments 웹사이트에서 다운로드할 수 있습니다.


Moku:Go

Moku:Go는 14개 이상의 실험실 기기를 하나의 고성능 장치에 결합하고 아날로그 입력 2개, 아날로그 출력 2개, 디지털 I/O 핀 16개 및 통합 전원 공급 장치 옵션을 제공합니다.

임의 파형 발생기

감지기와 통신 장치는 일반적으로 표준 사인파 및 구형파가 아닌 매우 임의적인 신호로 작동합니다. 따라서 이러한 장치를 특성화하려면 사용자 정의 파형을 출력하여 테스트 중인 장치에 대한 특정 신호를 시뮬레이션할 수 있는 임의 파형 발생기(AWG)가 필요합니다. 파형은 수학 공식이나 사전 기록된 데이터를 기반으로 할 수 있습니다. 예를 들어, 지진 감지기를 테스트하기 위해 엔지니어는 미리 기록된 지진 신호를 생성하고 감지기의 반응을 분석하고 이에 따라 감지기 설계를 개선할 수 있습니다.

Moku:Go의 임의 파형 발생기는 최대 65,536MSa/s의 샘플링 속도로 최대 125개 포인트의 맞춤형 파형을 생성할 수 있습니다. 파형은 파일에서 로드하거나 최대 32개 세그먼트가 포함된 조각별 수학 함수로 입력하여 진정한 임의 파형을 생성할 수 있습니다.

사용자 정의 파형을 생성하는 기능 외에도 Moku:Go의 AWG에는 펄스와 버스트의 두 가지 변조 모드가 있습니다. 펄스 변조는 훨씬 느린 속도로 신호를 반복하고 신호를 다음과 같이 허용합니다.
사이클 사이에 설정된 전압을 유지합니다. 펄스 모드는 신호를 방출하고 반환된 신호를 측정하는 레이더 감지기와 같은 낮은 듀티 사이클 반복 이벤트를 시뮬레이션하는 데 사용됩니다. 버스트 모드는 트리거 조건이 충족되면 출력을 생성합니다. 이는 입자 계수기의 임펄스 응답일 수도 있고 디지털 통신 장치의 응답일 수도 있습니다. 따라서 신호 변조를 통해 AWG를 훨씬 더 광범위한 애플리케이션에 사용할 수 있습니다.

이 노트에서는 MATLAB용 Moku 애플리케이션 프로그래밍 인터페이스(API)를 활용하여 Moku:Go에서 두 개의 서로 다른 파형을 생성하고 Windows Moku:Go 앱을 사용하여 다른 Moku:Go로 출력 신호를 측정합니다. 텍스트 파일에서 신호를 로드하는 방법과 수학 공식을 기반으로 신호를 생성하는 방법을 보여 드리겠습니다. 그런 다음 각 신호에 펄스 변조와 버스트 변조를 적용합니다.

이 노트에는 예제 스크립트 AWG_appnote.m과 사용자 정의가 포함된 텍스트 파일이 함께 제공됩니다.
파형 sq_wave.txt 사용 가능 https://download.liquidinstruments.com/documentation/app-note/referencefiles/Using_AWG_with_Moku_Go_Supporting_Files.zip

또한 예제 스크립트를 실행하기 전에 Moku-MATLAB 도구 상자가 설치되어 있는지 확인하십시오. 도구 상자는 다음에서 다운로드할 수 있습니다.

https://www.liquidinstruments.com/resources/software-utilities/matlab-api/.

사용자 정의 파형 생성

이 섹션에서는 Moku:Go의 AWG를 사용하여 두 개의 파형을 생성합니다. 그림 1에는 구형파와 처프 신호라는 두 가지 파형이 나와 있습니다.

구형파는 1000개 요소의 배열이며 함께 제공되는 텍스트 파일 sq_wave.txt에서 로드됩니다. 이는 파일에서 사용자 정의 파형을 로드할 수 있는 방법을 보여줄 뿐만 아니라 Windows 및 Mac 앱에서도 동일한 파일을 사용할 수 있으므로 Moku:Go AWG에 사용할 수 있는 예제 파형 정의 파일을 보여주기 위한 것입니다.

두 번째 파형도 1000개 요소의 배열이며 다음 방정식을 사용하여 생성됩니다.

y = sin[2π(50t2)]

어디에 t Moku:Go AWG는 조회 테이블을 형성하기 위해 전압 값만 필요합니다. t 계산에만 사용됩니다. y 값을 지정하고 그림 1의 플롯을 생성합니다.

그림 1: 예제 파형의 MATLAB 플롯

임의 파형이 조회 테이블에 로드되면 이를 Moku:Go에 배포하고 신호 생성을 시작할 수 있습니다.

Moku:Go에 대한 연결은 AWG_appnote.m의 라인 30에서 다음 MATLAB 명령을 사용하여 IP 주소를 통해 설정됩니다.

m = MokuArbitraryWaveformGenerator(ip, true);

교체 ip Moku:Go의 IP 주소를 사용하여 장치에 연결합니다.

그런 다음 출력 파형은 다음을 사용하여 설정됩니다. generate_waveform 이 명령은 채널, 샘플링 속도, 조회 테이블 데이터, 주파수, 진폭 등 1가지 필수 매개변수를 순서대로 사용합니다. 예를 들어, 출력 채널 39은 라인 XNUMX에서 다음과 같이 설정됩니다.

m.generate_waveform(1, "Auto", square_wave, le3, 1);

이는 채널 1이 다음을 사용하여 자동으로 할당된 샘플링 속도로 신호를 생성한다는 의미입니다. square_wave 조회 테이블. 신호는 1kHz의 주파수와 1V의 진폭을 갖습니다.pp.

그림 2 : Moku:Go 측정 하드웨어 설정

AWG의 출력 신호가 그림 1의 파형과 일치하는지 확인하기 위해 Windows 앱 인터페이스를 사용하여 오실로스코프 계측기를 실행하는 또 다른 Moku:Go를 설정했습니다. 그림 2에서 상단 Moku:Go는 오실로스코프 장비를 실행하고 하단 Moku:Go는 AWG 장비를 실행합니다. AWG를 실행하는 Moku:Go의 출력은 오실로스코프를 실행하는 Moku:Go의 입력에 연결됩니다.

그림 3 : MATLAB 예제 스크립트에서 생성된 AWG 출력을 측정하는 Moku:Go 오실로스코프.

캡처된 신호는 그림 3에 표시되어 있으며 이는 그림 1의 파형과 일치합니다. 오실로스코프의 채널 1은 1kHz로 예상되는 주파수를 측정합니다(실제 측정값은 998.4Hz). 이는 커서로도 확인됩니다. 여기서 구형파의 1주기 주기는 1ms입니다. 두 채널의 진폭은 1V를 측정합니다.pp 예상대로입니다(채널 0.9998의 실제 측정값은 1V, 채널 1.009의 경우 2V).

펄스 변조

펄스 변조 모드에서는 출력 파형을 최대 2개까지 구성할 수 있습니다.18 = 임의 파형의 각 반복 사이에 262144 사이클의 데드 타임이 있습니다.

이 예에서는 펄스 변조를 사용하여 구형파 신호에 2개의 데드 사이클을 도입합니다.

펄스 변조 섹션의 51행 주석 처리를 제거하여 예제 스크립트에서 펄스 변조를 켤 수 있습니다. 변조 속성은 다음과 같이 구성됩니다.

m.pulse_modulate(1, 'dead_cycles',2,'dead_voltage',0);

여기서 첫 번째 매개변수는 펄스 변조를 적용할 채널입니다. 신호의 각 사이클 사이에는 2사이클의 데드 타임이 있습니다. 데드타임 동안의 전압은 0V이다.

파형은 그림 4의 오실로스코프를 사용해도 확인됩니다.


그림 4 : 오실로스코프에 의해 측정된 펄스 변조가 있는 구형파입니다.

버스트 변조

버스트 모드에서는 출력 파형이 다른 신호 소스에서 트리거될 수 있습니다. 트리거 조건이 충족되면 설정된 버스트 조건에 따라 신호가 생성됩니다. Moku:Go는 두 가지 유형의 버스트 모드를 제공합니다. NCycle은 트리거 시 설정된 수의 파형 사이클을 생성할 수 있습니다. 시작은 트리거될 때 파형 출력을 시작합니다.

이 예에서는 구형파(1V)를 생성합니다.pp 200Hz) 내장형 파형 발생기가 있는 오실로스코프 Moku:Go(상단 장치)를 사용합니다. 이 구형파는 버스트 변조를 위한 트리거 신호로 AWG Moku:Go(하단 장치)의 입력 1에 공급됩니다.

그림 5 : 오실로스코프 출력 1을 AWG용 트리거 신호로 사용하는 Moku:Go 하드웨어 설정

버스트 변조는 예제 스크립트의 58행 주석을 제거하여 예제 스크립트에서 활성화할 수 있습니다. 변조는 다음과 같이 구성됩니다.

m.burst_modulate(2,'Input1','NCycle','burst_cycles',2,'trigger_level',0.1);

여기서 출력 채널 2는 입력 1에 의해 트리거되고 트리거되면 처프 신호의 2주기를 생성합니다. 트리거 조건은 출력 1 신호가 상승 에지와 함께 0.1V를 교차하는 경우입니다. 0.1V의 트리거 레벨은 명확한 트리거를 생성하기 위한 구형파의 급격한 상승 에지이므로 선택됩니다.

그림 6은 오실로스코프에 의해 캡처된 신호를 보여줍니다. 여기서 채널 1은 트리거 신호를 표시하도록 설정되었습니다. 구형파의 모든 주기에 대해 AWG에서 2주기의 처프 파형이 생성되는 것을 볼 수 있습니다.

그림 6 : 오실로스코프 출력 구형파를 트리거로 사용하여 버스트 변조된 처프 신호.

요약

이 애플리케이션 노트에서는 MATLAB을 사용하여 Moku:Go의 임의 파형 생성기에서 파형을 정의할 수 있는 유연성을 보여주었습니다. 파형이 수학 공식으로 정의되거나 파일에서 로드되는 경우에도 동일한 MATLAB 스크립트를 사용하여 파형을 Moku:Go로 원활하게 다운로드하고 장비를 구성할 수 있습니다.

링크

MATLAB 스크립트 및 텍스트 파일

https://download.liquidinstruments.com/documentation/appnote/referencefiles/Using_AWG_with_Moku_Go_Supporting_Files.zip

Moku용 MATLAB API:

https://www.liquidinstruments.com/resources/software-utilities/matlab-api/


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

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