Пример #1
0
def test_PredictSNR():
    order = 6
    Ts = 80e-6
    fp = 625.
    OSR = 1. / Ts / 2. / fp
    ds = deltaSigma.DeltaSigma(OSR, order)
    ds.simSNR()
Пример #2
0
def test_checkScale():
    order = 6
    Ts = 80e-6
    fp = 625.
    OSR = 1. / Ts / 2. / fp
    ds = deltaSigma.DeltaSigma(OSR, order)
    print("ABCD before:\n%s" % ds.ABCD)
    ds.checkScale()
    print(ds.ABCD)
    print(ds.umax)
    print(ds.S)
Пример #3
0
def test_SimSpectrum():
    size = 8092
    Ts = 80e-6
    fp = 500.
    order = 8
    OSR = 1. / Ts / 2. / fp
    ds = deltaSigma.DeltaSigma(OSR, order)
    amplitude = 1.
    frequency = fp * 2. / 3.
    phase = 0.
    steeringVector = np.zeros(order)
    signal = Sin(Ts, amplitude, frequency, phase, steeringVector)
    t = np.arange(size) * Ts
    plt.figure()
    ds.simSpectrum(signal, t)
Пример #4
0
def test_Simulate():
    size = 8092
    Ts = 80e-6
    fp = 625.
    order = 2
    OSR = 1. / Ts / 2. / fp
    ds = deltaSigma.DeltaSigma(OSR, order)
    amplitude = 1.
    frequency = fp * 2. / 3.
    phase = 0.
    steeringVector = np.zeros(order)
    signal = Sin(Ts, amplitude, frequency, phase, steeringVector)
    t = np.arange(size) * Ts
    v = ds.simulate(signal, t)
    plt.plot(v)
    plt.figure()
    plt.plot(ds.states.transpose())
Пример #5
0
def test_MASH_SIM_SPECTRUM():
    size = 8092
    Ts = 80e-6
    fp = 500.
    order = 1
    Number = 8
    OSR = 1. / Ts / 2. / fp
    ds = [deltaSigma.DeltaSigma(OSR, order) for x in range(Number)]
    mash = deltaSigma.MASH(OSR, ds)
    print("OSR = %s" % OSR)
    amplitude = 1.
    frequency = fp * 2. / 3.
    phase = 0.
    steeringVector = np.zeros(order)
    signal = Sin(Ts, amplitude, frequency, phase, steeringVector)
    t = np.arange(size) * Ts
    plt.figure()
    mash.simSpectrum(signal, t)
Пример #6
0
def test_MASH_RECONSTRUCTION():
    size = 8092
    Ts = 80e-6
    fp = 500.
    order = 1
    Number = 4
    OSR = 1. / Ts / 2. / fp
    ds = [deltaSigma.DeltaSigma(OSR, order) for x in range(Number)]
    mash = deltaSigma.MASH(OSR, ds)
    amplitude = 1.
    frequency = fp * 2. / 3.
    phase = 0.
    steeringVector = np.zeros(order)
    signal = Sin(Ts, amplitude, frequency, phase, steeringVector)
    t = np.arange(size) * Ts
    u = signal.scalarFunction(t)
    v = mash.simulate(signal, t)
    u_hat = mash.reconstruction(v)

    plt.figure()
    plt.plot(t, u, label="u")
    plt.plot(t, u_hat, label="u_hat")
# In[38]:

size = n_samples
fp = 1. / (OSR * 2) * 1.
Ts = 1.
# Ts = 1. / 2. / fp / OSR

# input
input = ADC.system.Sin(Ts, 0.01, fp, 0, steeringVector=np.zeros(order))
# input = ADC.system.BandlimitedNoise(1e-8, 2*2*OSR, 0)

t = np.linspace(0., Ts * (size - 1), size)
u = input.scalarFunction(t)
# u = u - np.mean(u)

ds = [deltaSigma.DeltaSigma(OSR, x, nlev=n_lev) for x in order_mash_block]
mash = deltaSigma.MASH(OSR, ds)
dsH = deltaSigma.DeltaSigma(OSR, systemOrder, nlev=n_lev * order)

# ds = deltaSigma.DeltaSigma(OSR, order, nlev = n_lev)

mash.simSpectrum()
dsH.simSpectrum()
bits = mash.simulate(input, t)
bitsH = dsH.simulate(input, t)

u_hat = mash.reconstruction(bits)
u_hatH = bitsH

# # Offset Adjustment