signal = A * np.sin(2 * np.pi * f * t) # plt.figure() # plt.plot(t, signal) # plt.show() # %% signal_q = Fxp(signal, n_word=8, n_frac=1) plt.figure(figsize=(12, 8)) plt.plot(t, signal, color='C0') plt.plot(t, signal_q.astype(float), color='C1') plt.show() # %% plt.figure(figsize=(12, 10)) plt.plot(t, signal, color='C0') roungings = ['floor', 'ceil', 'around', 'fix', 'trunc'] signals = [] for r in roungings: signal_q = Fxp(n_word=8, n_frac=1) signal_q.props['rounding'] = r signal_q.set_val(signal) signals.append(signal_q) plt.plot(t, signal_q.astype(float), label=r) plt.legend() plt.show() # %%
print(x.imag) x = Fxp([0.125 + 1j * 0.25, 1.0 - 1j * 1.0], signed=True, n_word=16, n_frac=14) print(x.info()) print(x) print(x.real) print(x.imag) x = Fxp([0.125 + 1j * 0.25, 1.0 - 1j * 1.0], signed=True) print(x.info()) #%% print('\n--- WRAP OVERFLOW ---') x = Fxp(signed=True, n_word=6, n_frac=2) x.overflow = 'wrap' x.set_val(8) print(x) x.set_val(np.arange(-10, 10, 1)) print(x) x.overflow = 'saturate' x.set_val(np.arange(-10, 10, 1)) print(x) x = Fxp(signed=False, n_word=6, n_frac=2) x.overflow = 'wrap' x.set_val(np.arange(-2, 18, 1)) print(x) x.overflow = 'saturate' x.set_val(np.arange(-2, 18, 1)) print(x)