大规模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电子书和数学建模资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值