方形波形上的android音频失真

时间:2015-04-21 17:05:19

标签: android audio waveform distortion

我发现我的智能手机(android 4.2.2)无法生成方波(我需要将音频输出用作数据传输的串行线)。 一开始我认为这是我的应用程序,但后来我做了很多重要的测试。这些是最新的测试。我希望你能找到这种现象的解释。

我生成了一个wav文件,里面有500Hz的方波。 我在Android手机和苹果iphone上播放wav文件。 我用笔记本录制并分析了信号(连接到笔记本音频输入的音频线)。

然后我重复测试,连接蓝牙收发器设备和笔记本音频输入之间的音频线。智能手机通过蓝牙(一次一个)连接到蓝牙收发器设备。

注意:蓝牙收发器设备是一种通过蓝牙接收音频数据并通过标准音频插孔提供音频输出的设备。

这是直接连接在音频插孔上的iphone产生的信号: iphone directly connected on the audio jack

这是蓝牙设备从iphone接收数据产生的信号: signal generated by the bluetooth device receiving data from the iphone

这是Android设备直接与音频插孔连接产生的信号: android device directly connected with the audio jack

这是蓝牙设备从Android智能手机接收数据产生的信号:

bluetooth device receiving data from the android smartphone

Analisys:

- 蓝牙设备引入了信号带宽的削减(在我看来似乎可以接受)。

- iphone具有非常好的模拟部分(输出非常好的方波)

- Android设备的模拟部分非常糟糕(即使它非常适合音乐播放)

Android手机发送到蓝牙设备的数据不正确,实际上获取的信号与来自iphone的数据获取的信号不同。

我将智能手机恢复为出厂默认设置,但问题仍未解决。 我也尝试安装kitkat自定义ROM但问题仍然存在。 我也尝试过使用Nexus 5(android 5)和三星S4 mini(像我这样的android 4.2.2),它们就像iphone一样。

我怀疑这个问题与DTS录音室声音有关(我试图解除它并以不同的方式设置它而没有成功)。 DTS似乎是我的手机和三星s4 mini之间唯一的软件差异。

问题:我可以理解我的Android设备的模拟端不如iphone,我还可以假设我的android设备的模拟部分坏了......但我不明白我为什么不'当我插入蓝牙收发器设备时,获得相同的结果。

1 个答案:

答案 0 :(得分:3)

你为什么使用方波?这是一个要求吗?方波在数字系统中是有意义的,但作为模拟信号,它具有各种令人讨厌的特征(如果我记得,就像无限光谱一样)。为什么不在手机音频系统设计的人类可听范围内使用两种音调?

有许多信号和调制技术用于通过模拟或音频通道发送数据。你有没有看过以下任何一个?

How could you transfer data over an audio line?

Audio Modem: data over sound

Transfering data using audio signal in android

第三个链接描述了在Android中使用Frequency-shift keying。这看起来是一个非常好的解决方案。 FSK的维基百科页面包括对音频FSK的以下评论

  

音频移频键控(AFSK)是一种调制技术   数字数据由a的频率(音调)的变化表示   音频音调,产生适合于传输的编码信号   收音机或电话。通常,传输的音频在它们之间交替   两个音调:一个是“标记”,代表二进制音;另一个,   “space”表示二进制零。   ...   AFSK具有编码信号将通过的优点   交流耦合链路,包括最初设计的大多数设备   带着音乐或演讲。