我试图理解下面的代码。我正在抽取一个大样本,以便对标准偏差进行良好的估计。
N = 25;
h1 = ones(1, N)./N;
L = 1000000;
s = ones(1, L);
n = 0.1*randn(1, L);
x = s + n;
stdx = std(x);
y = filter(h1,1,x);
stdy = std(y);
这段代码会给我stdx = 0.1
和stdy = 0.02
,这是预期的,因为因为我们实际上是在做一个平均过滤器。
但是给信号更多的幅度 s = 10*ones(1, L);
并运行上面相同的代码给了我一个stdy = 0.0344
. s
由于信号没有方差,这两种情况下的标准偏差不应该相同吗?