原文博客:https://blog.csdn.net/crow_ch/article/details/103890147
一、录音播放数据处理过程介绍
(1)TX方向
麦克风(硅麦克风或者主机体麦克风)采集模拟音频信号,经过内部CODEC芯片中的adc转换为数字信号,在经过高通音频DSP处理音效后编码为wav/aac/amr/mp3等格式文件。
(2)RX方向
音频文件经过解码、重采样还原为pcm数据,经过DSP处理音效后送到内部CODEC,然后经过DAC转换为模拟信号,送到喇叭。
二、分析步骤
1. 先确认RX、TX整个链路的音频信号是否正常?
录音之后先电脑上播放有无杂音?确认TX
在调试设备上播放干净音乐有无杂音?确认RX
以上两步确认是否是RX带来的问题。当然不排除RX和TX同时存在问题的情况。
2. 单独分析RX或者TX
这里就需要用到高通软件QXDM QCAT QPST了。
通过QXDM软件抓取录音或者播放时的QXDM log然后使用QCAT解析QXDM log,获取对应以下tap点的音频信号。
分析过程如下:
如果0x152E tap存在杂音,则杂音来源于录音过程,也许当然不良的RX音效会让此音频文件在播放的过程中继续恶化,此时可以对比分析0x1586 tap;如果0x152E tap不存在杂音而0x1586 tap存在杂音,则杂音来源于RX的音效处理模块;
如果0x152E tap和0x1586 tap都不存在杂音,那么产生原因只能是RX的模拟增益模块也就是外部功放产生的。
如果确认不是RX造成的,那么接着要继续分析确认录音设备周围是否存在杂音,一般情况下,可能是背光控制有可能造成滋滋声或者蜂鸣音、主板可能造成电容声,还有屏幕可能造成蜂鸣音等等,注意背光和屏幕造成的杂音都需要先进行使能才会出现。
如果通过以上方法还是没有定位到产生原因,则要追踪录音过程抓取qxdm log逐步分析是哪一步音效处理造成的,重点分析录音过程的0x1586 tap和0x1536 tap。
如果0x1586就存在杂音,此时要分析的重点则是录音电路是否足够”干净”,是否存在干扰。
如果0x1586不存在杂音而0x1536 tap存在杂音,那么就需要调整录音音效处理的噪声抑制模块,是否是参数不匹配造成的。