我是DSP编程的新手,我想知道如何最好地执行看似基本的级调整操作。假设我有一个8位的数字,代表我想要一个信号的幅度为256级。我有一组代表信号数据的16位数字。基于“音量”参数缩放信号数据的最佳方法是什么,以便0表示完全衰减,255表示数据保持不变?基本的DSP级调整
0
A
回答
2
如何
out_sample = in_sample * volume/255;
直线性缩放。这假定计算可以用更高的精度完成,以捕获乘法结果而不截断。
6
什么开卷说:
out_sample = in_sample * volume/255;
如果你是一个真正的DSP芯片或硬件,而不快分频器上工作,就可以使用这种伎俩来得到相同的值,而不师:
int product = in_sample * volume;
out_sample = (product + (product>>8) + 1)>>8;
在现代DSP喜欢的C64x +这段代码运行速度快10倍左右......
另外:
您正在讨论音量,并且您当前将8位音量用作线性增益因子。然而,我们的耳朵将音量解释为对数效应。在乘法之前,您可能想要从db(您的8位)转换为线性增益。将它们预先计算并放入一张桌子。当你这样做时,你也可以将值的比例提高到2^15以获得更高的精度。
这会给你一个更好的回应,更少的点击你做音量淡化。
相关问题
- 1. DSP FFT基本频率wav文件
- 2. 基本调整问题
- 3. Android基本版面调整
- 4. 的Prestashop基本模块,小调整
- 5. 如何创建基本的MobileSubstrate调整
- 6. 调整基于
- 7. 基于UITextView帧大小调整文本
- 8. 调整基本视图大小ios
- 9. 虚拟基本全屏调整大小
- 10. Knockoutjs超级基本
- 11. DSP上的UIImage
- 12. Beaglebone上的DSP
- 13. 基于屏幕分辨率调整工作表缩放级别
- 14. Tkinter顶级窗口调整
- 15. AngularJS调整为父级?
- 16. Colorbox中的JQuery Colorbox - 在子级调整大小时调整父级
- 17. 如何使用OpaquePointer调用DSP功能?
- 18. FMODex音调转换问题与DSP
- 19. 从孩子的调整大小事件调整父级控制
- 20. 基本android错误(初级)
- 21. Authorize.net或Paypal基金调整
- 22. SQL:调整基线数100
- 23. 调整基于与整个网格
- 24. OpenCL兼容DSP
- 25. 要调整基于文本的PG还原的参数?
- 26. 如何调整SVM等级的参数?
- 27. 调整red5的SOSample质量等级?
- 28. 基于文本的基本公式计算器功能/ V2级
- 29. 基于轻量级原型的浮动/可调整大小的弹出窗口
- 30. 基本jQuery的滑块图像大小不能调整大小