Matlab 将输出信号规格化为与输入信号相同的电平
我有一个波束形成算法,我使用matlab来模拟数据,这样我就可以估计出输出信号与干扰加噪声的比率与输入SINR的比率() 我的问题来了。如果我对输出信号进行多重处理,比如1000(或者只是对我引入的算法进行了一些修改),那么估计的比率是不正确的(因为Matlab 将输出信号规格化为与输入信号相同的电平,matlab,signal-processing,normalization,Matlab,Signal Processing,Normalization,我有一个波束形成算法,我使用matlab来模拟数据,这样我就可以估计出输出信号与干扰加噪声的比率与输入SINR的比率() 我的问题来了。如果我对输出信号进行多重处理,比如1000(或者只是对我引入的算法进行了一些修改),那么估计的比率是不正确的(因为cbfOut比语音dft大得多)。我想知道是否有任何方法将输出信号规格化为与输入信号相同的电平 我在matlab中看到了mapminmax,该函数可以将它们都规范化为[-1],这很好,但结果是非零意味着在规范化输出信号之前,您可以按如下方式对其进行降
cbfOut
比语音dft
大得多)。我想知道是否有任何方法将输出信号规格化为与输入信号相同的电平
我在matlab中看到了mapminmax,该函数可以将它们都规范化为
[-1]
,这很好,但结果是非零意味着在规范化输出信号之前,您可以按如下方式对其进行降级:
signal = signal - mean(signal);
一旦完成此操作且信号具有mean=0
,您就可以继续执行-1
和1
之间的标准化过程:
signal = mapminmax(signal);
首先从信号中减去平均值,然后除以
max([max(信号),-min(信号)])
?这样做将保证结果的平均值为0
,并且严格在[-1]
@Patrick Roberts你的意思是我在mapminmax之后这样做?还是我只需要在没有mapminmax的情况下这样做?我的意思是没有mapminmax
。所做的只是将范围限制在[-11]
,而不考虑的平均值。谢谢,这很有效。谢谢,这对我很有帮助
signal = mapminmax(signal);