RSA306B,500,600系列API接口代码
作者:互联网
点击链接获取资料,下图是代码文件截图。
RSA306B,500,600系列API接口代码 (mianbaoduo.com)
部分示例代码:
"""################SPECTRUM EXAMPLE################""" def config_spectrum(cf=1e9, refLevel=0, span=40e6, rbw=300e3): rsa.SPECTRUM_SetEnable(c_bool(True)) rsa.CONFIG_SetCenterFreq(c_double(cf)) rsa.CONFIG_SetReferenceLevel(c_double(refLevel)) rsa.SPECTRUM_SetDefault() specSet = Spectrum_Settings() rsa.SPECTRUM_GetSettings(byref(specSet)) specSet.window = SpectrumWindows.SpectrumWindow_Kaiser specSet.verticalUnit = SpectrumVerticalUnits.SpectrumVerticalUnit_dBm specSet.span = span specSet.rbw = rbw rsa.SPECTRUM_SetSettings(specSet) rsa.SPECTRUM_GetSettings(byref(specSet)) return specSet def create_frequency_array(specSet): # Create array of frequency data for plotting the spectrum. freq = np.arange(specSet.actualStartFreq, specSet.actualStartFreq + specSet.actualFreqStepSize * specSet.traceLength, specSet.actualFreqStepSize) return freq def acquire_spectrum(specSet): ready = c_bool(False) traceArray = c_float * specSet.traceLength traceData = traceArray() outTracePoints = c_int(0) traceSelector = SpectrumTraces.SpectrumTrace1 rsa.DEVICE_Run() rsa.SPECTRUM_AcquireTrace() while not ready.value: rsa.SPECTRUM_WaitForDataReady(c_int(100), byref(ready)) rsa.SPECTRUM_GetTrace(traceSelector, specSet.traceLength, byref(traceData), byref(outTracePoints)) rsa.DEVICE_Stop() return np.array(traceData) def spectrum_example(): print('\n\n########Spectrum Example########') search_connect() cf = 2.4453e9 refLevel = -30 span = 40e6 rbw = 10e3 specSet = config_spectrum(cf, refLevel, span, rbw) trace = acquire_spectrum(specSet) freq = create_frequency_array(specSet) peakPower, peakFreq = peak_power_detector(freq, trace) plt.figure(1, figsize=(15, 10)) ax = plt.subplot(111, facecolor='k') ax.plot(freq, trace, color='y') ax.set_title('Spectrum Trace') ax.set_xlabel('Frequency (Hz)') ax.set_ylabel('Amplitude (dBm)') ax.axvline(peakFreq) ax.text((freq[0] + specSet.span / 20), peakPower, 'Peak power in spectrum: {:.2f} dBm @ {} MHz'.format( peakPower, peakFreq / 1e6), color='white') ax.set_xlim([freq[0], freq[-1]]) ax.set_ylim([refLevel - 100, refLevel]) plt.tight_layout() plt.show() rsa.DEVICE_Disconnect()
标签:600,spectrum,rsa,SPECTRUM,RSA306B,API,specSet,ax,freq 来源: https://www.cnblogs.com/Zzzzzz-m/p/16461965.html