2016年6月17日金曜日

DTMFのソフトウェアデコード

今更DTMFかよ、という気もするけど。



まず123A456B789C*0#DのDTMFを作る。それを読ませてみる。
とりあえず入力したWAVEと予め作った正弦波と余弦波の積を使った。まず正弦波と余弦波の積をそれぞれ計算し、それぞれの積をLPFに通し、その結果を2乗して加算した。
綺麗なDTMFだと結構ちゃんと分離できるっぽい。今回の場合は2500を閾値として、それ以上が一定期間続けばDTMFとして受け取る みたいな処理を行えば良いはず。ただマイク経由だったり無線経由だったりで音量が一定じゃない場合はつらいかも。

DTMFって最近だとデコードICとか入手するの面倒だと思うので、ソフトウェアデコーダを作る必要があると思うんだけど、どういうアルゴリズムで解析するのが良いのかね。

0 件のコメント:

コメントを投稿