应用Butterworth高通滤波器

时间:2017-12-30 17:18:23

标签: python-2.7 signal-processing highpass-filter

将Butterworth高通滤波器应用于我的数据时遇到问题。我想打印BxBy矩阵的过滤器。如你所见,我有正值和负值,

  

如何将math.fabs()应用于BxBy以获得正面评价   值?

对于我的高通滤波器,我有这些要求:

Fc = 2 Hz

我想切断低于100 pT的值。

我当前代码的一部分是:

plt.ylabel('Pico Tesle [pT]')
plt.xlabel('Time [ms]')
plt.grid()
plt.plot(time[51:-14], Bx[51:-14], label='Canal 1', color='r', linewidth=0.1, linestyle="-")
plt.plot(time2[1:-14], By[1:-14], label='Canal 3', color='b', linewidth=0.1, linestyle="-")
plt.legend(loc='upper right', frameon=False, )

图表是: enter image description here

更新:我使用此函数为Bx和By矩阵生成绝对值。

plt.subplot(413)
np.absolute(fft1)
plt.plot(time[51:-14], np.absolute(fft1), color='r', linewidth=0.1, linestyle='-')
plt.grid()

plt.subplot(414)
np.absolute(fft2)
plt.plot(time2[1:-14], np.absolute(fft2), color='b', linewidth=0.1, linestyle='-')
plt.grid()

我收到的是因为我所有的测量(这里是大气放电)只是正值(pT - picoTesla)。第一个图显示运河1,第二个图显示运河3,第三个图显示两个运河(海峡)合并。

不,我需要(我猜)使用高通滤波器来切断低于100 pT的所有测量值。有任何想法吗? enter image description here

1 个答案:

答案 0 :(得分:0)

我用这种方法解决了这个问题。

ed -- /path/to/file <<-HERE
   ,s/^status:.*/status:"red"
    w
    q
HERE