基于BP神经网络的64QAM解调算法matlab性能仿真

举报
简简单单做算法 发表于 2024/06/22 19:37:31 2024/06/22
【摘要】 1.算法运行效果图预览2.算法运行软件版本MATLAB2022A 3.部分核心程序% 第一部分:加载并可视化数据% load data.matreal1 = [-7 -7 -7 -7 -7 -7 -7 -7 -5 -5 -5 -5 -5 -5 -5 -5 ... -1 -1 -1 -1 -1 -1 -1 -1 -3 -3 -3 -3 -3 -3 -3 -3 ... ...

1.算法运行效果图预览

1.jpeg

2.jpeg

3.jpeg

2.算法运行软件版本

MATLAB2022A

 

3.部分核心程序

% 第一部分:加载并可视化数据
% load data.mat
real1 = [-7 -7 -7 -7 -7 -7 -7 -7 -5 -5 -5 -5 -5 -5 -5 -5 ...
         -1 -1 -1 -1 -1 -1 -1 -1 -3 -3 -3 -3 -3 -3 -3 -3 ...
         +7 +7 +7 +7 +7 +7 +7 +7 +5 +5 +5 +5 +5 +5 +5 +5 ...
         +1 +1 +1 +1 +1 +1 +1 +1 +3 +3 +3 +3 +3 +3 +3 +3 ]./sqrt(42);
    
imag1 = [-7 -5 -1 -3 +7 +5 +1 +3 -7 -5 -1 -3 +7 +5 +1 +3 ...
         -7 -5 -1 -3 +7 +5 +1 +3 -7 -5 -1 -3 +7 +5 +1 +3 ...
         -7 -5 -1 -3 +7 +5 +1 +3 -7 -5 -1 -3 +7 +5 +1 +3 ...
         -7 -5 -1 -3 +7 +5 +1 +3 -7 -5 -1 -3 +7 +5 +1 +3 ]./sqrt(42);
 
IQmap = real1'+sqrt(-1)*imag1';
 
for ij = 1:length(SNR)
    ij
    for j = 1:20
.......................................................
        % 数据划分比例
        divT = 0.05; % 训练数据占全部数据的20%
        divV = 0.2; % 验证数据占全部数据的10%
        % 分割训练集和验证集
        SrxT = Srx(1,1:floor(divT*length(Srx)));% 训练集信号
        StxT = Stx(1,1:floor(divT*length(Stx)));% 训练集期望结果
        SrxV = Srx(1  ,floor(divT*length(Srx))+1:floor((divT+divV)*length(Srx)));% 验证集信号
        StxV = Stx(1  ,floor(divT*length(Stx))+1:floor((divT+divV)*length(Stx)));% 验证集期望结果
        
        [accuracy,yfit] = func_ANN_QAM(Si, Sh, Nlabel, lambda, IQmap, SrxT, StxT, SrxV, StxV);
        err(ij,j)=1-accuracy/100;
    end
end
 
func_constellation(Srx,Stx,0.5)  
 
figure;
semilogy(SNR,mean(err,2),'b-o');
grid on
xlabel('SNR');
ylabel('误码率');
legend('64QAM误码率');
 
 
figure
plot(yfit,'-r>',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.9,0.9,0.0]);
xlabel('训练迭代次数');
ylabel('神经网络训练曲线');
143

 

4.算法理论概述

       64QAM是一种高效的数字调制技术,它通过将6个比特映射到64个不同的复数符号上,以实现高数据传输速率。然而,在通信中,由于信道噪声和多径效应,需要解调器恢复原始的比特序列。基于BPBackpropagation)神经网络的64QAM解调算法,是一种利用神经网络的非线性映射和学习能力,从失真的接收信号中得到原始信号的技术。

 

4.png

 

      BP神经网络是一种多层前馈网络,通过反向传播算法进行学习和优化。在64QAM解调应用中,神经网络的目标是学习从接收到的失真信号到原始比特序列的映射关系。

 

5.png

 

       基于BP神经网络的64QAM解调算法,通过神经网络的学习能力,能够有效地从受噪声影响的接收信号中恢复出原始的比特信息,相较于传统的解调方法,它在处理非线性失真和复杂信道条件时表现出了更强的适应性和鲁棒性。

 

 

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。