C++ 中的数字高斯白噪声信号生成

信息处理 离散信号 噪音 数字的 随机的
2022-01-25 16:38:07

我正在尝试在 Raspberry Pi 上生成带限噪声信号。我在 Pi 上每 1/48000 秒计算一次样本。如果我生成正态分布的随机数作为每个样本的数据点,它将是高斯噪声信号。这是我很难理解的,如何解释噪声信号的频率。以及如何将频率值限制在频带之间?

1个回答

如果您正在生成频率为 48 kHz 的白噪声样本(正态分布值),那么您已经在 0 - 24 kHz 的频率范围内拥有它(如果发生器是真正随机的,至少应该如此)。如果您使用具有不同采样频率的相同样本,那么它们也将是白噪声。

现在,如果您想让它成为带限白噪声,那么您必须使用数字滤波器。选择取决于您,但为了简单起见,我会推荐 FIR 滤波器。您必须使用它来实时过滤传入的样本。怎么做?好吧,这完全取决于您,您甚至可以使用短缓冲区通过线性卷积对每个生成的样本执行过滤,但这不会很有效。