【初月無料キャンペーン中】gooドクター

ご存知の方よろしくお願いいたします。
測定データにハイパスフィルタをかけたいのですが、どのようにすれば良いでしょうか?
インターネットを探してみましたがこれといったのがありませんでした。
FFTして対象周波数以下を0にして逆FFTといった手法ではなく、式でかけれないでしょうか?
A10列以下にに時間軸1μsで1万行、B列に測定値1万行ですので
C列に入れる式を教えていただけると幸いです。
よろしくお願いいたします。
ついでにローパスフィルタの式も教えていただけると助かります。

gooドクター

A 回答 (4件)

グラフの横軸を時間から周波数に変換して、フィルタかけて、元に戻すという操作は必ず必要です。

その操作をFFTでやるか他の方法でやるかという話になります。フーリエ変換を自力で作ってみても結局はFFTを自前でやるのと同じです。

http://sumisumi.cocolog-nifty.com/sumisumi/2010/ …
これを参考にしてみては?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
いろいろ調べましたが、式では無理だったので
インターネットに落ちていたFFT→消す→逆FFTがありましたのでそれを使いました。

お礼日時:2016/10/28 08:28

Z変換を勉強してください。


正直俺はもう忘れた。

C[n] = (1/2)B[n] - (1/2)B[n-1]
これがハイパス。
C[n] = (1/2)B[n] + (1/2)B[n-1]
これはローパス。

これらのカットオフは?カットオフの値を動かすには係数をどう変えれば?
という疑問に答えるにはデジタルフィルタの教科書を読みこなす必要がある。
その基礎をなすのがZ変換。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
いろいろ調べましたが、式では無理だったので
インターネットに落ちていたFFT→消す→逆FFTがありましたのでそれを使いました。

お礼日時:2016/10/28 08:28

たぶん、このくらいは当然知っているとは思いますが、


質問文では触れらていませんので基本的な考え方を回答してみます。

A列にデータが入力され、C列に「100以上」のフィルタを掛けた値を計算させるなら、
C1セルに
 =IF(A1>=100,A1,0)
A列にデータが入力され、C列に「100未満」のフィルタを掛けた値を計算させるなら、
C1セルに
 =IF(A1<100,A1,0)
で良いんじゃないのかな。

閾値を設定してそれと比較するだけ。
閾値の求め方は、元のデータが何であるのか、判断基準は何なのかが不明なため自身で判断してください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
いろいろ調べましたが、式では無理だったので
インターネットに落ちていたFFT→消す→逆FFTがありましたのでそれを使いました。

お礼日時:2016/10/28 08:28

「測定値」は単に数字列だと思いますが、


ここでいうハイパスフィルタ/ローパスフィルタとは、
この数字列に対しての効果(機能)は何でしょうか。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
いろいろ調べましたが、式では無理だったので
インターネットに落ちていたFFT→消す→逆FFTがありましたのでそれを使いました。

お礼日時:2016/10/28 08:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング