主要内容

基于WINNER II信道模型的多衰落信道同步仿真

此示例显示如何设置具有多个基站(BS)、多个移动站(MS)以及从一个BS扇区到一个MS的多个MIMO下行链路的系统。要运行此示例,必须下载并安装WINNER II通信工具箱™附加组件信道模型。每个链接都分配了一个传播场景和条件。所有链路的衰落信道系数同时生成。每个链路的一个脉冲信号通过衰落信道传递。接收到的脉冲和频率响应被绘制为选定的链接。

检查支持包是否安装金宝app

检查是否安装了“WINNER II通信工具箱通道模型”支持包。金宝app

comm金宝appSupportPackageCheck (“CST_WINNER2”);

天线阵列清单

在WINNER II信道模型中,每个BS由一个或多个扇区组成,每个BS扇区和MS分配一个天线阵列。我们首先需要建立一组可供BS扇区和MS使用的阵列,我们称之为天线阵列库存。

在本例中,所有可用的天线阵列均为均匀圆形阵列(UCA)。清单中有四种不同的UCAs:

  • 16个元素,半径为30cm

  • 12个元素,半径为30cm

  • 8个元素,半径30cm

  • 4个元素,半径为5cm

UCAs中的每个天线单元都是全向的。

S = rng(21);%用于重复性AA(1) =赢家2。AntennaArray (“台湾”16、0.3);AA(2) = winner2。AntennaArray (“台湾”12、0.3);AA(3) =赢家2。AntennaArray (“台湾”8, 0.3);AA(4) =赢家2。AntennaArray (“台湾”4、0.05);

配置系统布局

在一个300 * 300(米)的地图上,我们将设置3个BS, 5个MS和6个链接。第一艘BS有一个扇区,配备了一个16单元UCA。第二个BS也有一个扇区配备了一个12元素UCA。第三个BS有三个扇区,每个扇区配备一个8单元UCA。每个MS都分配了一个4元素UCA。

BSIdx = {1;2;[3 3 3]};天线阵列库存矢量中的指数MSIdx = [4 4 4 4 4 4];天线阵列库存矢量中的指数numLinks = 6;%链接数范围= 300;%布局范围(米)cflayout = winner2.layoutparset(MSIdx,BSIdx,numLinks,AA,range);

在系统中建模了六个环节。第一个BS连接到第一个和第二个ms。对于第三个BS,它的第一个扇区连接到第三个和第四个MS,它的第二个扇区连接到第五个MS,它的第三个扇区不连接任何MS。从MS的角度来看,除了第三个扇区连接到第二个和第三个BS,其他扇区都连接到一个BS。每个链接都分配了一个传播场景,从B4(室外到室内)、C2(城市宏单元)和C4(城市宏室外到室内)中选择。非视距(NLOS)为每个链接建模。

cfgLayout。配对= [1 1 2 3 3 4;6 7 8 8 9 10];% cflayout中的索引。站cfgLayout。场景向量= [6 6 13 13 11 11];B4 % 6, C2 % 11, C4 % 13cfgLayout。PropagConditionVector = [0 0 0 0 0 0];% 0为NLOS

这三个BSs在x轴上均匀地间隔在0到300之间,在y轴上具有相同的位置。分配MS位置是为了确保它们到连接的BSs的距离在相应场景的有效路径损耗范围内。具体来说,B4、C2和C4场景的范围分别为[3,1000]、[50,5000]和[50,5000]米。缺省情况下,每个BS扇区高度为32m, MS扇区高度为1.5 m。每个MS在X、Y和Z方向上的速度都不超过0.5 m/s。

