Example #1
0
tdc_sig = make_signal(td=tdc_out[PLOT_SLICE], fs=FS)
bbpd_sig = make_signal(td=bbpd_out[PLOT_SLICE], fs=FS)
error_sig = make_signal(td=error[PLOT_SLICE], fs=FS)

# plt.subplot(2,3,1)
# plot_td(clk_sig, title="CLK")
# razavify()
plt.subplot(2, 3, 1)
plot_td(osc_freq, title="Inst. DCO Frequency")
# razavify()
plt.subplot(2, 3, 2)
plot_td(pn_sig, title="Phase error (noise)")
# razavify()
plt.subplot(2, 3, 3)
plot_td(tdc_sig, title="TDC/PD Output", label="TDC")
plot_td(bbpd_sig, title="BBPD Output", label="BBPD")
plot_td(error_sig, title="Error Output", label="Combined Error")
plt.legend()
# razavify()
plt.subplot(2, 3, 4)
plot_td(lf_sig, title="Loop Filter Output")
# razavify()
plt.subplot(2, 3, 5)
plot_pn_ssb2(pn_sig_full, dfmax=PN_FMAX, line_fit=False)
plot_lf_ideal_pn(RO_POWER, TEMP, **lf_params)
plt.grid()
# plot_fd(osc_sig_full)
# razavify()
adjust_subplot_space(2, 2, 0.1, 0.1)
plt.show()
Example #2
0
plt.subplot(2,1,1)
plt.semilogx(FNS, f_bers, color="k")
plt.title("Offset from carrier containing 99% of power\n vs Closed loop PLL bandwidth")
plt.xlabel("Loop bandwidth [Hz]")
plt.ylabel("99% Power Offset [Hz]")
#plt.grid()
razavify()

plt.subplot(2,1,2)
plt.semilogx(FNS, tdc_steps, color="k")
plt.title("Minimum number of TDC steps required\n vs PLL closed loopbandwidth")
plt.xlabel("Loop bandwidth [Hz]")
plt.ylabel("Minimum TDC steps")
#plt.grid()
razavify()
adjust_subplot_space(2,1)
plt.show()
# plt.subplot(1,3,1)
# plt.semilogx(FREQS, 20*np.log10(np.abs(g)), label="TDC noise")
# plt.semilogx(FREQS, 20*np.log10(np.abs(1-g)**2), label="DCO noise")
# plt.xlabel("Frequency [Hz]")
# plt.ylabel("Magnitude response [dB]")
# plt.title("TDC, DCO Noise Transfer functions")
# plt.grid()
# plt.xlim((1e2,FMAX))
# plt.legend()
# #plt.show()
# 
# plt.subplot(1,3,2)
# plt.semilogx(FREQS, 10*np.log10(ntdc), label="TDC")
# plt.semilogx(FREQS, 10*np.log10(_ndco), label="DCO")