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

时间:2016-01-24 20:08:23

标签: matlab signal-processing

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

1 个答案:

答案 0 :(得分: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;