본 애플리케이션 노트에서는 MATLAB과 Moku:Lab의 임의 파형 생성기를 사용하는 방법을 안내합니다. MATLAB에서 Moku:Lab으로 두 가지 간단한 파형을 직접 출력하는 방법을 단계별로 자세히 설명합니다. 출력 파형을 확인하기 위해 오실로스코프와 스펙트럼 분석기가 설치된 두 번째 Moku:Lab을 사용합니다. 또한, 리사주 곡선 예제와 더 복잡한 2채널 파형을 함께 보여줍니다. 본 노트에 포함된 MATLAB 파일은 Liquid Instruments 웹사이트에서 다운로드할 수 있습니다.
데모 모드에서 Moku를 사용해 보세요
Moku 앱을 다운로드하세요 →
FAQ에 대한 답변을 받으세요
지식 기반을 방문하세요 →
Moku 사용자와 연결
사용자 포럼에 참여하세요 →
임의 파형 발생기
Moku:Lab의 임의 파형 생성기(AWG)는 최대 65,536 GSa/s의 샘플링 속도로 최대 1개의 포인트를 갖는 사용자 지정 파형을 생성할 수 있습니다. 파형은 파일에서 불러오거나, 최대 32개의 세그먼트로 구성된 구간별 수학 함수로 입력하여 진정한 임의 파형을 생성할 수 있습니다. 이 문서에서는 MATLAB 내에서 파형을 생성하여 Moku:Lab에 직접 다운로드하는 방법을 설명합니다.전제조건 및 설정
이 응용 노트 및 튜토리얼은 MATLAB과 관련 Moku:Lab MATLAB 툴박스가 설치되어 있다고 가정합니다. Moku:Lab은 다음 MATLAB 버전을 지원합니다.- Windows: MATLAB R2013a 이상
- Linux: MATLAB R2013a 이상
- MacOS: MATLAB 2014a 이상
- Moku:Lab 도구 상자를 여기에서 다운로드하세요: http://updates.liquidinstruments.com/static/moku-MATLAB-2.8.1.mltbx
- MATLAB에서 다운로드한 .tblx 파일을 엽니다.
- “설치”를 선택하세요
- 다음으로 설치를 확인하세요. 도와주세요 MATLAB 터미널에서
- 여기에서 Moku:Lab 도구 상자 zip을 다운로드하세요. https://updates.liquidinstruments.com/static/moku-MATLAB-2.8.1.zip
- 일반적으로 다음과 같이 zip을 추출합니다.
../MATLAB/Add-Ons/Toolboxes - MATALB를 열고 홈 도구 창에서 "경로 설정"을 클릭합니다.
- "하위 폴더로 추가"를 클릭하고 추출된 ZIP 폴더를 선택하세요.
- MATLAB 경로에 툴박스 폴더를 추가하려면 "저장"을 클릭하세요.
Moku:Lab on MATLAB
MATLAB이 Moku:Lab을 제어하려면 MATLAB을 실행하는 컴퓨터가 Moku:Lab과 동일한 서브넷/LAN에 있어야 합니다. MATLAB에는 Moku:Lab의 IP 주소가 필요합니다. 다음 두 가지 방법 중 하나로 이를 확인할 수 있습니다.- Bonjour/zeroconf 서비스 검색 유틸리티
- Moku:Lab의 iPad 앱 실행 화면에서; Moku:Lab 아이콘을 길게 누르면 IP 주소가 표시됩니다.
~/Library/ApplicationSupport/MathWorks/MATLAB Add-Ons/Toolboxes/moku-MaTLAB-2.8.1/examples
Windows의 경우 :
\Users\...\AppData\Roaming\MathWorks\MATLAB Add-Ons\Toolboxes\moku-MATLAB-2.8.1\examples
다운로드
각 예제에 대한 MATLAB 스크립트는 여기에서 다운로드할 수 있습니다. https://download.liquidinstruments.com/documentation/app-note/reference-files/20-0331_AppNote-MatLab-UsingAWG_ScriptsForMokuLabAWG.zip예제 #1: 고조파가 포함된 구형파 및 사인파
첫 번째 예에서는 Toolbox 예를 배포하겠습니다.arbitrarywavegen_basic.m
이 스크립트를 참조하면 배열이 square_wave 길이가 100이고 각 값으로 +1 또는 -1로 구성된 배열로 정의됩니다. not_square_wave 이 변수는 여러 개의 홀수 차 고조파가 추가된 사인파를 나타내는 길이 100의 값 배열로 정의됩니다. MATLAB 스크립트를 실행한 후 사용자는 IP 주소를 입력하고 스크립트 내의 다음 줄을 실행합니다.
m = MokuArbitraryWaveGen(ip)
Moku:Lab에서 임의 파형 발생기 장비의 인스턴스를 설정하고 배포합니다. 그런 다음 각 채널에 대해 하나의 호출을 수행합니다.
m.write_lut
m.gen_waveformfunction
Moku:Lab 하드웨어에서 파형을 구성합니다. MATLAB의 플로팅 및 그래프 명령을 사용하여 이러한 파형을 보고 확인할 수 있습니다. 그림 1은 파란색으로 구형파를, 빨간색으로 사인파와 고조파를 보여줍니다.

