質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

882閲覧

[Python3] signal.buttord()の各引数について

hiyoko145

総合スコア7

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

1クリップ

投稿2023/02/22 04:35

編集2023/02/22 06:51

実現したいこと

Pythonのライブラリである”buttord(wp, ws, gpass, gstop)”の
各引数の、意味や定義方法について教えてください。
N, Wn = signal.buttord(wp, ws, gpass, gstop)

現状の認識は以下になっています。それぞれ認識があっているかご教示ください。
・wp, ws:カットしたい周波数の開始と終了をナイキスト周波数で割ることで正規化
・gpass:カットオフ周波数より、大きさを1/2にしたい場合は-3dBとなるため、
「3」に設定することがメジャー
・gstop:全く分かっていません
・N:フィルタの次数
・Wn:臨界周波数 (※この意味もよく分かっていません)

[使用環境]
・Python3.8
・windos10 64bit

[参考]
・「PythonのSciPyでローパスフィルタをかける!」https://watlab-blog.com/2019/04/30/scipy-lowpass/

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiyoko145

2023/02/22 06:29

まだ上記の関数を試したりはできていません。 使用する前に、各引数の意味や、使い方を知りたいと思い質問しました。 それぞれの私の認識があっているかなどご指摘いただきたいと思っています。よろしくお願いします。
TakaiY

2023/02/22 06:45

ここは質問に対するコメントを書くところです。 質問に追加したいことがあるのであれば、質問を編集して追記したほうがいいですよ。
hiyoko145

2023/02/22 06:50

承知しました。ご指摘ありがとうございます。
guest

回答1

0

ベストアンサー

僕も詳しいわけではありませんし、質問者さんがどれくらい知識があるのかもわからないので、ざっくりとした説明です。

バターワースフィルタを定義するには、 次数 (order)と 減衰開始のキーポイント(3db減数するポイント)が必要です。
また、フィルタが欲しい場合、xxHzまで通して yyHz以上は通したくないという要求があるはずです。この情報から、バターワースフィルタのパラメータを算出してくれるのが、buttord(wp, ws, gpass, gstop) 関数です。

  • wp : 減衰開始周波数 (ナイキスト周波数で正規化したもの)
  • gpass : 減衰開始とする減衰率
    3db下ったところから減衰開始とすることが多いので、ここは通常3dbとします。
  • wp : この周波数意向は通したくないの周波数 (ナイキスト周波数で正規化したもの)
  • gstop: 通さない周波数はこの減衰量(db)以下にしたいという値

バターワースフィルタの特性は 以下のページの説明を見るとわかるでしょう。
https://cc.cqpub.co.jp/system/contents/2067/

一番最初の図だと、 wp=1kHz, ws=10kHz, gpass=3db, gstop=70db です。

これで計算して出てきた値は、

  • N: 次数
  • Wn: 3db下ったところの周波数。 gpassに3を与えていれば、wpと同じ値

で、これを scipy.signal.butter()関数に与えると、所望のフィルタが得られます。

投稿2023/02/22 07:01

TakaiY

総合スコア14249

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiyoko145

2023/02/22 08:02

ありがとうございます! ちなみに、一番最初の図において左下の灰色部が狙いの通過域だと思うのですが、この場合だと右上の灰色部も通過域になってしまうのでしょうか??
TakaiY

2023/02/22 08:35

特性ずを見ればわかりますが、なりません。 右上の四角は、「この範囲には入れたくない」区域を示しています。
hiyoko145

2023/02/22 08:43

そうですよね。なんとなくイメージはついたので、フィルタの方を触ってみようと思います。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問