アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (2件)

 たとえば、「センサーで何かを測定したデータが入力信号になるが、そこにはノイズが含まれている」という状況をシミュレーションしようという場合、当然、そのノイズの性質を知っている必要があります。

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

本来「どのような乱数を加えるのか」はシミュレーション (not シュミレーション) を行う人が目的に応じて決めることなんですけど....



まあ, 「正規乱数」なら入力に依存しないとするかな. つまり σ は「あなたが目的 (ないしは現実) に即して決める」としかいいようがない. 平均は 0 にするだろうけどね.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!