将输出信号归一化为与输入信号相同的电平
Normalize the output signal to the same level as the input signal
我有一个波束成形算法,我使用 matlab 来模拟数据,这样我就可以估计输出信号与干扰加噪声 比率 (SINR) 与 输入 SINR (Like Matlab Does) .
agCbf = pow2db(mean((voice_cleanspeech+voice_laugh).^2+noisePwr)/...
mean((cbfOut - voice_dft).^2))
我的问题来了。如果我 将输出信号乘以 到某个大数字,例如 1000(或者只是对我的算法进行了一些更改),那么估计的比率是不正确的(因为 cbfOut
很多 比voice_dft
大)。我想知道是否有任何方法可以将输出信号归一化到与输入信号相同的水平。
我在matlab中看到了mapminmax,这个函数可以将它们都归一化为[-1 1]
,很好,但是结果是不是零的意思.
在对输出信号进行归一化之前,可以按如下方式进行贬值:
signal = signal - mean(signal);
一旦完成并且信号具有 mean = 0
,您可以在 -1
和 1
之间继续标准化过程:
signal = mapminmax(signal);
我有一个波束成形算法,我使用 matlab 来模拟数据,这样我就可以估计输出信号与干扰加噪声 比率 (SINR) 与 输入 SINR (Like Matlab Does) .
agCbf = pow2db(mean((voice_cleanspeech+voice_laugh).^2+noisePwr)/...
mean((cbfOut - voice_dft).^2))
我的问题来了。如果我 将输出信号乘以 到某个大数字,例如 1000(或者只是对我的算法进行了一些更改),那么估计的比率是不正确的(因为 cbfOut
很多 比voice_dft
大)。我想知道是否有任何方法可以将输出信号归一化到与输入信号相同的水平。
我在matlab中看到了mapminmax,这个函数可以将它们都归一化为[-1 1]
,很好,但是结果是不是零的意思.
在对输出信号进行归一化之前,可以按如下方式进行贬值:
signal = signal - mean(signal);
一旦完成并且信号具有 mean = 0
,您可以在 -1
和 1
之间继续标准化过程:
signal = mapminmax(signal);