drf_plot.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:digital_rf 作者: MITHaystack 项目源码 文件源码
def spectrum_plot(data, freq, cfreq, toffset, log_scale, zscale, title, clr):
    """Plot a spectrum from the data for a given fft bin size."""
    print("spectrum")
    tail_str = ''
    if log_scale:
        #        pss = 10.0*numpy.log10(data / numpy.max(data))
        pss = 10.0 * numpy.log10(data + 1E-12)
        tail_str = ' (dB)'
    else:
        pss = data

    print freq
    freq_s = freq / 1.0E6 + cfreq / 1.0E6
    print freq_s
    zscale_low, zscale_high = zscale

    if zscale_low == 0 and zscale_high == 0:
        if log_scale:
            zscale_low = numpy.median(
                numpy.min(pss[numpy.where(pss.real != -numpy.Inf)])) - 3.0
            zscale_high = numpy.median(numpy.max(pss)) + 3.0
        else:
            zscale_low = numpy.median(numpy.min(pss))
            zscale_high = numpy.median(numpy.max(pss))

    fig = plt.figure()
    ax = fig.add_subplot(1, 1, 1)
    ax.plot(freq_s, pss, clr)
    print freq_s[0], freq_s[-1], zscale_low, zscale_high
    ax.axis([freq_s[0], freq_s[-1], zscale_low, zscale_high])
    ax.grid(True)
    ax.set_xlabel('frequency (MHz)')
    ax.set_ylabel('power spectral density' + tail_str, fontsize=12)
    ax.set_title(title)

    return fig
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号