2011-02-01 23 views

回答

0

使用规范化的表示法正是你会做的。

如果这是实施提供的限制,您可以作弊并预先计算给定范围的最大值。

+0

我没有问题,无论作弊:)你能给我一个简单的例子吗? – dubbeat 2011-02-01 13:41:25

0

不幸的是,没有很好的方法来发现信号的实际最大值,而无需通过样本进行采样并找到它。

如果知道PCM采样中的位数,则可以假定缩放将以[-2^(bits-1), 2^(bits-1)-1]为界。这将是信号可以达到的最高和最低。但是,这是最悲观的缩放比例 - 如果您的16位信号永远不会超出范围[-1024,1024],例如,您放弃了很多显示区域(以及ADC动态范围,但这是另一回事)。

如果您愿意动态缩放信号,您可以简单地让图形缩放比例更大,每次您的信号将被剪切。更为复杂的方法是根据需要升级,但随着时间的推移慢慢放松最大比例。放宽最大比例的一个好方法是指数衰减,例如在每次迭代时将最大比例乘以0.98(或其他一些数字< 1)。

相关问题