Esempio n. 1
0
def SavGol(t,y,s,k):
    c1 = SG.derivatives(s,k,0)
    c2 = SG.derivatives(s,k,1)
    ys = []
    ydiff = []
    xs =[]
    m = (s-1)/2
    for j in range(m,len(t)-m):
        sum1 = 0.0
        dev1 =0.0
        for l in range(0,s):
            sum1 = sum1 + c1[l]*y[j-m+l]
            dev1 = dev1 + c2[l]*y[j-m+l]/(t[1]-t[0])
        ys.append(sum1)
        ydiff.append(dev1)
        xs.append(t[j])
    return (xs,ys,ydiff)
def Savitzky(x,y,s,k):
    m = (s-1)/2
    coeffs = SG.derivatives(s,k,0)
    coeffs_1st = SG.derivatives(s,k,1)
    xt = []
    yt = []
    y_diff =[]
    for i in range(m,len(x)-m):
        sum1 = 0.0
        dev1 = 0.0
        for j in range(0,s):
            sum1 = sum1 + coeffs[j]*y[i-m+j]
            dev1 = dev1 + coeffs_1st[j]*y[i-m+j]
        yt.append(sum1)
        y_diff.append(dev1)
        xt.append(x[i])
        
    return (yt,y_diff,xt)
Esempio n. 3
0
y = np.zeros(len(x))
for i in range(len(x)):
    y[i] = np.sin(x[i]*10.0*pi/x[-1])+random.random()/10.0


Q=0.1
R = 0.7
#xks,ydiffs = deriv(x,y)
ks = kalman.kalman(x,y,Q,R)

ys = []
ydiff = []
xs =[]
s =11
k = 5
c1 = SG.derivatives(s,k,0)
c2 = SG.derivatives(s,k,1)
m = (s-1)/2
for j in range(m,len(y)-m):
    sum1 = 0.0
    dev1 =0.0
    for l in range(0,s):
        
        sum1 = sum1 + c1[l]*y[j-m+l]
        dev1 = dev1 + c2[l]*y[j-m+l]/(x[1]-x[0])
    ys.append(sum1)
    ydiff.append(dev1)
    xs.append(x[j])

plt.subplot(211)
plt.plot(x,y,label='real')