filtered_der.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:Tweezer_design 作者: AntoineRiaud 项目源码 文件源码
def periodic_derivative(x,y,max_periods):
    plot = False
    Ns =len(x)
    b,a = signalbutter(8,2.0*max_periods/Ns)
    ymid =interp(x+0.5*(x[1]-x[0]),x,y,period=2*np_pi)
    yder = diff(ymid)/diff(x) 
    #yder = Ns/(max(x)-min(x))*fftpackdiff(y,1,Ns)
    yder_filt = deepcopy(yder)
    x_filt = deepcopy(x)
    x_filt = npappend(x_filt,x_filt[-1]+x_filt[1]-x_filt[0])
    yder_filt = signalfiltfilt(b,a,npappend(yder_filt,yder_filt[0]))
    if plot:
        plt.figure(1)
        plt.subplot(311)
        plt.plot(x, y)

        plt.subplot(312)
        plt.plot(x[0:-1],yder)

        plt.subplot(313)
        plt.plot(x_filt[0:-1],yder_filt)
        plt.show()
    return yder_filt


#x = numpy.array(range(100))
#y = numpy.sin(twopi*x/100)+numpy.sin(twopi*x/10)
#periodic_derivative(x,y,4)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号