python开发安卓app优缺点
918
2022-10-19
高通滤波
高通滤波结果展示:
import randomimport numpy as npimport pandas as pdfrom scipy import signalimport matplotlib.pyplot as pltdef sine_generator(fs, sinefreq, duration): T = duration nsamples = fs * T w = 2. * np.pi * sinefreq t_sine = np.linspace(0, T, nsamples, endpoint=False) y_sine = np.sin(w * t_sine) + random.random() result = pd.DataFrame({ 'data' : y_sine} ,index=t_sine) return resultdef sine_generator2(fs, sinefreq, duration): T = duration nsamples = fs * T w = 2. * np.pi * sinefreq t_sine = np.linspace(0, T, nsamples, endpoint=False) y_sine = t_sine result = pd.DataFrame({ 'data' : y_sine} ,index=t_sine) return resultdef sine_generator3(fs, sinefreq, duration): T = duration nsamples = fs * T w = 2. * np.pi * sinefreq t_sine = np.linspace(0, T, nsamples, endpoint=False) y_sine = t_sine * random.random() result = pd.DataFrame({ 'data' : y_sine} ,index=t_sine) return resultdef butter_highpass(cutoff, fs, order=5): nyq = 0.5 * fs normal_cutoff = cutoff / nyq b, a = signal.butter(order, normal_cutoff, btype='high', analog=False) return b, adef butter_highpass_filter(data, cutoff, fs, order=5): b, a = butter_highpass(cutoff, fs, order=order) y = signal.filtfilt(b, a, data) return yfps = 30sine_fq = 10 #Hzduration = 10 #secondssine_5Hz = sine_generator(fps,sine_fq,duration)sine_fq = 1 #Hzduration = 10 #secondssine_1Hz = sine_generator(fps,sine_fq,duration)t=sine_generator2(fps,sine_fq,duration)k=sine_generator3(fps,sine_fq,duration)sine = sine_5Hz + sine_1Hz + t + kfiltered_sine = butter_highpass_filter(sine.data,10,fps)plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus'] = Falseplt.figure(figsize=(20,10))plt.subplot(211)plt.plot(range(len(sine)),sine)plt.title("原始信号")plt.subplot(212)plt.plot(range(len(filtered_sine)),filtered_sine)plt.ylim(-2,2)plt.title('高通滤波信号')plt.show()
参考源:
https://stackoverflow.com/questions/39032325/python-high-pass-filter
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。