Waveform을 장비에 전송했다는 메시지가 성공해도 RF Output에는 CW만 보이거나 아무것도 나오지 않을 수 있다. ARB playback은 한 개의 On 버튼이 아니라 memory → selection → clock/scale → trigger → ARB → global modulation → RF output 상태가 모두 이어져야 완성된다.
직관 · 무엇이 보이나?
Waveform player의 일곱 상태를 한 줄로 연결하자
파일을 저장하는 것과 재생하는 것은 다르다
음악 player에 비유하면 upload는 파일을 저장한 것, waveform select는 재생 목록에서 곡을 고른 것, trigger는 재생 시작 신호, ARB On은 player engine 시작, Mod On은 carrier에 소리를 연결한 것, RF On은 speaker output을 연 것에 해당한다.
이 비유에서 중요한 점은 앞 단계가 성공해도 뒤 단계가 자동으로 켜진다고 가정하지 않는 것이다.
Upload한 IQ record는 언제, 어디서 반복될까?
Waveform segment, marker, trigger와 loop boundary를 sample clock 위에 놓고 deterministic playback을 구성합니다.
교육용 계산 모델 · 실제 장비 정확도나 compliance 판정을 대신하지 않습니다.
- Source파형·전력·할당초기 상태에서 관찰하는 stage
- DUT전달·반사·비선형초기 상태에서 관찰하는 stage
- Acquisitionmixer·IF·ADC초기 상태에서 관찰하는 stage
- DSP / MathRBW·FFT·복소수초기 상태에서 관찰하는 stage
- Displaytrace·marker·grid초기 상태에서 관찰하는 stage
먼저 결과를 예측해보세요
BUS trigger로 single playback을 arm했지만 *TRG를 보내지 않았다면?
Trigger 뒤 segment와 marker가 같은 clock을 공유합니다
OFDM-like · BUS trigger · marker n=192
그래프 값을 표로 보기
| 항목 | 값 | 해석 |
|---|---|---|
| Waveform | OFDM-like | 선택된 ARB memory segment |
| Trigger source | BUS | address counter 시작 event |
| Sequence loops | 3 | segment 반복 횟수 |
| Marker sample | n=192 | 각 loop에서 marker가 발생하는 sample index |
| Timeline display | 3 of 3 loops | 모든 loop 표시 |
재생은 file 선택만으로 시작되지 않습니다
load, select, clock, trigger와 RF/modulation state가 모두 필요합니다.
- STATEFront panel / SCPI
- ARBI/Q memory
- DACInterpolation
- IQ MODLO upconversion
- LEVELALC / attenuator
- RF OUTDUT 기준면
- encode I/Q
- binary block upload
- select WFM1
- set clock·scale
- arm trigger
- enable MOD·ARB
지금 보이는 변화의 원인
같은 계산 state- 변경
- OFDM-like · BUS trigger · 3 loops · marker sample 192
- 직접 효과
- 선택한 trigger event 이후 ARB address counter가 segment sample을 순서대로 읽습니다.
- 화면 결과
- marker가 n=192에서 반복되고 segment boundary가 3회 나타납니다.
- 비용·한계
- record의 처음과 끝이 불연속이면 매 loop마다 spectral splatter가 반복됩니다.
원인을 자기 말로 닫아보세요
바꾼 물리량 → 영향을 받은 stage → 화면에서 바뀐 부분 → 비용·한계 순서로 설명합니다.
먼저 예측을 맞게 고정하세요.
측정 주의 · marker polarity와 routing은 waveform header·front-panel I/O 설정에 따라 달라질 수 있습니다.
Playback state를 별도 변수로 생각하자
| 상태 | 확인 질문 | 대표 명령 |
|---|---|---|
| Memory | 재생 가능한 WFM1:에 data가 있는가? | MMEM:DATA |
| Selection | 어느 segment/sequence가 선택됐는가? | RAD:ARB:WAV |
| Clock | 생성 때의 sample rate와 같은가? | RAD:ARB:SCL:RATE |
| Scaling | 원본 sample에 runtime scale이 얼마인가? | RAD:ARB:RSC |
| Trigger | Free run인가, external/bus 대기인가? | RAD:ARB:TRIG:SOUR |
| ARB/Mod | Baseband engine과 global modulation이 켜졌는가? | RAD:ARB ON, OUTP:MOD ON |
| RF | Connector output을 마지막에 열었는가? | OUTP ON |
이 표의 어느 한 칸만 빠져도 “파일은 있는데 신호가 없다”는 현상이 생길 수 있다.
실무 조작·해석 · 무엇을 바꿀까?
RF Off 상태에서 waveform을 배포하고 단계별로 query-back하자
0. 장비 identity와 option을 먼저 확인한다
*IDN?
*OPT?
OUTP OFF
OUTP:MOD OFF
*CLS*IDN?이 기대한 N5182B인지, Option 656이 있는지 확인한다. Option 657은 bandwidth/sample-rate 확장이고, memory 옵션은 저장 가능한 sample 수를 바꿀 수 있다. 프로그램의 기대 사양을 장비가 만족하지 않으면 RF를 켜지 않고 명시적으로 중단한다.
1. Waveform을 WFM1: volatile memory에 준비한다
직접 재생할 waveform은 volatile waveform memory의 WFM1: prefix를 사용한다. Nonvolatile storage의 파일을 사용할 때도 재생 전에 지원되는 copy/load 절차로 WFM1:에 준비해야 한다.
Binary 전송의 command 모양은 다음과 같다.
MMEM:DATA "WFM1:pa_ofdm",#<digits><byte-count><binary-IQ-payload>
*OPC?
SYST:ERR?#<digits><byte-count>는 설명용 표기이며 실제 프로그램은 payload 길이에서 header를 만든다. Binary payload를 문자열로 decode하거나 line ending을 삽입하면 data가 손상될 수 있다.
2. Waveform과 clock·scale을 명시적으로 선택한다
SOUR:RAD:ARB:WAV "WFM1:pa_ofdm"
SOUR:RAD:ARB:SCL:RATE 100 MHZ
SOUR:RAD:ARB:RSC 70
SOUR:RAD:ARB:WAV?
SOUR:RAD:ARB:SCL:RATE?
SOUR:RAD:ARB:RSC?
SYST:ERR?Command reference의 full form은 각각 SOURce:RADio:ARB:WAVeform, SOURce:RADio:ARB:SCLock:RATE, SOURce:RADio:ARB:RSCaling이다. Runtime scaling은 1–100% 범위이며 원본 file을 다시 쓰지 않고 재생 amplitude를 조정한다.
3. Trigger source를 시험 목적에 맞춘다
SOUR:RAD:ARB:TRIG:SOUR KEY
SOUR:RAD:ARB:TRIG:SOUR?지원되는 대표 source는 KEY, EXT, BUS다. BUS를 선택하면 *TRG가 trigger event를 보낸다. N5182B의 이 command에 IMMediate를 임의로 사용하지 않는다. Continuous/free-run과 single/triggered behavior는 waveform과 playback 설정을 함께 확인한다.
External trigger 시험에서는 polarity, threshold, delay, connector와 cable delay를 기록한다. 장비가 armed 상태인지와 RF envelope가 실제로 나온 상태를 구분한다.
4. ARB와 modulation을 켜되 RF는 아직 Off로 둔다
SOUR:RAD:ARB ON
OUTP:MOD ON
SOUR:RAD:ARB?
OUTP:MOD?
*OPC?
SYST:ERR?ARB On은 waveform engine, Mod On은 baseband를 RF carrier에 적용하는 global gate다. 둘 중 하나가 Off이면 RF On 상태에서도 unmodulated carrier 또는 의도하지 않은 output이 보일 수 있다.
5. Frequency·power와 측정 chain을 검증한 뒤 RF를 켠다
SOUR:FREQ:CW 3.5 GHZ
SOUR:POW:LEV:IMM:AMPL -30 DBM
SOUR:FREQ:CW?
SOUR:POW:LEV:IMM:AMPL?
SYST:ERR?
OUTP ON
OUTP?RF On은 마지막 단계다. PA를 연결했다면 DUT input calibration, bias/interlock와 analyzer protection이 모두 준비된 뒤 실행한다.
증상별 state 진단
| 화면 증상 | 우선 query | 가능한 원인 |
|---|---|---|
| RF가 전혀 없음 | OUTP?, RAD:ARB?, trigger state | RF Off, ARB Off, trigger 대기 |
| CW carrier만 있음 | OUTP:MOD?, selected waveform | Global Mod Off, waveform 미선택 |
| Spectrum 폭이 다름 | RAD:ARB:SCL:RATE? | 생성 sample rate와 playback clock 불일치 |
| Power가 예상보다 낮음 | RAD:ARB:RSC?, RF amplitude | Runtime scaling 또는 waveform RMS |
| Trigger 한 번 후 멈춤 | trigger source/mode, sequence | Single playback 또는 다음 event 대기 |
| File not found error | selected path와 memory catalog | NVWFM: file을 직접 선택, WFM1: 준비 안 됨 |
종료 sequence
OUTP OFF
OUTP:MOD OFF
SOUR:RAD:ARB OFF
SYST:ERR?시험 실패, 사용자 중단, timeout과 정상 종료가 모두 같은 idempotent cleanup으로 들어가게 한다. Waveform memory를 지우는 일은 다음 시험의 cache 정책과 별개로 결정하며, RF Off cleanup과 묶어 무조건 삭제하지 않는다.
수식·규격 · 어떻게 검증할까?
Binary payload와 playback clock이 RF를 만드는 조건을 검증하자
수식 열기Definite-length block header
header = '#' + digits(len(payload)) + len(payload)예를 들어 payload가 4000 byte면 길이 문자열은 4000, 자릿수는 4이므로 header는 #44000이다. 실제 command에는 이 header 바로 뒤에 raw byte를 붙인다. Text encoding을 거치지 않는다.
수식 열기I/Q payload 크기
bytes = N_complex × (2 bytes I + 2 bytes Q)Signed 16-bit interleaved I/Q만 포함한 경우의 기본 계산이다. Marker data와 file/header format을 같은 payload에 포함하는 방식은 선택한 transfer contract를 따라 별도로 계산한다.
수식 열기Playback duration
T = N_complex/FsWaveform select는 sample을 바꾸고 sample-clock setting은 각 sample이 차지하는 시간을 정한다. Trigger는 이 record를 언제 시작할지 결정한다. 세 설정을 하나의 “waveform 이름”으로 뭉쳐 기록하지 않는다.
Cause/Effect를 상태기계로 말하기
“Waveform file을 upload한 뒤 WFM1: segment를 선택하고 sample clock을 100 MSa/s로 맞췄지만 trigger source가 BUS였기 때문에 ARB와 Mod를 켜도 engine은 trigger를 기다렸다. *TRG 후 record가 재생되었고, RF On은 별도 output gate이므로 DUT 보호가 확인된 마지막 단계에서만 열었다.”
장비 의존 조건
- ARB playback에는 N5182B Option 656이 필요하다.
- Option 656 단독과 657 추가 구성은 최대 sample rate와 nominal RF bandwidth가 다르다.
- Waveform/sequence name prefix, 지원 trigger choice와 command range는 N5180-90057의 해당 model·option 조건을 따른다.
- Firmware와 option이 다른 장비로 porting할 때
*IDN?,*OPT?, query-back과 error queue 검사를 생략하지 않는다.
완료 전 자기 설명
- Upload 성공과 waveform 재생 성공 사이에 어떤 state가 남아 있는가?
- RF On인데 CW만 보일 때 어떤 query를 어떤 순서로 보낼 것인가?
- Binary payload 길이와 sample clock을 잘못 설정하면 각각 어떤 실패가 생기는가?
단원을 닫기 전에
같은 조건으로 설명하고 재현할 수 있나요?
완료 기준
- Waveform upload, volatile memory, selection, trigger, ARB, modulation과 RF output 상태를 순서대로 구분할 수 있다.
- N5182B에서 binary block으로 waveform을 전송하고 sample clock·runtime scaling을 검증하는 SCPI sequence를 읽을 수 있다.
- No RF, CW만 보임, wrong bandwidth, one-shot 대기 같은 증상을 state와 error queue로 진단할 수 있다.
대표 bench
- Source
- Keysight N5182B MXG Option 656/657, waveform은 먼저 WFM1 volatile memory에 준비
- DUT
- Through path 또는 낮은 drive의 PA, trigger 시험에는 marker/trigger cable 포함
- Analyzer
- IQ capture가 가능한 X-Series/89600 VSA 또는 power sensor
근거와 더 읽을 자료
- 장비 문서X-Series Signal Generators SCPI Command Reference, N5180-90057Keysight Technologies
- Application noteHow to Create Baseband Waveforms and Download Them to RF Vector Signal GeneratorsKeysight Technologies
- Application noteBasics of Vector Signal Generators Part 2: Waveform Playback ModeKeysight Technologies