figure;
subplot(2,1,1)
stairs([x1,x1(end)],'linewidth',2);
ylim([-2 2])
grid on; hold on;
title('Data of user 1 (x_1)')
for u = 1:3
plot(ax*(u+1),ay,':k','linewidth',2);
end
subplot(2,1,2)
stairs([x2,x2(end)],'m','linewidth',2);
ylim([-2 2])
grid on; hold on;
for u = 1:3
plot(ax*(u+1),ay,':k','linewidth',2);
end
title('Data of user 2 (x_2)')
figure;
subplot(2,1,1)
stairs([xmod1,xmod1(end)],'linewidth',2);
ylim([-2 2])
grid on; hold on;
title('Data of user 1 (x_1)')
for u = 1:3
plot(ax*(u+1),ay,':k','linewidth',2);
end
subplot(2,1,2)
stairs([xmod2,xmod2(end)],'m','linewidth',2);
ylim([-2 2])
grid on; hold on;
for u = 1:3
plot(ax*(u+1),ay,':k','linewidth',2);
end
title('Data of user 2 (x_2)');
t1 = sqrt(a1)*xmod1;
t2 = sqrt(a2)*xmod2;
figure;
subplot(2,1,1)
stairs([t1,t1(end)],'linewidth',2);
ylim([-2 2])
grid on; hold on;
title('Scaled data of user 1 ($$\sqrt{a_1}x_1$$)','Interpreter','latex','FontSize',13)
for u = 1:3
plot(ax*(u+1),ay,':k','linewidth',2);
end
subplot(2,1,2)
stairs([t2,t2(end)],'m','linewidth',2);
ylim([-2 2])
title('Scaled data of user 2 ($$\sqrt{a_2}x_2$$)','Interpreter','latex','FontSize',13)
grid on; hold on;
for u = 1:3
plot(ax*(u+1),ay,':k','linewidth',2);
end
figure;
stairs([x,x(end)],'r','linewidth',2);
grid on; hold on;
for u = 1:3
plot(ax*(u+1),ay,':k','linewidth',2);
end
title('Superposition coded signal')
连续干扰消除(SIC)
SIC算法:
直接对x进行解码,得到高功率的信号。例如,如果 x1被赋予更多权重(即 a 1 > a 2),则 x 的直接解码给出 x1。
将第1步解码后的信号乘以其对应的权重,并从x中减去。例如,如果上一步解码了x 1 ,则x减去√a 1 x 1 。这会给我们 x - √a 1 x 1。
对第二步得到的信号进行解码,得到低功率复用后的另一个信号。例如,从上一步获得的x - √a 1 x 1的解码将产生我们的 x 2
这是 x 的图,阈值表示为黑色水平实线。观察到第一个和第三个符号位于零阈值之上。因此,我们决定第一个和第三个传输的位是 1。第二个和第四个符号位于阈值下方。因此,第二个和第四个传输位为零。因此,按顺序解码的序列为 1010。这与 x1相同!
将 x1分量乘以其相应的幂权重,然后从 x 中减去它。减法后,只需像以前一样使用 BPSK 规则解调即可,以下是完整叠加编码和SIC解码的代码。