我需要创建一个信号(一个多维数组)并为它添加一些“加性拉普拉斯噪声”。然后,我希望能够测量结果信号的SNR水平(以dB为单位)。
如果有一种更简单的方法,我也想创建具有特定SNR的那种信号(假设为25,30或35 dB)。
我已经创建了一个玩具示例,说明我是如何创建该信号的,但我甚至不确定这是否是添加所谓“添加拉普拉斯噪声”的正确方法:
import numpy as np
numberOfSamples, dimension = 500, 2
loc, scale = 0., 1.
signal = np.random.normal(loc, scale, (numberOfSamples,dimension))
noise = np.random.laplace(loc, scale, (numberOfSamples, dimension))
finalNoisedSignal = signal + noise