У меня есть данные УВЧ с 100 миллионами точек данных и широкой полосой фонового шума (около 5 мВ).Есть ли способ отфильтровать этот шум?Из-за большого количества точек данных каждая функция фильтра, которую я пытаюсь реализовать, просто сглаживает линии данных, включая шум.В результате вы не можете видеть никакого эффекта фильтра, если вы уменьшаете масштаб.
Пример фильтра:
b, a = scipy.signal.butter(15, 0.1)
y = scipy.signal.filtfilt(b,a, df[1].values)
df2 = pd.DataFrame(y, index=df.index)
К сожалению, я не знаю, как предоставить вам высококачественные данные, которые мне показывают при plt.show()
.Там я могу увеличить каждую точку данных.Когда я сохраняю график в изображение, качество падает до 600 точек на дюйм.
UHF-файл: https://ufile.io/hhkeg
Код:
import matplotlib.pyplot as plt
import pandas as pd
import readTrc
from scipy import signal
datX, datY, m = readTrc.readTrc('C220180104_ch2_UHF00000.trc')
#100mil data points
srx, sry = pd.Series(datX * 1000), pd.Series(datY * 1000)
df = pd.concat([srx, sry], axis = 1)
df.set_index(0, inplace = True)
b, a = signal.butter(15, 0.1)
y = signal.filtfilt(b,a, df[1].values)
df2 = pd.DataFrame(y, index=df.index)
#Plot Impulse
if max(datX) < 0.01:
df2.plot(grid = 1,
linewidth = 0.5,
figsize = (9,5),
legend = False,
xlim = (df.index[0], df.index[-1]))
else:
df2.plot(grid = 1,
linewidth = 1,
figsize = (9,5),
legend = False,
xlim = (df.index[0], df.index[-1]))
plt.xlabel('Zeit in ms')
plt.ylabel('UHF-Signal in mV')
##plt.savefig('UHF_plot.png', dpi = 600)
plt.show()
print('done')




Без фильтра:

С фильтром:

В этом нет ничего особенного.