コンテクスト
列ベクトルのシーケンスで構成される行列があります。各列ベクトルには、-180〜180の範囲内で度で定義された一連の角度が含まれます。シーケンス全体の各角度に白色ガウスノイズを追加して、ノイズに対する堅牢性に関してシステムをテストします。
一部の角度はあまり変化せず、他の角度はシーケンス全体で大幅に変化することを考えると、アクティビティ/変化の量に比例するレベルでノイズを追加したいと思います。したがって、個々の角度の標準偏差(比率として)に対して定義された振幅を持つゼロ平均のガウス分布からサンプリングすることを選択しました。
そうするための私のMatlabコードを以下に示します。
function Y2 = addnoise2angles(Y1, ratio)
%# Random numbers sampled from Gaussian
N = randn(size(Y1));
%# Noise level is defined per angle as a ratio of their respective standard deviations
sigma = std(Y1, 0, 2);
N = N.*repmat(sigma, 1, size(N, 2));
N = N*ratio;
%# Apply noise to angles
Y2 = Y1+N;
Y2 = wrapTo180(Y2);
end
質問
これは、ノイズに対する堅牢性をテストするための正しいアプローチですか?
もしそうなら、どの範囲の比率がテストに適していますか?
そうでない場合、それについて何が間違っていますか、そして正しいアプローチは何ですか?