使用情况和randn不匹配所产生的噪音! ! !

29日视图(30天)
国际象棋
国际象棋 2017年7月12日
回答: Darel 2021年8月4日
我产生的噪音在两种不同的情况下用同样的信噪比一旦使用这是一个建在awgn命令指挥和第二次使用randn函数与正确的比例不过我得到不同噪声功率在每种情况下。
以下是脚本使用不同的技术来产生噪音。谁能帮我我为什么得不到正确的结果吗?
方法1
A = [1-1i 1 + 5我5-4i 3 + 2 6-1i 1-3i 2 1 - 0.5 - 1 + 1我);
Esym =总和(abs (A)。^ 2) /长度(A);
信噪比= 0;
信噪比= 10 ^((信噪比)/ 10);
噪音=√Esym /(2 *信噪比))* (randn(1,长度(A)) + 1我* randn(1、长度(A)));
A_noisy = A +噪声;
总和(abs (C) ^ 2) / (C)和长度(abs(噪声)。^ 2)/长度(噪音)方法2
B = awgn(信噪比,“测量”);
C = b;
结果是:
总和(abs (C) ^ 2) / (C)长度
总和(abs(噪声)。^ 2)/长度(噪音)
> > noise_testing
ans =
19.4895
ans =
7.9002
正如你所看到的结果是不同的。谁能帮我弄清楚这个问题。
谢谢

接受的答案

Darel
Darel 2021年8月4日
你是在正确的轨道上。问题只是你的噪声序列太短,你的样品可能的噪声功率大大不同于整体的平均功率。如果你只是使信号和噪声序列长(可能是一千分,而不只是9),结果应该更近你是否使用randn()或awgn ()。

答案(1)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!