音频数据发送和接收方法与流程

文档序号:12729047阅读:1579来源:国知局
音频数据发送和接收方法与流程

本发明涉及音频通信技术领域,特别是涉及一种音频数据发送和接收方法。



背景技术:

随着音频通讯技术的迅速发展,越来越多的设备采用音频端口与音频设备进行通信。传统的音频通信过程中,音频发送端直接将音频数据发送给音频接收端。由于目前常用的音频设备如手机、平板等在开始播放音频时,声音都会发生一定程度的畸变,影响数据的正常接收,进而影响通信质量。



技术实现要素:

基于此,有必要提供一种能够确保音频数据能够被正常接收的音频数据发送方法。

还涉及一种音频数据接收方法。

一种音频数据发送方法,包括:生成起始同步码并通过音频端口输出;将待发送的数字音频信号转换成模拟音频信号后通过音频端口输出;以及生成结束同步码并通过音频端口输出;所述起始同步码和所述结束同步码均为具有固定频率和相位的模拟音频波形信号。

在其中一个实施例中,各步骤中均采用正交相移键控调制方式进行调制生成模拟音频信号。

在其中一个实施例中,所述将待发送的数字音频信号转换成模拟音频信号后通过音频端口输出的步骤包括:生成起始字节并转换为模拟音频信号后通过音频端口输出;生成数据长度字节并转换为模拟音频信号后通过音频端口输出;以及将待发送的数字音频数据转换为模拟音频信号后通过音频端口输出。

在其中一个实施例中,所述生成起始字节的步骤具体包括:生成第一字节;将所述第一字节的反码作为第二字节;将所述第一字节和所述第二字节顺次连接作为起始字节。

在其中一个实施例中,所述生成起始同步码并通过音频端口输出的步骤之前还包括输出任意波形的模拟音频信号以将接收端设备激活的步骤。

一种音频数据接收方法,包括:通过音频端口接收起始同步码;所述起始同步码为具有固定频率和相位的模拟音频波形信号;计算所述起始同步码的初始频率和相位;判断音频端口接收到模拟音频信号的相位是否发生了变化;若是则将相位变化后的模拟音频信号转换为数字音频信号;根据音频端口接收到的模拟音频信号的频率和相位判断所述模拟音频信号是否为结束同步码;所述结束同步码为具有固定频率和相位的模拟音频波形信号;若所述模拟音频信号不是结束同步码,则继续执行所述通过音频端口接收模拟音频信号并转换为数字音频信号的步骤;若所述模拟音频信号为结束同步码,则停止将音频端口接收到的模拟音频信号转换为数字音频信号。

在其中一个实施例中,各步骤中均采用正交相移键控调制方式对音频端口接收到的模拟音频信号进行解调处理。

在其中一个实施例中,所述将相位变化后的模拟音频信号转换为数字音频信号的步骤具体包括:从所述数字音频信号中获取起始字节,并判断所述起始字节是否正确;若是,则从所述数字音频信号中获取数据长度字节;根据所述数据长度字节从所述数字音频信号中获取数字音频数据。

在其中一个实施例中,所述从所述数字音频信号中获取起始字节,并判断所述起始字节是否正确的步骤包括:获取第一字节和第二字节;判断所述第二字节是否为所述第一字节的反码;若是,则判定所述起始字节正确。

在其中一个实施例中,所述计算所述起始同步码的初始频率和相位的步骤之前还包括步骤:根据音频端口接收到的模拟音频信号的频率和相位判断所述模拟音频信号是否为起始同步码。

上述音频数据发送方法,在发送待发送的数字音频信号之前会先发送起始同步码,从而使得通信初期的畸变仅发生在起始同步码部分,进而可以确保待发送的数字音频信号在发送过程中不会发生畸变,可以确保发送音频数据能够被正常接收。并且,在数字音频信号发送完成之后发送结束同步码,确认音频数据传输完成,可以确保音频数据的完整接收。

上述音频数据接收方法,先接收到起始同步码,因此可以在该部分发生畸变后将其直接丢弃,不会影响待接收音频数据的正常接收。并且接收过程仅在接收到的模拟音频信号的相位发生变化时开始进行音频数据接收并在接收到结束同步码后结束音频数据的接收,可以确保音频数据的正常完整接收。

