• ベストアンサー

ガウスノイズについて

入力信号に正規乱数を付加させてシュミレーションを行うプログラムを作ってます。ボックスミューラー法で正規乱数を発生させようと思うのですが、この正規乱数は入力信号にどのように依存するのですか? σなどのパラメータをどう決めたら良いかわかりません。 ちなみにC言語を使ってます。

質問者が選んだベストアンサー

  • ベストアンサー
  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.2

 たとえば、「センサーで何かを測定したデータが入力信号になるが、そこにはノイズが含まれている」という状況をシミュレーションしようという場合、当然、そのノイズの性質を知っている必要があります。さもないと、「入力信号にどのように依存するか」分からないし、「σなどのパラメータをどう決めたら良いか」も分からないし、そもそも「正規乱数」でいいのかどうかも分かりません。 (1) 状況によっては、理論的に分かることもあります。たとえば、ある光源からフォトセンサーに入ってくる光子数を測る場合、ノイズは量子力学の法則に従って生じているので性質が分かっています。(ポアソン分布に従い、分散が光子数そのものと同じ。)光子数が多いなら、大抵、他のノイズ要因を無視しても構わないぐらい大きなノイズになるでしょう。 (2)一方、センサーが何だかよく分からない原因に影響されてノイズが生じる、という場合には、センサーへの入力が既知の一定値である状態でデータを実測して統計的に処理し、ノイズがどんな確率分布に従うかを調べる。「既知の一定値」をいろいろ変えてこの測定を行い、ノイズの確率分布が入力とどんな関係を持っているかを知る必要があります。この作業を行うために、しばしば「センサーへの入力が既知の一定値である状態」をきちんと作るための道具から開発することになります。  大抵の場合は後者(2)に該当するでしょう。手間と時間の掛かる大仕事です。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

本来「どのような乱数を加えるのか」はシミュレーション (not シュミレーション) を行う人が目的に応じて決めることなんですけど.... まあ, 「正規乱数」なら入力に依存しないとするかな. つまり σ は「あなたが目的 (ないしは現実) に即して決める」としかいいようがない. 平均は 0 にするだろうけどね.

