nrealiz = 50;
noisestdz = rand(1,nrealiz)+0.5;
randnoise = randn(1024,nrealiz);
noisevar = zeros(1,nrealiz);
for k = 1:nrealiz
y = filter(1,A,noisestdz(k) * randnoise(:,k));
[arcoeffs,noisevar(k)] = armcov(y,4);
end
plot(noisestdz.^2,noisevar,'*')
title('Noise Variance')
xlabel('Input')
ylabel('Estimated')
関数のマルチチャネル構文を使用して手順を繰り返します。
Y = filter(1,A,noisestdz.*randnoise);
[coeffs,variances] = armcov(Y,4);
hold on
plot(noisestdz.^2,variances,'o')
hold off
legend('Single channel loop','Multichannel','Location',"best")