发明内容
本发明的目的在于克服现有技术的不足,提供一种近距离声波通信方法,以数据传输的正确率和可靠性。
为实现上述目的,本发明近距离声波通信方法,其特征在于,包括以下步骤:
(1)、数据块声波频率调制
建立一张数据块值与频率组合的映射表,不同的数据块值对应不同的m个频率点,m为正整数,m个频点是从Q个频率中选择的,Q为大于等于m的正整数;
对于需要传输数据以数据块为单位串行输出;
根据数据块的值,查找映射表,选择对应的m个频率点进行声波频率调制,得到m个频率点的声波音频数据,并进行叠加,得到数据块的声波音频数据;
再将所有数据块的声波音频数据拼接起来形成传输数据的声波音频数据;
(2)、播放传输数据的声波音频数据
将传输数据的声波音频数据进行DA转换,得到模拟信号,再通过扬声器将其转换成声波播放出去,由接收端的麦克风进行接收;
(3)、接收端的麦克风接收到来自扬声器的声波后,将声波转换为模拟信号,再将模拟信号经过AD转换后得到数字音频数据;
(4)、对接收到的数字音频数据依次进行频率检测,确定各次检测中,Q个频率中能量最大的m个频点,再根据m个频点查找映射表,得到各数据块的值,然后以字节为单位进行输出,得到传输数据。
本发明的目的是这样实现的:
如果采用一个数据一个频点,那么频点分布范围就广,这样容易因为扬声器和麦克风在不同频段声频响应不同导致声音发送和接收时不同频率的声音强弱不同,那么频率检测就很难有一个判断标准,从而导致声波接收数据识别出错,这些因素都会影响数据传输的正确率和可靠性。本发明近距离声波通信方法,采用有限频率组合调制方式传输数据,减少通信频点数,这样各频点可以分布在扬声器和麦克风声频响应比较稳定的频段,减少信号受干扰的机会,这样极大的提高了数据传输的正确率和可靠性。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
图1是本发明近距离声波通信方法一种具体实施方式的流程图。
在本实施例中,如图1所示,本发明近距离声波通信方法包括两个阶段,分别为发送阶段S1和接收阶段S2。
发送阶段S1,将原始数据即需要传输数据调制为声波音频数据,并将通过扬声器播放出去,具体包括以下步骤:
S11、原始数据根据其特征进行数据压缩
根据具体应用中,原始数据的数据特征产生一张数据压缩码表,将原始数据对照压缩码表进行查表得到压缩数据,以尽可能降低传输数据量;
S12、对压缩数据进行信道编码,得到纠错码,并以数据块为单位串行输出,数据块的长度可以是2bit、4bit或8bit;
S13、根据数据块的值,查找映射表,选择对应的m个频率点进行声波频率调制,得到m个频率点的声波音频数据,并进行叠加,得到数据块的声波音频数据;再将所有数据块的声波音频数据拼接起来形成传输数据的声波音频数据;
S14、将传输数据的声波音频数据进行DA转换,得到模拟信号,再通过扬声器将其转换成声波播放出去,由接收端的麦克风进行接收。
在本实施例中,步骤S11中所述的数据压缩为:当需要传输数据的所有字节的取值为有限的P个,P为1~127的正整数,则将这P个取值重新编码为1~7bit的数据:这P个1~7bit的数据形成一张数据压缩码表,用需要传输的数据查此表即可得到压缩后的数据。
例如P=62,则可将一个字节的数据压缩为6bit,当P大于128时,需要传输数据直接输出,不做压缩。例如,只传输0-9的数字,则可将一个字节缩减为4bit,若只传输大小写字母则可以将1个字节压缩为6bit。
在本实施例中,步骤S12中所述的信道编码可采用BCH(n,k)编码,也可以采用RS(n,k,d)编码,或者类似的纠错校验编码,其中n、k、d为正整数。信道编码是常规技术,在此不再赘述。
在本实施例中,步骤S13中的m个频点采用如下步骤获得:为避开环境噪声和人说话声干扰,采用5KHz~24KHz作为通信频率范围,并在5KHz~24KHz范围内选择一个频段作为目标调制频段,且这个目标调制频段对于扬声器和麦克风的声频响应尽可能比较稳定。
进一步地,所述Q个频率在Q个频率组中。在目标调制频段内选择Q个频率组,每个频率组包含两个间隔为N Hz的频点,则共有2*Q个频率点,则用于调制的频率集合为(f11,f12,f21,f22,……,fQ1,fQ2),其中N不小于50,根据具体设计确定。Q大于等于m,且组合数大于等于4、16或256,分别对应2bit、4bit和8bit长度的数据块,那么就能在数据块的值与频率组合间建立一张映射表,通过查找映射表即可获得数据块的目标调制频率组;
进一步地,在m个频率组中的每个频率组中选择一个频率点进行声波调制,具体而言,Q个频率组中,根据映射表,选择其中m个频率组,再在每个频率组中选择一个频点,选择时如果当前数据块与前一数据块使用了相同的频率点,则选择频率组中与前一个数据块调制所用频点不同的另一频点,例如前一数据块选择了f21,那么当前数据块则选择f22,这样两个频点交替使用,以避免声波回声造成的干扰,影响接收端的频率检测。
接收阶段S2,对接收到的声波进行分析处理,并解码出发送的数据,包含以下步骤:
S21、接收端的麦克风接收到来自扬声器声波后,将声波转换为模拟信号,再将模拟信号经过AD转换后得到数字音频数据;
S22、对接收到的数字音频数据依次进行频率检测,确定各次检测中,Q个频率中能量最大的m个频点,若检测有效,则进行解码,根据m个频点查找映射表,得到各数据块的值即2bit、4bit或8bit数据,若检测无效则不进行解码;
S23、采用信道编码机制的逆过程对解码出的数据进行信道译码,得到压缩数据;
S24、进行数据解压缩,用译码出的压缩数据根据压缩码表查找解压缩,获得原始数据。此处使用的压缩码表和前述发送时使用的码表相同。
在本实施例中,在步骤S22中,进行频率检测时,确定Q个频点中能量最大的m个频点采用如下方法:先对数字音频数据进行FFT变换,将时域数据转换为频域数据,FFT点数可以是64、128、256、512、1024等;
进一步地根据FFT变换结果在Q个频率组中找出能量最大的m个频点,若这m个频点的频率不是来源于发送时采用的Q个频率组,则检测无效;若这m个频点的频率来源于发送时采用的Q个频率组,则计算这m个频点的能量占整个通信频率范围能量总和的比重,只有当这m个频点的能量比重超过预设值才认为检测有效;具体计算公式为:
其中Ratio为检测出的m个频点占比整个通信频率范围的能量比重,m为调制频点个数,Rfft(i)为在m个频点中的第i个频点FFT变换后的能量绝对值,fmax为采样率的一半,Rfft(f)为通信范围中的一个频点f的FFT变换后的能量绝对值。
进一步地,当检测到的m个频点有效时,根据m个频点结合数据块值与频率组合映射表进行解码得到2bit、4bit或8bit的数据。
下面根据本发明近距离声波通信方法,介绍一个具体实施例。
首先,确定整个声波通信采用的音频采样率Sample Rate,为确保信号接收和处理频谱不混叠,采样率至少为通信频率范围上限的2倍,如选择5KHz~22KHz,采样率至少为44.1KHz。当数据为特殊数据时按照前述方法根据压缩码表进行数据压缩,若数据为普通数据,则无需压缩直接按字节进行信道编码,这张压缩码表也用于接收端;信道编码后将数据按照串行流方式每次输出2bit、4bit或8bit的数据块;
然后,在5~24KHz通信频率范围内选择一个频段作为目标调制频段,这个频段对于扬声器和麦克风的声频响应尽可能比较稳定,例如选择15KHz~18KHz频段;再在其中选择Q个频率组,每组两个频点,则有频率集合(f11,f12,f21,f22,……,fQ1,fQ2),按照建立的频率组合与数据块值的映射表查找目标调制频率组,例如数据块为4bit(则取值范围为0x0~0xF),则Q最小数为6,m最小为3,如图2所示,选择6个频率组,每组两个频点间隔为N Hz,再采用查表方式选择0x0~0xF的目标调制频率组;
目标频率组选定后,具体调制时如果当前数据块与前一数据块相同,则当前调制频率为调制频率组的另一与调制前一数据块不同的频点,这样可在两个频点间交替使用,得到目标调制频率后,直接生成基于该频率的正弦波数据,然后将m个频率的正弦波数据叠加作为数据块声波调制数据,则调制后每个采样点的声波音频数据具体公式为:
其中Yj表示第j个采样点的声波数据,一个数据块的采样点长度(即j的最大值)可根据需要设定,通常在20ms~100ms范围;Ampi为第i个频点的调制幅度,通常m个频点的调制幅度是相同的;fi为第i个频点的频率值,Pi=3.14,j为采样点序号,SampleRate为前述所确定的音频采样率。
最后将每个数据块的声波音频数据进行拼接,调制完成后通过DA转换为模拟信号通过扬声器播放出去,再由麦克风接收后将声波转换为模拟信号经AD转换后进行数据接收处理。
图3是本发明近距离声波通信方法一种具体应用发送装置的硬件原理框图。
在本实施例中,如图3所示,声波通信发送装置1包括数据压缩模块11、信道编码模块12、声波调制模块12和声波音频发送模块14,分别完成步骤S11~S14。其中,数据压缩码表T1、映射表T2分别用于数据压缩和数据块值与频率点的映射。
图4是本发明近距离声波通信方法一种具体应用接收装置的硬件原理框图。
在本实施例中,如图4所示,声波通信接收装置2包括声波接收模块21、频率检测模块22和频点解码模块23、信道译码模块24、数据解压缩模块25,分别完成步骤S21~S24。其中,数据压缩码表T3、映射表T4分别用于数据解压缩和数据块值与频率点的映射,与声波通信发送装置1的数据压缩码表T1、映射表T2相同。
在本实施例中,本发明近距离声波通信方法技术效果在于,通过将需要传输数据进行压缩、纠错编码和有限频率组合调制,极大的提高了数据传输的正确率和可靠性。在实际使用中,如果不进行压缩以尽可能减少待传输数据量,那么传输时间就会相对变长,受干扰的机会就越大;如果不作信道编码,则无法纠正低误码率的误码情况;如果采用一个数据一个频点,那么频点分布范围就广,这样容易因为扬声器和麦克风在不同频段声频响应不同导致声音发送和接收时不同频率的声音强弱不同,导致解码判断标准难以统一,这些因素都会影响数据传输的正确率和可靠性。采用数据压缩,这样尽可能地减少了待传数据量;采用作信道编码,进行可以纠错一定的误码情况;采用有限频率组合调制方式传输数据减少通信频点数,各频点可以分布在扬声器和麦克风声频响应比较稳定的频段,减少信号受干扰的机会,这样极大的提高了数据传输的正确率和可靠性。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。