[STM8] 请问香主,应用笔记里有没有ADPCM encode例子?

[复制链接]
 楼主| taishan3703 发表于 2010-9-3 12:54 | 显示全部楼层 |阅读模式
本帖最后由 taishan3703 于 2010-9-3 14:00 编辑

发现只有Decode例子,没找到encode部分啊。
香水城 发表于 2010-9-3 13:34 | 显示全部楼层
你看的是哪一个?
 楼主| taishan3703 发表于 2010-9-3 13:59 | 显示全部楼层
我看得AN3143阿。
香水城 发表于 2010-9-3 14:07 | 显示全部楼层
噢,请你看看AN2931:http://www.st.com/mcu/familiesdocs-110.html

这是讲STM32的,但算法是相通的。
 楼主| taishan3703 发表于 2010-9-3 16:14 | 显示全部楼层
谢谢。
FAQ 发表于 2017-9-1 22:29 | 显示全部楼层
香水城 发表于 2010-9-3 14:07
噢,请你看看AN2931:http://www.st.com/mcu/familiesdocs-110.html

这是讲STM32的,但算法是相通的。 ...

AN2931的采用的是单声道的IMA标准的ADPCM。

我在做测试,把一个16bit,2声道PCM数组记录编码压缩,然后紧接着再解码解压,发现出来的数据不对,验证不过去。这里我只做了一个通道采样值的一次编码和解码。
u8 data[10000]={0x34,0x12,……};
u8 tmp1=0;
int16 tmp2=0;

tmp1=ADPCM_Encode((data[addr+1]<<8)|data[addr+0]);
tmp2=ADPCM_Decode(tmp1&0x0F);

为何解压出来的tmp2的数值不等于0x1234

您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

108

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部