专题八之五_DSP应用举例-用C54X实现MP3解码器v1.0.2探究.ppt

专题八之五_DSP应用举例-用C54X实现MP3解码器v1.0.2探究.ppt

函数名 单次调用机器周期个数 每帧数据调用次数(单声道) 功能 Seek_sync 415 1 尝试帧同步 III_get_side_info 12730 1 取Side信息 III_get_scale_factors 3901 3 获取比例因子 III_hufman_decode 303798 3 Huffman解码 III_dequantize_sample 167088 2 反量化采样 III_stereo 立体声处理 没有使用 III_reorder 2229 2 混序处理 III_antialias 17909 2 抗锯齿处理 III_hybrid 1747 64 IMDCT SubBandSynthesis 24424 36 子带合成 总的机器周期数 2301766 总结 不能使用浮点数版本在定点DSP上运算(仿真运算),但可以在前期调试以及探针工具。 Q15格式的定点数版本运算 小数点位置的灵活应用以及对算法的改进 对溢出的控制处理 查表方法的应用(用空间换时间) 对C代码的修改或汇编改写代码 优化编译选项的应用 内存优化 思考题 与浮点解码比较,Q15定点解码的误码率和SNR。 对huffman解码函数的优化? 对MP3原始数据读入操作的优化? 实现立体声解码的实时实现 ? * 、 * * 表?? 主要数组的复用情况 * 立体声MP3一帧数据解码(主要函数)消耗的机器周期数。(采用CCS的profiler工具分析,定点DSP仿真浮点运算) * 所以,下面将从这几个函数入手,采用Q15定点格式替代浮点格式,实现实时解码运算。 * 需要注意的是SST位的设置会影响累加器的位数,它将忽略最高8位AG或BG(保护位)。当整个运算的结果没有超过Q15格式的数据范围时,请不要设置该比特位,以免影响计算结果的正确性。 * Q11和Q15相加,需要注意对齐小数点,直接加。 * 单通道MP3一帧数据解码消耗的机器周期数。(采用CCS的profiler工具分析,定点Q15格式运算) * 启用优化编译选项优化MP3解码程序 程序中定义的数组 功能说明 static long int is[SBLIMIT][SSLIMIT] 哈夫曼解码后的结果放在is中 static double lr[2][SBLIMIT][SSLIMIT], ro[2][SBLIMIT][SSLIMIT] 反量化的结果在ro[ch]中(输入数据在is中)。立体声处理时,输入数据在ro中,输出数据在lr中 static double re[SBLIMIT][SSLIMIT] 混序处理函数使用,输入数据lr[ch],输出re static double hybridIn[SBLIMIT][SSLIMIT] 抗锯齿处理使用,输入数据re,输出数据在hybridIn static double hybridOut[SBLIMIT][SSLIMIT] IMDCT变换处理函数使用,输入数据hybridIn,输出数据在hybridOut中 static double polyPhaseIn[SBLIMIT] 子带合成处理时,数据先从hybridOut到polyPhaseIn 中,然后进行子带合成绿波,完成数据解码。 int is_pos[576]和double is_ratio[576] 只在立体声解码函数III_stereo中使用 压缩标准MP3解码程序对存贮器的需求 根据上页的统计,我们将这些数组改为指针操作,让可以被覆盖的存贮器重复使用。 主要数组的复用情况安排如下面所示。 这样,其最大内容消耗为: 2304+2304+1152+576=6336 bytes 占有字节数 数组使用情况 (2x32x18) x 2 = 2304 bytes lr 数组 (2x32x18) x 2 = 2304 bytes ro 数组 re数组(32x18x2) hybridIn数组(32x18x2) (32x18) x 2 = 1152 bytes is 数组 hybridOut数组(32x18x2) is_ratio数组(576x2) polyPhaseIn数组(32x2) is_pos数组(576) 压缩标准MP3解码程序对存贮器的需求 通过MAP文件可以看出,这个代码包括程序和数据空间小于64K字。 其中程序空间约17K字(0x458d ),数据空间约35K字(0x8b68) 。 数据空间较大的原因是我们将huffman表,合成滤波器的系数以及一些数据常量都放了进去。 (…\de_mp3_q15_sim) 浮点版本的MP3解码程序的运算量统计 根据MP3的标准,每帧数据包含1152采样点,原始音频数据

文档评论(0)

1亿VIP精品文档

相关文档