プログラムでデジタルフィルタ

by K.I
2014/08/28〜

Index


概要


1基本的には、double(実数)演算で処理している。

[top]

RCフィルタ(指数平滑フィルタ)

RCフィルタのプログラム

RCフィルタの特性


[top]

移動平均フィルタ

移動平均フィルタのプログラム

移動平均フィルタの特性

平均の個数を増やしてみる


[top]

微分回路

微分回路のプログラム

微分回路の特性


2あくまで、自分の頭の中のイメージなので、実際に回ってるわけじゃないけど。

[top]

積分回路

積分回路のプログラム

積分回路の特性

多段積分回路の特性


3遅延段数が1段の時は、固定になるけど。
4いや、実際、理由は良く分からないんだけれども。。

[top]

SINCフィルタ

SINCフィルタの特性


[top]

ダウンサンプラ

ダウンサンプラのプログラム

ダウンサンプラの特性

ダウンサンプラによる干渉


5直前のLPFも含めて、デシメータと言うのかもしれない。

[top]

アップサンプラ

アップサンプラのプログラム

アップサンプラの特性(誤)

アップサンプラの特性(正)

アップサンプラって

10Hzの信号で実験

余計な周波数成分を抑える

さらに抑えてみる


6直後のLPFも含めて、インターポーレータというべきなのかもしれない。
7恥ずかしながら、どうしてこうなるのか分からんけど。
8本当は、離散値なのでimpulsesで出力すべきだけど、波形はlineで出力している。
9図らずも、アパーチャー効果を確認出来たのは良かったかもしれない。

[top]

共振器

共振器のプログラム

共振器の特性


[top]

ノッチフィルタ

ノッチフィルタのプログラム

ノッチフィルタの特性

→分かり辛いけど、100Hzにノッチがある
[top]

オールパスフィルタ

オールパスフィルタのプログラム

オールパスフィルタの特性

fftwで位相を見てみる


10位相の変化はそれなりにあるので、実際は変形しているはず。
11この場合、位相角のスタートを0に合わせた特別の擬似ホワイトノイズを使う必要がある。
12ナイキスト周波数までしか生成していないので、500Hz以上は0になっている。周波数成分と違って、折り返しは無いようだ。

[top]

まとめ

デジタルフィルタ関連の記事

参考

書籍



comments powered by Disqus