データにバターワースハイパスフィルターを適用する際に問題があります。私はBx
とBy
マトリックスのフィルターを印刷したいと思います。あなただけの正 の値を取得するためにBx
とBy
にmath.fabs()
を適用する方法バターワースハイパスフィルターを適用する
、私は正と負の値の両方を持って見ることができるように?
のFc = 2 Hzの
I 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,)
とチャートである:
UPDATE:私はBxのおよびマトリックスによって絶対値を生成するには、この機能を使用しています。
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を示し、2番目のプロットは運河3を示し、3番目のプロットは両方の運河(チャネル)を組み合わせたものを示します。
いいえ、100 pT未満のすべての測定値をカットするにはハイパスフィルタを使用する必要があります(私は推測します)。何か案は?
ハイパスフィルタは、カットオフ周波数以下の周波数成分の振幅を低減します。あなたのデータは2Hzのカットオフより上の周波数で変化するので、ハイパスフィルターの影響をほとんど受けません。代わりに、ローパスフィルタを使用したかったのですか?それ以外の場合、numpy.clip(np.absolute(fft1)、0,100)は振幅を制限します(しかし、それが問題であれば損失の多い操作です)。 – SleuthEye
いいアイデアだけど、データを失う余裕はない。より正確に言えば、私は100pTを超える測定値をすべて得る必要があります。ハイパスフィルターを使用するという私の考えは無意味ですが、私の心には何もありませんでした。 – Hiddenguy