1

些細な質問で申し訳ありませんが、私は信号処理に不慣れで、適切な説明のあるPythonコードが見つかりませんでした。だから私はダミーの説明を喜んで手に入れます:)

1 nsec(1e-9秒)ごとにサンプリングした信号があり、たとえば1e4ポイントがあります。この信号から高周波をフィルタリングする必要があります。10MHzより高い周波数をフィルタリングする必要があるとしましょう。カットオフ周波数より低い周波数の信号は変更されずに渡されるようにしたいと思います。これは、カットオフ周波数より低い周波数では、フィルターのゲインが1になることを意味します。フィルタの順序を指定できるようにしたいと思います。つまり、fitsr次数フィルターはカットオフ周波数の後に20 db / decadeの勾配(パワーロールオフ)を持ち、2次フィルターはカットオフ周波数の後に40 db/decの勾配を持ちます。コードの高いパフォーマンスは重要です。

助けてくれてありがとう。アレックス。

4

1 に答える 1

9

次の 2 つの質問があるようです。

  1. カットオフ周波数が 10MHz でフィルター次数が任意のローパス フィルターを設計するにはどうすればよいですか?
  2. Pythonでそのフィルターを実現するにはどうすればよいですか?

フィルタの設計はスタック オーバーフローの範囲を超えています。これは DSP の問題であり、プログラミングの問題ではありません。フィルタの設計は、DSP の教科書でカバーされています。ライブラリにアクセスしてください。Proakis と Manolakis のDigital Signal Processingが好きです。(Ifeachor と Jervis のデジタル信号処理も悪くありません。)

女子学生が必要な場合は、このブログ投稿を試してくださいscipy

Python でのフィルターの実装については、1 次元の信号に FIR または IIR フィルターを適用するscipy機能lfilter()があります。

于 2012-07-11T08:33:25.373 に答える