1. 程式人生 > >python 寫matlab中的加性高斯白噪聲AWGN

python 寫matlab中的加性高斯白噪聲AWGN

power 原始信號 code 高斯 mat class wid .cn ges

定義
原始信號:x
噪聲信號:n
信噪比:SNR

信號長度:N

技術分享

技術分享

def wgn(x, snr):
    snr = 10**(snr/10.0)
    xpower = np.sum(x**2)/len(x)
    npower = xpower / snr
    return np.random.randn(len(x)) * np.sqrt(npower)

t = np.arange(0, 1000000) * 0.1
x = np.sin(t)
n = wgn(x, 6)
xn = x+n # 增加了6dBz信噪比噪聲的信號

python 寫matlab中的加性高斯白噪聲AWGN