2

Matlab 関数Y = WGN(M,N,P)を使用して、ガウス分布のホワイト ノイズを生成しています。この関数は、電力値 (dB ワット) を使用して、出力信号の振幅を計算します。-1 V から 1 V の出力振幅範囲を得たいので、機能モード「リニア」があります。

「リニア」モードを使用して出力を生成しようとしていますが、結果は [-4 4] の出力振幅範囲になります。

RandomSignal = wgn(10000,1,1,1,'linear');
Time = linspace(0,10,10000);
figure()
plot(Time,RandomSignal)

figure()
hist(RandomSignal,100) 

この結果を生成する別の関数はありますか、それとも何か間違っていますか?

4

5 に答える 5

4

なぜ、バインドされた関数の randn 関数を取得してから、この例のように正規化するのですか。

 noise=randn(400); noise=noise./max(max(noise)); 

したがって、最終的に randn の出力が何であれ、[-1 1] 内に wn が含まれます。

于 2014-09-29T07:39:58.853 に答える
4

他の人が言ったように、ガウス分布を制限することはできません。できることは、範囲を 6 標準偏差に定義し、randn(m,sigma) を使用して信号を生成することです。

たとえば、[-1 1] の範囲が必要な場合は、sigma=2/6=0.333 および Mu=0 を選択します。これにより、99.7% の確率で範囲内に収まります。その後、範囲外の数値を切り上げたり切り捨てたりできます。

これは純粋なガウス分布ではありませんが、これが得られる最も近いものです。

于 2013-01-25T21:51:56.017 に答える
3

randガウスジェネレーターではなく使用できます。の出力範囲randは 0 ~ 1 であるため、-1 の範囲にするには 1 を使用しますrand(args)*2 -1

このジェネレーターは一様な密度をサンプリングしていることに注意してください。

于 2013-01-25T18:36:27.987 に答える
3

ガウス ノイズの範囲は無制限です。(Gaussian pdf のサポートは無限です。)

于 2013-01-25T18:24:27.417 に答える
0

非常に間違ったことを言いたくはありませんが、コードをコピーして変更したとき

RandomSignal = .25*wgn(10000,1,1,1,'linear');

それなら大丈夫でした。それがうまくいくことを願っています.(ランダムデータ/4はまだランダムデータであると仮定します)

于 2013-01-25T18:21:38.220 に答える