主要内容

正交相移编码和OFDM与MATLAB系统对象

这个例子展示了如何模拟基本通信系统的信号首先QPSK调制,然后进行正交频分复用。然后信号被加性高斯白噪声通过一个通道之前去复用和解调。最后,一些错误的数量计算。的示例展示了使用MATLAB®系统™对象。

设置仿真参数。

M = 4;%调制字母表k = log2 (M);%比特/符号numSC = 128;% OFDM副载波的数量cpLen = 32;% OFDM循环前缀长度maxBitErrors = 100;%最大数量的错误maxNumBits = 1 e7;%最大传输的比特数

构建系统仿真所需的对象:QPSK调制器,QPSK解调器,OFDM调制器,OFDM解调器,错误率AWGN信道和一个计算器。使用名称-值对设置对象属性。

设置QPSK调制器和解调器接受二进制输入。

qpskMod = comm.QPSKModulator (“BitInput”,真正的);qpskDemod = comm.QPSKDemodulator (“BitOutput”,真正的);

设置OFDM调制器和解调器对根据仿真参数。

ofdmMod = comm.OFDMModulator (“FFTLength”numSC,“CyclicPrefixLength”,cpLen);ofdmDemod = comm.OFDMDemodulator (“FFTLength”numSC,“CyclicPrefixLength”,cpLen);

设置NoiseMethodAWGN信道对象的属性方差和定义VarianceSource可以设置属性,这样噪音功率从输入端口。

频道= comm.AWGNChannel (“NoiseMethod”,“方差”,“VarianceSource”,输入端口的);

设置ResetInputPort财产真正的使错误率计算器仿真期间被重置。

errorRate = comm.ErrorRate (“ResetInputPort”,真正的);

使用信息的函数ofdmMod对象来确定OFDM调制器的输入和输出尺寸。

ofdmDims = info (ofdmMod)
ofdmDims =结构体字段:DataInputSize: 117年[1]OutputSize: 160 [1]

确定副载波的数据的数量ofdmDims结构变量。

numDC = ofdmDims.DataInputSize (1)
numDC = 117

确定OFDM帧大小(位)从数据副载波的数量和每个符号位的数量。

frameSize = [k * numDC 1];

设置基于所需的信噪比向量Eb /不范围,每个符号的比特数,数据副载波的数量比副载波的总数。

EbNoVec = (0:10) ';snrVec = EbNoVec + 10 * log10 (k) + 10 * log10 (numDC / numSC);

初始化系统和误差统计数组。

berVec = 0(长度(EbNoVec), 3);errorStats = 0 (1、3);

模拟通信链路/ Eb /没有值的范围。对于每个Eb /没有值,模拟运行,直到maxBitErrors记录或传输的比特总数超过maxNumBits

m = 1:长度(EbNoVec)信噪比= snrVec (m);errorStats (2) < = maxBitErrors & & errorStats (3) < = maxNumBits dataIn =兰迪([0,1],frameSize);%生成二进制数据qpskTx = qpskMod (dataIn);%将QPSK调制txSig = ofdmMod (qpskTx);%应用OFDM调制powerDB = 10 * log10 (var (txSig));%计算Tx信号功率noiseVar = 10 ^ (0.1 * (powerDB-snr));%计算噪声方差rxSig =通道(txSig noiseVar);%的信号通过一个噪声信道qpskRx = ofdmDemod (rxSig);%应用OFDM解调dataOut = qpskDemod (qpskRx);%将QPSK解调errorStats = errorRate (dataIn dataOut 0);%收集错误统计信息结束:berVec (m) = errorStats;%保存系统数据errorStats = errorRate (dataIn dataOut 1);%重置错误率计算器结束

使用berawgn函数来确定正交相移编码系统理论误码率。

berTheory = berawgn (EbNoVec,相移键控的米,“nondiff”);

阴谋理论和模拟数据在同一图比较的结果。

图semilogy (EbNoVec berVec (: 1),‘*’)举行semilogy (EbNoVec berTheory)传说(“模拟”,“理论”,“位置”,“最佳”)包含(“Eb /不(dB)”)ylabel (的误比特率网格)持有

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。这些对象代表模拟,理论。

观察到有很好的模拟和理论数据之间的协议。