目录
1. 8PSK调制原理
在数字调制中,我们将二进制数字序列映射到信号的幅度、相位或频率等参数上。对于8PSK调制,我们主要是将二进制数据映射到信号的相位上。
8PSK将每3位二进制数据映射为8PSK星座图中的一个相位点,8PSK 星座图通常将圆周等分为 8 个相位区间,每个区间对应一个唯一的 3 位二进制码。假设输入的比特序列为b0b1b2,则对应的8PSK符号的相位取值如下:
8PSK信号的星座点分布在圆周上,具有一定的相位冗余。与 ASK(幅移键控)等调制方式相比,它对幅度干扰不太敏感。因为8PSK主要是通过相位来携带信息,只要干扰没有导致相位发生错误判决,信号就能正确解调。
在多径衰落信道中,通过适当的均衡技术和信道编码,8PSK信号可以利用其相位信息来抵抗衰落带来的影响。例如,在存在频率选择性衰落的信道中,8PSK信号可以通过分集接收技术(如空间分集、频率分集等)来提高接收的可靠性,减少衰落对信号的破坏。
2. 8PSK解调原理
8PSK解调的目的是从接收到的已调信号中恢复出原始的二进制数据。常用的解调方法是相干解调。首先,对接收到的信号r(t)与本地载波cos(ωct)和sin(ωct)进行相干解调,得到两个分量I(t)和Q(t):
然后,对I(t)和Q(t)进行采样和判决。根据I和Q的值确定接收到的符号的相位,再通过映射关系的逆变换得到原始的二进制数据。
频谱效率方面,8PSK 每个符号可以携带 3 位信息,而 2PSK 每个符号只能携带 1 位信息。所以在相同的带宽和符号速率下,8PSK 的频谱效率是 2PSK 的 3 倍,能够更有效地利用频谱资源。
在抗干扰性能上,8PSK 由于星座点较多,相位间隔相对较小,在一定程度上对幅度干扰有更好的抵抗能力,但对相位噪声等干扰更敏感。相比之下,2PSK 只有两个相位状态,抗相位噪声能力相对较强,但频谱效率较低。
3.LDPC编译码
LDPC码作为一种前向纠错码,具有卓越的性能,其纠错能力能够接近香农极限 。这意味着在理论上,LDPC码能够在极低的信噪比条件下实现可靠的数据传输,大大提高了通信系统的效率和可靠性。在深空通信中,由于信号传输距离极远,信号强度会随着距离的增加而急剧衰减,导致信噪比极低。LDPC码的应用能够在这种恶劣的信道条件下,有效地纠正传输过程中产生的错误,确保数据的准确传输。
LDPC码的校验矩阵具有稀疏性,这是其区别于其他编码的重要特性之一。稀疏校验矩阵意味着矩阵中大部分元素为零,只有少数元素为非零值。这种稀疏性使得 LDPC 码在编码和解码过程中具有较低的复杂度,因为在矩阵运算中,与零元素的运算可以省略,从而减少了计算量和存储需求。与一些传统的编码方式相比,如卷积码,其校验矩阵相对密集,在处理长码长时,计算复杂度会显著增加,而LDPC码的稀疏校验矩阵则能够有效地避免这一问题,使得在处理长码长数据时仍能保持较低的计算复杂度。
整个基于 8PSK 调制解调 + LDPC 编译码的通信链路系统框图如下:
发送端:
1.首先是信源,产生待传输的二进制数据序列。
2.然后进入 LDPC 编码器,根据 LDPC 码的编码规则将信息序列编码为码字,增加冗余信息以提高纠错能力。
3.编码后的码字经过 8PSK 调制器,将每个码字符号映射到 8PSK 的相位上,生成 8PSK 已调信号。
4.最后通过信道发送出去。
接收端:
1.接收到经过信道传输的信号后,首先进入 8PSK 解调器,通过相干解调等方法将接收到的信号解调出原始的符号序列。
2.解调后的符号序列送入 LDPC 译码器,利用 BP 算法进行译码,尝试恢复出原始的信息序列。
3.译码后的信息序列作为信宿的输入,完成通信过程。
4.MATLAB程序
66...............................................
%判决
yod = [];
for i=1:Num
tmps1 = yfilter1(4*Nsamp*(i-1)+Nsamp:4*Nsamp*i-Nsamp);
tmps2 = yfilter2(4*Nsamp*(i-1)+Nsamp:4*Nsamp*i-Nsamp);
X1 = mean(tmps1);
Y1 = mean(tmps2);
dist0 = sqrt((X1-real(sa0))^2 + (Y1-imag(sa0))^2);
dist1 = sqrt((X1-real(sa1))^2 + (Y1-imag(sa1))^2);
dist2 = sqrt((X1-real(sa2))^2 + (Y1-imag(sa2))^2);
dist3 = sqrt((X1-real(sa3))^2 + (Y1-imag(sa3))^2);
dist4 = sqrt((X1-real(sa4))^2 + (Y1-imag(sa4))^2);
dist5 = sqrt((X1-real(sa5))^2 + (Y1-imag(sa5))^2);
dist6 = sqrt((X1-real(sa6))^2 + (Y1-imag(sa6))^2);
dist7 = sqrt((X1-real(sa7))^2 + (Y1-imag(sa7))^2);
[VV,II]=min([dist0,dist1,dist2,dist3,dist4,dist5,dist6,dist7]);
yod = [yod,II-1];
end
%转换为二进制
yod2=func_dec2bin(yod);
sigma = sqrt(1./(10^(SNR(ij2)/20)*R));
z_hat = func_Dec(2*yod2-1,sigma,H,max_iter);
x_hat = z_hat(size(G,2)+1-size(G,1):size(G,2));
err(ij2,kk) = 1-length(find(bits0(1:end)==x_hat(1:end)'))/length(x_hat(1:end));
end
end
figure;
semilogy(SNR,mean(err,2),'-b^',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.2,0.9,0.5]);
grid on
xlabel('SNR');
ylabel('error');
title('8PSK+LDPC调制解调误码率曲线');
if max_iter==2
save R21.mat SNR err
end
if max_iter==3
save R22.mat SNR err
end
if max_iter==30
save R2.mat SNR err
end
5.仿真结果
8PSK调制解调结合LDPC编译码可以在一定程度上提高通信系统的误码性能。LDPC码具有良好的纠错能力,能够纠正信道传输中引入的错误,从而降低误码率。8PSK调制在频谱效率和误码性能之间有一定的折衷,相比于BPSK等调制方式,其频谱效率更高,但误码性能相对较差。通过 LDPC 编码的纠错作用,可以弥补8PSK 调制在误码性能方面的不足。
6.完整程序下载
完整可运行代码,博主已上传至CSDN,使用版本为matlab2022a:
(本程序包含程序操作步骤视频)
基于8PSK调制解调+LDPC编译码通信链路matlab误码率仿真【包括程序,中文注释,程序操作视频】资源-CSDN文库