[python]生成特定方差的复数信号
仿真代码:
if __name__ == '__main__':
noise = []
P_noise = 10
for num in range(0,100000): # 迭代 10 到 20 之间的数字
noise.append(np.sqrt(P_noise / 2) * complex(np.random.randn(1), np.random.randn(1)))
tm = np.abs(np.array(noise)) # 非零均值,高斯噪声
# rms 计算
rms = np.mean(tm * tm)
print(np.mean(tm), np.var(tm), rms)
输出结果为:
2.8078446223572175 2.1578479990371187 10.041839422337462
结果说明:
设定方差为10的信号,最后生成的信号的能量为10.041839422337462, 仿真成功
注:
1:用两路高斯白噪声生成复数信号,总能量是各个单路能量的2倍
2: 生成的复数信号的模值 为 非零均值的高斯白噪声,因此在输出能量是用RMS ,注意和方差的区别
记录每天生活的点点滴滴,呵呵呵呵呵呵

浙公网安备 33010602011771号