2016-03-19 16 views
0

私は1がhttp://developer.android.com/reference/android/media/ToneGenerator.html#TONE_DTMF_0で表され、0がhttp://developer.android.com/reference/android/media/ToneGenerator.html#TONE_DTMF_6で表現されているAndroidのTonegeneratorを使って音を発生しています。今度は、この生成されたサウンドを録音して別の電話機に保存すると、どのようにoと1をサウンドからデコードできますか?あなたが検出する唯一の2トーンを持っている場合はコミュニケーション

答えて

0

、あなたはトーンが受信されたかを検出するためにFFT(高速フーリエ変換)を使用することができます。あなたが直面する問題は、各ビットに対してそれを行うサンプル数を決定することです。多すぎると、2つのトーンでFFTが実行されるという問題が発生する可能性があります。送信開始時に同期シーケンスを追加して同期させるか、送信された2つのトーンの間に「無音」を追加することができます。

Wikipediaを見てみると、これを行うために2つの手法が使用されていることがわかります。最初は、フィルタを調整したフィルタバンクを使用することです(可能な周波数をバンドパスすると思います)。もう1つは実際にいくつかのFFTといくつかの前処理を使用しています。

+0

(1の場合)、そのトーンは100ミリ秒で再生され、同様に0で再生されます。 – user3641928

関連する問題