amodem:Python中的音频调制解调器通信库

上传者: 42151373 | 上传时间: 2022-04-06 20:07:31 | 文件大小: 41KB | 文件类型: ZIP
音频调制解调器通信库 描述 该程序可以使用简单的耳机在两台计算机之间传输文件,允许真正的气隙通信(通过扬声器和麦克风)或音频电缆(用于更高的传输速度)。 发送器将输入数据调制成音频信号,然后播放到声卡。 接收器记录音频,并将其解调回原始数据。 该过程需要一个手动校准步骤:发射器必须为其声卡找到最佳输出音量,这不会使接收麦克风饱和,并为解调成功提供足够好的信噪比。 HackerNews 讨论: ://news.ycombinator.com/item id 17333257 技术细节 调制解调器通过具有以下参数的音频电缆使用 OFDM: 采样率:8/16/32 kHz 波特率:1 kHz 符号调制:BPSK、4-PSK、16-QAM、64-QAM、256-QAM 载波:2-11 kHz(最多十个载波) 这样,调制解调器可以达到 80kbps 比特率 = 10 kB/s

文件下载

资源详情

[{"title":"( 47 个子文件 41KB ) amodem:Python中的音频调制解调器通信库","children":[{"title":"amodem-master","children":[{"title":"README.rst <span style='color:#111;'> 9.74KB </span>","children":null,"spread":false},{"title":".github","children":[{"title":"workflows","children":[{"title":"build.yml <span style='color:#111;'> 866B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":".bumpversion.cfg <span style='color:#111;'> 93B </span>","children":null,"spread":false},{"title":"scripts","children":[{"title":"record.py <span style='color:#111;'> 860B </span>","children":null,"spread":false},{"title":"profile.sh <span style='color:#111;'> 518B </span>","children":null,"spread":false},{"title":"play.sh <span style='color:#111;'> 45B </span>","children":null,"spread":false},{"title":"resample.py <span style='color:#111;'> 457B </span>","children":null,"spread":false},{"title":"autocalib.sh <span style='color:#111;'> 70B </span>","children":null,"spread":false},{"title":"record.sh <span style='color:#111;'> 47B </span>","children":null,"spread":false},{"title":"plot.py <span style='color:#111;'> 807B </span>","children":null,"spread":false}],"spread":true},{"title":".pylintrc <span style='color:#111;'> 164B </span>","children":null,"spread":false},{"title":"tox.ini <span style='color:#111;'> 285B </span>","children":null,"spread":false},{"title":"LICENSE <span style='color:#111;'> 1.09KB </span>","children":null,"spread":false},{"title":"setup.py <span style='color:#111;'> 1.35KB </span>","children":null,"spread":false},{"title":"amodem","children":[{"title":"calib.py <span style='color:#111;'> 4.37KB </span>","children":null,"spread":false},{"title":"sampling.py <span style='color:#111;'> 2.91KB </span>","children":null,"spread":false},{"title":"config.py <span style='color:#111;'> 3.10KB </span>","children":null,"spread":false},{"title":"framing.py <span style='color:#111;'> 3.26KB </span>","children":null,"spread":false},{"title":"detect.py <span style='color:#111;'> 3.95KB </span>","children":null,"spread":false},{"title":"main.py <span style='color:#111;'> 2.28KB </span>","children":null,"spread":false},{"title":"alsa.py <span style='color:#111;'> 1.56KB </span>","children":null,"spread":false},{"title":"recv.py <span style='color:#111;'> 7.74KB </span>","children":null,"spread":false},{"title":"equalizer.py <span style='color:#111;'> 1.90KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 49B </span>","children":null,"spread":false},{"title":"dsp.py <span style='color:#111;'> 3.14KB </span>","children":null,"spread":false},{"title":"levinson.py <span style='color:#111;'> 870B </span>","children":null,"spread":false},{"title":"__main__.py <span style='color:#111;'> 7.98KB </span>","children":null,"spread":false},{"title":"async_reader.py <span style='color:#111;'> 1.49KB </span>","children":null,"spread":false},{"title":"audio.py <span style='color:#111;'> 4.39KB </span>","children":null,"spread":false},{"title":"tests","children":[{"title":"test_transfer.py <span style='color:#111;'> 2.72KB </span>","children":null,"spread":false},{"title":"test_stream.py <span style='color:#111;'> 633B </span>","children":null,"spread":false},{"title":"test_detect.py <span style='color:#111;'> 1.74KB </span>","children":null,"spread":false},{"title":"test_audio.py <span style='color:#111;'> 1.08KB </span>","children":null,"spread":false},{"title":"test_calib.py <span style='color:#111;'> 4.45KB </span>","children":null,"spread":false},{"title":"utils.py <span style='color:#111;'> 652B </span>","children":null,"spread":false},{"title":"test_async_reader.py <span style='color:#111;'> 587B </span>","children":null,"spread":false},{"title":"test_framing.py <span style='color:#111;'> 1.16KB </span>","children":null,"spread":false},{"title":"test_equalizer.py <span style='color:#111;'> 1.62KB </span>","children":null,"spread":false},{"title":"test_dsp.py <span style='color:#111;'> 2.42KB </span>","children":null,"spread":false},{"title":"test_alsa.py <span style='color:#111;'> 1.13KB </span>","children":null,"spread":false},{"title":"test_sampling.py <span style='color:#111;'> 662B </span>","children":null,"spread":false},{"title":"test_configs.py <span style='color:#111;'> 260B </span>","children":null,"spread":false},{"title":"test_common.py <span style='color:#111;'> 1.26KB </span>","children":null,"spread":false}],"spread":false},{"title":"stream.py <span style='color:#111;'> 1.24KB </span>","children":null,"spread":false},{"title":"send.py <span style='color:#111;'> 1.61KB </span>","children":null,"spread":false},{"title":"common.py <span style='color:#111;'> 1.89KB </span>","children":null,"spread":false}],"spread":false},{"title":".gitignore <span style='color:#111;'> 212B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明