超声波

手机超声波通信技术介绍:

手机超声波通信,指利用超声波技术在手机间传递信息,比如大家熟知的支付宝的声波支付就是典型的超声波通信技术。其原理很简单,一句话就是把一段时长的频率作为一种信号,发送方把信号编码成很多段等长的频率,通过播音设备发射出去;接收方通过录音设备录制声音,然后将等长的频率识别出来,最后还原成对应的信号。这样就做到了声波传输,比如现在我们的编码是32进制的(0-31),对应的频率我们设定为1k-4.1k,每个信号对应的时长为100ms,如果我们发射信号3,2,10,30则对应的频率为1.3k,1.2k,2k,4k,每段频率的时长为为100ms,接受端识别器的主要作用就是识别这些100ms的频率,然后还原成信号。声波传输是利用声音实现文件的快速传输的一套技术解决方案:采用跨平台的技术,实现任何能够发送声波与接收声波的智能设备之间的数据传输。

手机超声波通信功能介绍:

  1. 声波传输支持一对一传输,也支持一对多的传输。
  2. 支持字母、数字、符号传输。
  3. 在安静情况下,有效传输距离可以达到5米左右,在一般应用场景下也能达到很可观的识别距离。
  4. 使用特殊的降噪算法,对噪声有很好的抑制作用,在汽车行驶过程中、公交车、食堂、大马路、办公场所等都可以达到良好的识别率。
  5. 在一般应用场景下数据传输正确率达到98%以上。程序中添加了自动纠错算法,可以在一定程度上自动纠正传输中发现的错误,同时也能在一定程度上保证收到数据的正确性。
  6. 支持的平台。目前该声波传输技术已经在iOS、OSX、Android、Windows、Linux、以及嵌入式平台(mips和arm指令集)上成功运行,并都有成功的商业案例。
    7 .嵌入式特殊定制和优化。随着嵌入式智能设备的大量兴起(比如车载设备、智能摄像机、智能路由器等等),目前有大量的嵌入式应用需要集成声波传输功能,针对嵌入式平台我们专门对内存占用和运算效率作了优化,内存占用10K以内,cpu主频150M就可以顺利运行声波传输模块。
  7. 可定制性强,比如对不同的频率、不同的声音、音量等等进行定制。
  8. 超声波传输支持。我们可以为用户提供超声波传输版本,也即,在传输过程中听不到声音。
  9. 还可以为用户提供声音的叠加功能,比如类似支付宝的咻咻功能,也可以为用户添加其他特殊的声音,比如狗叫、猫喵等等。比如发送一段信息,发出的是狗叫,对方收到的是信息。

声波传输如何工作?

声波传输技术由两部分组成:音频协议与网络协议。音频协议将待传数据编码为一系列选定频率的音调;网络协议则将数据以键值形式存入服务器,其中键为与数据唯一对应的10个字符。

音频协议

音频协议的原理很简单,易于实现。建立一个含有32个字符([0-9,a-v])的表,并将每个字符映射到频率表。频率表是根据乐理,通过伴音的计算生成。

0 = 1760hz

1 = 1864hz

v = 10.5khz

一个完整的声波包包含20个音(即20个字符),每87.2毫秒发一个音 。前两位为信息头,采用“hj”,用以通知接收端开始接收。中间10位为有效的信息位,是有效的传输信息,即Key值经过映射后的频率信息。最后8位为RS(Reed-Solomon)校验位,通过RS校验算法,对中间10位进行计算,生成8位的校验信息。。如下图:

校验主要用来处理由于噪声干扰造成的信息接收错误。通过RS校验,可以纠正25%的错误信息。

发送端(编码器)

发送端设备只需能够发送1.7khz到10.5khz的正弦声波即可。为了将发送出的声波变得更好听,可以对声音进行一些美化处理,比如在我们的例子中,采用了椭圆形窗对声波进行了音量上的优化。

接收端(解码器)

接收端需要记录声音,并将其进行解码以及容错处理。其对算法的要求相对较高,降噪及容错处理对能否得到正确的解码信息是至关重要的。所以接收端需要一定的数字运算能力,对设备的硬件配置有一定的要求。对于算法的细节,我们会逐步的公开并开源。

超声波通信技术应用场景:

1.声波支付

支付宝作为支付相关的应用的代表,相信声波支付功能很多人都用过,但对其原理不一定都了解。

实现原理:声波支付听起来好像都是咻咻的声音,其实咻咻声并不是信息的载体,真正的信息是通过超声波传输的。比如A手机发起咻咻声(此时A也是不停的在循环发送信息),售货机B则在不停的监听。A手机在发送信息前,会先和后台服务器交互,把各种关键的交互信息上传到服务器,然后将要发送的信息加密(支付者的id信息),把加密后的信息转换成超声波,然后再叠加咻咻声,最后发送出去。B在正确收到A的信息后,解码成功后,就连接服务器,确认本次交易,确认成功后,支付生效。

关键点:

  1. 发送的是支付者的id信息,一般10个字符以内。
  2. 发送信息的手机在不停的发送支付者的id。

2.传输文件

chirp和茄子快传是最典型用于在手机间快速传递大量信息(不需要互联网)的应用,比如文件,视频等。茄子快传和chirp都可以传输大文件,但原理上有比较大的区别。

实现原理:A手机发送文件给B手机。B是接收者,B首先建立wifi热点,然后建立sockt通道,最后把wifi用户名和密码通过声波发送出去(用户名和密码在10字符左右)。A处于监听状态,在收到声波,解码出wifi用户名和密码后,连接wifi热点,连接成功后,通过socket把文件发送给B。茄子快传和chirp的根本不同在于chirp高度依赖于互联网;而茄子快传则不需要互联网,仅需要wifi。

