本文分两部分安排如下:前面講解spx_atan01( )的C代码。后面讲解如何通过泰勒展开式和多项式拟合获得系数同时展示其信噪比。最后测试另外一种系数计算方法的信噪比
一、丅面是C代码,注意红色字体和注释代码由于手机看代码不方便,建议横屏或者在电脑上阅读
二、atan泰勒展开式如下, C代码没有计算x^2显嘫不是使用泰勒展开式。但作为对比分析下面的matlab代码取前4项。
图1上是泰勒展开式speex多项式,浮点运算三种方法的计算结果
图1中是泰勒展开式与speex多项式的绝对误差。
图1下是泰勒展开式与speex多项式的信噪比
下面通过函数拟合求多项式系数,避开泰勒展开式逼近1时精度不够的問题当x选择不同数量的点时,拟合结果会有所不同本文计算得到的精确系数是[5314 -12402
图2上是拟合曲线,speex多项式浮点运算三种方法的计算结果。
图2中是拟合曲线与speex多项式的绝对误差
图2下是拟合曲线与speex多项式的信噪比。
图3分别展示了曲线、绝对误差和信噪比特别是精度比Speex还高。
完整内容请关注微信公众号“音频算法与工程实践”。