主要内容

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

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

检查是否安装了支持包万博1manbetx

检查是否安装了“WINNER II Channel Model for Communications Toolbox”支持包。万博1manbetx

comm万博1manbetxSupportPackageCheck(“CST_WINNER2”);

天线阵列清单

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

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

  • 半径为30厘米的16个元件

  • 半径为30厘米的12个元件

  • 半径为30厘米的8个元件

  • 4个半径为5cm的元件

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

s=rng(21);%重复性AA(1)=winner2.天线阵列(“UCA”,16,0.3); AA(2)=winner2.天线阵列(“UCA”,12,0.3);AA(3)=winner2.天线阵列(“UCA”,8,0.3);AA(4)=winner2.天线阵列(“UCA”,4,0.05);

配置系统布局

在300×300(米)的地图上,我们将建立3个基站、5个基站和6条链路。第一个基站有一个扇区,配备16个单元的UCA。第二个基站也有一个扇区,配备12个单元的UCA。第三个基站有三个扇区,每个扇区配备8个单元的UCA。每个基站都分配有一个4个单元的UCA。

BSIdx={1;2;[3]};%天线阵资源清册向量中的索引MSIdx=[4];%天线阵资源清册向量中的索引numLinks=6;%链接数范围=300;%布局范围(米)cfgLayout=winner2.layoutpasset(MSIdx、BSIdx、numLinks、AA、range);

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

cfgLayout.Pairing=[1 1 2 3 4;6 7 8 9 10];%cfgLayout.站中的索引cfgLayout.ScenarioVector=[6 6 13 11];%B4为6,C2为11,C4为13cfgLayout.PropagConditionVector=[0];%非直瞄为0

三个基站在x轴上均匀间隔在0到300之间,在y轴上具有相同的位置。分配MS位置以确保它们到连接基站的距离在相应场景的有效路径损耗范围内。具体而言,B4、C2和C4场景的范围为[3,1000]、[50,5000]和[3,1000]分别为[50,5000]米。默认情况下,每个BS扇区的高度为32米,MS的高度为1.5米。每个MS随机分配的速度在X、Y和Z方向上均不超过0.5米/秒。

%系统中BS扇区和MS的数量numbsect=总和(cfgLayout.NofSect);numMS=长度(MSIdx);%为BS部门设立职位。第三、第四和第三个位置相同%第五个扇区,因为它们属于一个BS。cfglaout.站(1).位置(1:2)=[50;150];cfglaout.站(2).位置(1:2)=[150;150];cfglaout.站(3).位置(1:2)=[250;150];cfglaout.站(4).位置(1:2)=[250;150];cfglaout.站(5).位置(1:2)=[250;150];%设置MS位置cfgLayout.站(6).位置(1:2)=[10;180];%距离第一BS 50米cfgLayout.站(7).位置(1:2)=[60;50];%距离第一个BS 111.8米cfgLayout.站(8).位置(1:2)=[194;117];%分别距第二和第三BSs 55米和65米cfgLayout.站(9).位置(1:2)=[260;270];%距离第三个BS 120.4mcfgLayout.站(10).位置(1:2)=[295;90];%距离第三个BS 75米%随机抽取MS速度对于i=numbsect+(1:numMS)cfgLayout.站(i).速度=rand(3,1)-0.5;终止

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

