【发布时间】:2022-01-19 23:23:19
【问题描述】:
我想通过计算缩放因子将信号 (Sig) 缩放到其参考 (Ref)。通常,我通过将max(Ref) 除以max(Sig) 来计算比例因子。但是,它仅在两个信号都从零开始时才有效。
如何缩放,如果信号如下:
Ref = [2 2 2 2 3 4 4 4 4 4 4 4 3 2 2 2 2 2 2 2 2 3 4 4 4 4 4 4 4 3 2 2 2 2];
Sig = [2 2 2 2 4 6 6 6 6 6 6 6 4 2 2 2 2 2 2 2 2 4 6 6 6 6 6 6 6 4 2 2 2 2];
这是我的算法:
maxSig = max(Sig);
maxRef = max(Ref);
sf = (maxRef/maxSig);
figure('color','w')
hold on
plot(Ref, 'r')
plot((Sig)*sf, 'b')
legend('Reference','Signal')
grid on
hold off
编辑:这就是我希望达到的目标:Sig 已乘以缩放因子,它与 Ref 完美对齐
注意:两个信号的长度总是相同,并且不会有时滞。
【问题讨论】:
-
你必须在某处减去最小值,但这取决于你想做什么。在您的示例中,期望的输出是什么?
-
如果 tehre 没有偏移量,那么它们从零开始,对吗?
-
@AnderBiguri 我认为 OP 意味着没有 x 轴偏移
-
@LuisMendo 哦,我认为 没有时间延迟 意味着没有 x 轴偏移
-
从你的例子看来你想做
Sig_scaled = (max(Ref)-min(Ref))/(max(Sig)-min(Sig))*(Sig-min(Sig)) + min(Ref);但是由于你提供的解释很少,这涉及到很多猜测。例如,min(Sig)是否总是等于min(Ref),如果不是,应该是什么行为?
标签: matlab