此示例显示如何构造正交频分调制(OFDM)调制器/解调器对并指定其导频索引。OFDM调制器系统对象使您能够指定与中描述的约束一致的导频子载波索引comm.OFDMModulator.info
. 在此示例中,对于3x2信道上的OFDM传输,为三个发射天线中的每一个创建导频索引。此外,导频索引在奇数和偶数符号之间不同。
创建一个OFDM调制器对象,具有5个符号,3个发射天线,长度为6个窗口。
ofdmMod=通信OFDMModulator(“FFTLength”, 256,...“NumGuardBandCarriers”(12;11),...“NumSymbols”5....“Numtransmitatenenas”3,...“PilotInputPort”符合事实的...“开窗”符合事实的...“窗口长度”, 6);
为第一个发射天线指定偶数和奇数符号的导频指数。
pilotIndOdd=[20;58;96;145;182;210];pilotIndEven=[35;73;111;159;197;225];pilotIndicesAnt1=猫(2,pilotIndOdd,pilotIndEven,pilotIndOdd,...pilotIndEven,pilotIndOdd);
基于为第一天线指定的索引,为第二和第三天线生成导频索引。连接三个天线的索引并将其分配给引航员
所有物
pilotIndicesAnt2=pilotIndicesAnt1+5;pilotIndicesAnt3=pilotIndicesAnt1-5;ofdmMod.PILOTCARIENDICES=猫(3,pilotIndicesAnt1,pilotIndicesAnt2,pilotIndicesAnt3);
在现有OFDM调制器系统对象的基础上创建具有两个接收天线的OFDM解调器。使用以下步骤确定数据和导向尺寸:信息
作用
ofdmDemod = comm.OFDMDemodulator (ofdmMod);ofdmDemod。NumReceiveAntennas = 2;dim = info (ofdmMod)
dim =带字段的结构:DataInputSize:[215 5 3]PilotInputSize:[6 5 3]OutputSize:[1360 3]
根据中指定的阵列大小,为OFDM调制器生成数据和导频符号莫迪姆
.
dataIn=complex(randn(dims.DataInputSize),randn(dims.DataInputSize));pilotIn=复合物(randn(dims.PilotInputSize),randn(dims.PilotInputSize));
将OFDM调制应用于数据和导频。
modOut=ofdmod(数据输入,pilotIn);
通过3x2随机通道传递调制数据。
chanGain = complex(randn(3,2), randn(3,2)));chanOut = modOut * chanGain;
使用OFDM解调器对象解调接收的数据。
[dataOut,pilotOut]=ofdmDemod(chanOut);
显示三个发射天线的资源映射。图中的灰线显示了自定义零点的位置,以避免天线之间的干扰。
showResourceMapping(ofdmMod)
对于第一对发射天线和第一对接收天线,演示输入导频信号与输入导频信号匹配。
pilotCompare=abs(pilotIn(:,:,1)*chanGain(1,1))-abs(pilotOut(:,:,1,1));最大(pilotCompare(:)<1e-10)
ans=必然的1.