我正在尝试使用 Verilog 将衰减包络应用于正弦波形。硬件限制阻止使用乘法来简单地乘以包络。我只是使用 1-exp(-x) 的正弦值和包络值存储在 ROM 中以加快速度。
现在,如果正弦值较大,我只是通过从正弦值中减去指数值来计算输出样本。如果指数值大于正弦值,则输出样本为零。这很好用,但是要减去的当前指数值需要由正弦波上的当前位置调制,以便在正弦最大时减去完整值,当正弦为零时减去零。
我很感激任何人都可以提供的任何建议,如果需要,我可以提供更多详细信息。如果这不是 Verilog 问题的合适位置,还有其他更好的地方吗?
谢谢!