Module rpps.viz.plots.time

Time domain viz helpers

Functions

def I(ax, samps)
Expand source code
def I(ax, samps):
    if ax is None:
        fig, ax = plt.subplots()

    if isinstance(ax, mpl.lines.Line2D):
        ax.set_ydata(samps.real)
        line = ax
    else:
        line, = ax.plot(samps.real, ".-", c="r", label="I")
    return line
def IQ(ax, samps)
Expand source code
def IQ(ax, samps):
    if ax is None:
        fig, ax = plt.subplots()

    if isinstance(ax, tuple):
        line_i = ax[0]
        line_q = ax[1]
    else:
        line_i = ax
        line_q = ax
        ax.grid(True)
        ax.set_title("Time IQ")
        ax.set_title("Time Domain", loc="left")
        ax.set_title(f"{len(samps)} samples", loc="right")
        ax.set_xlabel("Time")
        ax.set_ylabel("Amplitude")
        ax.set_xlim(0, len(samps))

    line_i = I(line_i, samps)
    line_q = Q(line_q, samps)

    return line_i, line_q
def IQ3d(samps, ax=None)
Expand source code
def IQ3d(samps, ax=None):
    if ax is None:
        fig = plt.figure()
        ax = fig.add_subplot(projection="3d")

    I = np.real(samps)
    Q = np.imag(samps)

    T = np.arange(len(I))
    E = np.zeros(len(I))

    ip = np.array([T,I,E])
    qp = np.array([T,E,Q])

    ax.plot(ip[0], ip[1], ip[2])
    ax.plot(qp[0], qp[1], qp[2])
    ax.scatter(ip[0], ip[1], qp[2])

    ax.set_xlabel("Time")
    ax.set_ylabel("I")
    ax.set_zlabel("Q")
    ax.set_ylim(1.2, -1.2)
    ax.set_zlim(1.2, -1.2)

    plt.grid(True)
    plt.legend()
    return ax
def Q(ax, samps)
Expand source code
def Q(ax, samps):
    if ax is None:
        fig, ax = plt.subplots()

    if isinstance(ax, mpl.lines.Line2D):
        ax.set_ydata(samps.imag)
        line = ax
    else:
        line, = ax.plot(samps.imag, ".-", c="b", label="Q")
    return line
def mag(ax, samps)
Expand source code
def mag(ax, samps):
    if ax is None:
        fig, ax = plt.subplots()

    line_mag, = ax.plot(np.abs(samps), ".-", c="b", label="Mag")
    return line_mag
def pha(ax, samps)
Expand source code
def pha(ax, samps):
    if ax is None:
        fig, ax = plt.subplots()

    line_pha, = ax.plot(np.angle(samps), ".-", c="b", label="Phase")
    return line_pha