0

これはワームの缶を開けるか、非常に簡単に答えられるでしょう: 私は Python 内でシステムのモデルを構築しています: どうすれば定量的にノイズを追加できますか? これまでのところ、これがあります(コードの下)-

私。各サンプルに固有のノイズが追加されている場合でも、ブロードキャストでこれを行うことはできますか?

ii. 電気信号のモデリングでは、ノイズはガウスまたは均一のどちらである必要がありますか? (確かではありませんが、ガウスだと思います)

import random
import numpy as np
import matplotlib.pyplot as plt

f   = 1e6
T   = 1/f
pi  = np.pi
t   = np.arange(0,20e-6,10e-9) 
# create signal and normalise  
y  = np.sin(2*pi*f*t) 
y /= max(y)

# add noise
for i in range(0, len(y)):
    noise = random.uniform(-1, 1) / 10    **#10% noise added** 
    y[i] += noise

plt.figure(1)
plt.plot(t*1e6,y,'r-')
plt.grid()
plt.show()

ここに画像の説明を入力

4

1 に答える 1

1

生成した信号から判断すると、ボルト対時間のように見えます。その場合、ガウス ノイズを追加します。

中心極限定理を利用して、ガウス ノイズを生成できます。単純に乱数を生成し (分布は関係ありません)、それらを加算して結果を保存します。その len(y) 回を繰り返すと、結果のリストはランダムになりますが、ガウス分布になります。次に、そのリストを y シグナルに追加します。しかし、そもそもガウス ノイズを与えるための定義済みのルーチンが存在する可能性があります。

よりpythonicな方法でそれを行うことに関しては、numpyにはベクトル追加ルーチンがあると思います。

于 2013-11-03T05:46:39.360 に答える