CN111034071B - 二进制相移键控声音调制 - Google Patents
二进制相移键控声音调制 Download PDFInfo
- Publication number
- CN111034071B CN111034071B CN201880054959.XA CN201880054959A CN111034071B CN 111034071 B CN111034071 B CN 111034071B CN 201880054959 A CN201880054959 A CN 201880054959A CN 111034071 B CN111034071 B CN 111034071B
- Authority
- CN
- China
- Prior art keywords
- computing device
- header
- computer
- packet
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B11/00—Transmission systems employing sonic, ultrasonic or infrasonic waves
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
通过将数据划分为块、对每个块进行编码以及向每个块添加报头和尾标来使用声音在设备之间传送数据。报头是伪随机训练序列,并且尾标是报头的位翻转版本。使用二进制相移键控(BPSK)调制来调制分组化的数据流。将流上采样和滤波为设备的扬声器和麦克风的响应范围中的频带中的一个信号。使用扬声器发送滤波的信号作为声音。在接收设备处,获取由介于中间的信道通过将接收的信号与伪随机序列的上采样的/带通的版本互相关所修改的发送的信号。定位与报头/尾标对应的互相关的峰值。将信道脉冲响应估计为相关的函数。基于脉冲响应来均衡信号,以及下采样、解调和去分组化。
Description
对相关申请的交叉引用
本申请要求于2017年8月24日提交的、题为“Binary Phase Shift Keying SoundModulation(二进制相移键控声音调制)”的美国临时申请第62/549,705号的权益,该美国临时申请的公开通过引用被整体合并于此。
技术领域
本文公开的技术涉及使用声能(sound energy)的计算设备之间的数字数据通信。具体示例涉及计算设备之间使用二进制相移键控(BPSK)调制的声音来传送(communicate)数字数据。
背景技术
在移动支付中,客户可以使用移动电话来转账或对商品和服务进行支付,来代替使用如现金、支票和信用卡的方法。在美国以外的大多数地方,尤其是陆地线(landiline)电信基础设施并不普及的辖区,具有移动电话的人多于具有银行帐户的人。例如,印度具有大量的非银行业人口,该大量的非银行业人口中的许多居住在农村区域并且无法接入来自可信赖来源获的基本金融服务。截至2012年,印度具有接近10亿移动电话客户。
发明内容
本文描述的技术包括用于使用声音在计算设备之间传送数字数据的计算机实现的方法、计算机程序产品以及系统。在一些示例中,第一计算设备对要传送的数据分组化(packetize)。然后,第一计算设备使用二进制相移键控(BPSK)调制来调制分组化的数据流。第一计算设备上采样并且滤波为第一计算设备的扬声器的响应范围和第二计算设备的麦克风的响应范围中的频带中的一个信号。第一计算设备使用第一计算设备的扬声器将滤波的信号作为声音发送。
在示例中,提供了一种用于使用声音在计算设备之间传送数字数据的计算机实现的方法,该方法包括:由第一计算设备对要传送的数据分组化;由第一计算设备使用二进制相移键控BPSK调制来调制分组化的数据流;由第一计算设备将调制的流上采样;由第一计算设备将上采样的流滤波为第一计算设备的扬声器的响应范围和第二计算设备的麦克风的响应范围中的频带中的一个信号;以及由第一计算设备使用第一计算设备的扬声器将滤波的信号作为声音发送。
在示例中,提供了一种计算机程序产品,包括:非暂时性计算机可读存储设备,该非暂时性计算机可读存储设备具有体现在其上的计算机可执行程序指令,该计算机可执行程序指令当由计算机执行时使得计算机在设备之间无线地传送数据,该计算机可执行程序指令包括:计算机可执行程序指令,用于由第一计算设备对要传送的数据分组化;计算机可执行程序指令,用于由第一计算设备使用二进制相移键控BPSK调制来调制分组化的数据流;计算机可执行程序指令,用于由第一计算设备将调制的流上采样;计算机可执行程序指令,用于由第一计算设备将上采样的流滤波为第一计算设备的扬声器的响应范围和第二计算设备的麦克风的响应范围中的频带中的一个信号;以及计算机可执行程序指令,用于由第一计算设备使用第一计算设备的扬声器将滤波的信号作为声音发送。
在示例中,一种用于使用声音在计算设备之间传送数字数据的系统,该系统包括:存储设备;以及通信地耦合到该存储设备的处理器,其中,该处理器执行存储在该存储设备中的应用程序代码指令以使得该系统:由第一计算设备对要传送的数据分组化;由第一计算设备使用二进制相移键控BPSK调制来调制分组化的数据流;由第一计算设备将调制的流上采样;由第一计算设备将上采样的流滤波为第一计算设备的扬声器的响应范围和第二计算设备的麦克风的响应范围中的频带中的一个信号;以及由第一计算设备使用第一计算设备的扬声器将滤波的信号作为声音发送。
在一些这样的示例中,分组化包括将数据划分为块,并且可选地,对每个块进行编码,在每个编码的块之前添加报头(header)以及在每个编码的块之后添加尾标(footer)。在一些这样的示例中,编码包括使用低密度奇偶校验(LDPC)码对每个块进行冗余编码。在一些这样的示例中,报头是伪随机序列,特别是,伪随机训练序列。尾标可以是报头的位翻转版本。
在一些这样的示例中,第二计算设备获取通过第一计算设备和第二计算设备之间的传输信道修改的发送的信号。将获取的信号下采样,解调为分组的流以及去分组化。在一些这样的示例中,获取包括第二计算设备将接收的信号与伪随机序列的上采样的和带通的版本互相关(cross-correlating)。然后,第二计算设备通过定位与接收的信号的分组的报头和尾标相对应的互相关峰值来定位接收的信号的分组。第二计算设备将第一计算设备和第二计算设备之间的传输信道的脉冲响应估计为发送的分组报头和接收的分组报头之间的相关性的函数。然后,第二计算设备在下采样、解调和去分组化以提取数据之前,基于估计的脉冲响应来均衡接收的信号。
考虑到示出的示例的以下详细描述,本文描述的技术的这些和其他方面、目的、特征和优点对于本领域普通技术人员将变得明显。
附图说明
图1是描绘根据某些示例的使用声音在计算设备之间传送数字数据的操作环境的框图。
图2是示出根据某些示例的使用声音在计算设备之间传送数字数据的方法的框图。
图3示出了根据某些示例的被转换为BPSK符号空间中的符号流的示例分组。
图4示出了根据某些示例的在信号频带中发送的和接收的BPSK调制波形两者的时域表示。
图5是描绘根据某些示例的计算机器和模块的框图。
具体实施方式
尽管遍及世界的辖区中的许多潜在的移动支付用户具有移动电话,但是这些移动电话中的许多缺少除了经由蜂窝网络之外的射频(RF)通信功能,而蜂窝网络可能并非总是可用。例如,典型的移动支付技术采用了基于点对点RF的技术(诸如,近场通信(NFC)技术)和个域网(PAN)技术(诸如,BLUETOOTHTM(蓝牙)通信技术),而这并非在所有移动电话上可用。
通过使用和依靠本文描述的方法和系统,本文公开的技术可以经由声音在对等计算设备(诸如移动电话和销售点(POS)终端)之间或者在两个移动电话之间直接地提供数字数据通信。这样,可以采用该技术将移动支付能力扩展到未装备基于RF的移动支付技术的设备。
现在转向附图来详细地描述本技术的示例,在附图中,相似的附图标记贯穿附图表示相似的(但不必相同的)元件。
系统架构示例
图1是描绘根据本文公开的技术的某些示例的操作环境100的框图。尽管操作环境中示出的每个服务器、系统和设备由服务器、系统或设备的一个实例表示,但可以使用每个的多个实例。此外,尽管在与图1相关的示例中呈现了本技术的操作的某些方面以促进所要求保护的发明的实现,但是本文其他地方公开了本技术的附加特征,其也促进所要求保护的发明的实现。
图1的操作环境100是使用声音在计算设备之间传送数字数据的系统。如图1中所描绘地,示例操作环境100包括计算设备110、120和140。设备110、120和140中的每个可以被配置为经由通信网络99彼此通信,尽管用于设备110和120中的任何一个的这样的链路通常是中介的RF链路,而通常不是对等链路。此外,这样的链路当存在时可能是间歇性的。在一些示例中,与设备相关联的用户必须安装应用和/或进行特征选择以获得本文描述的技术的益处。
网络99包括网络设备可以通过其交换数据的一个或多个有线或无线电信装置。例如,网络99可以包括局域网(LAN)、广域网(WAN)、内联网、互联网、存储区域网(SAN)、个域网(PAN)、城域网(MAN)、无线局域网(WLAN)、虚拟专用网(VPN)、蜂窝或其他移动通信网络、无线技术连接、近场通信(NFC)连接、其任何组合以及促进信号、数据和/或消息的RF通信的任何其他适当的架构或系统中的一个或多个。贯穿示例的讨论,应当理解,术语“数据”和“信息”在本文可互换地使用,以指代文本、图像、音频、视频或可以存在于基于计算机的环境中的任何其他形式的信息。
每个计算设备110、120和140可以包括能够通过网络99发送和接收数据的通信模块。例如,每个计算设备可以包括服务器、桌面型计算机、膝上型计算机、平板计算机,具有嵌入其中和/或耦合到其的一个或多个处理器的电视、智能电话、手持计算机、个人数字助理(PDA)或任何其他有线或无线处理器驱动的设备。
在本文描述的示例中,计算设备110是缺少对等RF通信子系统的移动电话,然而本文描述的技术的示例提供了实用性,而无论计算设备110的其他联网和对等RF通信能力的可用性如何。
在本文描述的示例中,计算设备120是缺少对等RF通信子系统的POS设备(在一些示例中,包括充当POS设备的移动电话),然而本文描述的技术的示例提供了实用性,而无论计算设备120的其他联网和对等RF通信能力的可用性如何。
在本文描述的示例中,通信链路130是基于声音的对等通信链路;并且计算设备110和计算设备120各自包括在通信链路130中使用的扬声器输出(分别地为110a和120a)和麦克风输入(分别地为110b和120b)。本文所使用的“声音”包括通常通过空气作为压力波传播的任何振动,并且不限于由人耳可听见的声音频率。本文描述的技术的示例在计算设备110和120的扬声器和麦克风的频率响应范围上进行操作。
示出的连接是示例,并且可以使用在计算机和设备之间建立通信链路的其他手段。此外,受益于本公开的本领域普通技术人员将意识到,图1示出的计算设备可以具有若干其他合适的计算机系统配置中的任何配置。例如,计算设备110可以体现为移动电话或手持计算机,并且可包括并非所有组件。
在示例中,计算设备110、120、140以及与本文呈现的技术相关联的任何其他计算机器可以是任何类型的计算机器,诸如但不限于,关于图5更加详细地讨论的那些。此外,与这些计算机器中的任何相关联的任何模块,诸如本文描述的模块或与本文呈现的技术相关联的任何其他模块(脚本、web内容、软件、固件或硬件)可以是关于图5更加详细地讨论的模块中的任何模块。本文讨论的计算机器可以通过一个或多个网络(诸如网络99)与彼此以及其他计算机机器或通信系统通信。网络99可以包括任何类型的数据或通信网络,包括关于图5讨论的网络技术中的任何。
示例流程
在下文中,关于根据图1的示例性操作环境100的组件描述了图中示出的示例方法。示例方法也可以采用其他系统和在其他环境中执行。关于附图中的任何附图描述的操作可以被实现为存储在计算机或机器可读非暂时性有形存储介质(例如,软盘、硬盘、ROM、EEPROM、非易失性RAM、CD-ROM等)上的可执行代码,其由使用一个或多个集成电路实现的处理器电路基于代码的执行而完成;本文描述的操作也可以实现为在一个或多个非暂时性有形介质中编码以用于执行的可执行逻辑(例如,可编程逻辑阵列或设备、现场可编程门阵列、可编程阵列逻辑、专用集成电路等)。
参考图2并且针对上下文继续参考图1,根据某些示例,示出了使用声音在计算设备之间传送数字数据的方法200。在这样的方法200中,第一计算设备将要传送的数据分组化-框210。在一些这样的方法200中,分组化包括将要传送的数据划分为块,对每个块进行编码,在每个编码的块之前添加报头以及在每个编码的块之后添加尾标以形成分组。
作为继续的示例,考虑数字消息[1101111100010100...]。第一计算设备110将消息划分为四个比特的块,例如,第一块为[1101]。在实践中,实际消息可以扩展得比在继续的示例中使用的小样本长很多,并且块通常更大,例如512比特。
第一计算设备将纠错码应用于每个块。例如,第一计算设备110可以将速率为1/2的低密度奇偶校验(LDPC)应用于该块。具体地,可以通过第一计算设备110应用使用原型(protograph)方法设计的LDPC码。例如,可以使用模拟退火(simulated annealing)来生成原型,其中,通过运行近似密度演化(approximate density evolution)达到固定迭代次数来给出能量函数。在一个示例中,原型具有32个可变节点和16个校验(check)节点。通过模拟在期望操作点处的平均白高斯噪声(AWGN)条件下的解码性能,可以从原型的一批随机扩张(random expansion)中选择个体(individual)代码。在原型(32,16)示例中,采用一比例的不正确比特(例如,高达10%的不正确比特)的原型在模拟中测试代码,该一比例的不正确比特代表接收器所将要经历的。在这种情况下,系统将成功地操作并且从高达10%的不正确比特中恢复。每个选择的代码可以通过其奇偶矩阵指定。这种方法导致1024个编码的数据比特。
在继续的示例中,为简单起见,第一计算设备应用Hamming(7,4)码(Hamming(7,4)码)。将Hamming(7,4)码应用于数字消息导致产生消息具有为[11101][100]的奇偶校验位。在继续的示例中,第一计算设备使用5芯片巴克码报头-[11101]。翻转报头比特并且组装(assembling)分组将导致分组[11101][1101][100][00010]。实际上,由线性反馈移位寄存器(LSFR)生成的伪随机训练序列(例如512比特长度)可以被第一计算设备110用作报头。当在接收器120处获取发送的信号时并且针对在接收器120处均衡接收的信号以减轻由信道130引入的失真,报头和尾标是有用的。
第一计算设备使用二进制相移键控(BPSK)来调制分组化的数据流-框220。BPSK(有时也称为相位反转键控(PRK)或2PSK)是最简单形式的相移键控(PSK)。其使用间隔180°的两个相位。尽管星座点通常表示在实/虚平面的实轴上(在0°和180°处),但是星座点准确地位于哪里并不特别地重要。这种调制是所有PSK中最鲁棒的,因为其需要(take)最高水平的噪声或失真才使解调器做出(reach)不正确决定。图3示出了被转换为BPSK符号空间中的符号流的继续的示例的分组。
第一计算设备110通过一个+1/-l值的音频样本(BPSK符号)来表示分组中的每个0/1值的比特,以创建调制的符号流。然后,第一计算设备110将调制的流上采样-框230。通过上采样,可以增加调制的流的采样率。在基于第一计算设备110和第二计算设备120采样音频(如典型的移动电话)的继续的示例中,上采样基于44.1kHz的完整采样率。确定信号频带的三个参数是:完整采样率sample_rate,num_bands(整数值)和band(也是整数值),其中,0<band<num_bands。
信号频带的下边缘的频率为(sample_rate×band/(2×num_bands)),并且信号频带的上边缘的频率为(sample_rate×(band+1)/(2×num_bands))。将band和num_bands约束为整数会限制针对信号频带的可能选择,但是会简化解调。在继续的示例中,选择num_bands=4,band=1(第二可能频带)以及44.1kHz的完整采样率会导致5,512.5Hz-11,025Hz的信号频带。该频带高于在人类的听觉范围内并且在典型的移动电话麦克风和扬声器的频率响应内的、大部分的人类语音的能量和典型的背景噪声的频率。
第一计算设备将上采样的流滤波为在第一计算设备的扬声器的响应范围和第二计算设备的麦克风的响应范围中的频带中的一个信号-框240。在继续的示例中,第一计算设备110将上采样的流带通滤波,以抑制除信号频带5,512.5Hz-11,025Hz中的信号图像之外的所有。第一计算设备使用第一计算设备的扬声器将滤波的信号作为声音发送-框250。在继续的示例中,第一计算设备110使用第一计算设备110的扬声器110a将滤波的信号作为声音发送。
第二计算设备获取通过第一计算设备和第二计算设备之间的传输信道修改的发送的信号-框260。图4示出了从第一计算设备110的扬声器110a发送的(顶部)和在第二计算设备120的麦克风120b处接收的(通过介于中间的传输信道130修改的)两者的示例编码的分组波形的开始。波形的x轴单位为秒。传输信道可以是通过空气的声音传播,发送的信号的修改可能是由于发送的信号的反射和/或阻尼和/或由于噪声引起的。
在获取中,在第二计算设备120接收通过传输信道修改的发送的信号之后,第二计算设备将接收的信号与以从第一计算设备110发送的信号的方式调制、上采样和带通滤波的伪随机序列的版本互相关。第二计算设备120通过定位与报头和尾标相对应的、在其间具有期望的间隔的一对互相关峰值来确定分组位置。报头和尾标峰值之间的间隔允许测量多普勒膨胀(Dopplerdilation),其对于运动容差是有用的。在此阶段仅在±25ms内近似地定位分组是足够的。
分组报头的相关响应是信道130脉冲响应的良好估计。这种估计是有用的,部分因为报头序列是伪随机的,其意味着报头序列的变换具有近似地恒定的幅度和伪随机相位,因此接收的分组报头和伪随机序列之间的相关被抵消,仅留下信道130的脉冲响应的估计。为了提取该信道脉冲响应并且丢弃与分组有效载荷和尾标的不想要的相关,第二计算设备120将该相关与汉恩窗口(Hann window)相乘,该汉恩窗口以与分组报头相对应的峰值为中心。
然后,第二计算设备120使用估计和加窗的(windowed)信道响应来对接收的信号执行维纳解卷积(Wiener deconvolution)以均衡接收的信号。解卷积可以表示为X_eq(f)=X(f)H(f)*/(|H(f)|^2+v),其中,X(f)=作为频率的函数的接收信号,X_eq(f)=作为频率的函数的均衡的信号,H(f)=信道脉冲响应的变换,“v”是偏移,“*”是复共轭运算以及“^”指示指数。偏移量v=0.1均值(|H(f)|^2),避免了信道响应为零或不精确地估计时的过大放大。
然后,第二计算设备120对获取的信号下采样,并且将下采样的信号解调为分组流-框270。在继续的示例中,下采样和BPSK解调将留下组装的分组。第二计算设备对解调的信号的每个分组去分组化-框280。在继续的示例中,第二计算设备从分组移除报头和尾标,并且然后对分组的LDPC编码的数据部分解码以揭示原始消息-[1101]。
示例计算机程序产品
一种计算机程序产品,包括:非暂时性计算机可读存储设备,该非暂时性计算机可读存储设备具有体现在其上的计算机可执行程序指令,该计算机可执行程序指令当由计算机执行时使得计算机在设备之间无线地传送数据,该计算机可执行程序指令包括:计算机可执行程序指令,用于执行上文描述的示例方法。
其他示例
图5描绘了根据某些示例的计算机器2000和模块2050。计算机器2000可以对应于本文呈现的各种计算机、服务器、移动设备、嵌入式系统、计算设备或计算系统中的任何。模块2050可以包括一个或多个硬件或软件元件,其被配置为促进计算机器2000执行本文呈现的各种方法和处理功能。计算机器2000可以包括各种内部或附接的组件,诸如处理器2010、系统总线2020、系统存储器2030、存储介质2040、输入/输出接口2060以及用于与网络2080通信的网络接口2070。
计算机器2000可以被实现为传统计算机系统、嵌入式控制器、膝上型计算机、服务器、移动设备、智能电话、机顶盒、信息亭、路由器或其他网络节点、车辆信息系统、与电视关联的一个或多个处理器、定制的机器、任何其他硬件平台或者其任何组合或多样性。计算机器2000可以是被配置为使用经由数据网络或总线系统互连的多个计算机器而起作用的分布式系统。
处理器2010可以被配置为执行代码或指令以执行本文描述的操作和功能,管理请求流和地址映射以及执行计算并且生成命令。处理器2010可以被配置为监视和控制计算机器2000中的组件的操作。处理器2010可以是通用处理器、处理器核、多处理器、可重构处理器、微控制器、数字信号处理器(“DSP”)、专用集成电路(“ASIC”)、图形处理单元(“GPU”)、现场可编程门阵列(“FPGA”)、可编程逻辑设备(“PLD”)、控制器、状态机、门控逻辑、离散硬件组件、任何其他处理单元或者其任何组合或多样性。处理器2010可以是单个处理单元、多个处理单元、单个处理核心、多个处理核心、专用处理核心、协处理器或其任何组合。根据某些示例,处理器2010连同计算机器2000的其他组件可以是在一个或多个其他计算机器内执行的虚拟化计算机器。
系统存储器2030可以包括非易失性存储器,诸如只读存储器(“ROM”)、可编程只读存储器(“PROM”)、可擦除可编程只读存储器(“EPROM”)、闪速存储器或在施加或不施加电力的情况下能够存储程序指令或数据的任何其他设备。系统存储器2030还可以包括易失性存储器,诸如随机存取存储器(“RAM”)、静态随机存取存储器(“SRAM”)、动态随机存取存储器(“DRAM”)和同步动态随机存取存储器(“SDRAM”)。其他类型的RAM也可以用于实现系统存储器2030。系统存储器2030可以使用单个存储器模块或多个存储器模块来实现。尽管系统存储器2030被描绘为计算机器2000的一部分,但是本领域技术人员将认识到,系统存储器2030可以与计算机器2000分离,而不脱离本主题技术的范围。还应当意识到,系统存储器2030可以包括诸如存储介质2040的非易失性存储设备或与其结合操作。
存储介质2040可以包括硬盘、软盘、压缩盘只读存储器(“CD-ROM”)、数字多功能盘(“DVD”)、蓝光盘、磁带、闪速存储器、其他非易失性存储器设备、固态驱动器(“SSD”)、任何磁存储设备、任何光存储设备、任何电存储设备、任何半导体存储设备、任何基于物理的存储设备、任何其他数据存储设备或者其任何组合或多样性。存储介质2040可以存储一个或多个操作系统、应用程序和程序模块,诸如模块2050、数据或任何其他信息。存储介质2040可以是计算机器2000的一部分或连接到计算机器2000。存储介质2040也可以是与计算机器2000通信的一个或多个其他计算机的一部分,诸如服务器、数据库服务器、云存储、网络附加存储等。
模块2050可以包括一个或多个硬件或软件元件,其被配置为促进计算机器2000执行本文呈现的各种方法和处理功能。模块2050可以包括与系统存储器2030、存储介质2040或两者相关联地被存储为软件或固件的一个或多个指令序列。因此,存储介质2040可以代表可以在其上存储指令或代码以供处理器2010执行的机器或计算机可读介质的示例。机器或计算机可读介质通常可以指代用于向处理器2010提供指令的任何介质或媒体。与模块2050相关联的这样的机器或计算机可读介质可以包括计算机软件产品。应当意识到,包括模块2050的计算机软件产品还可以与一个或多个处理或方法相关联,其用于经由网络2080、任何信号承载介质或者任何其他通信或递送技术来将模块2050递送到计算机器2000。模块2050还可以包括硬件电路或用于配置硬件电路的信息,例如微码或用于FPGA或其他PLD的配置信息。
输入/输出(“I/O”)接口2060可以被配置为耦合到一个或多个外部设备,以从一个或多个外部设备接收数据并且向该一个或多个外部设备发送数据。这样的外部设备连同各种内部设备也可以称为外围设备。I/O接口2060可以包括用于将各种外围设备可操作地耦合到计算机器2000或处理器2010的电连接和物理连接两者。I/O接口2060可以被配置为在外围设备、计算机器2000或处理器2010之间传送数据、地址和控制信号。I/O接口2060可以配置为实现任何标准接口,诸如小型计算机系统接口(“SCSI”)、串行连接的SCSI(“SAS”)、光纤信道、外围组件互连(“PCI”)、PCI快速(PCIe)、串行总线、并行总线、先进技术连接(“ATA”)、串行ATA(“SATA”)、通用串行总线(“USB”)、Thunderbolt(雷电)、FireWire(火线)、各种视频总线等。I/O接口2060可以被配置为仅实现一个接口或总线技术。替选地,可以将I/O接口2060配置为实现多个接口或总线技术。I/O接口2060可以被配置为系统总线2020的一部分、全部或与系统总线2020一起操作。I/O接口2060可以包括一个或多个缓冲器,用于缓冲一个或多个外部设备、内部设备、计算机器2000或处理器2010之间的传输。
I/O接口2060可以将计算机器2000耦合到各种输入设备,包括鼠标、触摸屏、扫描仪、电子数字化仪、传感器、接收器、触摸板、轨迹球、相机、麦克风、键盘、何其他点击设备或其任何组合。I/O接口2060可以将计算机器2000耦合到各种输出设备,包括视频显示器、扬声器、打印机、投影仪、触觉反馈设备、自动化控制、机器人组件、致动器、电机、风扇、螺线管、阀门、泵、发送器、信号发射器、灯等。
计算机器2000可以使用通过网络接口2070到网络2080上的一个或多个其他系统或计算机的逻辑连接来在联网的环境中进行操作。网络2080可以包括广域网(WAN)、局域网(LAN)、内联网、互联网、无线接入网、有线网络、移动网络、电话网络、光网络或其组合。例如,网络2080可以是根据图1的网络99。网络2080可以是分组交换的、电路交换的、具有任何拓扑,并且可以使用任何通信协议。网络2080内的通信链路可以涉及各种数字或模拟通信介质,诸如光纤电缆、自由空间光学器件、波导、电导体、无线链路、天线、射频通信等。
处理器2010可以通过系统总线2020连接到计算机器2000的其他元件或本文讨论的各种外围设备。应当意识到,系统总线2020可以在处理器2010内、在处理器2010外或两者。根据某些示例,处理器2010、计算机器2000的其他元件或本文讨论的各种外围设备中的任何可以集成到单个设备中,诸如芯片上系统(“SOC”)、封装上系统(“SOP”)或ASIC设备。
本技术可以包括体现本文描述和示出的功能的计算机程序,其中,计算机程序在计算机系统中实现,该计算机系统包括存储在机器可读介质中的指令和执行该指令的处理器。然而,应当明显的是,在计算机编程中可以存在许多不同的方式来实现本技术,并且示例不应当被解释为限于任何一组计算机程序指令。此外,熟练的程序员将能够基于所附流程图和申请文本中的相关联描述来编写这样的计算机程序以实现本文所述的本技术。因此,对于充分理解如何制造和使用本文描述的技术,不认为公开特定的程序代码指令集合是必须的。此外,本领域技术人员将意识到,本文描述的技术的一个或多个方面可以由硬件、软件或其组合来执行,如可以体现在一个或多个计算系统中那样。此外,任何对由计算机执行的动作的指代不应解释为由单个计算机执行,因为多于一个的计算机可以执行该动作。
本文描述的技术可以与执行本文描述的方法和处理功能的计算机硬件和软件一起使用。本文描述的系统、方法和过程可以体现为可编程计算机、计算机可执行软件或数字电路中。该软件可以存储在计算机可读介质上。例如,计算机可读介质可以包括软盘、RAM、ROM、硬盘、可移动介质、闪速存储器、记忆棒、光学介质、磁光介质、CD-ROM等。数字电路可以包括集成电路、门阵列、构件逻辑、现场可编程门阵列(FPGA)等
先前呈现的示例中描述的示例系统、方法和动作是说明性的,并且在替选示例中,可以以不同的顺序、彼此并行、完全省略和/或在不同示例之间组合来执行某些动作,和/或可以执行某些附加动作,而不脱离各种示例的范围和精神。因此,这样的替选示例包括在所附权利要求的范围内,这些权利要求应被赋予最宽泛的解释以涵盖这些替选示例。
尽管以上已经详细地描述了具体示例,但是该描述仅出于说明的目的。因此,应当意识到,除非另有明确说明,否则上述许多方面并非旨在作为必需或必要的要素。除了上述那些之外,示例的公开方面的修改以及与其相对应的等效的组件或动作可以由本领域普通技术人员在受益于本公开的情况下进行,而不脱离在所附权利要求书中定义的、本文描述的技术的精神和范围,其范围应被赋予最宽泛的解释以涵盖这样的修改和等效结构。
Claims (20)
1.一种使用声音在计算设备之间传送数字数据的计算机实现的方法,包括:
由第一计算设备对要传送的数据分组化;
由第一计算设备使用二进制相移键控(BPSK)调制来调制分组化的数据的流;
由第一计算设备将调制的流上采样;
由第一计算设备将上采样的流滤波为第一计算设备的扬声器的响应范围中和第二计算设备的麦克风的响应范围中的频带中的一个信号;和
由第一计算设备使用第一计算设备的扬声器将滤波的信号作为声音发送。
2.根据权利要求1所述的方法,其中,分组化包括:
将数据划分为块;
对每个块进行编码;
在每个编码的块之前添加报头;和
在每个编码的块之后添加尾标。
3.根据权利要求2所述的方法,其中,编码包括使用低密度奇偶校验(LDPC)码对每个块进行冗余编码。
4.根据权利要求2或3所述的方法,其中:
报头是伪随机训练序列;和
尾标是报头的位翻转版本。
5.根据权利要求1-3中任何一项所述的方法,其中,BPSK调制包括形成调制的数字分组流,其中,每个分组比特通过BPSK符号表示。
6.根据权利要求1-3中任何一项所述的方法,还包括:
由第二计算设备获取通过在第一计算设备和第二计算设备之间的传输信道修改的发送的信号;
由第二计算设备将获取的信号下采样;
由第二计算设备将下采样的信号解调为分组流;和
由第二计算设备将解调的信号的每个分组去分组化。
7.根据权利要求6所述的方法,其中:
由第一计算设备分组化,包括:
将数据划分为块,
对每个块进行编码,和
向每个编码的块添加报头和尾标,
其中,报头是伪随机序列并且尾标是报头的位翻转版本;以及
获取包括:
由第二计算设备接收通过在第一计算设备和第二计算设备之间的传输信道修改的发送的信号;
由第二计算设备将接收的信号与伪随机序列的上采样和带通的版本互相关;
由第二计算设备通过定位与接收的信号的分组的报头和尾标相对应的互相关峰值来定位接收的信号的分组;
由第二计算设备将在第一计算设备和第二计算设备之间的传输信道的脉冲响应估计为在发送的分组报头和接收的分组报头之间的相关性的函数;和
由第二计算设备基于估计的脉冲响应来均衡接收的信号。
8.一种非暂时性计算机可读存储设备,该非暂时性计算机可读存储设备具有体现在其上的多个计算机可执行程序指令,该多个计算机可执行程序指令当由计算机执行时使得计算机在设备之间无线地传送数据,该多个计算机可执行程序指令包括:
用于由第一计算设备对要传送的数据分组化的计算机可执行程序指令;
用于由第一计算设备使用二进制相移键控(BPSK)调制来调制分组化的数据的流的计算机可执行程序指令;
用于由第一计算设备将调制的流上采样的计算机可执行程序指令;
用于由第一计算设备将上采样的流滤波为第一计算设备的扬声器的响应范围中和第二计算设备的麦克风的响应范围中的频带中的一个信号的计算机可执行程序指令;以及
用于由第一计算设备使用第一计算设备的扬声器将滤波的信号作为声音发送的计算机可执行程序指令。
9.根据权利要求8所述的非暂时性计算机可读存储设备,其中,用于分组化的计算机可执行程序指令还包括:
用于将数据划分为块的计算机可执行程序指令;
用于对每个块进行编码的计算机可执行程序指令;
用于在每个编码的块之前添加报头的计算机可执行程序指令;和
用于在每个编码的块之后添加尾标的计算机可执行程序指令。
10.根据权利要求9所述的非暂时性计算机可读存储设备,其中,用于编码的计算机可执行程序指令还包括:用于使用低密度奇偶校验(LDPC)码对每个块进行冗余编码的计算机可执行程序指令。
11.根据权利要求9或10所述的非暂时性计算机可读存储设备,其中,报头是伪随机训练序列,并且尾标是报头的位翻转版本。
12.根据权利要求8至10中任何一项所述的非暂时性计算机可读存储设备,其中,BPSK调制包括形成调制的数字分组流,其中,每个分组比特通过BPSK符号表示。
13.根据权利要求8至10中任何一项所述的非暂时性计算机可读存储设备,还包括用于执行以下操作的计算机可执行程序指令:
由第二计算设备获取通过在第一计算设备和第二计算设备之间的传输信道修改的发送的信号;
由第二计算设备将获取的信号下采样;
由第二计算设备将下采样的信号解调为分组流;和
由第二计算设备将解调的信号的每个分组去分组化。
14.根据权利要求13所述的非暂时性计算机可读存储设备,其中:
由第一计算设备分组化,包括:
将数据划分为块,
对每个块进行编码,和
向每个编码的块添加报头和尾标,
其中,报头是伪随机序列并且尾标是报头的位翻转版本;以及
获取包括:
由第二计算设备接收通过在第一计算设备和第二计算设备之间的传输信道修改的发送的信号;
由第二计算设备将接收的信号与伪随机序列的上采样和带通的版本互相关;
由第二计算设备通过定位与接收的信号的分组的报头和尾标相对应的互相关峰值来定位接收的信号的分组;
由第二计算设备将在第一计算设备和第二计算设备之间的传输信道的脉冲响应估计为在发送的分组报头和接收的分组报头之间的相关性的函数;和
由第二计算设备基于估计的脉冲响应来均衡接收的信号。
15.一种用于使用声音在计算设备之间传送数字数据的系统,该系统包括:
存储设备;以及
通信地耦合到该存储设备的处理器,其中,该处理器执行存储在该存储设备中的应用程序代码指令以使得该系统:
由第一计算设备对要传送的数据分组化;
由第一计算设备使用二进制相移键控(BPSK)调制来调制分组化的数据的流;
由第一计算设备将调制的流上采样;
由第一计算设备将上采样的流滤波为第一计算设备的扬声器的响应范围中和第二计算设备的麦克风的响应范围中的频带中的一个信号;以及
由第一计算设备使用第一计算设备的扬声器将滤波的信号作为声音发送。
16.根据权利要求15所述的系统,其中,分组化包括:
将数据划分为块;
对每个块进行编码;
在每个编码的块之前添加报头;和
在每个编码的块之后添加尾标。
17.根据权利要求16所述的系统,其中,编码包括使用低密度奇偶校验(LDPC)码对每个块进行冗余编码。
18.根据权利要求16或17所述的系统,其中:
报头是伪随机训练序列;和
尾标是报头的位翻转版本。
19.根据权利要求15至17中任何一项所述的系统,其中,处理器还执行存储在存储设备中的应用程序代码指令以使得系统:
由第二计算设备获取通过在第一计算设备和第二计算设备之间的传输信道修改的发送的信号;
由第二计算设备将获取的信号下采样;
由第二计算设备将下采样的信号解调为分组流;和
由第二计算设备将解调的信号的每个分组去分组化。
20.根据权利要求19所述的系统,其中:
由第一计算设备分组化,包括:
将数据划分为块,
对每个块进行编码,和
向每个编码的块添加报头和尾标,
其中,报头是伪随机序列并且尾标是头部的位翻转版本;以及
获取包括:
由第二计算设备接收通过在第一计算设备和第二计算设备之间的传输信道修改的发送的信号;
由第二计算设备将接收的信号与伪随机序列的上采样和带通的版本互相关;
由第二计算设备通过定位与接收的信号的分组的报头和尾标相对应的互相关峰值来定位接收的信号的分组;
由第二计算设备将在第一计算设备和第二计算设备之间的传输信道的脉冲响应估计为在发送的分组报头和接收的分组报头之间的相关性的函数;和
由第二计算设备基于估计的脉冲响应来均衡接收的信号。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762549705P | 2017-08-24 | 2017-08-24 | |
US62/549,705 | 2017-08-24 | ||
PCT/US2018/037748 WO2019040161A1 (en) | 2017-08-24 | 2018-06-15 | MODULATION OF BITARY PHASE CHANGE MODULATION SOUND |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111034071A CN111034071A (zh) | 2020-04-17 |
CN111034071B true CN111034071B (zh) | 2021-10-26 |
Family
ID=62916748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880054959.XA Active CN111034071B (zh) | 2017-08-24 | 2018-06-15 | 二进制相移键控声音调制 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3602846B1 (zh) |
CN (1) | CN111034071B (zh) |
WO (1) | WO2019040161A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11146836B1 (en) * | 2020-05-20 | 2021-10-12 | Lisnr | Detection and synchronization of audio transmissions using complex audio signals |
CN112887242B (zh) * | 2021-01-18 | 2021-11-30 | 西安电子科技大学 | 用于机械天线超低频信号频率调制的装置及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546032A (zh) * | 2012-01-20 | 2012-07-04 | 北京印天网真科技有限公司 | 无线发射、接收方法和装置以及无线通信方法和系统 |
CN102984098A (zh) * | 2006-10-05 | 2013-03-20 | 科达无线私人有限公司 | 提高通信网络中的接收机性能 |
CN104348558A (zh) * | 2013-07-29 | 2015-02-11 | 国民技术股份有限公司 | 一种声波通信装置、终端设备及声波通信系统 |
CN105376189A (zh) * | 2014-09-01 | 2016-03-02 | 福建天晴数码有限公司 | 声波通信方法和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030212549A1 (en) * | 2002-05-10 | 2003-11-13 | Jack Steentra | Wireless communication using sound |
KR100786108B1 (ko) * | 2006-05-01 | 2007-12-18 | 김준식 | 음파통신 네트워크 |
US20120214416A1 (en) * | 2011-02-23 | 2012-08-23 | Jonathan Douglas Kent | Methods and apparatuses for communication between devices |
-
2018
- 2018-06-15 CN CN201880054959.XA patent/CN111034071B/zh active Active
- 2018-06-15 EP EP18740945.3A patent/EP3602846B1/en active Active
- 2018-06-15 WO PCT/US2018/037748 patent/WO2019040161A1/en active Search and Examination
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984098A (zh) * | 2006-10-05 | 2013-03-20 | 科达无线私人有限公司 | 提高通信网络中的接收机性能 |
CN102546032A (zh) * | 2012-01-20 | 2012-07-04 | 北京印天网真科技有限公司 | 无线发射、接收方法和装置以及无线通信方法和系统 |
CN104348558A (zh) * | 2013-07-29 | 2015-02-11 | 国民技术股份有限公司 | 一种声波通信装置、终端设备及声波通信系统 |
CN105376189A (zh) * | 2014-09-01 | 2016-03-02 | 福建天晴数码有限公司 | 声波通信方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3602846B1 (en) | 2020-08-05 |
CN111034071A (zh) | 2020-04-17 |
WO2019040161A1 (en) | 2019-02-28 |
EP3602846A1 (en) | 2020-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9318116B2 (en) | Acoustic data transmission based on groups of audio receivers | |
JP7065070B2 (ja) | 音波によるデータ送信/受信方法及びデータ伝送システム | |
CN107068161B (zh) | 基于人工智能的语音降噪方法、装置和计算机设备 | |
EP3031011A1 (en) | Encoding data in multiple formats | |
US12001950B2 (en) | Generative adversarial network based audio restoration | |
WO2019193380A1 (en) | Learning in communication systems | |
CN111034071B (zh) | 二进制相移键控声音调制 | |
US10796713B2 (en) | Identification of noise signal for voice denoising device | |
US11985486B2 (en) | Sound signal processing method, apparatus and device based on microphone array | |
CN113345460B (zh) | 音频信号处理方法、装置、设备及存储介质 | |
US11282045B2 (en) | Methods, devices, and systems for verifying digital tickets at a client | |
CN115223244B (zh) | 触觉动作仿真方法、装置、设备和存储介质 | |
CN109801642A (zh) | 降采样方法及装置 | |
WO2016201419A1 (en) | Identity authentication using acoustic means | |
JP6505953B2 (ja) | 通信システム、通信装置、方法、及びプログラム | |
CN114125900B (zh) | 智能表面辅助跳频传输的通信方法、装置、设备及介质 | |
US11146679B1 (en) | Method and apparatus for interactive voice response | |
CN116629379A (zh) | 联邦学习聚合方法及装置、存储介质及电子设备 | |
WO2015083147A1 (en) | Method and system for communication digital data on an analog signal | |
CN105389355B (zh) | 数据处理方法和终端 | |
CN114972045A (zh) | 一种图像处理方法、装置、电子设备及可读存储介质 | |
US20150139447A1 (en) | Automated construction of infinite impulse response filters | |
CN111052713B (zh) | 基于音频信号的识别 | |
He et al. | A Novel Approach Based on Generative Adversarial Network for Signal Enhancement in Wireless Communications | |
CN111052707A (zh) | 音频通信令牌 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |