BPSK角度偏差

时间:2019-05-05 15:11:38

标签: matlab signal-processing complex-numbers

我对BPSK信号处理有问题。我想确定信号星座图的角度偏差。

我有一个基于正交的想法,如下例所示。但这不适用于嘈杂的星座与1个和4个四分之一轴相交的情况。在这种情况下,结果将不能令人满意-脚本仅考虑星座的一部分的平均角度。

th = angle(x);
if nnz(th < pi/2 & th > 0) > nnz(th > pi/2 & th>0) 
    mth = rad2deg(mean(th(th < pi/2 & th > 0)));
else
    mth = rad2deg(-pi + mean(th(th >= pi/2 & th > 0)));
end

结果:

真实信号(不令人满意) Real signal (unsatisfactory)

测试信号(正常) Test signal (ok)

测试信号(不正常) Test signal (not ok)

真实信号中的噪声是似正弦的导频信号。

第二个脚本:

ma = rad2deg(angle(mean(x(x >= 0)))); 
mb = rad2deg(angle(mean(x(x<0)))); 
mth = (ma + (rad2deg(pi) + mb))/2;

在这里,我正在检查2个区域的平均角度。但这是不正确的,因为当信号与1和2个四分之一轴相交时,脚本不起作用。

结果:

真实信号(不正常) Real signal (not ok)

测试信号(正常) Test signal (ok)

测试信号(不正常) Test signal (not ok)

鉴于所有先前的结果,我认为我应该摆脱正交。因此,我有以下问题: 如何在不参考正交的情况下找到星座图的平均角度?

也许有一些标准方法可以找到平均星座角?

1 个答案:

答案 0 :(得分:0)

使用atan2 函数确定接收符号位于哪个象限中,然后从理想符号中减去接收符号的角度以获得相位误差。