MATLAB 瑞利衰落和高斯白噪声

信息处理 matlab
2022-02-18 10:22:18

从下面的 MATLAB 代码中,这些瑞利衰落和高斯白噪声的理论方程来自哪里?或者它们是如何产生的?

h = 1/sqrt(2)*[randn(nrx,ntx,N/ntx) + 1i*randn(nrx,ntx,N/ntx)]; % Rayleigh channel
n = 1/sqrt(2)*[randn(nrx,N/ntx) + 1i*randn(nrx,N/ntx)]; % white gaussian noise, 0dB variance
2个回答

您提供的瑞利衰落信道方程来自给定两个具有相等方差的独立零均值高斯随机变量的属性XN(0,σ2)YN(0,σ2), 随机变量R=X2+Y2是瑞利分布的(参见例如维基百科)。在您提供的代码中,实部和虚部(由对 的独立调用生成randn)通常满足此条件(或者至少对于合理的伪随机生成器而言非常近似),因此 的大小h将具有瑞利分布。

此外,通常假设信号的功率平均保持不变,即E{R2}=1. 现在给出我们如何定义R

E{R2}=E{X2+Y2}=E{X2}+E{Y2}(linearity of expectation)=2E{X2}(X and Y identically distributed)=2σ2(X and Y zero-mean Gaussian)

所以信号功率平均保持σ=1/2. 如果从单位方差高斯伪随机变量开始(如 MATLAB 的情况),这也是必须使用的比例因子randn

类似地,给定一个复值高斯噪声n定义为n=nreal+inimag, 其中实部和虚部都是高斯分布的方差σn2,噪声功率为 E{|n|2}=E{nreal2+nimag2}. 通过与上述类似的论点,可以得出E{|n|2}=2σn2. 为了获得具有单位功率的噪声,我们需要σn=1/2.

请注意,只有在建立了测量单位后,单一功率的概念才有意义。很多时候,噪声功率是相对于信号功率来定义的。在这种情况下,以信号功率为单位的噪声功率为 1(或 0dB)意味着噪声的功率与信号的功率相同。

因此,看起来高斯噪声生成正确,而瑞利通道生成错误。

也就是说,我们正在生成一个实数正态分布随机数和虚数正态分布随机数的数组,它们的缩放比例为12. 这对高斯很有效,因为平均而言,它们的幅度确实为 1,因为

122+122=1.

但是,我们不能单独使用高斯分布(由 提供randn)直接得到瑞利分布。我们应该raylrnd改用。在这种情况下,同样的论点适用于12缩放。