- Modular reusable EVM / ACLR bathtub tool
- Use w/ any instrument
- Standarized data output
- Reuse analysis tools
- Compare different instruments
- Bench.ini: Contains instrument IP addresses
- EVM_Sweep_Simple.py
- Contains no SCPI
- EVM_Sweep_PLOT_Bathtub.py
- {standard}_{instr}_meas.py
- Contains instrument specific SCPI
- Abstracts instrument & standard for EVM_Sweep_Simple
- Verify bench
- Edit IP address in bench.ini
- Run bench_Config.py to connect
- Config instruments
- Preset instruments
- Run VSA_Config() & VSG_Config()
- Verify instruments are Configured for test
- Run & verify
- VSx_freq(self, freq)
- VSA_level(self)
- VSA_sweep(self)
- VSA_get_ACLR(self)
- VSA_get_EVM(self)
- Verify EVM_Sweep_Simple()
- Preset instrument
- Run EVM_Sweep_Simple()
- Verify *.txt created w/ data
graph TD
EVM_Sweep_Simple <--> Standard_Driver <--SCPI--> Instrument
EVM_Sweep_Simple --> data.txt --> EVM_Sweep_PLOT_Bathtub
data.txt--> MS_Excel
- {standard}_{instr}_meas.py
- init(self)
- VSA_Config(self)
- VSA_get_ACLR(self)
- VSA_get_attn_reflvl(self)
- VSA_get_chPwr(self)
- VSA_get_EVM(self)
- VSA_get_info(self)
- VSA_level(self, method='LEV')
- VSA_Load(self, file)
- VSA_save_state(self)
- VSA_sweep(self)
- VSG_Config(self)
- VSG_pwr(self, pwr)
- VSG_save_state(self)
- VSx_freq(self, freq)
- Freq: 0.7; 1.9; 3.5; 5; 7GHz
- Pwr : -45 to +5 in 1dB steps
- Wave:
- 5G_FR1_UL_30KHz_SCS_100MHz_RFBW_1024QAM
- 5G_FR1_DL_30KHz_SCS_100MHz_RFBW_1024QAM
- Freq: 24; 28; 39; 43GHz
- Pwr : -45 to +5 in 1dB steps
- Wave:
- 5G_FR2_UL_120KHz_SCS_100MHz_RFBW_1024QAM
- 5G_FR2_DL_120KHz_SCS_100MHz_RFBW_1024QAM
- Freq: 8; 13; 15GHz
- Pwr : -45 to +5 in 1dB steps
- Wave:
- 5G_FR3_UL_60KHz_SCS_100MHz_RFBW_1024QAM
- 5G_FR3_DL_60KHz_SCS_100MHz_RFBW_1024QAM
- Freq: 2.4; 5.3; 5.9; 7.0GHz
- Pwr : -45 to +5 in 1dB steps
- Wave:
- 802.11be_160MHz_RFBW_4096_Preamble only
- 802.11be_160MHz_RFBW_4096_Preamble & Payload only
- 802.11be_320MHz_RFBW_4096_Preamble only
- 802.11be_320MHz_RFBW_4096_Preamble & Payload only