%系统中BS扇区和ms数量numssect = sum(cfgLayout.NofSect);numMS =长度(MSIdx);为BS部门建立仓位。第三,第四和%第五部门,因为他们属于一个BS。cfgLayout.Stations(1).Pos(1:2) = [50;150);cfgLayout.Stations(2).Pos(1:2) = [150;150);cfgLayout.Stations(3).Pos(1:2) = [250;150);cfgLayout.Stations(4).Pos(1:2) = [250;150);cfgLayout.Stations(5).Pos(1:2) = [250;150);设置MS位置cfgLayout.Stations(6).Pos(1:2) = [10;180);% 50米从第一BScfgLayout.Stations(7).Pos(1:2) = [60;50);% 1118米从第一BScfglaout . stations (8).Pos(1:2) = [194;117);%第二和第三名分别为5500万和6500万cfglaout . stations (9).Pos(1:2) = [260;270);% 1204米从第三BScfglaout . stations (10).Pos(1:2) = [295;90);% 75m从3 BS随机绘制MS速度i = numssect + (1:numMS) cfgLayout.Stations(i)。速度= rand(3,1) - 0.5;结束

为了说明系统设置,我们将在二维地图上绘制BSs、MSs以及它们之间的链接。在图中,每个BS扇区用一个圆表示,每个MS用一个十字表示,每个链接用对应的BS和MS之间的直线表示,因为第三个BS有三个扇区,所以在地图上只显示了三个圆。

获得所有BS部门和MS职位BSPos = cell2mat({cfgLayout.Stations(1: numssect).Pos});MSPos = cell2mat({cfgLayout.Stations(numbersect +1:end).Pos});SCRSZ = get(根,“拉”);figSize = min(scrsz([3,4]))/2.3;图(“位置”, (scrsz (3) * .5-figSize / 2, scrsz (4) * .7-figSize / 2, figSize, figSize]);持有;网格;hBS = plot(BSPos(1,:)),BSPos(2,:),”或“);%图BShMS = plot(MSPos(1,:)),MSPos(2,:),“xb”);%图MSlinkIdx = 1:numLinks%绘图链接pairStn = cfglayout .配对(:,linkIdx);pairPos = cell2mat({cfgLayout.Stations(pairStn).Pos});情节(pairPos (1:), pairPos (2:)“- b”);结束xlim (300 [0]);ylim (300 [0]);包含(X位置(米));ylabel (“Y位置(米)”传说,传说[hBS, hMS],“废话”“女士”“位置”“西北”);

图中包含一个轴对象。axis对象包含8个line类型的对象。这些对象代表BS, MS。

配置模型参数

控件创建的结构中有多个模型参数可以调整winner2.wimparset函数。本例中,中心频率为5.25 GHz。对每个链路进行路径损耗和阴影衰落建模。为了支金宝app持高达100mhz的带宽,每条链路的两个最强集群被划分为3个子集群,每个子集群间隔5ns。所有环节都以不同的速率采样,这取决于MSs的速度。因为第三和第四个链接连接到同一个MS,所以它们共享相同的采样率。

frameLen = 1600;%要生成的样本数量cfgWim = winner2.wimparset;cfgWim。NumTimeSamples = frameLen;cfgWim。IntraClusterDsUsed =“是的”;cfgWim。CenterFrequency = 5.25e9;cfgWim。UniformTimeSampling =“不”;cfgWim。ShadowingModelUsed =“是的”;cfgWim。PathLossModelUsed =“是的”;cfgWim。RandomSeed = 31415926;%用于重复性

创建WINNER II通道系统对象™

我们现在可以使用模型和布局配置来创建WINNER II通道系统对象。对象创建后,可以调用它的信息方法查看一些派生的系统参数。例如,在信息方法返回时,NumBSElementsNumMSElements而且NumPaths字段表示BS扇区阵列元素的个数,ms扇区阵列元素的个数,以及每条链路的路径数。的SampleRate字段还显示每个链接的采样率。

