I hope this can help you:
import numpy as np import pandas as pd from scipy import signal import matplotlib.pyplot as plt def 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) result = pd.DataFrame({ 'data' : y_sine} ,index=t_sine) return result def 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, a def butter_highpass_filter(data, cutoff, fs, order=5): b, a = butter_highpass(cutoff, fs, order=order) y = signal.filtfilt(b, a, data) return y fps = 30 sine_fq = 10 #Hz duration = 10 #seconds sine_5Hz = sine_generator(fps,sine_fq,duration) sine_fq = 1 #Hz duration = 10 #seconds sine_1Hz = sine_generator(fps,sine_fq,duration) sine = sine_5Hz + sine_1Hz