人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

実験結果のデータにディジタルフィルタをかけるために、バタワース低域フィルタをOctaveを用いて作成しています。

バタワースフィルタの設計を勉強して、振幅特性の図示は出来るようになったのですが、実際に実験データ(CSV形式)をフィルタにかける方法がわからなく困っています。

Octave(MATLAB)のbuttord、butter、filter関数を使って、CSVで与えられる実験結果をフィルタにかけることは可能でしょうか?

もし可能であれば、その方法か解決のヒントを教えてください!
また、参考になるWebサイトもあればうれしいです。

また、バタワースフィルタではなくこうすればCSVで与えられた実験結果をローパスフィルタにかけられるというサンプルなどがあれば参考にさせてください。

よろしくお願いいたします。

●質問者: 井本健
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:CSV MATLAB Octave webサイト ディジタル
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● toomuchpopcorn
●60ポイント ベストアンサー

http://www.ritsumei.ac.jp/se/~ogasawar/Matlab/OGTutorial.html


4.データ処理 が分かりやすいと思います。


あらかじめフィルタ係数a, bを、例えば5次バタワースLPF(fc10Hz、1000Hzサンプル)の場合、

[b,a]=butter(5,10/500);

などと定義しておいて、

x2=filter(b,a,x1)のようにfilter関数を使えばフィルタがかかります。

ここでx1が入力、x2が出力です。


実験結果が入ったcsvは、csvread関数を用いれば全体を一つの配列として読み取ることができます。そこから行や列を切り出して、filter関数の入力にするといいでしょう。


URLはMatlabについてですが、butter, filter, csvreadの各関数はoctaveでも使用可能でした。

(3.0.1 version)

◎質問者からの返答

ありがとうございます!!

参考になります!!!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