2016-05-31 15 views
0

我有两个音频信号需要放大才能收集信息并进行比较。我希望两者都在-1和1之间定义,而不改变它们的原始形状。以相同比例放大两个信号

我已经试过这个Strengthening the low amplitude signal using Matlab WITHOUT changing the original shape of the signal但它似乎并没有在我的情况下工作。

我的价值观是这样定义的:

[y1,fs1] = audioread(myfile1); 
[y2,fs2] = audioread(myfile2); 

这里是我的信号:

enter image description here

任何想法?

回答

2

你正在寻找正常化你的信号,这意味着....由最大的绝对最大/最小的划分一切....

你的代码应该是这个样子:

normalizey1 = y1./ (max(abs(max(y1)) ,abs(min(y1)))); 
normalizey2 = y2./ (max(abs(max(y2)) ,abs(min(y2)))); 

有一个正常化信号的选择。它是通过除以标准偏差 - 单位方差标准化来完成的 - 当比较信号时,它通常更有用。

+0

是的,这是一种规范化,但我希望两个信号都包含在-1和1之间,但具有相同的幅度差异和属性。如果你明白我的意思,我不知道。 – Kenwa

+0

@Kenwa这将使你的信号在-1和1之间变化相同 - 所以信号本身是不变的。 – GameOfThrows

+0

好吧,我认为它就像我之前看到的版本,但我只是测试它,它似乎工作。谢谢。 – Kenwa