그림 1: 예제 파형의 MATLAB 플롯
하지만 Moku:Lab에서 생성된 파형을 보는 것이 더 유용합니다. 실험실 벤치에서 위쪽의 검은색 Moku:Lab은 MATLAB에 연결되어 있으며, 설치된 AWG를 통해 두 개의 신호를 생성합니다. 아래쪽의 파란색 Moku:Lab은 오실로스코프가 실행되는 iPad와 연결되어 있습니다. 이 구성은 그림 2에 나와 있습니다.
그림 2: Moku:Lab 설정
AWG 출력 채널은 오실로스코프 입력에 연결되어 있으며 iPad에서 파형을 관찰할 수 있습니다. 커서는 예상 주파수 1MHz(화면상 실제 측정값은 999.4kHz)를 표시합니다. Moku:Lab과 Dropbox의 통합을 통해 스크린샷을 빠르게 공유할 수 있습니다. 그림 3(실제 AWG 출력)을 보면, 채널 2에는 구형파(파란색)가, 채널 1에는 사인파와 고조파가 함께 출력됩니다(빨간색).
그림 3: Moku:Lab 오실로스코프 스크린샷은 MATLAB에서 생성된 MokuLab AWG를 보여줍니다.
Moku:Lab의 유연성 덕분에 파란색 Moku:Lab을 오실로스코프에서 스펙트럼 분석기로 빠르게 전환할 수 있습니다. 그림 4에 나타난 구형파의 스펙트럼은 예상대로 1MHz에서 기본 주파수를 보여주고, 100MHz까지 그래프의 경계에 걸쳐 일련의 홀수 고조파가 나타납니다.
그림 4: Moku:Lab 스펙트럼 분석기의 구형파 스펙트럼
not_square_wave에 대한 MATLAB 스크립트는 기본적으로 7개의 홀수 고조파를 갖는 사인파를 합산합니다. not_square_wave의 스펙트럼은 그림 5에 나와 있으며, 1MHz 기본파와 7개의 고조파 피크가 15MHz까지 확장되는 것을 보여줍니다. 이는 iPad 앱의 커서를 사용하여 화면에 표시됩니다.
그림 5: Moku:Lab 스펙트럼 분석기에 표시된 "비방형파"
예시 #2 : 리사주 수치
Moku:Lab의 AWG의 두 번째 예를 위해 우리는 고전적인 Lissajous 그림을 생성할 것입니다. 리사쥬 곡선은 x와 y에서 다음과 같이 정의됩니다.x = 구매 수량( at + d )
y = Bsin( bt )
이 곡선족은 1815년 Nathaniel Bowditch에 의해 연구되었고, 이후 1857년 Jules Antoine Lissajous에 의해 더욱 자세히 연구되었습니다. [3]의 MATLAB 스크립트에 Moku:Lab API 함수 호출을 통합함으로써, 몇 가지 파형을 정의하고 MATLAB에서 결과적인 Lissajous 곡선을 확인할 수 있습니다. 이 MATLAB 스크립트는 다음과 같습니다.lissajous_moku.m
실행되면 MATLAB에서 GUI 창이 열리고 사용자가 변수 A, a, d, B, b 및 t를 구성할 수 있습니다. "시작"을 클릭하면 MATLAB이 그림을 플롯하고 몇 초 후에 연결된 Moku:Lab의 AWG에 파형을 다운로드합니다. 그림 6은 MATLAB 출력을 보여주고 그림 7은 XY 모드에서 작동하는 두 번째 Moku:Lab의 오실로스코프에서 캡처된 Moku:Lab의 AWG 출력을 보여줍니다.

그림 6: MATLAB 리사주 곡선

그림 7: Moku:Lab의 오실로스코프에 표시되는 Moku:Lab의 AWG




