Пример #1
0
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()

# %%
Пример #2
0
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)