附图说明

图1为一实施例中的音频数据发送方法的流程图;

图2为图1中的步骤S120的具体流程图;

图3为另一实施例中的音频数据发送方法的流程图;

图4为一实施例中的音频数据接收方法的流程图;

图5为图4中的步骤S440的具体流程图;

图6为另一实施例中的音频数据接收方法的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1为一实施例中的音频数据发送方法的流程图,该音频数据发送方法可以执行于模拟音频信号的发送端。参见图1,该音频数据发送方法包括以下步骤。

S110,生成起始同步码并通过音频端口输出。

生成的起始同步码为一连串具有固定频率和相位的等幅波形信号。具体地,先生成一固定比特流,如010101…...bit。将该固定比特流通过正交相移键控(Quadrature Phase Shift Keyin,QPSK)调制方法将其加载在两组不同的频率载波之上后形成模拟音频信号并通过音频端口发送给接收端。在其他的实施例中,起始同步码也可以通过其他的固定比特流调制而成。

S120,将待发送的数字音频信号转换为模拟音频信号后通过音频端口输出。

在发送起始同步码后即可将待发送的数字音频信号转换为模拟音频信号并通过音频端口发送给接收端。在本实施例中,音频数据发送过程均采用QPSK 调制方式进行调制为模拟音频信号。使用QPSK技术,使得在相同的采样频率下,最大限度的提高传送有效字节数,提升了传送效率,实际传送速率可达8K字节/秒。采用QPSK技术进行音频数据传输的传送效率最高可达到DTMF传送效率的100倍以上,2FSK传输速率的8倍以上。因此,采用QPSK技术可以使得速率有效、可靠提升。传统的音频通信过程使用音频端口作为数据通信,通常采用DTMF或者2FSK调制方式进行调制,其速度低于1K字节/秒,速度很慢,用户体验差。比如传输一张证书信息,也需要大于数秒的时间,远不能满足用户的使用需求。本实施例中,采用QPSK调制方式进行调制,使得传输速率得到有效、可靠提升,可以很好地克服这一问题。

将待发送的数字音频信号转换为模拟音频信号发送给接收端的步骤,即S120的步骤的具体流程如图2所示,包括以下子步骤。

S122,生成起始字节并转换为模拟音频信号后通过音频端口输出。

起始字节用于通知接收端起始同步码传输完毕,即将开始传输实际需要发送的音频数据。起始字节采用一组已知固定的数据,该数据通常预先设定。接收端接收到该固定数据(即接收到的模拟音频信号的相位改变)即可确认同步码传输完毕,准备进行实际音频数据的接收。在本实施例中,起始字节包括两个字节,分别为第一字节和第二字节。第一字节生成后,将第一字节的反码作为第二字节。将第一字节和第二字节顺次连接后作为起始字节并转换为模拟音频信号后输出。例如可以将第一字节设置为固定的“0xFF”,则第二字节为固定的“0x00”。采用这种方式可以实现纠错功能。具体地,接收端可以在接收到这两个字节后判断这两个字节中是否其中一个为原码而另一个为反码,若是则可以初步判断后续待接收的音频数据正确,则继续执行接收模拟音频信号的步骤,否则停止接收模拟音频信号。在本实施例中,起始字节在实现纠错功能的同时还可以供接收端确认音频数据的正负。具体地,接收端接收到的起始字节中的第一字节和第二字节的先后顺序与预设顺序相同(即接收到0xFF00),则确认接收到的数据为正确的数据。当接收端接收到的起始字节中的第一字节和第二字节的先后顺序相反(即接收到0x00FF)时,则可以确认后续接收的数据比特全部发生了位反,因此接收端在接收到数字音频数据后还需要对该数字 音频数据进行位反操作,即对数据的每一位取反后得到正确的数字音频数据。

S124,生成数据长度字节并转换为模拟音频信号后通过音频端口输出。

数据长度字节用来表示后续要发送的音频数据的长度。在本实施例中,数据长度字节用2个字节表示,高字节在前,低字节在后。因此,接收端在接收到该数据长度字节后,可以根据数据长度收取相应数据长度的音频数据,完成音频数据的的接收。