WINNERChan = com . winner2channel (cfgWim,cfgLayout);chanInfo = info(WINNERChan)
chanInfo =带字段的结构:NumLinks: 6 numselements: [16 16 12 8 8 8] NumMSElements: [4 4 4 4 4 4 4 4 4 4 4 4] NumPaths: [16 16 16 16 24 24] SampleRate: [3.0636e+07 3.5303e+07 2.75559e +07 2.75559e +07…ChannelFilterDelay: [7 7 7 7 7 7 7 7] NumSamplesProcessed: 0

每个环节的处理脉冲信号

我们通过每个链接传递一个脉冲信号,并观察ms处的脉冲和频率响应。为此,我们需要为每个链接创建脉冲信号,并将它们聚合到一个单元格数组中。这是通过使用NumBSElements字段信息方法返回,而cellfun函数。脉冲信号单元阵列将由通道对象处理。

txSig = cellfun (@ (x) [1 (1, x); 0 (frameLen-1 x)),...num2cell (chanInfo.NumBSElements)”,“UniformOutput”、假);rxSig = WINNERChan(txSig);%通过每个链路传递脉冲信号

在MSs处绘制接收到的信号,可以了解衰落信道的脉冲和频率响应如何寻找每个链路。在每个MS的4个天线中,只有第一个天线的接收信号被绘制出来。脉冲响应图捕捉到的事实是,链接以不同的速率采样。对于每个链路,来自信道滤波器延迟的前几个样本被绘制在负时间轴上(如果有的话)。

图(“位置”, (scrsz (3) * .3-figSize / 2, scrsz (4) * .25-figSize / 2, figSize, figSize]);持有linkIdx = 1:numLinks delay = chanInfo.ChannelFilterDelay(linkIdx);茎(((0:(frameLen-1))延迟)/ chanInfo.SampleRate (linkIdx),...abs (rxSig {linkIdx} (: 1)));结束maxX = max((cell2mat(cellfun(@(x)) find(abs(x) < 1e-8,1,“第一”),...rxSig。’,“UniformOutput”- chanInfo.ChannelFilterDelay)./...chanInfo.SampleRate);minX = -max(chanInfo.ChannelFilterDelay./chanInfo.SampleRate);xlim([风骚女子,maxX]);包含(“时间(s)”);ylabel (“级”);传奇(“链接1”“链接2”'链接3 ''链接4 '“链接5”“链接6”);标题(“第一接收天线的脉冲响应”);

图中包含一个轴对象。标题为“第一接收天线的脉冲响应”的轴对象包含6个茎型对象。这些对象分别代表Link 1、Link 2、Link 3、Link 4、Link 5、Link 6。

由于第三和第四个链接连接到相同的MS,因此具有相同的采样率,我们使用Spectrum Analyzer System对象将它们绘制在一起。这两条链路各有16条路径,并显示出显著的频率选择性。

SA = dsp。简介(...“名字”的频率响应...“SpectrumType”的功率密度...“SampleRate”chanInfo.SampleRate (3),...“位置”, (scrsz (3) * .7-figSize / 2, scrsz (4) * .25-figSize / 2, figSize, figSize),...“标题”的频率响应...“ShowLegend”,真的,...“ChannelNames”, {'链接3 ''链接4 '});SA (cell2mat (cellfun (@ (x) x (: 1), rxSig(3:4, 1)”,“UniformOutput”、假)));

图频率响应包含坐标轴对象和uiflowcontainer、uimenu、uitoolbar等类型的对象。标题为Frequency Response的axes对象包含2个类型为line的对象。这些对象代表Link 3, Link 4。

rng(年代);%恢复RNG

进一步的探索

该示例演示如何配置WINNER II衰落信道系统对象,以模拟具有从BSs到MSs的多个MIMO链路的系统。进一步的探索包括对字段的修改cfgLayout而且cfgWim模拟不同的天线阵列,如均匀线性阵列(ULA)、BS/MS位置和配对、传播场景和条件等。

由于第三和第四个链路连接到相同的MS,您可以通过适当地抵消样本来组合来自两个链路的接收信号,以考虑两个链路上的信道滤波器延迟。

选定的参考书目

  1. IST WINNER II,“WINNER II渠道模型”,D1.1.2, 2007年9月。