=使用python生成复数信号=================================================
n1 = np.squeeze(np.random.normal(loc=0.0, scale=np.sqrt(2), size=(receivedSyms.shape[0], 2)).view(np.complex128))
Np.std(n1)=2
=使用keras生成 baseline-autoencoder的源代码===================
a = KR.random_normal((1000000,2), mean=0.0, stddev=np.sqrt(2))
print(np.std(a))
打印出来是根号2;
按照这个逻辑,python中的代码应该是:
n1 = np.squeeze(np.random.normal(loc=0.0, scale=np.sqrt(1), size=(receivedSyms.shape[0],2)).view(np.complex128))
np.std(n1)=1.4
第四种生成复数信号的方法:使用python中的stand_normal函数生成
noise = sqrt(1/2)*(standard_normal(receivedSyms.shape)+1j*standard_normal(receivedSyms.shape))
打印查看一下noise的标准差以及方差
np.var(noise)
np.std(noise)
输出都是0.9999988 ≈1
接下来回顾一下复高斯信号的产生,以及为什么经常都使用sqrt(var/2)作为前面的系数呢?? 待完成
所以theory-bursty-awgn channel下的值应该使用这段代码计算吗???