标签:600 spectrum rsa SPECTRUM RSA306B API specSet ax freq
点击链接获取资料,下图是代码文件截图。
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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。