大规模MIMO通信系统的发射端采用混合波束成形附Matlab代码

简介: 大规模MIMO通信系统的发射端采用混合波束成形附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机 电力系统

⛄ 内容介绍

此示例展示了如何在大规模 MIMO 通信系统的发射端采用混合波束成形,同时使用适用于多用户和单用户系统的技术。该示例采用全信道探测来确定发射机的信道状态信息。它将所需的预编码分为数字基带和模拟 RF 组件,对多用户和单用户系统使用不同的技术。简化的全数字接收器恢复多个传输的数据流,以突出通信系统的通用品质因数,即 EVM 和 BER。

该示例采用基于散射的空间信道模型,该模型考虑了发射/接收空间位置和天线方向图。还提供了一个更简单的静态平坦 MIMO 信道用于链路验证目的。

对高数据速率和更多用户容量不断增长的需求增加了更有效地使用可用频谱的需求。多用户 MIMO (MU-MIMO) 通过允许基站 (BS) 发射机使用相同的时频资源同时与多个移动台 (MS) 接收机通信来提高频谱效率。Massive MIMO 允许 BS 天线元件的数量在数十或数百数量级,从而也将小区中的数据流数量增加到一个很大的值。

下一代 5G 无线系统使用毫米波 (mmWave) 频段来利用其更宽的带宽。5G 系统还部署了大规模天线阵列,以减轻毫米波频段中严重的传播损耗。

与当前的无线系统相比,毫米波波段的波长要小得多。虽然这允许阵列在相同物理尺寸内包含更多元件,但为每个天线元件提供一个发射-接收 (TR) 模块或射频链变得更加昂贵。混合收发器是一种实用的解决方案,因为它们结合使用了 RF 中的模拟波束形成器和基带域中的数字波束形成器,其 RF 链少于发射元件的数量 [1]。

此示例使用多用户 MIMO-OFDM 系统来强调将所需的预编码划分为发射端的数字基带和 RF 模拟组件。基于相控阵 MIMO-OFDM 预编码示例中突出显示的系统,此示例展示了传输端预编码矩阵的公式及其在 MIMO-OFDM 系统中的应用。

⛄ 部分代码

clear;                              % Clear worksapace


s = rng(67);                        % Set RNG state for repeatability


%% DEFINE SYSTEM PARAMETERS FOR THE EXAMPLE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


% Multi-user system with single/multiple streams per user

prm.numUsers = 4;                   % Number of users

prm.numSTSVec = [3 2 1 2];          % Number of independent data streams per user

prm.numSTS = sum(prm.numSTSVec);    % Must be a power of 2

prm.numTx = prm.numSTS * 8;         % Number of BS transmit antennas (power of 2)

prm.numRx = prm.numSTSVec * 4;      % Number of receive antennas, per user (any >= numSTSVec)


% Each user has the same modulation

prm.bitsPerSubCarrier = 4;          % 2: QPSK, 4: 16QAM, 6: 64QAM, 8: 256QAM

prm.numDataSymbols = 10;            % Number of OFDM data symbols


% MS positions: assumes BS at origin

%   Angles specified as [azimuth;elevation] degrees

%   az in range [-180 180], el in range [-90 90], e.g. [45;0]

maxRange = 1000;                    % all MSs within 1000 meters of BS

prm.mobileRanges = randi([1 maxRange], 1, prm.numUsers);

prm.mobileAngles = [rand(1, prm.numUsers) * 360 - 180; ...

                   rand(1, prm.numUsers) * 180 - 90];

⛄ 运行结果

⛄ 参考文献

[1] Molisch, A. F., et al. "Hybrid Beamforming for Massive MIMO: A Survey." IEEE Communications Magazine, Vol. 55, No. 9, September 2017, pp. 134-141.

⛄ Matlab代码关注

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
|
7天前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
|
7天前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
86 14
|
7天前
|
机器学习/深度学习 算法
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
【概率Copula分类器】实现d维阿基米德Copula相关的函数、HACs相关的函数研究(Matlab代码实现)
|
9天前
|
算法 计算机视觉
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
【MPDR & SMI】失配广义夹角随输入信噪比变化趋势、输出信干噪比随输入信噪比变化趋势研究(Matlab代码实现)
|
9天前
|
编解码 人工智能 算法
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)
|
9天前
|
机器学习/深度学习 编解码 并行计算
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
【改进引导滤波器】各向异性引导滤波器,利用加权平均来实现最大扩散,同时保持图像中的强边缘,实现强各向异性滤波,同时保持原始引导滤波器的低低计算成本(Matlab代码实现)
|
9天前
|
机器学习/深度学习 传感器 边缘计算
【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)
【故障诊断】基于时滞反馈随机共振的增强型旋转电机故障诊断(Matlab代码实现)
|
9天前
|
传感器 机器学习/深度学习 算法
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
【UASNs、AUV】无人机自主水下传感网络中遗传算法的路径规划问题研究(Matlab代码实现)
|
9天前
|
运维 算法
【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)
【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)
|
7天前
|
机器学习/深度学习 传感器 算法
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)

热门文章

最新文章