我是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的滑塊圖像大小不能調整大小