はじめに
本記事は自分のためでしかないアドベントカレンダー2024の記事です。
記事は25記事書くと思いますが期待はせずにお願いします
今回の記事ではかるくDTMFの紹介をしたいと思います。
DTMFとは
電話機には0〜9,#,*がついています。
あれを押すと決められた周波数の音で信号を送受信することができます。
これを一定時間相手側が受信して1,2が押下された、などと検知します(50msくらいかな?)。
雑な図
低群/高群(Hz) | 1209 | 1336 | 1477 | 1633 |
---|---|---|---|---|
697 | 1 | 2 | 3 | A |
770 | 4 | 5 | 6 | B |
852 | 7 | 8 | 9 | C |
941 | * | 0 | # | D |
検出方法
信号をフーリエ変換で周波数に分けて検出します。
今回は少ない周波数に限られているので簡単に検出する方法としてgoertzelアルゴリズムがあります。
次回以降
DTMFの信号検出アルゴリズムをRustで実装したいと思います。
おわりに
本格的な記事作成は忙しいのであとにします。すみません。。。
詳しく知りたい方はググってください。。。