whiteNoise
は、whiteNoise ~ N(0,1)
分布のランダム変数です。次に、分散をepsilon*whiteNoise
と変更して別のノイズを生成したいと思います。この用語はepsilon*whiteNoise ~ N(0,epsilon^2)
を意味します。この私は再びイプシロン*ホワイトノイズが分散0.0001の別のホワイトノイズを発生させると同じである場合だけ見るためにx = sqrt(epsilon)*randn(1,length(signal)); %epsilon*whiteNoise;
を生成 epsilon_whitenoise = epsilon*whiteNoise;
Matlab - - 分散を正確にスケーリングする方法を理解できません
文に示されています。
理論的には、信号x
とepsilon_whitenoise
は同じでなければなりません。しかし、彼らはそうではありません。
epsilon = 0.0001
の値。私はこれを実装する方法が混乱しています。これは私が試みたものです。 x
とepsilon_whiteNoise
(=ε* whiteNoise)を変更することによって生成された新しいノイズの分散の値は、0.0001である類似の分散を与えなければならないので間違っています。しかし、私はチェックしたが、それは0.0001ではない。私が何をしたのか説明するのを助けてください。ありがとうございました。
clear all
Fs=1000; %sampling rate
Fc=10; % carrier frequency for the dummy signal
t=0:1/Fs:2; %time base
variance = 1; %variance of white noise
epsilon = 0.0001; %new variance of white noise
%generate a dummy signal - Later on this can be replaced by the signal that you are interested in , so that the generated noise can be added to it.
signal=5*sin(2*pi*Fc*t);
whiteNoise=sqrt(variance)*randn(1,length(signal));
x= sqrt(epsilon)*randn(1,length(signal)); %epsilon*whiteNoise;
epsilon_whitenoise = epsilon*whiteNoise;
variance_whiteNoise = var(whiteNoise)
var_x = var(x)
var_epsilon_multiplied_whitenoise = var(epsilon_whitenoise)
ありがとうございました。私は基本的に数学記法と対応するコードのために混乱しています。 whiteNoiseがゼロ平均および分散1ガウス確率変数から生成される場合、 'signal +ε* whiteNoise'および' signal + whiteNoise'を考えてみましょう。数学的表現は、新しい分散εを白色雑音と乗算することである。 'signal = sqrt(ε)* whiteNoise'を数学的に表現するときは、' 'ε 'は' 'sqrt(variance)'というコードで生成されるので、分散は' 'ε''と書かれています。 ? –
私はこの質問をしていました。ここの数学の部分はhttps://dsp.stackexchange.com/questions/44447/confusion-regarding-terms-noise-level-and-noise-intensity/44449?noredirect=1#44449です。答えを実装したいそうすることで、私は混乱しています。私は 'epsilon * whiteNoise'の実装を正しく伝えることができないのでリンクを見てください。 –
私はそれらがεを標準偏差、ε2を分散とすると思います。標準偏差= sqrt(分散)。分散の表記法としてε2を、標準偏差の表記法としてイプシロンを使用することができます。次に、ε= sqrt(ε2) –