作为一名合格的音频开发工程师,在其工作中不可避免的会遇到各种各样的杂音,断音等等问题,下面我们来大概总结下都有些哪些情况
1 杂音问题:
在调试IIS/TDM 阶段,因为格式等不匹配等导致的杂音,此只要格式配置正确,问题随之而解
2 因为采样导致的杂音:
a 异步Clock 设计情况下,又没有采用ASRC模块,clock 产生jitter 导致采样不准确,从而产生pop因,此要么改时钟设计为同源时钟,要么增加ASRC模块
b 硬件或者DSP 本身问题,之前实际项目中遇到IIS 采样时序出错,导致杂音, 其分析是DSP 本身导致,此问题牵扯太大,最终采取规避方法绕过IIS采样问题,而不是从根本解决
3 失真引起的杂音
a 音频增益过大导致的失真,此根据音量曲线以及设置limiter可解决
b EQ 等频点增益设置过大引起的失真
考虑Headroom
EQ增益设置逻辑跟随音量处理
某些算法在定点DSP,比如说高通aDSP, 由于算法定点化实现出问题,引起音频流处理失真,此需要优化算法
4 硬件引起的杂音
AMP参数设置不合理,会引起杂音,此只要按照规格书或者和FAE确认参数设置正确,之前遇到过某款芯片由于参数配置,在低温启动时候会产生杂音
某些AMP 由于电容配比不合理,在enable以及做诊断时候会引起pop音,此还是要根据厂商严格定义要求设计
5 干扰引起的杂音
a tuner 天线引起的干扰,在播放tuner时候,天线极易受到整车干扰,从而导致杂音问题,此需要配合整车一起排查干扰源,之前遇到过,因为空调对天线干扰从而导致的杂音
b A2B 总线干扰,现在车载音频中设计大都采取A2B 总线,此也容易受整车干扰,此问题排查起来难度极大,涉及 主机/线束/功放/整车部件等
c mic 干扰,mic 在拾音时候,也会拾取整车干扰信号,此排查主要证明自身无问题,之后再配合整车调查即可
6 断音问题
不管是在SOC还是DSP,断音问题基本上都是数据写慢或者写快导致的,此可以通过调整buffer,优化调度等处理
无声问题
硬件问题
线束问题,A2B 总线,扬声器线束断开等
7 软件问题
误触发ALLMute,Source不对等问题
声卡竞争或者声卡打开失败等
上述大致列举了在开发过程中出现的杂音,断音,无声等问题,但是实际情况下,出现的问题不一而足,还需仔细分析其原由,不过音频开发者不就是每天都在解决声音问题中度过么,想想也算是其乐无穷吧 |