关键点:

  1. 发送的信息为10个字符左右的用户名和密码。
  2. 接收者不停的在发送wifi用户名和密码。
  3. 真正的信息传输是通过wifi传输的,声波作为握手的工具。

3.传输少量信息

chirp是最典型的应用,比如两个应用之间直接传输少量的文本或者其他信息,原理和上面的差不多,我就不啰嗦了

时间: 2024-10-13 16:06:29

超声波的相关文章

[自娱自乐] 3、超声波测距模块DIY笔记(三)

前言 上一节我们已经研究了超声波接收模块并自己设计了一个超声波接收模块,在此基础上又尝试用单片机加反相器构成生成40KHz的超声波发射电路,可是发现采用这种设计的发射电路存在严重的发射功率太低问题,对齐的情况下最多只有10CM.本节主要介绍并制造一种大功率超声波发射装置~ 目录 一.浪里淘金,寻找最简超声波功率提高方案 1.1.优化波形发生程序 1.2.尝试各种其他超声模块方案 1.3.用三极管放大信号 1.4.MAX232放大信号方案 二.步步为营,打造高效准确超声测距算法 2.1.接收MCU

[自娱自乐] 2、超声波测距模块DIY笔记(二)

前言 上一节我们已经大致浏览下目前销售的超声波测距模块同时设计了自己的分析电路,这次由于我买的电子元件都到了,所以就动手实验了下!至写该笔记时已经设计出超声波接收模块和超声波发射模块,同时存在超声波发射模块功率太小的问题,下面主要做该过程的总结! 一.尝试找出一个简单的超声波接收电路: >_<" 首先根据我现有的电子元件,最终找到一个比较适合的简单设计方法:这里用一个芯片CX20106A也就是上一节我说的这种方案简单但是不利于理解超声波接收部分的具体细节!但是为了方便设计,我还是选择

基于超声波的四轴定高控制简析

笔者是来自武汉理工的小青同学,接下来为大家讲一下基于超声波的定高问题,鉴于笔者能力有限,所以如有错误请多指教,且很多仅仅是工程上的近似化应用,没有做过仿真模拟. 我讲的东西更加偏重于实践,可以帮助你切实的实现这个应用! 基于超声波的定高主要有如下几个问题: 硬件和安装技巧? 超声波测距的算法(如何编程,如何处理结果)? 是用什么样子的PID算法? 如何调试更加快捷? 实际开发将会遇到哪些棘手问题? 定高控制如何实现较为稳定为起降? 笔者做定高用了一个星期,而且参考了别的算法,实现比较简单,但是真

「51单片机」收发一体超声波测距模块分析+代码

我用的超声波型号是US-020,四个接口的超声波用法基本相同. 一.概述 US-020超声波模块测距范围:2cm~7m 供电电压5V,静态功耗低于3mA 二.实物图 尺寸:45mm*20mm*1.6mm 三.接口 1.VCC 电源,直流5V 2.Trig 向此管脚输入10us以上高电平,可触发模块测距 3.Echo 测距结束时会输出高电平,电平时长为超声波信号往返时间之和 4.GND 接地 四.测距工作原理 只要在Trig管脚输入10us以上高电平,系统会自动发出8个40KHz的超声波脉冲,然后

单片机 之 超声波测距

超声波测距:利用超声波传感器实现距离测量(提供超声波模块) 代码暂时不开源! #include<reg52.h> #include <intrins.h> // /*-----------------中断服务函数-------------------*/ void T_0()interrupt 1 { }

使用超声波传感器HC-SR04检测障碍物

HC-SR04是一种常用的超声波传感器,能够探测2-300厘米范围内的障碍物. 传感器看起来像一个小PCB,前面有两个金属圆柱,背面有一个小电路. 在本文中,我们将提供一个简单的演示来使用HC-SR04. http://www.yiboard.com/thread-660-1-1.html

[自娱自乐] 4、超声波测距模块DIY笔记(四)——终结篇&#183;基于C#上位机软件开发

前言 上一节我们已经基本上把超声波硬件的发射和接收模块全部做好了,接下来我们着手开发一个软硬结合的基于C#的平面定位软件! 目录 一.整体思路 二.效果提前展示 2-1.软件部分展示 2-2.硬件部分展示 三.基于C#的客户端软件说明 3-1.整体框架介绍: 3-2.部分技术细节介绍 3-2-1.串口操作 3-2-2.JiSuan函数说明及核心算法介绍 四.阶段小结 五.相关链接 一.整体思路 >_<" 如下图,利用我们上三节开发的超声波发射与接收设备构成一个:2固定接收头+1可移动

超声波测距模块

要做的事:两个视频介绍.算坐标 疑问:探测频率.和探测最大耗时.探测最大耗时里面的返回值范围.返回距离比返回时间耗时长(且5m和10m一样) 1.探测频率:500Hz,即每秒500次,一次2ms. 若安装12个,则扫描一圈24ms. 若机器人的速速为1m/s,24ms前进24mm=2.4cm 2.探测时间:传输时间+1ms, 若10m=29ms+1ms=30ms,一圈=30ms*12=360ms=0.36s,机器人前进36cm. 若3m=9ms+1ms=10ms,一圈=10ms*12=120ms

stm32与HC-SR04超声波传感器测距

首先,先来看一下这个模块的基本功能和原理. HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm:模块包括超声波发射器.接收器与控制电路.像智能小车的测距以及转向,或是一些项目中,常常会用到.智能小车测距可以及时发现前方的障碍物,使智能小车可以及时转向,避开障碍物. 注意是5v输入,但是我用stm32 的3.3v输入也是没有问题的. 二.工作原理 1.给超声波模块接入电源和地.      2.给脉冲触发引脚(trig)输入一个长为20us的高电平方波