チーム16B2

課題名

数指定平均化フィルタ

研究者名

Wataru Tokuyama
Shoichi Niwa

概要

PSoCを用いて加算型or減算型、タップ数、フィルタをかける回数を指定し、LCD上で波の平均化を観察できるようにする。
信号は、用意してある信号を使えるが、自分で新たにLCD上で作り出すこともできる。
これらの要素の指定にはSW2(選択)、SW3(決定)を使う。

実装

元信号は配列に数値を直接入力しているので、元信号を変える際は配列数マクロNの値と配列の入力値を直さなければならない。
一応指定の波長内での波の入力はボタンでの入力で実現している。
トップデザインではSWのピン二つとLCD_Characterのみ使用している。
以下にプログラムコードを示す。

main.c


実行結果

実行すると、まず、加算型か減算型を選択する画面になる。
次に、加算型を選択した場合は、いくつの平均を取るのかのpointsを指定する画面になる。(減算型は2point固定である)
その次に、何回フィルタをかけるかのtimesを指定する画面になる。
なお、pointsとtimesの選択方法は、SW2で数が1から一つずつ増えていき、SW3で決定である。
最後に、用意してある信号を使うか、自分で信号を作るかを決める画面になる。
自分で信号を作る場合は、SW2で値を決めて、SW3で次の値へ移ることができる。

"加算型""4points""2times""default waveを使う"で実行すると、以下のようになる。

スタート時

入力信号

一回目のフィルタ処理後

二回目のフィルタ処理後

終了時


これにより、波が徐々になだらかになっていく様子を観察できる。
なだらかになるということは、高いスペクトルが弱まっているとも言えるので、
加算型平均化はLPFと同じ様な効果があることがわかる。

次に減算型の平均化を行う。サンプル波はデフォルトを使う。

フィルタ処理がかかっていく様

二回目のフィルタ処理後


これより、振幅の大きさは小さくなっているが、決してなだらかにはなっていない。
所々飛び出ているものも確認でき、なだらかな要素が弱まっているとも言えなくもない。
よって、減算型平均化はHPFと同じような効果があることがわかる。

考察

今回のフィルタは表記としてはLPF,HPFと書いているが、全てアベレージフィルタであって一般に言われるLPF、HPFに似た効果を平均化で表したものである。
実際に使われているLPF、HPFはカットオフ周波数以下またはそれ以上の波を通すものであるし、アベレージフィルタではどの波も構わず平均化して、最終的には直線に近づけてしまう。
加算型平均化は積分、減算型平均化は微分を平均を用いて表現しているが、今回作成したフィルタでは回路上等で使うLPF、HPFの機能には届かない部分もある。
よってアベレージフィルタは結果的に低めまたは高めのスペクトルを消しはするが、用途が違うので一般に言われるLPF、HPFとは言えないのではないかと考える。
アベレージフィルタは波自体が変形してしまう恐れがあるので、フィルタをかける回数を減らして信号の簡単な雑音の処理、画像処理の平滑化などに使われるべきだと考える。

  • 最終更新:2016-06-06 16:28:58

このWIKIを編集するにはパスワード入力が必要です

認証パスワード