Skip to content

2023年秋物联网概论<声波信号传输> A Singal Transimitter

Notifications You must be signed in to change notification settings

glassesq/transmitter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

2023年秋物联网概论大作业

基于声波的简单信号传输脚本

Usage

python3 main.py gui

Design

实验设计了一套基于声音的传输信息方式。实验使用不同频率的正弦波传输信息,支持两种传世方式:单音传输于多音传输。实验还设计了前同步码,后同步码以及频段轮转方法,来提高正确率。实验的大部分参数可以配置,以应对不同的实验环境。

频率传输

机制提供了两种传输方式。

单音传输。 即每次仅传输一个具体频率的正弦波。这种方式能够更强的抵抗干扰,减少解码的难度,同时具有更好的比特错误率。单音传输的每个音能够编码的信息量S1(即不同的频率数量),基本等于设备有效工作频率(一般1K-11K)除以当时环境支持的频率最大差值(在100Hz左右)。这是在验收实验中采用的传输方式。

多音传输。 即每次传输N个具体频率的正弦波。这N个正弦波设计上属于互不相交的频率段。这种方式能够编码更多的信息:假设多音传输同时传输N个正弦波,每个正弦波频率端能够表示M个频率,那么一个音节能够编码共M * N信息。但是,这个方式更容易受到干扰,有更大的比特错误率,因此也需要更长的音节。单音传输是多音传输的一个特殊情况。

单音传输与多音传输的效率对比:假设当前环境与设备能够识别出 $2^F$ 个正弦波频率段,并传递长度为S的01串信息。单音传输需要 $\frac{S}{F}$ 个传输音节。而使用多音传输时,在最优的N与M的参数设置 $(N=M=2^{\left(\frac{F}{2}\right)})$ 下,仅需要: $\frac{S}{F\times2^{\left(\frac{F}{2}\right)-1}}$ 个音节。换句话说,在F = 6即能识别出 $2^6=64$ 个频段条件下,传输长度为S = 600的字符串,理论上单音传输需要100个音节,而多音传输仅需要25个音节。

信息编码

每个传输的包由前同步码,被填充至定长的负载以及后同步码组成。英文字母被连续映射到从1到52。0被用于标记空位。每个传输的包由前同步码,被填充至定长的负载以及后同步码组成。在单音传输中,这52个信息被直接映射到52个频率上。在双音传输中,这52个信息首先被转换为01串。接着,每N个01串被编码为某个频率的一个音,连续M个这样的小串被在M个不同频段同时发送。

频率解码

直接当前的有效频段将收到的音频信息进行FFT处理,将音频解码为一段序列。FFT仅截取当前工作频段(见频段轮转)中最强的频率,并寻找离他最近的信息频率。对于多音传输的情况,根据FFT的结果分别对不同的M个频段进行解码。

前同步码的设计

前同步码是一段连续的信息,长度在8到16之间。

噪声与前同步码的对齐

如果最大峰值的值小于设定的阈值,那么认为这是噪声。如果当前序列中没有前同步码,那么机制会调整起始解码的偏移量与工作频段。如果无论如何也找不到前同步码,认为这一段频率是无意义的。这样能够避免因为音频的起始点与同步码偏移而漏解的情况。

后同步码

后同步码能够在连续发送的频率之间留下空隙。不做对后同步码的匹配。

频段轮转

频段轮转是指:在表达M个信息位时,为它实际分配K个互不重合的频段,每个频段能够承载M个不同的频率。频段之间和频段之间具有一定的间隙。在传输信息时,在第0个音节使用第0个频段,在第1个音节使用第1个频段……第T个音节使用第T % K个频段。每个频段内的编码方式不变。在解码时,仅考虑当前工作频段的信息,而忽略其他频段的信息。

尽管这引入了一些开销:(1)前同步码定位时除了考虑不同的音频时间偏移量,还考虑了工作频段的偏移量。(2)可以被编码的频率数量被减少了。但是,频段轮转总体而言能够显著提升传输的正确率。使用频段轮转,机制可以在一个音节里编码更多的信息(频率的识别变得更加敏感),从而抵消了频段轮转的空间小号。此外,频段轮转还可以降低音节的时长(短音节的识别更加准确),减少传输的时长。这是因为:频段轮转考虑了实际场景,能够显著避免之前音节对现在音节的影响。同时,由于不存在同一相近频率的连续快速切换,人耳的感觉也显著变好了。在验收实验中使用了K=2的频段轮转策略。

About

2023年秋物联网概论<声波信号传输> A Singal Transimitter

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages