2013-11-02 2 views
0

웜 깡통을 열거 나 쉽게 대답 할 수 있습니다. 파이썬에서 시스템의 모델을 구축하고 있습니다 : 어떻게 노이즈를 정량적으로 추가합니까? 지금까지 (코드 아래) -전기 시스템에서 노이즈를 모델링하는 Python -

i. 각 샘플에 고유 한 노이즈가 추가 되더라도 방송으로이를 수행 할 수 있습니까?

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() 

enter image description here

+0

전기 소음에 특히 익숙하지 않지만 잡음은 일반적으로 평균값 또는 예상 값에서 가우스 분포가되는 경향이 있습니다. – Vulcan

+1

노이즈 유형은 노이즈가 발생시키는 시스템에 따라 다릅니다. 여기를보십시오 : http://en.wikipedia.org/wiki/Noise_(electronics) – hamon

+0

코드에 어떤 문제가 있습니까? –

답변

1

(내가 확실 해요하지만 가우스 나는 생각한다). 어떤 경우에는 가우시안 잡음을 추가하려고합니다.

중심 한계 정리를 사용하여 가우스 노이즈를 생성 할 수 있습니다. 단순히 무작위 수의 무리를 생성하고 (배포는 중요하지 않습니다.) 함께 추가하고 결과를 저장합니다. 그 len (y) 번을 반복하면 결과 목록은 랜덤하지만 가우스 분포가됩니다. 그런 다음 목록을 y 신호에 추가하십시오. 하지만 처음에는 가우스 노이즈를 줄 수있는 사전 정의 된 루틴이있을 것입니다.

더 평이한 방법으로, 나는 numpy가 벡터 추가 루틴을 가질 것으로 예상한다.