関連するQ&A

  • 確率統計 プログラム

    (1) 正規乱数の発生–中心極限定理の利用  中心極限定理を利用して,区間[0, 1) の一様乱数から標準正規分布N(0, 1) に従う正 規乱数を100,000 個発生し,そのデータから得られる以下の各項目を報告しなさい. ここでは,一様乱数の生成は合同式法を用い,また,正規乱数の生成は中心極限定 理を利用して,いずれも自分で作成したC 言語プログラムで実現すること.(既存の RAND 関数などを用いない) 1. 100,000 個の正規乱数の平均値.なお,理論値は0 である. 2. 100,000 個の正規乱数の標準偏差.なお,理論値は1 である. 3. 100,000 個の正規乱数のヒストグラム(頻度分布).ただしここでのヒストグラ ムは,区間[−5, 5] を100 分割したものとする. 4. 100,000 個の正規乱数のヒストグラム.ただしここでのヒストグラムは,区間 [2.5, 5] を25 分割したものとする.これは,前項3 の右端部を取り出したもので ある. 5. 正規乱数を発生して上項1 ∼ 4 を求めるために作成した,プログラムのソース. (2) 正規乱数の発生–Box-Muller 法  ボックス・ミュラー法により,区間[0, 1) の一様乱数から標準正規分布N(0, 1) に従う 正規乱数を100,000 個発生し,そのデータから得られる以下の各項目を報告しなさい. ここでは,一様乱数の生成は合同式法を用い,また,正規乱数の生成はBox-Muller 法 を用いて,いずれも自分で作成したC言語プログラムで実現すること.(既存のRAND 関数などを用いない) 1. 正規乱数の平均値. 2. 正規乱数の標準偏差. 3. 正規乱数のヒストグラム.区間[−5, 5] を100 分割したものとする. 4. 正規乱数のヒストグラム.区間[2.5, 5] を25 分割したものとする. 5. プログラムのソース. (3) 両者の比較課題1, 2 で得られた結果を比較し,2 つの方法で得られた正規乱数の性質 に違いが見い出されれば,それを考察しなさい. 何ですけどお願いいたします 期限は2009/7/27

  • 中心極限定理とボックスミュラーによる正規乱数の性質の相違

    中心極限定理とボックスミュラー法を用いて正規乱数を発生させるのですが、内容は『標準正規分布(0,1)に従う正規乱数を100000個発生させる』というものです。 タイトルの通り、2つの方法で得られた正規乱数の性質には相違はあるのでしょうか。

  • 中心極限定理についての質問です。

    c言語で標準正規乱数を発生させるために中心極限定理を使用することについての質問なのですが、 まず、一様乱数[0-1]を発生させる関数を混合合同法を用いて作成しました。 この一様乱数発生関数を用いて中心極限定理に基づき、標準正規乱数を発生させる関数を作成したいのですが、中心極限定理の具体的な使用方法がどうしてもわかりません。 どうかアドバイスをよろしくお願いします。

  • 正規分布に従う乱数

    C言語で平均,標準偏差を指定して正規分布に従う乱数を発生させるにはどうしたらよいのでしょうか?

  • モンテカルロ法 計算精度

    モンテカルロ法で円周率をc++言語でプログラムを作成して求めたのですが、精度要因って何ですか??乱数の乱数らしさでしょうか??

  • 乱数を確認する方法について

    プログラムをかいて正規乱数を発生させたのですが、それがきちんと正規乱数になっているか確かめる方法がわかりません。

  • c言語乱数について

    トランプのシャッフルと同様な操作をコンピュータで行いたい。52枚のトランプを配列に置き換え、1~52の乱数を割り当てる。ただし発生した乱数はすでに割り当て済みの数である場合は、まだ割り当てていない乱数が出るまで繰り返すものとする。 というプログラムをC言語でつくりたいのですがまったくわからないので誰か教えてください。お願いします。

  • お願いいたします。

    待ち行列のC言語プログラムが分からなく困っています。 教えていただけないでしょうか。 2種類の製品A,Bを製造している。第1、第2の工程を経て完成。第1工程は機械が1つ、第2工程では以下のディスパッチング法を使って、納期が遅れた製品と納期内に完成した製品の仕分けをし、どのディスパッチング法の納期遅れ率が低いかをシミュレーションを行う。 ルールとしてFIFO法:最初に入ってきたものを最初に処理をし、次に入ってきたものは最初の処理が終わるまで待たせる、CR法:納期までの時間/残りの作業時間の小さいジョブを優先)、SPT法:処理時間の短いジョブの順に処理を行う)の3種を考える。 ジョブ数を500、到着時間を指数乱数で発生させる。納期係数をα=10と定め、加工時間を指数乱数で発生させる。納期=(加工時間*納期係数)。 の待ち行列を使ったC言語のプログラムが分かりません。教えていただけないでしょうか? お願いいたします。

  • プログラムを教えてください!

    レポートの質問です。 以下の問題のプログラムを作らなければいけないのですが、いろいろと調べてみてもまったくわかりません。 わかる方プログラム教えてください! 課題1 合同式法を用いて,区間[0,1] (区間[0,1)でも良い) の 一様乱数を100 万個生成し,以下を報告せよ.ただし,一様乱数の生成にはC 言語で自作したプログラムを用いること. (1a) 平均の数値計算結果 (1b) 標準偏差の数値計算結果 (1c) 一様乱数のヒストグラム.ヒストグラムは区間[0,1] を100 分割して 作成すること. 課題2 中心極限定理に基づく「間便法」を用いて,区間[0,1] (区 間[0,1)でも良い) の一様乱数から標準正規分布N(0,1)に従う正規乱数を100 万 個生成し,以下を報告せよ.ただし,正規乱数の生成にはC言語で自作したプ ログラムを用いること. (2a) 平均の数値計算結果 (2b) 標準偏差の数値計算結果 (2c) 正規乱数のヒストグラム.ヒストグラムは区間[-5, 5] を100 分割して 作成すること.

  • 乱数 メルセンヌツイスターについて

    メルセンヌツイスター法(MT法)について少し調べることになったのですが、メルセンヌツイスターのサイトにC言語のソースがあったので動かしてみました。 確かに乱数が発生するのですが、ソースをみてもどういう動きで乱数を生成してるのかがわかりません。 メルセンヌツイスターはどうやって乱数をつくりだしているのでしょうか? わかる方がいらっしゃいましたら、教えてください。