m基于毫米波大规模MIMO系统的的混合GMD波束形成算法matlab误码率仿真

简介: m基于毫米波大规模MIMO系统的的混合GMD波束形成算法matlab误码率仿真

1.算法仿真效果
matlab2022a仿真结果如下:

94e67c4d66fae83b901ba12dbdd3fce5_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.jpg

2.算法涉及理论知识概要
毫米波通信作为第五代移动通信(5G)和未来通信系统的重要技术,能够提供更高的数据传输速率和更大的系统容量。然而,毫米波通信在传输过程中容易受到路径损耗和大气衰减的影响,因此需要采用有效的波束形成算法来提高信号质量。混合波束形成技术结合了射频(RF)和基带(BB)波束形成的优点,能够有效地抵消信道损耗。

e523c13f3fd902eb693a51fbe191c16e_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

实现过程

信道估计:在实际系统中,信道信息通常是未知的,因此需要进行信道估计。可以通过发送已知的训练序列,并通过接收到的信号估计RF和BB信道矩阵。

RF权重计算:利用估计得到的RF信道矩阵,计算RF权重向量$\mathbf{w}_r$。可以采用GMD算法选择与信道向量$\mathbf{h}_r$成正比的权重向量。

BB权重计算:利用估计得到的BB信道矩阵,计算BB权重向量$\mathbf{w}_b$。同样,可以采用GMD算法选择与信道向量$\mathbf{h}_b$成正比的权重向量。

信号传输:将发送的信号$\mathbf{x}$通过RF和BB权重向量进行波束形成,得到最终的传输信号$\hat{x}$。

3.MATLAB核心程序

            GH          = G';UH=U';
            G_1         = GH(1:Nsym,:);
            yc_svd      = UH(1:Nsym,:)*yo_svd;
            yc_gmd      = G_1*yo_gmd;

            W_hysvd     = Wbb(:,:,jc)'*W_somp';
            yc_somp_svd = sqrt(Nsym/Nrf)*W_hysvd*yo_hysvd;

            W_hygmd     = G_SOMP'*W_somp';
            yc_somp_gmd = sqrt(Nsym/Nrf)*W_hygmd*yo_hygmd;


            %SVD解码
            tmp1      = func_VBLAST_decoder(yc_svd,Nsym,S(:,1:Nsym));
            msg_svd   = func_deQAM16(tmp1);

            tmp2      = func_VBLAST_decoder(yc_somp_svd,Nsym,S(:,1:Nsym));
            msg_hysvd = func_deQAM16(tmp2);

            %GMD-SIC解码
            tmp3      = func_VBLAST_decoder(yc_gmd,Nsym,M(:,1:Nsym));
            msg_gmd   = func_deQAM16(tmp3);

            tmp4      = func_VBLAST_decoder(yc_somp_gmd,Nsym,M2);
            msg_hygmd = func_deQAM16(tmp4);


            %错误计数
            cnt_svd   = cnt_svd + sum(msg1~= msg_svd);         
            cnt_hygmd = cnt_hygmd + sum(msg1~= msg_hysvd);                
            cnt_gmd   = cnt_gmd + sum(msg1~= msg_gmd);
            cnt_hysvd = cnt_hysvd + sum(msg1~= msg_hygmd);

        end

    end
    err_svd(ij)   = cnt_svd/N_tbits;
    err_gmd(ij)   = cnt_gmd/N_tbits;
    err_hysvd(ij) = cnt_hysvd/N_tbits;
    err_hygmd(ij) = cnt_hygmd/N_tbits;
end

figure;
semilogy(SNRss,smooth(err_svd),'-bs',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.9,0.0,0.0]);
hold on
semilogy(SNRss,smooth( err_hygmd),'-mo',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.5,0.9,0.0]);
hold on
semilogy(SNRss,smooth(err_gmd),'-b^',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.2,0.9,0.5]);
hold on
semilogy(SNRss,smooth( err_hysvd),'-r>',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.9,0.9,0.0]);
hold on

xlabel('SNR (dB)')
ylabel('BER')
legend('全数字SVD','混合SVD','全数字GMD','混合GMD');
grid on
相关文章
|
1天前
|
算法 数据安全/隐私保护 计算机视觉
基于FPGA的图像双线性插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
本项目展示了256×256图像通过双线性插值放大至512×512的效果,无水印展示。使用Matlab 2022a和Vivado 2019.2开发,提供完整代码及详细中文注释、操作视频。核心程序实现图像缩放,并在Matlab中验证效果。双线性插值算法通过FPGA高效实现图像缩放,确保质量。
|
1天前
|
算法
基于电导增量MPPT控制算法的光伏发电系统simulink建模与仿真
本课题基于电导增量MPPT控制算法,使用MATLAB2022a的Simulink进行光伏发电系统的建模与仿真,输出系统电流、电压及功率。电导增量调制(IC)算法通过检测电压和电流变化率,实时调整光伏阵列工作点,确保其在不同光照和温度条件下始终处于最大功率输出状态。仿真结果展示了该算法的有效性,并结合PWM技术调节逆变流器占空比,提高系统效率和稳定性。
|
21小时前
|
算法
基于SOA海鸥优化算法的三维曲面最高点搜索matlab仿真
本程序基于海鸥优化算法(SOA)进行三维曲面最高点搜索的MATLAB仿真,输出收敛曲线和搜索结果。使用MATLAB2022A版本运行,核心代码实现种群初始化、适应度计算、交叉变异等操作。SOA模拟海鸥觅食行为,通过搜索飞行、跟随飞行和掠食飞行三种策略高效探索解空间,找到全局最优解。
|
20小时前
|
算法 数据可视化 数据安全/隐私保护
一级倒立摆平衡控制系统MATLAB仿真,可显示倒立摆平衡动画,对比极点配置,线性二次型,PID,PI及PD五种算法
本课题基于MATLAB对一级倒立摆控制系统进行升级仿真,增加了PI、PD控制器,并对比了极点配置、线性二次型、PID、PI及PD五种算法的控制效果。通过GUI界面显示倒立摆动画和控制输出曲线,展示了不同控制器在偏转角和小车位移变化上的性能差异。理论部分介绍了倒立摆系统的力学模型,包括小车和杆的动力学方程。核心程序实现了不同控制算法的选择与仿真结果的可视化。
24 13
|
6月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
272 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
6月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
162 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
6月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
138 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
9月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
9月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)

热门文章

最新文章