不同语音帧的激励信号复杂性不同,所以采用相同个数的脉冲作为激励信号并不合理。针对这一点,提出了个数可变脉冲线性预测编码算法。该算法不固定脉冲个数,而是根据激励信号的复杂度而确定。个数可变脉冲线性预测编码的目的是用尽量少的脉冲数来满足误差约束,这可以看作一个稀疏表示问题。进而,给出了具体的脉冲搜索算法以及个数可变脉冲线性预测编码方案。实验结果发现增加脉冲可以减少误差,但是前面搜索出的脉冲对误差的贡献要大于后搜索出的脉冲。与G.723.1和G.729比较发现,个数可变脉冲线性预测编码可以在约4.2 kbps的编码速率下获得优于G.723.1的合成语音,但略差于G.729。本文算法的编码时间较长,是下一步需要解决的问题。