gpt4 book ai didi

matlab - 使用 Matlab 生成振幅在 [-1 1] 之间的白噪声

转载 作者:行者123 更新时间:2023-12-04 23:55:42 28 4
gpt4 key购买 nike

我正在使用 Matlab 函数 Y = WGN(M,N,P) 生成具有高斯分布的白噪声。此函数使用功率值(dB 瓦)来计算输出信号的幅度。因为我想获得 -1 V 到 1 V 的输出幅度范围,所以有一个功能模式“线性”。

我正在尝试使用“线性”模式来产生输出,但结果是 [-4 4] 的输出幅度范围

RandomSignal = wgn(10000,1,1,1,'linear');
Time = linspace(0,10,10000);
figure()
plot(Time,RandomSignal)

figure()
hist(RandomSignal,100)

是否有另一个函数可以产生这个结果,或者我只是做错了什么?

最佳答案

正如其他人所说,您不能限制高斯分布。您可以做的是将范围定义为 6 个标准差,然后使用 randn(m,sigma) 生成信号。

例如,如果您想要 [-1 1] 的范围,您将选择 sigma=2/6=0.333 和 Mu=0。这将创造 99.7% 的机会在范围内。然后,您可以将超出范围的数字四舍五入。

这不会是纯高斯分布,但这是您可以获得的最接近的分布。

关于matlab - 使用 Matlab 生成振幅在 [-1 1] 之间的白噪声,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14527915/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com