1.算法仿真效果
matlab2022a仿真结果如下(完整代码运行后无水印):
仿真操作步骤可参考程序配套的操作视频。
2.算法涉及理论知识概要
该通信系统主要用于图像传输,适用于对图像质量和传输可靠性要求较高的场景,如无人机图像传输、视频监控、无线电视广播等。在复杂的电磁环境中,需要保证图像传输的稳定性和清晰度,因此采用了扩频解扩和 Turbo 译码等技术来提高系统的抗干扰能力。
发射端:包括图像源、QPSK 调制器、扩频器、发射天线等。
接收端:包括接收天线、解扩器、QPSK 解调器、LDPC译码器、图像显示设备等。
2.1 qpsk调制解调
QPSK 调制原理:QPSK 是一种四进制相移键控调制方式,将输入的二进制数据序列分成两路,分别对两个正交的载波进行调制。每路数据根据其值(0 或 1)决定载波的相位,从而产生四个不同的相位状态,分别代表四个不同的符号。通过这种方式,可以在一个符号周期内传输两个比特的信息,提高了数据传输效率。
在接收端,通过对接收信号进行相干解调,恢复出两路正交的载波信号。然后,根据接收信号的相位与四个预设的相位状态进行比较,确定接收到的符号。最后,将解调后的符号转换为二进制数据序列。
2.2 扩频技术
扩频技术是将信号的带宽扩展到比原始信号带宽宽得多的范围内,从而降低信号的功率谱密度,提高抗干扰能力。
在发射端,将原始信号与一个高速的扩频码进行乘法运算,使信号的带宽被扩展。
在接收端,使用与发射端相同的扩频码进行解扩,将信号恢复到原始带宽。
常用的扩频码有伪随机码(如 m 序列、Gold 序列等),具有良好的自相关性和互相关性。
选择合适的扩频码可以提高系统的抗干扰性能和多址能力。
2.3 LDPC译码
低密度奇偶校验码(Low-Density Parity-Check Codes,LDPC)是一种具有逼近香农限性能的信道编码技术。在现代通信系统中,LDPC 码因其优异的性能而得到了广泛的应用。BP(Belief Propagation)译码算法是 LDPC 码的一种重要译码方法,它通过在 Tanner 图上进行消息传递来实现译码。
3.MATLAB核心程序```for i=1:length(SNR)
Rimages = [];
sigma = sqrt(1./(210^(SNR(i)/10)R));
for iii=1:length(datbin)/Iimage_len
[SNR(i),iii,floor(length(datbin)/Iimage_len)]
%产生需要发送的随机数
Trans_data = [datbin(Iimage_len(iii-1)+1:Iimage_leniii)];
ldpc_code = mod(Trans_data*G,2);
%DSSS
pseudoNumber = round(rand(1,fp)');
[dsss,converted,PN2] = func_dsss(ldpc_code,pseudoNumber,fp);
Trans_QPSK = QPSK_modulation(dsss);
%通过高斯信道
Rec_QPSK = awgn(Trans_QPSK,SNR(i),'measured');
ReData = QPSK_demodulation(Rec_QPSK);
%DSSS
dsss2 = func_dsss2(ReData,pseudoNumber,fp);
%ldpc译码
z_hat = func_Dec(dsss2,sigma,H,max_iter);
x_hat = round(z_hat(size(G,2)+1-size(G,1):size(G,2)));
Rimages = [Rimages,x_hat'];
end
Rimages_snr{i} = Rimages;
end
0sj_028m
```