【问题标题】:How to generate white noise in matlab? N0 = 50dB/Hzmatlab如何生成白噪声? N0 = 50dB/Hz
【发布时间】:2020-08-26 03:15:14
【问题描述】:

我想在 matlab 中生成白噪声。

clc;
clear;
mu=0;
sigma=1;
noise= sigma *randn(1,10)+mu

我可以使用此代码生成,但我想我没有使用噪声功率值。有人可以帮我吗?

【问题讨论】:

  • 您最初应该将噪声功率计算为N0*W,其中W 是带宽。然后用sigma等于那个幂的平方根
  • 非常感谢。

标签: matlab signals communication noise


【解决方案1】:

MATLAB 有专门的函数来添加高斯白噪声:wgn()awgn()

sig = ones(100,1)
% add white Gaussian noise
snr = 50; % signal-to-noise ratio
sig_wgn = awgn(sig,snr,'measured')

如果您想自己做,请注意rand() 仅返回 [0,1] 中的数字,因此您需要将其缩放 + 移动到 2*(rand(,10)-0.5) 以获得您可以缩放到的对称输出你的范围

【讨论】:

  • 'wgn' 需要通信工具箱。
  • 'awgn' 需要通信工具箱。
猜你喜欢
  • 2017-02-01
  • 2017-06-10
  • 1970-01-01
  • 2011-03-20
  • 1970-01-01
  • 2018-11-12
  • 2013-01-09
  • 2013-10-14
  • 2011-12-20
相关资源
最近更新 更多