У меня есть сигнал, и мне нужно удалить линейный компонент из него. Но сначала я должен сначала найти этот компонент. Как я могу сделать это в Python? Я делаю правильно или нет. вот код:
import pandas as pd
from pandas import DataFrame
import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
#from statsmodels.tsa.seasonal import seasonal_decompose
from scipy.signal import detrend
data =pd.read_csv('xxxxx.csv')
lis=np.array(data['t_in_s'])
#detrend the mixed signal by substracting mean value as type='const'
a=detrend(lis,-1, type='constant')
plt.figure(figsize=(10,5))
plt.title('linear Component in Mixed Signal')
plt.xlabel('time in sec')
plt.ylabel('Value')
plt.plot(lis,a,color='g')
plt.xlim(0,120)
plt.ylim(-60,60)
a
# From line it is obvious that slope is 1, intercept is -60
slope,intercept=np.polyfit(lis,a,1)
print('Slope of linear Component is:',slope)
print('Intercept of linear Component is:',intercept)