ここから本文です
Dr.Kikkie (KIKI) : 不許無断天才|免責:本稿を真に受けて損害があっても知らん。

書庫全体表示

DTMFの仕組みもうろ覚えとなってしまいました。
もっかい念のため復讐しておきます。復習ですた。
トーン式の電話で採用された方式です。ふたつの波長の音の掛け合わせで16通りの信号を表現します。

イメージ 1

たまにTV番組で、ふたりの音大の人が受話器に向かって2声を発声することで電話をかけてビックリさせますね。一人が1209Hz、もう一人が697Hzを発声すると、「1」のボタンが押されたと認識するようです。

普通、電話機には「0〜9」と「#」「*」の12種類のボタンがありますが、実際にはさらに「A〜D」が定義されています。つまり、16種類のキャラクターを送出できるわけです。
しかし、受話器の前で無茶な信号を発声するとヘンなところに電話がかかったり、「A〜D」を含む信号が入ると交換機が混乱したりして電電公社から怒られたりするので無茶しないようにね。

なお、適合認証を受けていない機器を電話線に接続したり、電話機に装着することは禁じられています。ご留意を。受話器を上げて記憶させたピポパ音を再生して電話かける製品は市販されてるので、セーフなのでしょう。iPhone のアプリにもあったんじゃなかったかな?

さて、ここまではいいとして、ではMSXでどうやってDTMFのトーンを発声させるのか。もう何度もやってきましたが、もっかいプログラム発掘です。

イメージ 2

あああああ、画像でしか残っていない。イヤになるほど何度も入力してきたのに、プログラムが残ってない(;;)
ま、とにかくこのプログラムで発声させて、例のDTMFデコーダで元の信号に戻せばいいのです。ただし、元の記号には「#」「*」といった余計なものが含まれているので、16進数にしやすいように「0〜F」に修正します。この修正は受信したMSX側で行います。よく見ると送信側も修正したほうがよさそうですね。

送信側で、送信データの1バイト、例えば「AB」について、まず「A」と「B」に分けて送信、受信側で「AB」とくっつければ、1バイト受信できます。最初の「A」を左に8ビットシフトして「B」をくっつければいいですね。

これで、DTMF通信の第一歩は踏み出せるはずです。でも、公式エミュのスタンドアロンからの脱出は、まだまだ道が長いのだ。
きっとスタンドアロン・コンプレックス(一人ぼっちの劣等感)に苛まれていることでしょう。「攻殻機動隊」の「S・A・C」とは関係ないですよ(・∀・)

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

過去の記事一覧

最新のコメント最新のコメント

すべて表示

kik**41010
kik**41010
非公開 / 非公開
人気度
Yahoo!ブログヘルプ - ブログ人気度について

よしもとブログランキング

もっと見る
本文はここまでですこのページの先頭へ
みんなの更新記事