S126,将待发送的数字音频数据转换为模拟音频信号后通过音频端口输出。

在本实施例中,在发送数字音频数据之前,会根据待发送的数字音频数据生成CRC校验码。生成的CRC校验码设置于音频数据末尾后一并发送至接收端。接收端可以CRC校验码校验接收到的音频数据是否正确,并在发生校验错误时进行相关处理。

S130,生成结束同步码并通过音频端口输出。

结束同步码与起始同步码的生成方式相同,均为一连串具有固定频率和相位的等幅波形信号,且同样为采用QPSK技术进行调制后的模拟音频信号。用于生成结束同步码的比特流可以与起始同步码的比特流相同,也可以不同。通过在数字音频信号发送完成之后发送结束同步码,可以确认音频数据传输完成,从而确保数据传输的完整性。并且,当接收端在根据数据长度完成了音频数据的获取之后,仍未接收到结束同步码时可以确认接收到的音频数据异常,并反馈给发送端,请求发送端重发或者进行相应的操作。

上述音频数据发送方法,在发送待发送的数字音频信号之前会先发送起始同步码,从而使得通信初期的畸变仅发生在起始同步码部分,进而可以确保待发送的数字音频信号在发送过程中不会发生畸变,可以确保发送音频数据能够被正常接收。并且,在数字音频信号发送完成之后发送结束同步码,确认音频数据传输完成,可以确保音频数据的完整接收。

图3为另一实施例中的音频数据发送方法的流程图,该音频数据发送方法在步骤S110之前还包括步骤S210。

S210,输出任意波形的模拟音频信号以将接收端设备激活。

任意波形的模拟音频信号可以由发送端持续或者间歇性发出,以将接收端 设备激活,从而在需要通信时,即可立即切换到起始同步码的发送,即执行步骤S110。并且在完成数据发送后,即完成步骤S130后,恢复任意波形的输出。传统的音频数据发送过程,发送端发送信号给接收端时,接收端的音频接收功能可能处于待机状态,或者需要先根据波形调整工作参数,或者由于其他原因不能立即开始正常数据接收或解码,需要一段时间才能进入正常接收和解码的状态。如果发送方直接开始发送起始同步码或者数据起始字节,将导致接收方不能正确识别起始同步码或者数据起始字节,从而导致通信失败。在本实施例中,发送端会持续性或者间歇性的发送任意波形的模拟音频信号以将接收端设备激活,从而确保起始同步码发送时接收端处于正常接收和解码状态,从而可以提高通信过程的可靠性。

在另一实施例中,任意波形的模拟音频信号也可以在有待发送的数字音频数据时发出,从而在确保接收端处于正常接收和解码状态后才开始进行起始同步码的发送。

上述音频数据发送方法,在发送起始同步码之前会先发送任意波形的模拟音频信号以将接收端设备激活,从而确保接收端处于正常接收和解码状态,可以提高通信的可靠性和稳定性。

图4为一实施例中的音频数据接收方法的流程图,该音频数据接收方法可以执行于模拟音频信号的接收端。参见图4,该音频数据接收方法包括以下步骤。

S410,通过音频端口接收起始同步码。

接收端的音频端口接收到的起始同步码为模拟音频信号,其为具有固定频率和相位的等幅波形信号。

S420,计算起始同步码的初始频率和相位。

S430,判断音频端口接收到的模拟音频信号的相位是否发生了变化。

对音频端口接收到的模拟音频信号的相位进行监测。由于起始同步码具有固定的频率和相位,因此可以根据模拟音频信号的相位变化情况判断出起始同步码是否传输完毕。当判断出模拟音频信号的相位发生了变化时即可确认起始同步码的传输完毕,执行S440。否则继续执行S430,即继续对模拟音频信号的相位进行检测,判断其相位是否发生变化。在其他的实施例中,也可以对接收 到的模拟音频信号进行解码得到起始同步码的比特流,从而根据该比特流是否发生了变化了确认初始同步码的传输是否完毕。

S440,将相位变化后的模拟音频信号转换为数字音频信号。