%获取所有BS扇区和MS位置BSPos=cell2mat({cfgLayout.Stations(1:numbsect.Pos});MSPos=cell2mat({cfgLayout.Stations(numbsect+1:end.Pos});scrsz=get(groot,“屏幕大小”); figSize=min(scrsz([3,4]))/2.3;身材(“位置”,[scrsz(3)*.5-figSize/2,scrsz(4)*.7-figSize/2,figSize,figSize]);保持在…上网格在…上;hBS=绘图(BSPos(1,:),BSPos(2,:),“或者”);%B区hMS=绘图(MSPos(1,:),MSPos(2,:),“xb”);%绘图MS对于linkIdx=1:numLinks%绘图链接pairStn=cfgLayout.Pairing(:,linkIdx);pairPos=cell2mat({cfgLayout.Stations(pairStn.Pos});plot(pairPos(1,:),pairPos(2,:),“-b”);终止xlim([0 300]);ylim([0 300]);xlabel('X位置(米)'); 伊拉贝尔(‘Y位置(米)’)图例([hBS,hMS],“BS”,“女士”,“位置”,“西北”);

图中包含一个Axis对象。Axis对象包含8个line类型的对象。这些对象表示BS、MS。

配置模型参数

可以在由创建的结构中调整多个模型参数winner2.wimpasset函数。在本例中,中心频率为5.25 GHz。对每条链路的路径损耗和阴影衰落进行建模。为了支持高达100 MHz的带宽,每条链路的两个最强簇被划分为3个子簇,每个子簇相隔5 ns。所有链路都以不同速率采样,这取决于MSs的速度。因为ird和第四链万博1manbetx路连接到相同的MS,它们共享相同的采样率。

frameLen=1600;%要生成的样本数cfgWim=winner2.wimpasset;cfgWim.NumTimeSamples=frameLen;cfgWim.intracustersused=“是的”;cfgWim.CenterFrequency=5.25e9;cfgWim.uniformtime采样=“不”;cfgWim.shadowingmodel已使用=“是的”;cfgWim.pathlosmoulsed=“是的”cfgWim.RandomSeed=31415926;%重复性

创建WINNER II通道系统对象™

我们现在可以使用模型和布局配置来创建WINNER II通道系统对象。创建对象后,您可以调用其信息方法查看一些派生的系统参数。例如,在信息方法返回麻木的选择,NumMSElements努帕斯字段表示BS扇区的阵列元素数量、MSs的阵列元素数量以及每个链路的路径数量取样频率字段还显示每个链接的采样率。

WINNERChan=comm.winner2频道(cfgWim,cfgLayout);chanInfo=info(WINNERChan)
chanInfo=带字段的结构:NumLinks:6个numSelements:[16 12 8 8]NumMSElements:[4 4 4]NumPaths:[16 16 16 24]采样器:[3.0636e+07 3.5303e+07 2.7559e+07 2.7559e+07…]通道过滤器延迟:[7 7]numsamples进程:0

处理每个链路的脉冲信号

我们通过每个链路传递一个脉冲信号,并观察MS处的脉冲和频率响应。为此,我们需要为每个链路创建脉冲信号,并将其聚合到一个单元阵列中。这是通过使用麻木的选择领域信息方法返回和赛尔芬作用脉冲信号单元阵列将由通道对象处理。

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

绘制MSs处的接收信号,可以了解衰落信道的脉冲和频率响应在每个链路上的表现。在每毫秒的4个天线中,仅绘制第一个天线处的接收信号。脉冲响应图中记录了链路以不同速率采样的事实。对于每个链路,信道滤波器延迟的前几个采样绘制在负时间轴上(如果有)。

身材(“位置”,[scrsz(3)*.3-figSize/2,scrsz(4)*.25-figSize/2,figSize,figSize]);持有在…上;对于linkIdx=1:numLinks delay=chanInfo.ChannelFilterDelay(linkIdx);茎((0:(frameLen-1))-delay)/chanInfo.SampleRate(linkIdx),...abs(rxSig{LinkId}(:,1));终止maxX=max(cell2mat(cellfun)(x)find(abs(x))小于1e-8,1,“第一”),...rxSig.',“UniformOutput”,false))-chanInfo.ChannelFilterDelay)/...chanInfo.SampleRate);minX=-max(chanInfo.ChannelFilterDelay./chanInfo.SampleRate);xlim([minX,maxX]);xlabel(‘时间’); 伊拉贝尔(“震级”);传奇(“链接1”,“链接2”,“链接3”,“链接4”,“链接5”,“链接6”);头衔(“第一个接收天线的脉冲响应”);

图中包含一个轴对象。标题为“第一接收天线脉冲响应”的轴对象包含6个stem类型的对象。这些对象表示链接1、链接2、链接3、链接4、链接5和链接6。

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

SA=dsp.SpectrumAnalyzer(...“姓名”,“频率响应”,...“光谱类型”,“功率密度”,...“采样器”,chanInfo.SampleRate(3),...“位置”,[scrsz(3)*.7-figSize/2,scrsz(4)*.25-figSize/2,figSize,figSize],...“头衔”,“频率响应”,...“ShowLegend”符合事实的...“频道名称”, {“链接3”,“链接4”}); SA(cell2mat(cellfun)(@(x)x(:,1),rxSig(3:4,1)),“UniformOutput”,假的);

Figure频率响应包含轴对象和uiflowcontainer、uimenu、uitoolbar类型的其他对象。标题频率响应的轴对象包含2个line类型的对象。这些对象表示链接3、链接4。

rng(s);%恢复RNG

进一步探索

该示例显示了如何配置WINNER II衰落信道系统对象,以对具有从BSs到MSs的多个MIMO链路的系统进行建模cfgLayoutcfgWim对不同的天线阵列进行建模,如均匀线性阵列(ULA)、基站/基站位置和配对、传播场景和条件等。

因为第三和第四链路连接到同一MS,所以您可以通过适当偏移采样来考虑两个链路上的信道滤波器延迟,从而组合来自两个链路的接收信号。

精选书目

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