%% Massive MIMO Hybrid Beamforming
%
% This example shows how hybrid beamforming is employed at the transmit end
% of a massive MIMO communications system, using techniques for both
% multi-user and single-user systems. The example employs full channel
% sounding for determining the channel state information at the
% transmitter. It partitions the required precoding into digital baseband
% and analog RF components, using different techniques for multi-user and
% single-user systems. Simplified all-digital receivers recover the
% multiple transmitted data streams to highlight the common figures of
% merit for a communications system, namely, EVM, and BER.
%
% The example employs a scattering-based spatial channel model which
% accounts for the transmit/receive spatial locations and antenna patterns.
% A simpler static-flat MIMO channel is also offered for link validation
% purposes.
%
% The example requires Communications Toolbox(TM) and Phased Array System
% Toolbox(TM).
% Copyright 2017-2022 The MathWorks, Inc.
%% Introduction
%
% The ever-growing demand for high data rate and more user capacity
% increases the need to use the available spectrum more efficiently.
% Multi-user MIMO (MU-MIMO) improves the spectrum efficiency by allowing a
% base station (BS) transmitter to communicate simultaneously with multiple
% mobile stations (MS) receivers using the same time-frequency resources.
% Massive MIMO allows the number of BS antenna elements to be on the order
% of tens or hundreds, thereby also increasing the number of data streams
% in a cell to a large value.
%
% The next generation, 5G, wireless systems use millimeter wave (mmWave)
% bands to take advantage of their wider bandwidth. The 5G systems also
% deploy large scale antenna arrays to mitigate severe propagation loss in
% the mmWave band.
%
% Compared to current wireless systems, the wavelength in the mmWave band
% is much smaller. Although this allows an array to contain more elements
% within the same physical dimension, it becomes much more expensive to
% provide one transmit-receive (TR) module, or an RF chain, for each
% antenna element. Hybrid transceivers are a practical solution as they use
% a combination of analog beamformers in the RF and digital beamformers in
% the baseband domains, with fewer RF chains than the number of transmit
% elements [ <#16 1> ].
%
% This example uses a multi-user MIMO-OFDM system to highlight the
% partitioning of the required precoding into its digital baseband and RF
% analog components at the transmitter end. Building on the system
% highlighted in the <docid:phased_ug.example-ex99325121> example,
% this example shows the formulation of the transmit-end precoding matrices
% and their application to a MIMO-OFDM system.
s = rng(67); % Set RNG state for repeatability
%% System Parameters
%
% Define system parameters for the example. Modify these parameters to
% explore their impact on the system.
% 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];
prm.fc = 28e9; % 28 GHz system
prm.chanSRate = 100e6; % Channel sampling rate, 100 Msps
prm.ChanType = 'Scattering'; % Channel options: 'Scattering', 'MIMO'
prm.NFig = 8; % Noise figure (increase to worsen, 5-10 dB)
prm.nRays = 500; % Number of rays for Frf, Fbb partitioning
%%
% Define OFDM modulation parameters used for the system.
prm.FFTLength = 256;
prm.CyclicPrefixLength = 64;
prm.numCarriers = 234;
prm.NullCarrierIndices = [1:7 129 256-5:256]'; % Guards and DC
prm.PilotCarrierIndices = [26 54 90 118 140 168 204 232]';
nonDataIdx = [prm.NullCarrierIndices; prm.PilotCarrierIndices];
prm.CarriersLocations = setdiff((1:prm.FFTLength)', sort(nonDataIdx));
numSTS = prm.numSTS;
numTx = prm.numTx;
numRx = prm.numRx;
numSTSVec = prm.numSTSVec;
codeRate = 1/3; % same code rate per user
numTails = 6; % number of termination tail bits
prm.numFrmBits = numSTSVec.*(prm.numDataSymbols*prm.numCarriers* ...
prm.bitsPerSubCarrier*codeRate)-numTails;
prm.modMode = 2^prm.bitsPerSubCarrier; % Modulation order
% Account for channel filter delay
numPadSym = 3; % number of symbols to zeropad
prm.numPadZeros = numPadSym*(prm.FFTLength+prm.CyclicPrefixLength);
%%
% Define transmit and receive arrays and positional parameters for the
% system.
prm.cLight = physconst('LightSpeed');
prm.lambda = prm.cLight/prm.fc;
% Get transmit and receive array information
[isTxURA,expFactorTx,isRxURA,expFactorRx] = helperArrayInfo(prm,true);
% Transmit antenna array definition
% Array locations and angles
prm.posTx = [0;0;0]; % BS/Transmit array position, [x;y;z], meters
if isTxURA
% Uniform Rectangular array
txarray = phased.PartitionedArray(...
'Array',phased.URA([expFactorTx numSTS],0.5*prm.lambda),...
'SubarraySelection',ones(numSTS,numTx),'SubarraySteering','Custom');
else
% Uniform Linear array
txarray = phased.ULA(numTx, 'ElementSpacing',0.5*prm.lambda, ...
'Element',phased.IsotropicAntennaElement('BackBaffled',false));
end
prm.posTxElem = getElementPosition(txarray)/prm.lambda;
spLoss = zeros(prm.numUsers,1);
prm.posRx = zeros(3,prm.numUsers);
for uIdx = 1:prm.numUsers
% Receive arrays
if isRxURA(uIdx)
% Uniform Rectangular array
rxarray = phased.PartitionedArray(...
'Array',phased.URA([expFactorRx(uIdx) numSTSVec(uIdx)], ...
0.5*prm.lambda),'SubarraySelection',ones(numSTSVec(uIdx), ...
numRx(uIdx)),'SubarraySteering','Custom');
prm.posRxElem = getElementPosition(rxarray)/prm.lambda;
else
if numRx(uIdx)>1
% Uniform Linear array
rxarray = phased.ULA(numRx(uIdx), ...
'ElementSpacing',0.5*prm.lambda, ...
'Element',phased.IsotropicAntennaElement);
prm.posRxElem = getElementPosition(rxarray)/prm.lambda;
else
rxarray = phased.IsotropicAntennaElement;
prm.posRxElem = [0; 0; 0]; % LCS
end
end
% Mobile positions
[xRx,yRx,zRx] = sph2cart(deg2rad(prm.mobileAngles(1,uIdx)), ...
deg2rad(prm.mobileAngles(2,uIdx)), ...
prm.mobileRanges(uIdx));
prm.posRx(:,uIdx) = [xRx;yRx;zRx];
[toRxRange,toRxAng] = rangeangle(prm.posTx,prm.posRx(:,uIdx));
spLoss(uIdx) = fspl(toRxRange,prm.lambda);
end
%% Channel State Information
%
% For a spatially multiplexed system, availability of channel information
% at the transmitter allows for precoding to be applied to maximize the
% signal energy in the direction and channel of interest. Under the
% assumption of a slowly varying channel, this is facilitated by sounding
% the channel first. The BS sounds the channel by using a reference
% transmission, that the MS receiver uses to estimate the channel. The MS
% transmits the channel estimate information back to the BS for calculation
% of the precoding needed for the subsequent data transmission.
%
% The following schema
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
一、前言 本 例 说明 了 如何 在 大规模 MIMO 通信 系统 的 发射 端 采用 混合 波束 成形, 同时 使用 多 用户 和 单 用户 系统 的 技术。该示例采用全通道探测来确定发射机的通道状态信息。它将所需的预编码划分为数字基带和模拟RF组件,对多用户和单用户系统使用不同的技术。简化的全数字接收器可恢复多个传输的数据流,以突出显示通信系统的常见品质因数,即EVM和BER。 该示例采用基于散射的空间信道模型,该模型考虑了发射/接收空间位置和天线方向图。还提供更简单的静态扁平MIMO通道,用于链路验证目的。 二、介绍 对高数据速率和更多用户容量的需求不断增长,因此需要更有效地使用可用频谱。多用户 MIMO (MU-MIMO) 允许基站 (BS) 发射器使用相同的时频资源与多个移动站 (MS) 接收器同时通信,从而提高频谱效率。大规模MIMO允许BS天线元件的数量达到数十或数百个,从而也将小区中的数据流数量增加到一个很大的值。 下一代 5G 无线系统使用毫米波 (mmWave) 频段来利用其更宽的带宽。5G系统还部署了大规模天线阵列,以减轻毫米波频段的严重传播损耗。
资源推荐
资源详情
资源评论
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 11 条
- 1
![avatar](https://profile-avatar.csdnimg.cn/628454e4fe8c40a08e43ee539a1172c6_weixin_45770896.jpg!1)
珞瑜·
- 粉丝: 11w+
- 资源: 500
![benefits](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-1.c8e153b4.png)
下载权益
![privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-2.ec46750a.png)
C知道特权
![article](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-3.fc5e5fb6.png)
VIP文章
![course-privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-4.320a6894.png)
课程特权
![rights](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-icon.fe0226a8.png)
开通VIP
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
- 1
- 2
- 3
前往页