在起始同步码传输完毕后,即进入音频数据的传输过程。在本实施例中,音频数据发送过程均采用QPSK调制方式进行解调并转换为数字音频信号。步骤S440的具体流程如图5所示,包括以下子步骤。

S510,从数字音频信号中获取起始字节,并判断起始字节是否正确。

在本实施例中,起始字节包括两个字节,分别为第一字节和第二字节。第一字节生成后,将第一字节的反码作为第二字节。因此,接收端可以根据接收到的起始字节判断后续待接收的音频数据的正确性。具体地,接收端可以在接收到起始字节后判断起始字节中的这两个字节中是否其中一个为原码而另一个为反码。若是则可以初步判断后续待接收的音频数据正确,继续执行步骤S520以及后续步骤。否则执行步骤S460,即停止将音频端口接收到的模拟音频信号转换为数字音频信号。在本实施例中,接收端还可以根据起始字节确认音频数据的正负。具体地,接收端接收到的起始字节中的第一字节和第二字节的先后顺序与预设顺序相同时,则确认接收到的数据为正确的数据。当接收端接收到的起始字节中的第一字节和第二字节的先后顺序相反时,则可以确认后续接收的数据比特全部发生了位反。因此接收端在接收到数字音频数据后(即S530后)还需要执行对该数字音频数据进行位反操作的步骤,即对数字音频数据的每一位取反从而得到正确的数字音频数据。

S520,从数字音频信号中获取数据长度字节。

S530,根据获取的数据长度字节从数字音频信号中获取数字音频数据。

接收端根据获取的数据长度字节获取相应数据长度的数字音频数据。在本实施例中,获取到数字音频数据后还会根据数字音频数据后的CRC校验码对其进行校验,从而确认该数字音频数据是否正确。若校验后发现该数字音频数据错误,则需要根据当前的接收状态来进行相应处理。具体地,当接收端必须等待收到数据时,接收端会发送一组“请求重发”的命令,要求发送端重新发送当前命令。当接收端并不知道发送端发送的是什么数据时,接收端会进一步等 待,且不做出回应。接收端等待发送端超时(发送端没有接收到ACK确认字符)重发。如果接收端接收到正确数据,则立即返回ACK进行确认。如果接收端已经接收到了正确数据,且又接收到发送端的重发包,则发送正确数据同时返回ACK表示数据已经正确接收。

S450,根据音频端口接收到的模拟音频信号的频率和相位判断模拟音频信号是否为结束同步码。

结束同步码与起始同步码相同,均为一连串具有固定频率和相位的等幅波形信号。因此,对音频端口接收到的模拟音频信号的频率和相位进行计算,从而根据该频率和相位判断传输来的模拟音频信号是否为结束同步码。若是,则执行步骤S460,停止将音频端口接收到的模拟音频信号转换为数字音频信号,完成音频数据的接收过程。若否,则继续执行S440。在本实施例中,若根据数据长度获取完数字音频数据后,接收端的音频端口接收到的数字音频数据仍不是结束同步码时,接收端可以确认接收到的数字音频数据错误,并反馈给发送端,请求重新发送或者进行相应的处理。

上述音频数据接收方法,先接收到起始同步码,因此可以在该部分发生畸变后将其直接丢弃,不会影响待接收音频数据的正常接收。并且接收过程仅在接收到的模拟音频信号的相位发生变化时开始进行音频数据接收并在接收到结束同步码后结束音频数据的接收,可以确保音频数据的正常完整接收。

图6为另一实施例中的音频数据接收方法的流程图,该音频数据接收方法在步骤S410之前还包括步骤S610。

S610,根据音频端口接收到的模拟音频信号的频率和相位判断模拟音频信号是否为起始同步码。

由于发送端在发送模拟音频数据之前会发送任意波形的模拟音频信号,因此,接收端需要判断音频端口接收到模拟音频信号是任意波形信号还是起始同步码。若判断出是起始同步码则执行步骤S410,否则继续执行步骤S610。

上述音频数据接收方法,在接收起始同步码之前会先接收任意波形的模拟音频信号,可以确保接收端处于正常接收和解码状态,提高了通信的可靠性和稳定性。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1