一种基于音频信道的数字通信方法及装置与流程

文档序号:11635845阅读:335来源:国知局
一种基于音频信道的数字通信方法及装置与流程
本申请实施例涉及数字通信
技术领域
,尤其涉及一种基于音频信道的数字通信方法及装置。
背景技术
:目前,移动终端与其他设备的通信方式分为两类:有线传输和无线传输。有线传输包括数据线传输和音频信道传输;无线传输包括蓝牙、802.11(wi-fi)、zigbee、超宽带(uwb)和红外等。根据不同的应用场景,不同的通信方式表现出特有的优势。音频信道传输方式充分利用了移动终端的现有资源,当传输频率高于可听声频段(人耳能听到的声波的频率范围)时,不会影响声音的正常播放。随着技术的发展,耳式温度计、心率耳机等基于音频信道的终端设备得到了广泛的应用。然而,基于音频信道的传统通信方法通常采用双音多频(dualtonemultifrequency,dtmf)技术,该技术能够达到的数据传输速率较低,当提高数据传输速率时,由于不同类型的终端设备在高速率数据传输的情况下,采样得到的波形会有不同程度的畸变,当畸变程度较大时,传统解码算法难以进行准确的解析,会导致接收端的解调成功率急剧下降。因此,针对大量数据交互的应用场景,需要考虑基于音频信道的高速率、高可靠性通信方法。现有技术在数据速率较高、信号波形畸变程度较大的情况下,解码成功率较低。现有技术没有解决信号波形严重畸变时的解码问题,且其数据传输速率难以满足较高的速率要求。技术实现要素:本申请实施例提供了一种基于音频信道的数字通信方法及装置,旨在解决现有的基于音频信号的数字通信方法无法解决信号波形严重畸变时的解码问题,且数据传输速率不够高的技术问题。为了解决以上提出的问题,本申请实施例采用的技术方案包括:一种基于音频信道的数字通信方法,包括:步骤a:发送端将待发送的原始数据组包,并对组包后的数据包进行manchester编码,通过音频信道发送所述编码后的数据包;步骤b:接收端对所述发送端发送的数据包进行采样,并对采样数据进行同步帧头检测和manchester解码处理,得到原始数据。本申请实施例采取的技术方案还包括:在所述步骤a中,所述发送端将待发送的原始数据组包具体为:将同步帧头、数据字段和crc校验码组成数据包。本申请实施例采取的技术方案还包括:在所述步骤b中,所述接收端对发送端发送的数据包进行采样还包括:将采样数据组成数组。本申请实施例采取的技术方案还包括:将采样数据组成数组。本申请实施例采取的技术方案还包括:在所述步骤b中,所述对采样数据进行同步帧头检测具体为:采用相关法对当前数组进行同步帧头检测。本申请实施例采取的技术方案还包括:在所述步骤b中,所述采用相关法对当前数组进行同步帧头检测具体包括:步骤b10:顺序计算所述当前数组中的数据与特定数组的相关系数;其中,所述特定数组为相关窗,所述相关窗的大小为一个符号周期内的采样点数;步骤b11:判断计算出的相关系数是否大于第一门限值,如果相关系数大于第一门限值,表示检测到同步帧头,所述同步帧头后的一段数据即为有效数据;如果相关系数未大于第一门限值,则执行步骤b12;步骤b12:判断计算相关系数的当前数据位置是否到达当前数组的尾部,如果到达当前数组的尾部,则当前数组处理结束;如果没有到达当前数组的尾部,则将相关窗向后滑动一步,并重新执行步骤b10。本申请实施例采取的技术方案还包括:在所述步骤b中,所述对采样数据进行manchester解码具体为:采用相关法对所述同步帧头后的有效数据进行manchester解码。本申请实施例采取的技术方案还包括:所述manchester解码具体包括:步骤b20:顺序检测所述有效数据中的波峰或者波谷,当检测到波峰或者波谷时,执行步骤b21;步骤b21:判断所述波峰或者波谷是否大于第二门限值;如果所述波峰或者波谷大于第二门限值,则执行步骤b22;如果所述波峰或者波谷未大于第二门限值,则相关窗向后滑动一步,并重新执行步骤b20;步骤b22:比特解析:如果检测到的是波峰,则解析为“1”,如果检测到的是波谷,则解析为“0”,并将相关窗向后滑动m步;所述m为一个符号周期的采样点数。本申请实施例采取的技术方案还包括:所述将相关窗向后滑动m步还包括:步骤b23:判断所述相关窗是否到达当前数组尾部,如果所述相关窗到达当前数组尾部,则输出所述比特解析的结果;如果所述相关窗没有到达当前数组尾部,则重新执行步骤b20。本申请实施例采取的技术方案还包括:在所述步骤b中,所述对采样数据进行manchester解码还包括:将所述解析结果进行crc校验后,展示解析结果。本申请实施例采取的另一技术方案为:一种基于音频信道的数字通信装置,包括发送端和接收端;所述发送端包括第一控制模块和第一音频通信模块,所述第一控制模块用于将待发送的原始数据组包,并对组包后的数据包进行manchester编码,所述第一音频通信模块用于通过音频信道发送编码后的数据包;所述接收端包括第二音频通信模块和第二控制模块,所述第二音频通信模块用于对所述发送端发送的数据包进行采样,所述第二控制模块对采样数据进行同步帧头检测和manchester解码处理,得到原始数据。本申请实施例采取的技术方案还包括:所述第一控制模块包括组包单元,所述组包单元用于将同步帧头、数据字段和crc校验码组成数据包。本申请实施例采取的技术方案还包括:所述第二音频通信模块对发送端发送的数据包进行采样还包括:将采样数据组成数组。本申请实施例采取的技术方案还包括:所述第二控制模块还包括帧头检测单元,所述帧头检测单元用于采用相关法对当前数组进行同步帧头检测。本申请实施例采取的技术方案还包括:所述帧头检测单元采用相关法对当前数组进行同步帧头检测具体包括:顺序计算所述当前数组中的数据与特定数组的相关系数;其中,所述特定数组为相关窗,所述相关窗的大小为一个符号周期内的采样点数;判断计算出的相关系数是否大于第一门限值,如果相关系数大于第一门限值,表示检测到同步帧头,所述同步帧头后的一段数据即为有效数据;如果相关系数未大于第一门限值,则判断计算相关系数的当前数据位置是否到达当前数组的尾部,如果到达当前数组的尾部,则当前数组处理结束;如果没有到达当前数组的尾部,则将相关窗向后滑动一步,并重新计算所述当前数组中的数据与特定数组的相关系数。本申请实施例采取的技术方案还包括:所述第二控制模块还包括解码单元,所述解码单元用于采用相关法对所述同步帧头后的有效数据进行manchester解码.本申请实施例采取的技术方案还包括:所述解码单元采用相关法对同步帧头后的有效数据进行manchester解码具体包括:顺序检测所述有效数据中的波峰或者波谷,当检测到波峰或者波谷时,判断所述波峰或者波谷是否大于第二门限值;如果所述波峰或者波谷未大于第二门限值,则相关窗向后滑动一步,并重新检测所述有效数据中的波峰或者波谷;如果所述波峰或者波谷大于第二门限值,则进行比特解析:如果检测到的是波峰,则解析为“1”,如果检测到的是波谷,则解析为“0”,并将相关窗向后滑动m步;所述m为一个符号周期的采样点数。本申请实施例采取的技术方案还包括:所述将相关窗向后滑动m步还包括:判断所述相关窗是否到达当前数组尾部,如果所述相关窗到达当前数组尾部,则输出解析结果;如果所述相关窗没有到达当前数组尾部,则重新检测所述有效数据中的波峰或者波谷。本申请实施例采取的技术方案还包括:所述第二控制模块还包括校验单元,所述校验单元用于将所述解析结果进行crc校验及展示解析结果。与现有技术相比,本申请实施例的有益效果在于:本申请实施例的基于音频信道的数字通信方法及装置在发送端采用manchester编码,接收端采用相关法对接收数据进行manchester解码,通过改进编解码算法,达到了更高的数据传输速率,并提高解码成功率和准确度,远远超过常规音频通信方式的数据传输速率,并可适用于上位机和下位机的双向通信。附图说明图1是本申请实施例的发送端发送数据的方法的流程图;图2为本申请实施例的manchester编码示意图;图3是本申请实施例的接收端数据处理方法的流程图;图4为同步帧头经过manchester编码得到的比特流;图5为本申请实施例的帧头检测流程图;图6是本申请实施例的数据解码流程图;图7是本申请实施例的基于音频信道的数字通信装置的结构示意图。具体实施方式为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的较佳实施例。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的
技术领域
的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本申请实施例的基于音频信道的数字通信方法及装置通过改进编解码算法,在发送端(下位机)采用manchester编码将待发送的原始数据组包、编码、调制,将数字信号转换为模拟信号后,通过音频信道发送模拟信号。在接收端(上位机)采用相关法对接收到的模拟信号进行采样,并将采样数据进行滤波、同步帧头检测和manchester解码处理后,得到原始数据;本申请实施例通过改进编解码算法,达到了更高的数据传输速率,并提高解码成功率和准确度,并本申请实施例可适用于下位机向上位机传输数据,也可适用于上位机向下位机传输控制信息。具体地,请参阅图1,是本申请实施例的发送端发送数据的方法的流程图。本申请实施例的发送端发送数据的方法包括以下步骤:步骤100:将待发送的原始数据进行组包;在步骤100中,将待发送的原始数据进行组包具体为:将同步帧头、数据字段和crc(cyclicredundancycheck,循环冗余校验)校验码组成数据包,数据包的长度由同步帧头长度、数据字段长度和crc校验值长度共同决定。在本申请实施例中,采用的同步帧头为0xff,0x5a,数据字段包括数据类型8bit、数据长度8bit、包序号8bit和原始数据56bit,数据字段具体根据应用环境的不同而不同。crc校验码即循环冗余校验码,为数据字段的校验值,由数据字段计算得到,crc多项式为:1+x+x2+x8。本申请实施例的数据包结构如下表1所示:表1数据包结构字段名同步帧头数据字段crc长度(bit)16808步骤110:对组包后的数据包进行编码;在步骤110中,对数据包进行编码具体为:采用manchester(曼彻斯特)编码技术对数据包进行编码,manchester编码将时钟信号包含在数据流中,具有自同步能力和良好的抗干扰性能。具体编码方式为:将数据包中的原始数据“0”映射为“10”,将原始数据“1”映射为“01”。具体如图2所示,为本申请实施例的manchester编码示意图。设每个原始比特(bit)占用的传输时间为t,那么manchester编码后每个比特的传输时间为t/2。步骤120:将编码后的数据包调制为信道上的模拟信号,并通过音频信道发送模拟信号;在步骤120中,将编码后的数据包调制为信道上的模拟信号具体为:将编码后的数字信号映射到音频信道上;映射方式为:数字信号“0”对应模拟信号的低电平-v,数字信号“1”对应模拟信号的高电平+v。数字信号“0”和“1”的保持时间都是t/2。在信道噪声一定的情况下,电平v的大小决定了接收端信号的信噪比,电平v的值越大,信噪比越高,反之,则信噪比越低;在本申请实施例中,电平v的值设定为500mv。在信道条件一定的情况下,t的大小决定了接收端信号的可辨识度,t越大,信号畸变对整体波形的影响越小,信号可辨识度越高,反之,信号可辨识度越低。本申请实施例的基于音频信道的数字通信方法在发送端采用manchester编码将待发送的原始数据组包、编码、调制,将数字信号转换为模拟信号后,通过音频信道发送模拟信号,达到了更高的数据传输速率,满足数字通信的高速率数据传输要求。请参阅图3,是本申请实施例的接收端数据处理方法的流程图。本申请实施例的接收端数据处理方法包括以下步骤:步骤200:对模拟信号进行采样,并将采样得到的数据按照设定长度组成数组;在步骤200中,对模拟信号进行采样具体为:以采样频率fs对模拟信号进行采样得到数字信号,采样频率越高,得到的数字信号对模拟信号的描述越准确;当采样频率较低时,得到的数字信号将难以恢复对应的模拟信号。本申请实施例中,设定的数组长度为5000,上述采样参数具体可根据实际需求进行设定。步骤210:对当前数组中的数据进行带通滤波,消除数据频带外的噪声干扰;在步骤210中,本申请实施例采用的滤波器为fir滤波器((finiteimpulseresponse,有限长单位冲激响应滤波器),通带频率为8khz-12khz,窗口采用hanning窗(汉宁窗),滤波器阶数为25阶,上述滤波参数具体可根据实际需求进行设定。步骤220:对当前数组进行同步帧头检测,并判断在当前数组中是否检测到同步帧头,如果在当前数组中检测到同步帧头,执行步骤230;在步骤220中,本申请实施例采用相关法对数组进行同步帧头检测。具体如图4与图5所示,图4为同步帧头经过manchester编码得到的比特流,图5为本申请实施例的帧头检测流程图。本申请实施例的帧头检测方法包括以下步骤:步骤221:顺序计算当前数组中的数据与特定数组的相关系数;在步骤221中,特定数组为特定长度的相关窗,该相关窗的大小为一个符号周期内的采样点数,特定数组中的元素为特定原始数据比特对应的期望值。本申请实施例中,采用的特定原始数据比特为“1”,对应的manchester码为“01”,对应的相关窗为[-1,-1,1,1]。相关系数的计算公式如下:在公式(1)中,x1k表示数组1中的数据,x2k表示数组2中的数据,表示数组1中的数据均值,表示数组2中的数据均值,k表示数组下标,k=1,2,…,n,n表示数组中的数据个数。步骤222:判断计算出的相关系数是否大于设定的第一门限值,如果相关系数大于设定的第一门限值,则表示检测到同步帧头,同步帧头检测结束;如果相关系数未大于设定的第一门限值,则执行步骤223;在步骤222中,如果数组中检测到同步帧头,则表示当前数组为有效数组,同步帧头后的一段数据即为有效数据;如果当前数组中没有检测到同步帧头,表示当前数组处理结束。本申请实施例中,判断相关系数的第一门限值为0.6,具体可根据实际应用进行设定。步骤223:判断计算相关系数的当前数据位置是否到达当前数组的尾部,如果到达当前数组的尾部,表示当前数组检测完毕,且没有检测到同步帧头,则当前数组处理结束;如果没有到达当前数组的尾部,则将相关窗向后滑动一步,并重新执行步骤221;在步骤223中,假设当前数组长度为6,采用的特定数组为[-1,-1,1,1],首先计算当前数组的第1位数据至第4位数据与特定数组的相关系数,如果计算出的相关系数大于设定第一门限值,表示检测到同步帧头,则可执行后续步骤;如果计算出的相关系数未大于设定第一门限值,表示还没有检测到同步帧头,则将相关窗向后滑动一步(即后移一个数据),计算当前数组的第2位数据至第5位数据与特定数组的相关系数…,以此类推,直到滑动相关窗至当前数组的最后一个数据。步骤230:对同步帧头后的有效数据进行manchester解码,得到对应的原始数据;在步骤230中,本申请实施例采用相关法对有效数据进行manchester解码。具体请参阅图6,是本申请实施例的数据解码流程图。本申请实施例的数据解码方式包括以下步骤:步骤231:顺序检测有效数据中的波峰或者波谷,当检测到波峰或者波谷时,执行步骤232;在步骤231中,波峰是指波在一个波长的范围内,波幅的最大值,与之相对的最小值则被称为波谷;以横波为例,突起的最高点就是波峰,陷下的最低点就是波谷。步骤232:判断该波峰或者波谷是否大于设定的第二门限值;如果该波峰或者波谷大于设定的第二门限值,则执行步骤233;如果该波峰或者波谷未大于设定的第二门限值,则相关窗向后滑动一步,并重新执行步骤231;在步骤232中,本申请实施例中判断波峰或者波谷的第二门限值为0.8,具体可根据实际应用进行设定,相关窗滑动方式同步骤223,此处将不再赘述。步骤233:比特解析:如果检测到的是波峰,则解析为“1”,如果检测到的是波谷,则解析为“0”,并将相关窗向后滑动m步(即后移m个数据);在步骤233中,m为一个符号周期的采样点数,本申请实施例中m的值为4。步骤234:判断相关窗是否到达当前数组尾部,如果相关窗到达当前数组尾部,则输出解析结果,当前数组的比特解析结束;如果相关窗没有到达当前数组尾部,则重新执行步骤231。步骤240:将解析的原始数据进行crc校验后,展示解析结果。本申请实施例的基于音频信道的数字通信方法在接收端采用相关法对接收到的模拟信号进行采样,并将采样数据进行滤波、同步帧头检测和manchester解码处理后得到原始数据,提高了解码成功率和准确度,解决了信号波形严重畸变时的解调问题。请参阅图7,是本申请实施例的基于音频信道的数字通信装置的结构示意图。本申请实施例的基于音频信道的数字通信装置包括发送端和接收端,发送端和接收端分别设有音频接口(图未示),发送端和接收端通过音频接口相互连接。具体地,发送端包括第一控制模块和第一音频通信模块;第一控制模块用于采用manchester编码将待发送的原始数据组包和编码后,将数据包传递至第一音频通信模块;第一音频通信模块用于将数据包中的数字信号转换为模拟信号后,通过音频信道发送模拟信号。第一控制模块包括组包单元和编码单元;组包单元用于将待发送的原始数据进行组包;将待发送的原始数据进行组包具体为:将同步帧头、数据字段和crc校验码组成数据包,数据包的长度由同步帧头长度、数据字段长度和crc校验值长度共同决定。在本申请实施例中,采用的同步帧头为0xff,0x5a,数据字段包括数据类型8bit、数据长度8bit、包序号8bit和原始数据56bit,数据字段具体根据应用环境的不同而不同。crc校验码即循环冗余校验码,为数据字段的校验值,由数据字段计算得到,crc多项式为:1+x+x2+x8。本申请实施例的数据包结构如下表1所示:表1数据包结构字段名同步帧头数据字段crc长度(bit)16808编码单元用于对组包后的数据包进行编码;其中,对数据包进行编码具体为:采用manchester编码技术对数据包进行编码,manchester编码将时钟信号包含在数据流中,具有自同步能力和良好的抗干扰性能。具体编码方式为:将数据包中的原始数据“0”映射为“10”,将原始数据“1”映射为“01”。设每个原始比特(bit)占用的传输时间为t,那么manchester编码后每个比特的传输时间为t/2。在本申请实施例中,t为0.1ms,数据传输速率为10kbps。第一音频通信模块将编码后的数据包调制为信道上的模拟信号后,通过音频信道发送模拟信号;其中,将编码后的数据包调制为信道上的模拟信号具体为:将编码后的数字信号映射到音频信道上;映射方式为:数字信号“0”对应模拟信号的低电平-v,数字信号“1”对应模拟信号的高电平+v。数字信号“0”和“1”的保持时间都是t/2。在信道噪声一定的情况下,电平v的大小决定了接收端信号的信噪比,电平v的值越大,信噪比越高,反之,则信噪比越低;在本申请实施例中,电平v的值设定为500mv。在信道条件一定的情况下,t的大小决定了接收端信号的可辨识度,t越大,信号畸变对整体波形的影响越小,信号可辨识度越高,反之,信号可辨识度越低。接收端包括第二音频通信模块和第二控制模块,第二音频通信模块用于采用相关法对接收到的模拟信号进行采样,并将采样数据传递至第二控制模块;第二控制模块用于将采样数据进行滤波、同步帧头检测和manchester解码处理后,得到原始数据。第二音频通信模块对模拟信号进行采样具体为:以采样频率fs对模拟信号进行采样得到数字信号,并将采样得到的数据按照设定长度组成数组;采样频率越高,得到的数字信号对模拟信号的描述越准确;当采样频率较低时,得到的数字信号将难以恢复对应的模拟信号。第二控制模块包括滤波单元、帧头检测单元、解码单元和校验单元;滤波单元用于对当前数组中的数据进行带通滤波,消除数据频带外的噪声干扰;本申请实施例采用的滤波器为fir滤波器,通带频率为8khz-12khz,窗口采用hanning窗,上述滤波参数具体可根据实际需求进行设定。帧头检测单元用于对当前数组进行同步帧头检测,并判断在当前数组中是否检测到同步帧头,如果在当前数组中检测到同步帧头,通过解码单元进行解码;其中,本申请实施例采用相关法对数组进行同步帧头检测。帧头检测方法包括:a1:顺序计算当前数组中的数据与特定数组的相关系数;其中,特定数组为特定长度的相关窗,该相关窗的大小为一个符号周期内的采样点数,特定数组中的元素为特定原始数据比特对应的期望值。本申请实施例中,采用的特定原始数据比特为“1”,对应的manchester码为“01”,对应的相关窗为[-1,-1,1,1]。相关系数的计算公式如下:在公式(1)中,x1k表示数组1中的数据,x2k表示数组2中的数据,表示数组1中的数据均值,表示数组2中的数据均值,k表示数组下标,k=1,2,…,n,n表示数组中的数据个数。a2:判断计算出的相关系数是否大于设定的第一门限值,如果相关系数大于设定的第一门限值,则表示检测到同步帧头,同步帧头检测结束;如果相关系数未大于设定的第一门限值,执行a3;其中,如果数组中检测到同步帧头,则表示当前数组为有效数组,同步帧头后的一段数据即为有效数据;如果当前数组中没有检测到同步帧头,表示当前数组处理结束。本申请实施例中,判断相关系数的第一门限值为0.6,具体可根据实际应用进行设定。a3:判断计算相关系数的当前数据位置是否到达当前数组的尾部,如果到达当前数组的尾部,表示当前数组检测完毕,且没有检测到同步帧头,则当前数组处理结束;如果没有到达当前数组的尾部,则将相关窗向后滑动一步,并重新执行a1;其中,假设当前数组长度为6,采用的特定数组为[-1,-1,1,1],首先计算当前数组的第1位数据至第4位数据与特定数组的相关系数,如果计算出的相关系数大于设定第一门限值,表示检测到同步帧头,则可执行后续步骤;如果计算出的相关系数未大于设定第一门限值,表示还没有检测到同步帧头,则将相关窗向后滑动一步(即后移一个数据),计算当前数组的第2位数据至第5位数据与特定数组的相关系数…,以此类推,直到滑动相关窗至当前数组的最后一个数据。编码单元用于将同步帧头后的有效数据进行manchester解码,得到对应的原始数据;本申请实施例采用相关法对有效数据进行manchester解码。数据解码方式包括:b1:顺序检测有效数据中的波峰或者波谷,当检测到波峰或者波谷时,执行b2;b2:判断该波峰或者波谷是否大于设定的第二门限值;如果该波峰或者波谷大于设定的第二门限值,则执行b3;如果该波峰或者波谷未大于设定的第二门限值,则相关窗向后滑动一步,并重新执行b1;其中,本申请实施例中判断波峰或者波谷的第二门限值为0.8,具体可根据实际应用进行设定。b3:比特解析:如果检测到的是波峰,则解析为“1”,如果检测到的是波谷,则解析为“0”,并将相关窗向后滑动m步;其中,m为一个符号周期的采样点数,本申请实施例中m的值为4;b4:判断相关窗是否到达当前数组尾部,如果相关窗到达当前数组尾部,则输出解析结果,当前数组的比特解析结束;如果相关窗没有到达当前数组尾部,则重新执行b1。校验单元用于将解析的原始数据进行crc校验后,展示解析结果。上述实施例中,所述的发送端和接收端包括具有音频接口的终端设备,发送端例如耳式温度计、心率耳机等,接收端例如智能手机、电脑等,以发送端为心率耳机、接收端为智能手机为例,其基于音频信道的数字通信方法包括:通过心率耳机采集心率数据,并采用manchester编码将采集的心率数据进行组包、编码、调制后,通过音频信道将心率数据传递至智能手机;智能手机采用相关法对接收到的心率数据进行采样,并将采样数据进行滤波、同步帧头检测和manchester解码后处理,通过智能手机或智能手机上安装的应用程序显示心率数据。上述实施例为本申请较佳的实施方式,但本申请的实施方式并不受上述实施例的限制,其他的任何未背离本申请的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本申请的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1