我试图了解使用envelope
MATLAB 中的函数计算 RMS(均方根)时滑动窗口的工作原理。我正在使用以下代码来重现以下行为envelope
:
rng(1);
Array = randn(1000,1);
window = 100;
limit = length(Array)-window;
%Part 2
for i=1:limit
RMS(i) = rms(Array(i:i+window-1));
end
plot(RMS)
hold
我希望上面代码中的第 2 部分产生与以下相同的结果:
upper = envelope(Array(1:limit), 100, 'rms');
plot(upper)
然而,与第二个选项(红线)相比,第一个选项(蓝线)移动了大约 50 个样本:
我想了解如何envelope
确定第一个样本。