8

Cまたはpython(python推奨)を使用して、バイナリファイルをオーディオにエンコードし、ヘッドフォンジャックから出力する方法、また、マイクジャックからの入力を使用してオーディオをバイナリにデコードする方法を学びました。 pythonを使ってテキストファイルをバイナリに変換するのは、RTTY通信に似ています。

これは、カセットテープにデータを記録できるようにするためです。

import binascii

a = open('/Users/kyle/Desktop/untitled folder/unix commands.txt', 'r')
f = open('/Users/kyle/Desktop/file_test.txt', 'w')
c = a.read()
b = bin(int(binascii.hexlify(c), 16))
f.write(b)
f.close()
4

4 に答える 4

6

音声を使ってデジタル情報を送信したいですか?基本的には、モデムをソフトウェアで実装する必要があります (純粋なソフトウェアであっても、モデムと呼ばれます)。

モデム (MODulator-DEModulator) は、アナログ キャリア信号を変調してデジタル情報をエンコードし、そのようなキャリア信号を復調して送信された情報をデコードするデバイスです。目標は、簡単に送信でき、デコードして元のデジタル データを再生できる信号を生成することです。モデムは、発光ダイオードからラジオまで、アナログ信号を送信するあらゆる手段で使用できます。[ウィキペディア]

音声、光、電波など、アナログ メディアを介してデータを送信する必要があるあらゆる場所にモデムがあります。テレビのリモコンはおそらく赤外線モデムです。

純粋なソフトウェアで実装されたモデムは、ソフトモデムと呼ばれます。私が実際に目にするほとんどのソフトモデムは、何らかの形式のFSK変調を使用しています。

周波数シフト キーイング (FSK) は、デジタル情報が搬送波の離散周波数変化によって送信される周波数変調方式です。1最も単純な FSK はバイナリ FSK (BFSK) です。BFSK は、離散周波数のペアを使用してバイナリ (0 と 1) 情報を送信します。2この方式では、「1」をマーク周波数、「0」をスペース周波数と呼びます。FSK 変調された搬送波の時間領域を右の図に示します。[ウィキペディア]

音波を介して大気中をデータ伝送するための非常に興味深いアプリケーションがあります。これは、ショップキックがユーザーの存在を確認するために使用するものだ思います。

Python の場合は、GnuRadioプロジェクトを確認してください。

C ライブラリについては、Steve Underwoodの作業を参照してください (ただし、愚かな質問で彼に連絡しないでください)。私は彼のソフトモデムを使用して、 Asterisk用のFAX から電子メールへのゲートウェイをブートストラップしました (FAX 送信は、電話回線を介して送信するために音声でエンコードされた B/W TIFFファイルにすぎません)。

于 2013-06-05T02:05:24.420 に答える