Example #1
0
def do_1d_check_sorted(method, qe_method):
    xc = x.copy()
    yc = y.copy()
    s = SortedDiscreteSystem(xc,(1,10),10, Ny)
    # calculate all entropies
    s.calculate_entropies(method=method, calc=allcalc, qe_method=qe_method)
    # check output assinged
    assert_(s.H == getattr(s,'H_%s'%method.replace('-','')))
    v = np.array([s.H[k] for k in allcalc])
    assert_array_almost_equal(v, alltrue, decimal=2)
    # check didn't do something nasty to inputs
    assert_array_equal(x, xc)
    assert_array_equal(y, yc)
Example #2
0
def do_1d_check_sorted(method, qe_method):
    xc = x.copy()
    yc = y.copy()
    s = SortedDiscreteSystem(xc, (1, 10), 10, Ny)
    # calculate all entropies
    s.calculate_entropies(method=method, calc=allcalc, qe_method=qe_method)
    # check output assinged
    assert_(s.H == getattr(s, 'H_%s' % method.replace('-', '')))
    v = np.array([s.H[k] for k in allcalc])
    assert_array_almost_equal(v, alltrue, decimal=2)
    # check didn't do something nasty to inputs
    assert_array_equal(x, xc)
    assert_array_equal(y, yc)
Example #3
0
def test_toy1_sorted():
    s = SortedDiscreteSystem(x,(3,3),2,Ny)
    s.calculate_entropies(method='plugin', calc=toycalc)
    v = np.array([s.H[t] for t in toycalc])
    assert_array_almost_equal(v, toytrue)
Example #4
0
def test_toy1_sorted():
    s = SortedDiscreteSystem(x, (3, 3), 2, Ny)
    s.calculate_entropies(method='plugin', calc=toycalc)
    v = np.array([s.H[t] for t in toycalc])
    assert_array_almost_equal(v, toytrue)
Example #5
0
    import numpy

    #z2d = exrxp.exrxp_ntr (nlen,tau_msec/1000.0,fs_Hz, ntr)
    z2d = exrxp.exrxp_ntr (nlen,tau_n_msec/1000.0,fs_Hz, ntr) * sigma_n #* 2 #*2*4
    z0 = exrxp.exrxp_ntr (nlen,tau_s_msec/1000.0,fs_Hz, 1) * sigma_s
    resp2d = z2d + numpy.tile(z0,[1,ntr])
    #print z2d.shape # nlen*ntr

    z2d_q = quantize_TxN(resp2d, M, 'sampling') #'bins')
    #z2dqL,nta = sliding(z2d_q, L=2)
    #z2dqL,nta = sliding(z2d_q, L=1)
    z2dqL,nta = sliding(z2d_q, L=L)

    #import numpy
    from pyentropy import SortedDiscreteSystem
    s = SortedDiscreteSystem(z2dqL, (z2dqL.shape[0],M), len(nta), nta)
    s.calculate_entropies(method='qe', calc=['HX', 'HXY'])
    mi = s.I() / L
    print M
    print mi

    import analytical_exrxp as e
    a=e.exrxp_analytical_mi(tau_s_msec/1000,sigma_s,tau_n_msec/1000,sigma_n,fs_Hz)
    a_mi_persec = a[0]
    ami_perbin = a_mi_persec / fs_Hz
    #print "mi= %g "%( a_mi_persec / fs_Hz * nlen   ,)
    print "mi= %g "%( ami_perbin    ,)

    #error: it should be ttwice as large