如何将信号归一化为给定的峰值

How to normalise a signal to a given peak value

我使用 fread 函数读取语音文件,然后使用 plot(file) 绘制信号。如何将峰值标准化为 +/- 1?我在网上找不到功能。

如果您想缩放峰值,使它们属于 +/- 1,您可以应用此转换以确保信号的动态范围为 [0,1]:

out = (in - min(in)) / (max(in) - min(in));

inout分别是输入和输出信号。一旦你有了这个,你可以将信号乘以 2,然后将这个结果减去 1,这样动态范围最终是 +/- 1。因为这是一个语音信号,这是一维的,所以最终代码是:

out = 2*( (in - min(in)) / (max(in) - min(in)) ) - 1;